我正在准备一个实验,想用Python编写一个程序来识别参与者说的特定单词。
我搜索了很多关于Python语音识别的信息,但结果都过于复杂(例如CMUSphinx)。
我希望实现的是一个程序,它可以接收一个声音文件(只包含一个非英语单词),然后我告诉程序这个声音的含义以及我希望看到的输出。
我已经看过sklearn关于识别手写数字的示例。我想知道我是否可以做类似的事情:
- 训练程序根据不同人说同一单词的声音文件返回特定的输出(例如数字);
- 当输入其他人的新声音文件,说的是同一个单词时,返回相同的值。
我可以用Python和sklearn实现这个吗?如果可以,我应该从哪里开始?
谢谢!
回答:
我已经编写了一个文本识别的程序。我可以告诉你,如果你选择手动“教”你的程序,你将需要处理很多工作,因为要考虑到口音等导致的语音变化。
你可以从这里开始寻找声音分析器(音乐分析)。尝试识别像“yes”这样简单单词的波形,并编写一个算法来百分比化声音文件的变化。这样,你可以设定一个范围来避免误报/反之亦然。
此外,你可能需要先从声音文件中去除背景噪音,因为它们可能会干扰你的识别模式。