问题是我想得到C语言语音的音素。
假设你有一个像“x.wav”这样的音频文件,上面写着“你好,亲爱的沙米姆”。我想提取演讲的所有音素及其相对时间。如下图所示:
我使用System.Speech
库(同时使用recognition
和synthesis
名称空间),但没有找到我想要的。现在别搞错了!我不想要“你好,亲爱的沙米姆”这个句子的音素,我想从一个未知的音频输入中提取音素,这个音频输入可以说英语句子。我试过从音频文件中提取单词,而不是从电话中!正如你可能猜到的,这个词有30%是错的!;)
最佳答案
与单词识别相比,音素识别需要一些专门的设置,而且大多数引擎都不直接支持它(单音单词词典通常不会产生很好的准确性)。其中一个重要的原因是,由于单词识别受到更多的限制(它过滤掉了所有没有映射到真实单词的电话组合,而真实单词正是其中的大多数),所以音素识别的准确性远远低于单词识别。但HTK确实支持这一点。您可以通过执行shell命令(在c中这样做没有什么坏处)或对库进行pinvog操作来使用它。