我见过来自输入设备的语音识别(显然),也见过来自文件的语音识别(http://gotspeech.net/forums/thread/6835.aspx)。然而,我想知道是否有可能在系统音频上实时运行语音识别。系统音频是指从扬声器中发出的声音。
对于那些听力有障碍的人来说,这将是一个很好的工具,因为他们正在观看YouTube视频,C#应用程序可以转录正在说的话。
我该怎么做呢?
发布于 2011-12-08 09:47:48
非常容易-转到混音器,选择输入并启用/取消静音“立体声混音”。当然,如果你不想把麦克风也录下来,你应该把麦克风调成静音。然后,只需开始录制,就像录制麦克风一样-现在,您将获得与扬声器相同的数字质量。
这可以是done programatically,尽管它可能很麻烦--特别是如果你想同时支持WinXP和Vista/Win7 (声音在Vista中被彻底修改过了,我相信APIs are significantly different,尽管我还没有用过它们)。
在尝试识别之前,您几乎肯定需要对声音进行过滤。除非语音记录器。你正在使用的库是为在不利的条件下工作而设计的,音乐和特效会干扰正常的识别,同时也会有多个人说话。
如果你还没有一个超级健壮的库,那么衰减非发声频率的滤波器将是必须的。你可能还需要应用音量归一化来处理嘈杂/安静的场景-有数百个过滤器可以潜在地改善匹配。
你可能想要在最低层访问识别API,以获得尽可能多的控制-你需要调整它来应对人们的叫喊,呼吸困难,哭泣等。如果您开始设计灵活的低级访问,如果您发现以后需要它并不得不重新设计,那么它可能会为您节省数周时间。
我建议您将NAudio作为音频处理的起点
我怀疑你可以不费太多力气就能得到在理想条件下工作的东西--但要让它在所有可能的情况下都能很好地工作可能是一项艰巨的任务。也就是说,这听起来像是一个有趣的项目。
你可以通过创建特定于流派、用户或节目的字典来显著提高识别的机会。它们可以是预先生成的,也可以使用加权反馈循环自动构建--也许还允许用户纠正错误。
https://stackoverflow.com/questions/8422717
复制相似问题