This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSP432P401R:语音检测精度问题:MSP432语音识别

Guru**** 2577385 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/607630/msp432p401r-speech-detection-accuracy-issue-msp432-speech-recognition

器件型号:MSP432P401R

您好!

我使用的是 MSP432语音识别示例程序、该程序在 MSP432P401R 上运行、具有用于音频输入的 ADMP401麦克风[我不使用任何 LCD、触摸 LCD 或音频 Booster 板]。 而是使用按钮浏览菜单流程、作为 LCD 的替代、我使用 UART 串行终端。

以下内容由我执行、包括语音输入。

1.我已登记4个字。

2.我每一个字都更新了10次[假设这将提高准确性]。  

3.我现在已启用识别器。

每次检测成功时、识别器都会打印出在 UART 终端上检测到的字。

例如:如果检测到 WORD1。 它将在 UART 上打印"Detection Successful:WORD1"。

我在这里所关心的是它一点也不准确。

案例:

1.当该字被说出时,它会检测到正确的字。 但有时、如果说出的话、它也会检测到相反的字。

例如:如果我将"撤消"作为一个词、如果我说"执行"(在这种情况下、不应检测到它)、它也会检测到这种情况。

有什么解决方案吗?

2.当我在桌子上以某种模式移动板时,它会检测到与该移动模式匹配的一个词。

为什么它应该检测振动、这是噪声、而不是实际的语音数据?

3.我正在使用的麦克风在大于10cm 的距离内无法工作。 因此、我必须通过麦克风近距离地讲话才能检测到它。

这是否对1和2有影响?

如何提高整体性能?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Abhinandan:
    我已向作者征求意见。

    此致、
    Chris
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Abhinandan、

    在我们使用 Launchpad 和 Booster Pack 对识别器进行的测试中、性能通常约为92%的精确度、在非噪声条件下具有较低的假警报率(1%或更低)。 有几个因素可能会导致性能下降。

    首先要做的是确保 MSP432 A/D 的采样音频信号具有高质量和合理的振幅。 语音识别器的许多问题都是由于获取音频输入时出现的问题。 当在麦克风附近讲话时、采样信号不应饱和、在这种情况下、信号峰值应大约比全范围 A/D 输出低1-2位。 确保采样的音频信号不失真、并且数字信号干扰保持远离音频输入。 (例如、我发现使用计时器生成的 PWM 信号驱动 Launchpad LED 等可能会导致音频信号上产生噪声)由于语音识别器以8kHz 的频率对音频进行采样、因此在模数转换器之前应存在4kHz 低通抗混叠滤波器 确保麦克风提供应用所需的特性、例如覆盖模式和灵敏度。 我怀疑、由于您使用的麦克风的工作距离只有10cm、因此输入音频信号电平可能非常低、从而导致低 SNR 信号。 这将影响所有识别器的性能。

    注册时、识别器将更成功地识别音节上下文中丰富的短语。 识别器的最新版本包含一个注册短语质量度量、可指示短语是否可能表现良好。 "撤消"一词相当短、返回的质量度量约为6 (8-10的质量将提供更好的性能)。 有时、背景声音与"DO"组合可能会触发识别"撤消"。 但是、我尝试在我的 LaunchPad/音频 Booster Pack 硬件上注册"undo"、它在距离麦克风大约10到100cm 的办公环境中运行良好。

    有时、我还注意到、外部声音如以随机方式将我安装在扩展器上的 Launchpad 移动到桌面上、将触发对已注册短语的识别。 不过、这种情况并不常见。 在几乎所有情况下、由此产生的认可的可信度极低、因此可用于拒绝认可结果。 使用置信度测量阈值进行实验、以验证识别结果。

    此致、
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Lorin、

    感谢您提供详细信息。
    根据您的建议、我使用了基于注册质量的记录、其中我将8+设置为阈值。
    在表彰期间、我还观察到信心分数超过100。 例如、我有500、600、有时甚至是1000。

    这是正常的、还是可信度分数应在100以内?
    是否还需要检查更新模型的质量?
    我认为有些运行时参数可以调整。 您在测试中是否对这些进行了调整?

    与我使用的麦克风一样,其功能(如灵敏度、SNR 等)与 BOOST-XL 板相似(在少数情况下相同)。 区别在于 BOOST-XL 上的滤波器、功率放大器等。 到目前为止、我无法访问 BOOST-XL。
    此外、我将在对现有设置进行分析后发布更新。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Abhinandan、

    识别短语后、可信度分数表示模型与传入音频的匹配程度。 越大越好。 目前、我们尚未调整算法以使分数标准化。 我们正在研究提供标准化分数的算法、以便它们更有意义。 置信度是一个统计结果、因此它具有分布、有时可以采用非常大或很小的值。 通常、异常值介于+1000 (非常匹配)到-2000 (非常差匹配)之间。 短语的标称置信度在200-500范围内。

    语音识别器不提供在模型更新期间检查质量的方法。 如果用于更新的语音与注册的模型不匹配、更新模型的算法通常会拒绝更新。

    在我的"撤消"测试期间、我完全按照提供的方式使用了演示代码、但没有任何更改。

    当我查看 ADMP401麦克风的规格时、我发现它在94dB SPL 时的灵敏度为-47dBV。 我是否正确地知道麦克风输出的信号范围约为-47dBV (= 4毫伏)或更低? 如果是、如何量化信号以确保其覆盖整个 A/D 范围? 如果麦克风确实输出如此低的电压、则应仔细设计以确保信号得到适当放大、从而在量化之前尽可能干净地提升信号。 我担心低电压信号可能会受到干扰信号的影响。

    我们正在考虑在下一版本的语音识别器软件中、包括用于捕获 A/D 输出的实用程序应用程序、从而更轻松地评估数字化输入音频信号的质量。

    此致、
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Lorin、

    感谢您的参与。 我已经订购了 audio-XL Booster Pack。 我很快就能测试它。
    在现有设置下、MIC 提供大约2V 的输出(使用万用表进行测量)。 我再次测试了语音识别器、这次结果有所改善。 一旦我获得了 audio-xl、就无法进行全面的测试。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Lorin、

    我已经使用 audio-xl Booster Pack 进行了测试。 结果非常好。 能够获得90%及以上的精度。 此外、虚假检测几乎没有。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Abhinandan、

    我很高兴听到 Booster Pack 为您提供了应有的性能。

    这 表明您使用的原始麦克风硬件设置可能存在一些音频信号质量问题。  现在您有一个系统、您可以使用它来评估 其他麦克风硬件的使用情况。

    此致、