为SRGS语法添加通用占位符
我试图将语音识别添加到我的应用中.但是不幸的是,我找不到增加通用占位符的方法.例如,我想说"我正在寻找stackoverflow",然后使用此语法: I am looking for listening to 我的问题是,如何实施" stackoverflow"的搜索.如果我使用这种语法,则识别器总是会发现"我正在寻找".太好了,但是重要的词是缺少的. 如果我不使用任何语法,那么我会得到诸如"我和寻找四个牛排溢出"之类的东西.在这里,我有一个重要的词,但不能使用规则来约束
8 2024-04-25
编程技术问答社区
以编程方式导入MS Speech API语音配置文件
我有一台Windows 7计算机对我的声音进行了训练,我想分发我的语音配置文件以及我创建的软件包. 我知道诸如wsrprofile.exe(http://www.microsoft.com/download/en/details.aspx?id=16296)之类的工具,可以保存和加载新的语音配置文件. 但是,在我自己的代码(c#)中是否有一段路程,而无需任何外部工具或应用程序? 预先感谢. 解决方案 您可以按照此处描述的步骤进行操作: http://blogs.msdn.com/B/robch/archive/2007/02/19/transfering-profiles-progragationally.aspx 基本上,要通过编程方式导入配置文件,您将需要创建一些注册表键,并复制/重命名先前保存的文件. 该说明使用SAPI的C ++版本,但该过程肯定对于C#版本有效.
8 2024-04-23
编程技术问答社区
使用 C# 通过 skype 进行呼叫
我想为盲人开发一个助理软件,例如 jarvis .这是一个C#表单应用程序.我需要将我的C#项目与Skype API联系起来,以便使用Skype致电某些用户名.当我使用Call John命令时,它通过Skype致电John来做出响应. 有人可以向我展示一些有助于此的代码段吗? 解决方案 启动Skype调用,Process.Start("callto:john");.您可以加入" callto:"联系人的名称. 看 msdn关于C#编写触发上述呼叫事件的代码.如下文中复制的示例所示,您可以用几句话收听 - 在您的情况下,"呼叫". Choices colors = new Choices(); colors.Add(new string[] {"red", "green", "blue"}); GrammarBuilder gb = new GrammarBuilder(); gb.Append(colors); // Create the Grammar i
26 2024-04-22
编程技术问答社区
语音/语音转文字
我需要一个API或库(最好是免费的),它将通过麦克风转换为文本(字符串). 此外,我需要一个可以进行文本到语音的API或库. 我想使用c#和.net,但是其他语言就足够了. 谢谢. 解决方案 您可以使用CMU Sphinx,因为它非常开放且可扩展的解决方案,我认为它可以在客户端和服务器端使用: 如果您正在寻找Microsoft桌面解决方案,则可以使用SAPI: 在服务器端,您可以使用Microsoft统一通信,但也可以考虑许可: 更新: 此线程也有一些很好的参考: c#c​​#语音识别 - 这是用户所说的吗? 其他解决方案 这是一个完整的示例,使用C#和System.Speech从语音转换为文本 代码可以分为两个主要部分: 配置segressRecognitionEngine对象(及其所需元素) 处理语音被认可和语音示威事件. 步骤1:配置SecedRecognitionEngine _speechR
8 2024-04-14
编程技术问答社区
对.NET中音素的语音
问题是我想以C#语言获得音频演讲的音素. 假设您有一个像" X.Wav"这样的音频文件,上面写着"你好亲爱的shamim".我想提取演讲的所有音素及其相对时间.类似下面的图片: 我使用了System.Speech库(recognition和synthesis名称空间),但我没有找到想要的东西.现在不要误会!我不希望句子的音素"你好亲爱的shamim",我想从讲话和英语句子的未知音频输入中提取音素.我尝试了System.Speech.Recognition,但是它试图从音频文件中提取单词,而不是音素!正如您可能猜到的那样,这些单词是30%的错误! ;) 与单词识别相比, 解决方案 音素识别需要一些专门的设置,并且大多数引擎不直接支持它(单声道"单词"的字典通常不会导致准确性良好).这样做的一个重要原因是,音素识别比单词识别的准确性要少得多,因为单词识别受到更大的约束(它滤除了所有不映射到真实单词的电话组合,这是其中的大多数).但是HTK确实支持它.您可以通过执行shell命令来
6 2024-04-13
编程技术问答社区
如何将语法(规则)和听写(自由发言)与C#中的SpeechRecognizer混合起来
我真的很喜欢Microsofts的最新语音识别(和语音合成)产品. MS554855.aspx 04/consecognition in-cnet.html 但是,我觉得使用语法时我有些限制. 不要误会我的语法对于告诉语音识别的准确地识别哪些单词/短语,但是如果我想让它识别出我没有给出的东西,该怎么办?或者我想解析一个短语,该短语是预定的一半命令名称和一半随机单词? 例如.. 方案a - 我说" Google [漏油]",我希望它可以在可能是任何东西的括号中打开Goog​​le的搜索结果. 场景b - 我说"定位[曼彻斯特]",我希望它在Google Maps中搜索曼彻斯特或其他任何未预先确定的 我希望它知道" Google"和"定位"是命令,以及它是参数之后的内容(并且可能是任何参数). 问题:有人知道如何混合使用预定的语法(语音识别应该识别的单词)和不在其预定的语法中的单词? 代码片段.. using System.S
14 2024-04-13
编程技术问答社区
用C/C++读取和处理WAV文件数据
我目前正在进行一个非常非常重要的学校项目.我需要在C/C ++中提取波浪文件的信息,并使用信息来获取语音信号的LPC.但是,为了做到这一点,我需要对信号进行一些预处理,例如进行零交叉和能量分析等.这意味着我需要标志和一个真正的价值.问题是我不知道如何获得有用的信息和正确的格式.我已经阅读了文件中的每个字段,但是我不确定我做对了.建议吗? 这是我目前读取文件的方式: readi = fread(&bps,1,2,音频); printf("每个样本=%d \ n",bps); 预先感谢. 解决方案 我的第一个建议是使用某种库来帮助您.大多数声音解决方案似乎都过高,所以一个简单的库(就像您的问题评论中建议的库, libsndfile )应该做这个问题. 如果您只想知道如何读取WAV文件,以便您可以写自己的wav文件(因为您的学校可能会像其他任何普通人一样使用图书馆,那么快速的Google搜索将为大家提供您需要的信息以及一些已经写过很多人阅读.wav格式的教程.
26 2024-04-06
编程技术问答社区
安卓抓住蓝牙HFP'的激活语音识别功能
当蓝牙免费设备连接到手机时,如果设备发送了AT命令 at+bvra 启用语音识别,则手机将启动默认语音识别应用程序,如果它支持. 我的Android电话(OS:4.1.2,型号:Samsung Galaxy Core i8262)启动 s语音应用程序应用程序. 我认为,如果我的手机有更多的识别活动,则可能会显示列表以选择一个,如果没有默认设置.我从未观察到这种情况. 我的问题,是否有任何方法可以接收到+bvra命令? 如果有人知道这一点,请给出您的宝贵建议. 解决方案 要在Android上的+BVRA接收,您需要抓住voice_command意图.这就是您在androidManifest.xml 中需要的
10 2024-04-01
编程技术问答社区
通过蓝牙进行安卓语音识别
我在活动中使用语音识别,我只是意识到,如果连接了耳机,则识别器仍然只能通过电话麦克风来听.有什么方法可以通过耳机聆听? 我确实注意到了这一点:谢谢. 解决方案 基本上,这只能使用蓝牙式类别... 在我的语音识别活动中,我首先称此方法为: 完成后,然后致电 stopvoicercognition().实际上,它似乎效果很好. 唯一的问题是它在API级别上不起作用 其他解决方案 您可以使用: audioManager.startBluetoothSco(); 确保以下内容添加到您的清单中:
4 2024-04-01
编程技术问答社区
能否将微软必应语音配置为只返回数字/字母?
可以将Microsoft Bing语音API配置为仅返回数字和字母,而不是全词? 用例正在翻译加拿大邮政编码.前任. M 1 B 0 R 3. Microsoft可能返回" Em 1 Be 0为3" 我们的音频文件为8000Hz,并用" M-ulaw"编码.我们没有更改样本率或编码的灵活性.我们正在使用" SMD"方案,但是我找不到有关此事的任何文档.基本请求URI: https://speech.platform.bing.com/recognize?scenarios=smd&appid=D4D52672-91D7-4C74-8AD8-42B1D98141A5&device.os=your_device_os&version=3.0 有没有办法从Microsoft获得此用例的更准确响应? 谢谢 解决方案 您可以尝试使用 Microsoft的自定义语音服务(以前称为自定义识别智能服务或CRIS)来创建和使用自定义语言模型. 自定义语言模型转录的指
18 2024-03-24
编程技术问答社区
微软认知服务-说话者识别API-识别-错误
在此API中,我已经成功创建了标识配置文件,并成功创建了注册并检查了操作状态并已成功注册. 现在我正在尝试确定演讲者,但我正在开始 一个错误 : b'{" error":{" code":" badrequest"," message":"音频太长"}}' b'{" error":{" code":" badrequest"," message":"音频太短"}}' 我尝试了各种不同大小的语音样本,例如5秒,10秒,15秒,30秒,40秒,40秒,80秒. 以及也提到的识别Profileids应该是字符串(如何做) 用于录音,我正在使用$ rec -c 1 -r 16000 -b 16 xa.wav 但仍然遇到相同的错误,我希望我的代码中可能会有一些问题. 请帮我 如果您可以为我提供代码的代码 - 身份证,它将非常有用 import http.client, urllib.request, urllib.parse, urllib.error, base64 s
4 2024-03-24
编程技术问答社区
谷歌搜索更新后,继续发出语音识别提示音
我有一个应用程序,它继续聆听语音并使用Google语音API转换为命令. 我一直在使用setStreamMute(AudioManager.STREAM_SYSTEM, true)静音哔哔声,直到几天前" Google搜索"新更新之前. 有任何解决方法吗? 我知道我可以使用setRingerMode(AudioManager.RINGER_MODE_SILENT),但是也许还有另一种方法? 解决方案 在更新中,他们将"哔哔声"的输出切换到媒体流. 因此,您需要静音 audiomanager.stream_music_music_music 有一个增强请求在这里 其他解决方案 通过静音通知声音静音哔哔声: (getSystemService(Context.AUDIO_SERVICE) as AudioManager).adjustStreamVolume(AudioManager.STREAM_NOTIFICATION, AudioManager
14 2024-03-21
编程技术问答社区
"OK GOOGLE "技术是如何实现的
我已经阅读了一些有关语音/语音识别的信息,我想知道它是如何工作的.例如,Android和类似情况上的" OK Google"? 我想知道它是如何工作的(如何在连续的feed中区分和分析单词,以找到它是关键字).如果我将其视为连续的文本提要,那么一种方法就是隔离给定的feed长度,然后找到一个关键字.音频馈电很难理解,因为单词(如所说)之间没有纯粹的沉默,并且隔离给定的长度并不能保证在所选子馈线的开头或结束时切割关键字.它如何工作? 最后,如果你们知道有能力这样做的一些libs(如果可能的话) 谢谢. 解决方案 关键字发现通常是通过动态编程实现的,您只需搜索包含关键字的最佳音频片段,以查看所有可能的开始和所有可能的目的.您需要查找关键字和替代方案.基本上,在每一刻,您都在寻找关键字和其他声音,一旦关键字的概率比您引起信号的其他语音的可能性高.虚假警报率由阈值控制.您不需要特别处理沉默,因为它已被"其他语音"模型覆盖.详细介绍算法在以下论文中涵盖: > 为了实现
4 2024-03-19
编程技术问答社区
"OK GOOGLE "技术是如何实现的
我已经阅读了一些有关语音/语音识别的信息,我想知道它是如何工作的.例如,Android和类似情况上的" OK Google"? 我想知道它是如何工作的(如何在连续的feed中区分和分析单词,以找到它是关键字).如果我将其视为连续的文本提要,那么一种方法就是隔离给定的feed长度,然后找到一个关键字.音频馈电很难理解,因为单词(如所说)之间没有纯粹的沉默,并且隔离给定的长度并不能保证在所选子馈线的开头或结束时切割关键字.它如何工作? 最后,如果你们知道有能力这样做的一些libs(如果可能的话) 谢谢. 解决方案 关键字发现通常是通过动态编程实现的,您只需搜索包含关键字的最佳音频片段,以查看所有可能的开始和所有可能的目的.您需要查找关键字和替代方案.基本上,在每一刻,您都在寻找关键字和其他声音,一旦关键字的概率比您引起信号的其他语音的可能性高.虚假警报率由阈值控制.您不需要特别处理沉默,因为它已被"其他语音"模型覆盖.详细介绍算法在以下论文中涵盖: > 为了实现
4 2024-03-19
编程技术问答社区
python webrtc的语音活动检测是错误的
我需要进行语音活动检测作为对音频文件进行分类的步骤. 基本上,我需要肯定地知道给定音频是否使用语言. 我正在使用py-webrtcvad,我在git-hub中找到,几乎没有记录: https://github.com/wiseman/wiseman/py-webrtcvad 的事情是,当我在自己的音频文件上尝试它时,它可以与具有语音的音频文件一起使用,但是当我用其他类型的音频(例如音乐或鸟类声音)喂食时,它会产生误报.将侵略性设置为3. 音频是8000个样本/Hz 我更改为源代码的唯一一件事就是将参数传递给主函数的方式(不包括SYS.Args). def main(file, agresividad): audio, sample_rate = read_wave(file) vad = webrtcvad.Vad(int(agresividad)) frames = frame_generator(30, audio, s
8 2024-03-19
编程技术问答社区
如何比较两个音频数据?
我会记录自己的声音,并将它们保存为WAV文件,并将其保存在我的计算机中.稍后,我会发言,计算机应与我的语音命令与先前的/预录制的wav文件相匹配. 问题:如何检查两个音频数据相等,或者在两个音频之间匹配80%? if(audio1 == audio2) DO Task A else if( audio1 is a bit similar to audio 2) DO TASK B else if( audio1 (80% match) audio 2) DO TASK C end if 比较两个音频数据的最佳方法是什么? 解决方案 不幸的是,您不会很快就可以直接比较音频波形.关于语音和演讲者的认可有大量研究,如果您不熟悉基础知识,您将重新发明轮子.我认为您在这里有几种选择,具体取决于您真正想做的事情 开始阅读有关HMM,DTW(LearnVST提到的)和使用现有的语音API,例如 Microsoft One 处理,您可以在应用程序中构建
2 2024-03-19
编程技术问答社区
用于非常小的字典的Java语音识别
我有MP3音频文件,其中包含计算机留下的语音邮件. 消息内容始终以相同的格式,并由相同的计算机语音留下,内容略有变化: "您今天卖了4辆汽车"(其中4辆可以是0到9). 我一直在尝试设置狮身人面像,但是开箱即用的型号不太好. 然后,我尝试编写自己的声学模型,并且还没有取得更好的成功(30%未被认可是我的最好的). 我想知道语音识别是否可能对此任务过大,因为我完全有一个声音,一个预期的音频模式和一个非常有限的字典,需要识别. 我可以访问我需要在消息中搜索的十种声音(口语数字)中的每一个. 是否有一种非VR方法可以在音频文件中查找声音(如有必要,我可以将MP3转换为另一种格式). 更新:我对此任务的解决方案遵循 直接与尼古拉(Nikolay)合作后,我了解到我最初问题的答案是无关紧要的,因为使用sphinx4和jsgf语法可以实现所需的结果(精度为100%). 1:由于我的奥多文件中的语音非常有限,因此我创建了一个JSGF语法( s
8 2024-03-19
编程技术问答社区
Python检测关键词
我正在做和申请流浪: 1:如果麦克风检测到某些噪声,则其开始记录音频,直到未检测到噪声为止.之后,将音频记录到WAV文件. 2:我必须检测到其中的一些单词.只有5至10个单词可以检测. 到目前为止,我的代码仅执行第一部分(检测噪声并记录音频).现在,我有一个带有以下单词的列表:help, please, yes, no, could, you, after, tomorrow.我需要一种离线方法来检测我的声音是否包含这些单词.这可能吗?我怎样才能做到这一点?我正在使用Linux,无法将操作系统更改为Windows或使用虚拟机. 我正在考虑使用声音的频谱图,创建火车数据库并使用一些分类器进行预测.例如,这这是一个单词的光谱.这是一种很好的使用技术吗? 谢谢. 解决方案 您可以使用Python的Pocketsphinx,使用pip install pocketsphinx安装.代码看起来像这样: import sys, os from pocket
6 2024-03-19
编程技术问答社区
如何使SpeechRecognizer的哔哔声静音?
以前曾有人问过,但似乎没有人有解决方案:​​ muting speegring speegring speegragnizer beep sound 尽管如此,我仍然想知道是否有人知道如何将蜂鸣器的声音静音? i创建语音识别对象:私人语音表达式sr = specyRecognizer.CreateSpeePeechRecognizer(this); 然后在我的班级中,我像这样实例化语音识别 sr.setRecognitionListener(new listener()); Intent i = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); i.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); i.putExtra(Recogni
20 2024-03-19
编程技术问答社区
HTML5语音输入和谷歌翻译文本|到|语音,在Chrome中的问题
我正在创建语音/文本Memo Web应用程序. 在这里:这是: 语音识别,据我所知,仅在Chrome中起作用. 本地存储,将笔记存储为文本. Google翻译文本到语音. 一切都起作用,但在不同的浏览器中.声音输入仅在镀铬中就可以完美.文本到语音在Safari中起作用. 要动态加载备忘录到音频>源元素: $("#spokenmemory").html(""); (localstorage ['内存']包含我存储的文本备忘录) 我使用的是我最近保存的备忘录,我使用的是文本到语音功能: $("#listenplay").click(function(){ $("#spokenmemory")[0].play(); }); (口语是我的音频标签的id-at
6 2024-03-19
编程技术问答社区