1. 认识CMU发音词典:你的语音技术“新华字典”
如果你刚开始接触语音识别或者语音合成,可能会被一堆术语搞晕,什么音素、音标、发音词典。别急,这感觉我懂,当年我也是一头雾水。今天咱们就来聊聊一个在语音技术圈里,几乎无人不知、无人不用的“神器”——CMU Pronoucing Dictionary,大家通常亲切地叫它 CMUdict。
简单来说,你可以把它想象成语音技术领域的“新华字典”。我们学中文有新华字典,告诉你每个字怎么读(拼音)。在英语世界里,要让计算机“听懂”或“说出”英语单词,它也需要一本字典,告诉它每个单词是由哪些最基本的发音单位(也就是“音素”)拼起来的。CMUdict就是干这个的。它由卡耐基梅隆大学(Carnegie Mellon University, 简称CMU)的语音技术团队维护和发布,最早可以追溯到1993年,历史悠久,经过了无数项目的验证,可以说是业内的“金标准”之一。
我第一次在项目里用到它,是为了做一个简单的英文语音命令识别。当时我手头有一堆英文单词,但我的语音识别模型需要知道这些单词的“内部发音结构”才能进行训练和匹配。自己手动去标注每个单词的音素?那简直是噩梦,工作量巨大且容易出错。这时候,CMUdict就像救星一样出现了。我只需要把单词列表输进去,它就能返回每个单词对应的音素序列,省去了我大量的基础工作,让我能专注于模型本身的调优。从那时起,无论是做TTS(文本转语音)还是ASR(自动语音识别),CMUdict几乎成了我工具箱里的常客。
那么,它到底长什么样呢?它的核心就是一个巨大的“单词-音素”对照表。比如,你查单词“hello”,它会返回“HH AH L OW”,这四个字母组合(HH, AH, L, OW)就是代表“hello”发音的四个音素。计算机不认识国际音标那种复杂的符号,所以CMUdict使用了一套由39个英文字母和数字组成的、对机器极其友好的编码系统来代表所有英语发音。这套系统,就是我们接下来要深入研究的“音素集合”。
2. 深入核心:39个音素与ARPAbet编码体系
CMUdict之所以强大和通用,核心就在于它采用了一套标准化的音素集和编码方案。这套方案基于一个叫做 ARPAbet 的语音符号系统。ARPAbet本身是为语音合成研究设计的,用我们熟悉的ASCII字符(就是键盘上能找到的字母和数字)来表示音素,这对计算机处理来说再方便不过了。CMUdict沿用了这套思想,并将其固化成了一个包含39个基本音素的集合。
这39个音素,覆盖了美式英语中绝大多数元音和辅音的发音。我刚开始看的时候也觉得是一堆乱码,但理解之后就会发现它的设计其实很直观。它主要分为两大类:元音(Vowels) 和 辅音(Consonants)。
元音通常用两个大写字母表示,比如:
- AA:代表 “father” 中的 /ɑː/ 音,发音时口腔张开较大。
- AE:代表 “cat” 中的 /æ/ 音。
- IY:代表 “see” 中的 /iː/ 音,是长元音。
- IH:代表 “sit” 中的 /ɪ/ 音,是短元音。
- OW:代表 “go” 中的 /oʊ/ 音,是个双元音。
辅音则大多用单个大写字母表示,很多和英语字母的发音直接相关,非常容易记忆:
- B:就是 /b/,如 “bee”。
- D:就是 /d/,如 “deep”。
- F:就是 /f/,如 “fee”。
- K:就是 /k/,如 “key”。
- L:就是 /l/,如 “lee”。
当然,也有一些特殊的组合来表示英语中特有的音:
- TH:代表清辅音 /θ/,如 “theta”。
- DH:代表浊辅音 /ð/,如 “thee”。
- SH:代表 /ʃ/,如 “she”。
- ZH:代表 /ʒ/,如 “seizure” 中的


599

被折叠的 条评论
为什么被折叠?



