和唤醒相关的关键词
wake-up word recognition / detection / spotting、voice triggering、voice activation、keyword spotting。
其中keyword spotting主要用来待指【关键词检索】任务,有时也用来指语音唤醒,「关键词检索」与「语音唤醒」不同,它是在事先录制好的大量语音中搜索特定的关键词。这是一个离线任务,所以并不需要实时进行语音识别,也可以建立索引以加速检索。
tips:掌握关键词是快速入门一个领域好方法,比如可以带着关键词去搜论文,去github检索代码
评价指标:误唤醒、唤醒率、设备功耗
误唤醒率(单位通常为次 / 小时)下,目前商用误唤醒一般要求1-2次/12h。
唤醒率(通常用百分比表示),商用唤醒率一般要求90%以上,尽可能降低漏唤醒率。
如果商用场景,难以满足上述两个指标,重点考虑数据是否匹配。商用唤醒前面肯定要加降噪和VAD、负样本的构造要保护常见场景的背景数据和特定的测试背景数据。
满足误唤醒、唤醒率之外,还要考虑设备功耗,设备功耗和前面两个指标也是相互制约的,同时也是研究者的优化方向,期望在低功耗下,有较低的误唤醒和漏唤醒率。
根据唤醒词给出的形式也可以把语音唤醒分为两种。唤醒词可能是用户用语音形式录制的,这样的语音唤醒任务叫做 query-by-example (QbE) 的语音唤醒。更常见的情况是唤醒词以文本形式给出,比如 Google 的「OK Google」、苏宁的「小 biu 小 biu」等等。
Query-by-example 的语音唤醒
这种模式输入语音,输出是否是唤醒词的概率分布,根据阈值控制是否触发唤醒。
唤醒词以文本形式给出的语音唤醒
其实还是不太明白为什么唤醒词以文本形式给出,语音交互为了方便,解放手的劳动力,一旦开启唤醒,意味着正常语音交互是没问题的,那为什么存在唤醒是文本形式,可能是为了降低功耗,目前暂时搁置这个疑问。
开源论文和代码
https://arxiv.org/pdf/1710.10361v2.pdf
使用residual残差网络
https://github.com/castorini/honk
使用EfficientNet网络
https://github.com/AmirmohammadRostami/KeywordsSpotting-EfficientNet-A0
Convolutional Neural Networks for Small-footprint Keyword Spotting
https://www.isca-speech.org/archive/interspeech_2015/papers/i15_1478.pdf
TC-net: Temporal Convolution for Real-time Keyword Spotting on Mobile Devices
https://arxiv.org/pdf/1904.03814.pdf
pytorch: https://github.com/hyperconnect/TC-ResNet
c: https://github.com/Alex-Riviello/KWS_MCU
数据集
https://www.tensorflow.org/datasets/catalog/speech_commands
https://paperswithcode.com/paper/speech-commands-a-dataset-for-limited
参考
https://zhuanlan.zhihu.com/p/90596982#ref_3
https://blog.csdn.net/weixin_37598106/article/details/105439687