0

我正在使用pocketsphinx 和festival 玩一个简单的语音助手模型。Livespeech 通过麦克风收听,然后festival.sayText() 通过扬声器播放该短语。这建立了一个迷人但无用的反馈循环,Pocketsphinx 反复尝试破译通过麦克风拾取的自己的话语(我假设)。我需要在festival.sayText() 函数播放之前抑制麦克风,然后再将其恢复。你是怎样做的。

import os
from pocketsphinx import LiveSpeech, get_model_path
import festival

model_path = '/data/python/Eliza'
print(model_path)

speech = LiveSpeech(
    verbose=False,
    sampling_rate=16000,
    buffer_size=2048,
    no_search=False,
    full_utt=False,
    hmm=os.path.join(model_path, 'en-us-mm'),
    lm=os.path.join(model_path, 'en-us.lm.bin'),
    dic=os.path.join(model_path, 'cmudict-en-us.dict')
)

for phrase in speech:
    festival.sayText(str(phrase))
4

0 回答 0