如何在pocketsphinx和festival的语音播放过程中抑制麦克风

问题描述

我正在玩一个简单的语音助手模型,使用 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))

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)