我正在尝试开发一个语音识别应用程序,可以识别并显示选定的语言。我使用了以下意图附加功能:
i.putExtra(RecognizerIntent.EXTRA_LANGUAGE_PREFERENCE, "zh-CN");
i.putExtra(RecognizerIntent.EXTRA_SUPPORTED_LANGUAGES, "zh-CN");
Run Code Online (Sandbox Code Playgroud)
但是,显示的文本不是首选语言。仅当我在“设置>>语言和输入>>语音搜索”中手动更改默认语言时,它才有效。有没有办法以编程方式更改语音搜索语言?
首先让我解释一下我的目标。我正在努力实现的目标是提供输入 .wav 文件,将其发送到某种语音识别 API,并返回带有转录的文本文件。我想到的应用程序非常简单。我不要求对其进行语法或标点符号解析。它可以返回一个又大又长的句子——这很好。我会将每个转录的单词视为文本文件(.tsv 或 .csv 格式)中的观察结果
然而,我确实需要的一个棘手的数据(棘手是因为我审查过的所有 3rd 方音频转录服务中 95% 不向用户提供此类数据)是 [0.00 - 1.00] 置信度得分SR 会对每个单词进行猜测。我想将该数据存储在文本文件的新列中,其中包含 .tsv 或 .csv 格式的转录文本。
就是这样。这就是我的目标。看来我的目标是可能的:这是相关帖子中专家的引用:
SAPI当然可以做你想做的事。从进程内识别器开始,将音频连接为文件流,设置听写模式,然后就可以开始了。
以下是 .wav 转录置信度分数的相关文档:
https://msdn.microsoft.com/en-us/library/jj127911.aspx
大家都说的很简单,现在我来解释一下问题;为什么我要发布问题。问题是,对我来说,我的目标遥不可及,因为我对 C++ 或 COM 几乎一无所知。我认为 SAPI 是日常 Windows 体验的一部分,并且有一个专用的、友好的用户界面。因此,我对这个程序研究得越多,就越感到震惊。但我仍然相信原则上这是一件非常简单的事情,所以我很乐观。
我有Python知识和一点JS知识。我知道 Python 对其他语言有代码魔力,所以我确信 Python 可以通过这种方式与 SAPI 交互,但由于我不懂 C++,我认为这不会让我过得更好。
所以重申一下,尽管技能不匹配,我仍然偏爱 SAPI,因为所有用户友好的替代方案,如 Dragon、Nuance、Chrome 插件等,都无法提供我需要的数据粒度。
现在让我谈谈我的问题的核心:
Mel滤波器组计算背后的逻辑是什么?有什么好的例子吗?我在互联网上找不到任何好的例子。
代码停留在监听(audio=r.listen(source)
行)并且不会超出它。没有错误消息或其他任何内容。
我的代码:
import speech_recognition as sr
def takeCommand():
'''
It takes user's voice as input
'''
r=sr.Recognizer()
with sr.Microphone() as source:
print("Listening...")
r.pause_threshold = 1
audio=r.listen(source)
try:
print("Recognizing...")
query = r.recognize_google(audio, language="en-in")
print(f"Recognized Command: {query}")
except Exception as e:
print(e)
print("I didn't recognize what you said please repeat")
return "None"
return query
takeCommand()
Run Code Online (Sandbox Code Playgroud) 我正在使用 gtts 作为文本到语音和语音识别来构建语音辅助。但是我在要保存机器人输入的行中遇到错误。
错误信息如下:
Traceback (most recent call last):
File "d:\rasa test\voice_bot.py", line 64, in <module>
myobj.save(filename)
File "D:\Anaconda\lib\site-packages\gtts\tts.py", line 295, in save
prepared_requests = self._prepare_requests()
File "D:\Anaconda\lib\site-packages\gtts\tts.py", line 194, in _prepare_requests
part_tk = self.token.calculate_token(part)
File "D:\Anaconda\lib\site-packages\gtts_token\gtts_token.py", line 28, in calculate_token
seed = self._get_token_key()
File "D:\Anaconda\lib\site-packages\gtts_token\gtts_token.py", line 58, in _get_token_key
raise ValueError(
ValueError: Unable to find token seed! Did https://translate.google.com change?
Run Code Online (Sandbox Code Playgroud)
这是gtts的问题还是其他问题,谁能解释一下?
python speech-recognition text-to-speech google-text-to-speech gtts
我正在使用 javascript 语音识别 api( new webkitSpeechRecognition()
),我很惊讶为什么它在没有互联网的情况下无法工作,因为它是 javascript 代码,所以它应该离线工作
我检查了chrome开发者工具的网络部分,它甚至没有向互联网发出请求
嗨,我正在使用Michael C的语音识别程序完成我的本科毕业论文.我创建了一个命令行,其中BRIAN(Synthesizer的名称)将停止使用以下代码行进行侦听:
case "Stop listening":
BRIAN.SpeakAsync("Alright");
_recognizer.RecognizeAsyncStop();
_recognizer.UnloadAllGrammars();
break;
Run Code Online (Sandbox Code Playgroud)
这行代码有效.但是,当我说命令"开始听"时,我不能再让他回应我的命令了.我需要创建一个case语句,在其中他可以再次开始听我的命令.