我想尝试用语音识别来控制程序。我用C#编写了测试程序,当我调试这个程序时,每次都会发生错误-
System.Runtime.InteropServices.COMException (0x80004005): Calling part of COM return error HRESULT E_FAIL.*
in System.Speech.Recognition.RecognizerBase.Initialize(SapiRecognizer recognizer, Boolean inproc)
in System.Speech.Recognition.SpeechRecognition
在我的UWP应用程序中,我使用SpeechSynthesizer生成英语文本到语音。基本上是一个具有朗读英语文本能力的应用程序。该应用程序将通过Windows商店与Visual 2015发布,并以最新更新为开发工具。
var synth = new SpeechSynthesizer();
var voices = SpeechSynthesizer.AllVoices;
var english = from v in voices where v.Language.Contains("en") && v.Gender == VoiceGender.Female
当我试图运行时,这是我一直在这一行上得到的错误消息:
recognitionEngine.LoadGrammar(GrammarBuilder());
错误:
The language for the grammar does not match the language of the speech recognizer.
我到处寻找,但我似乎找不到答案!
在语音识别属性中,我有两个语言选项:
Microsoft语音识别器8.0 for Windows (英语-英国)
Microsoft语音识别器8.0 for Windows (英语-美国)。
只有当我将设置为English
因此,我正在尝试在我的树莓派上使用节日tts来实现一个智能家居项目。但是,当我尝试使用英式英语语音时,系统会提示我没有安装英式英语语音。 echo "hello world" | festival --tts --language "british_english"
Not a british English voice installed 但如果我输入一种虚构的语言,它会显示其中一种可用的语言,它显示安装了英式英语。 echo "hello world" | festival --tts --language "madeuplangu
我正在尝试将音频转换为文本。音频不是英语,而是荷兰语。我无法将荷兰语音频转换为文本。该代码仅适用于英语音频。我不确定是否需要在代码中包含一些函数或选项来识别其他语言。代码如下: import speech_recognition as sr
r = sr.Recognizer()
with sr.AudioFile('audio.wav') as source:
audio = r.listen(source)
try:
text = (r.recognize_google)
print(text)