【问题标题】:C# Speech Recognition from System Audio (Speaker Sound)来自系统音频(扬声器声音)的 C# 语音识别
【发布时间】:2011-12-07 21:20:09
【问题描述】:

我已经看到了来自输入设备的语音识别(显然),我也看到了来自文件的语音识别 (http://gotspeech.net/forums/thread/6835.aspx)。但是,我想知道是否可以在系统音频上实时运行语音识别。通过系统音频,您的扬声器发出的声音。

对于听障人士来说,这将是一个很棒的工具,因为他们正在观看 YouTube 视频,C# 应用程序可以转录所说的内容。

我该怎么做呢?

【问题讨论】:

标签: c# speech-recognition


【解决方案1】:

非常容易 - 转到混音器,选择输入并启用/取消静音“立体声混音”。当然,如果您不想录音,您应该将麦克风静音。然后,只需以录制麦克风的相同方式开始录制 - 现在您将获得与扬声器相同的数字质量馈送。

这可以是done programatically,虽然它可能很繁琐——尤其是如果你想支持 WinXP 以及 Vista/Win7(声音在 Vista 中进行了大修,我相信 APIs are significantly different 尽管我不必使用它们但是)。

您几乎肯定需要在尝试识别之前过滤声音。除非语音识别。您使用的图书馆设计用于在不利条件下工作,音乐和特殊效果会干扰正确识别,多人同时说话也会干扰。

如果您没有超级强大的库,那么衰减非人声频率的过滤器将是必须的。您可能还需要应用音量标准化来解决嘈杂/安静的场景 - 有数百个过滤器可能会改善匹配。

您可能希望在最低级别访问识别 API 以获得尽可能多的控制 - 您需要对其进行调整以应对人们大喊大叫、气喘吁吁、哭泣等...如果您开始设计灵活低级访问,如果您以后发现需要它并且必须重新架构,它可能会为您节省数周时间。

我建议您将NAudio 作为音频处理的起点

我怀疑您无需付出太多努力就能获得在理想条件下工作的东西 - 但调整它以使其在所有可能情况下都能正常工作可能是一项艰巨的任务。也就是说,这听起来是一个有趣的项目。

您可以通过创建流派、用户或节目特定的词典来显着提高识别机会。这些可以预先生成,也可以使用加权反馈循环自动构建——也许还允许用户纠正错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-06
    • 1970-01-01
    • 2022-08-03
    相关资源
    最近更新 更多