理解这个叫做“世界”的操作系统
灵光一现 → 精巧实现 → 无人知晓 → 自己遗忘,几乎是每个认真思考的工程师都会经历的隐性知识流失
用 PyTorch 从头实现语言模型
《Speech and Language Processing》(2025版草稿)中文版
理解这个叫做“世界”的操作系统
灵光一现 → 精巧实现 → 无人知晓 → 自己遗忘,几乎是每个认真思考的工程师都会经历的隐性知识流失
用 PyTorch 从头实现语言模型
《Speech and Language Processing》(2025版草稿)中文版
用于分析波形声学语音特性的工具,也常常被用作语音处理算法的输入。 本节将介绍一种常用的信号处理流程,它经常作为自动语音识别(ASR)等任务的一部分——正如我们将在第 15 章中看到的那样。 语音处理的第一步通常是将输入波形转换为一系列声学特征向量(acoustic feature vectors),其中每个向量表示信号在一小段时间窗口内的信息。 有时,语音识别或处理算法会直接从原始波形开始;在这种情况下,这类处理通常由第 15 章将介绍的卷积神经网络(convnets) 来完成。 但其他系统则从更高层次的表示入手,例如对数梅尔频谱(log mel spectrum)。 因此,本节将介绍这种广泛使用的特征向量:对数梅尔频谱向量序列。 在下一节中,我们将介绍另一种常用表示:MFCC(梅尔频率倒谱系数)。 我们的介绍将保持在相对较高的抽象层次;若需深入了解,建议修读专门的语音信号处理课程。 我们首先回顾第 14.4.2 节中所述的模拟语音波形的数字化与量化过程。 14.5.1 采样与量化 语音识别器的输入是一系列复杂的空气压力变化。 这些气压变化显然源自说话人,是由气流通过声门并从口腔或鼻腔排出的特定方式所引起的。 我们通过绘制气压随时间的变化来表示声波。 有时,一个有助于理解这类图形的比喻是:想象一块垂直的薄板挡在声波传播路径上(例如说话人嘴前的麦克风振膜,或听者耳中的鼓膜)。 图中所测量的是该薄板处空气分子的压缩(compression) 或 稀疏(rarefaction,即“解压缩”) 程度。 图 14.25(重复自图 14.11)展示了一段来自 Switchboard 电话语音语料库的短时波形,内容是某人说 “she just had a baby” 中最后一个音节 baby 的元音 [iy]。 图 14.25 元音 [iy](单词 “baby” 中的最后一个元音)的波形。 Y 轴表示气压相对于正常大气压的高低,X 轴表示时间。 注意该波形呈现规律性重复。 (重复自图 14.11) 将图 14.15 这类声波数字化的第一步,是将模拟信号(首先是气压变化,随后是麦克风中产生的模拟电信号)转换为数字信号。 这种模数转换(analog-to-digital conversion) 包含两个步骤:采样(sampling) 和 量化(quantization)。 采样是指在特定时刻测量信号的振幅。采样率(sampling rate) 即每秒采集的样本数量。 为了准确还原一个波形,每个周期内至少需要两个采样点:一个用于测量波的正半周,另一个用于负半周。 若每周期采样多于两点,可提高振幅精度;但若少于两点,则会导致该频率完全无法被正确捕捉。 因此,对于给定采样率,所能准确测量的最高频率等于采样率的一半(因为每个周期至少需两个样本)。 这一上限频率称为奈奎斯特频率(Nyquist frequency)。 人类语音中的大部分信息集中在 10,000 Hz 以下的频率范围内。因此,要实现完全保真的语音数字化,需要 20,000 Hz 的采样率。 然而,电话语音会经过交换网络的滤波处理,仅传输低于 4,000 Hz 的频率成分。 因此,对于像 Switchboard 语料库这样的电话带宽(telephone-bandwidth) 语音,8,000 Hz 的采样率已足够。 而对于麦克风录制的宽频语音,通常采用 16,000 Hz 的采样率。 ...
在介绍ASR算法之前,我们先讨论一下ASR任务本身有哪些变化维度。 第一个变化维度是词汇量大小。某些ASR任务早已能以极高的准确率完成。 例如,只有两个词的词汇表(“yes”与“no”),或包含11个词的数字识别任务(识别从“zero”到“nine”以及“oh”的数字序列)。 相比之下,开放式任务要困难得多。比如准确转录视频内容或人类对话,这类任务通常涉及6万甚至更多词汇,挑战性显著更高。 第二个变化维度是说话对象。 人类对机器说话(无论是口述还是与对话系统交互)比人与人之间的对话更容易识别。 朗读语音(read speech)也相对容易处理。例如有声书中人们大声朗读的内容就属于此类。 而识别会话语音(conversational speech)中两个人的交谈、转录商务会议内,则是最难的。 似乎当人类对机器说话,或在没有听众的情况下朗读时,他们会显著简化自己的言语:语速更慢,发音更清晰。 第三个变化维度是信道与噪声环境。如 果语音是在安静房间内通过头戴式麦克风录制的,就比在嘈杂的城市街道上用远距离麦克风录制,或在车窗打开的汽车内录制更容易识别。 最后一个变化维度是口音或说话人类别特征。 如果说话人使用的方言或语言变体与系统训练所用数据一致,识别就更容易。 如果系统仅在标准方言或成人说话人的数据上训练过,那么面对地区性或民族性方言使用者、儿童等群体的语音,识别难度就会大大增加。 为了研究这些变化,研究人员使用了多个公开可用的语料库。这些语料库包含人工制作的转录文本,常被用于构建ASR的测试集和训练集。 以下列举几个常见语料库,你在文献中很可能会遇到它们。 LibriSpeech 是一个大型开源朗读语音数据集,采样率为16 kHz。它包含来自LibriVox项目的超过1000小时有声书音频,志愿者朗读并录制了无版权书籍(Panayotov 等,2015)。 该数据集的转录文本已对齐到句子级别。 它被划分为较易的“clean”部分和较难的“other”部分。 “clean”部分录音质量更高,口音更接近美式英语。 这一划分是在语料库首次发布时完成的:研究人员用一个在《华尔街日报》朗读语音上训练的语音识别器处理全部音频,根据人工标注的参考转录计算每位说话人的词错误率(WER),再将说话人大致分为两组,低WER说话人的录音归为“clean”,高WER说话人的录音归为“other”。 Switchboard 语料库收集于1990年代初,包含陌生人之间按提示进行的电话对话。 它共有 2430 段对话,平均每段6分钟,总计240小时8 kHz语音,约300万词(Godfrey 等,1992)。 Switchboard 的独特优势在于其海量的人工标注语言学信息,包括句法分析、对话行为标签、音素与韵律标注,以及话语结构和信息结构标注。 CALLHOME 语料库则收集于1990年代末,包含120段未经脚本设计的30分钟电话对话。对话双方通常是关系亲密的朋友或家人,均为英语母语者(Canavan 等,1997)。 多种语料库试图包含更自然的语音输入。CHiME 挑战赛是一系列困难的共享任务,处理 ASR 稳健可靠性。 例如,CHiME-6 任务的目标是在真实家庭环境中识别会话语音(具体为晚餐聚会场景)。 该语料库包含在 20 个真实家庭中录制的晚餐聚会音频,每次聚会 4 名参与者,在三个位置(厨房、餐厅、客厅)使用远场麦克风进行录音。 AMI 会议语料库包含 100 小时的小组会议录音(部分为自然发生的会议,部分为专门组织的会议),配有手工转录文本及部分额外人工标注(Renals 等,2007)。 CORAAL 是一个包含 150 多段社会语言学访谈的语料库,访谈对象为非裔美国人,旨在研究非裔美国英语(AAE),即非裔美国人社群及其他群体所使用的多种语言变体(Kendall 与 Farrington,2020)。 这些访谈已做匿名处理,转录文本对齐到话语(utterance)级别。 其他语言也有大量可用语料库。 以中文为例,HKUST 普通话电话语音语料库包含 1206 段经转录的十分钟普通话电话对话,说话人来自中国各地,包括朋友之间和陌生人之间的交谈(Liu 等,2006)。 AISHELL-1 语料库则包含 170 小时的普通话朗读语音,句子取自多个领域,由主要来自中国北方的不同说话人朗读(Bu 等,2017)。 ...
我不知是否 领会了你的意思:若真领会, 它便浮于你声音的字词涟漪之上, 如同溪流中黄昏的淡淡倒影。 托马斯·洛弗尔·贝多斯,1851年 理解口语,或至少将其中的词语转写为文字,是计算机语言处理最早的目标之一。 事实上,语音处理的历史比计算机还要早几十年! 最早的语音识别机器出现在 20 世纪 20 年代,那是一个玩具。 右侧所示的“Radio Rex”是一只赛璐珞制成的狗。当接收到约500 Hz的声能时,它内部的弹簧会被释放,从而驱动狗移动。 由于 500 Hz 大致对应“Rex”一词中元音[eh]的第一共振峰,因此这只狗似乎真的会在被叫到名字时出现(David, Jr. 与 Selfridge,1962)。 在现代,我们对自动系统提出了更高要求。 自动语音识别(ASR)的任务,就是将如下这样的声波: 映射为对应的词串: It's time for lunch! 目前,要实现任意说话人、在任意环境下都能准确转录语音,这一目标仍远未达成。但ASR技术已经发展成熟,足以胜任许多实际任务。 语音是一种自然的人机交互方式,特别适用于操控家电,或与数字助理、聊天机器人交流。在手机等设备上尤其如此,因为键盘输入往往不够便捷。 ASR也广泛用于通用转录场景,例如自动生成音视频内容的字幕(如电影、视频或实时讨论的转录)。 在法律等领域,口述转录具有重要作用。 此外,ASR还是增强型通信的关键组成部分。这类通信指计算机与存在某些障碍的人类用户之间的互动——这些障碍可能导致用户难以或无法打字,或存在听觉困难。 失明的弥尔顿曾口述《失乐园》由女儿记录;亨利·詹姆斯则因重复性劳损,在后期改用口述创作小说。 接下来几节将介绍ASR任务的不同目标,说明如何提取声学特征,并引入卷积神经网络架构。该架构常被用作语音识别任务的初始层。 随后,我们将介绍两类ASR方法。 第一类是编码器-解码器范式。我们会介绍基于注意力机制的基础编码器-解码器算法,早期实现常被称为“Listen Attend and Spell”。 我们还会介绍一种更先进的编码器-解码器系统——OpenAI 的 Whisper 系统(Radford 等,2023),以及一个采用相同架构的开源系统 OWSM(Open Whisper-style Speech Model)(Peng 等,2023)。(这些模型还具备翻译等额外能力,后文将详述。) 第二类方法利用自监督语音模型(有时缩写为 SSL,即自监督学习),例如 Wav2Vec2.0或 HuBERT。这些模型作为编码器,能够学习语音的抽象表示。通过与 CTC(连接时序分类)损失函数结合用于解码,即可完成 ASR 任务。 最后,我们将介绍评估ASR性能的标准指标——词错误率(word error rate)。 14.6 MFCC:梅尔频率倒谱系数 目录 15.1 自动语音识别任务
MFCC(Mel Frequency Cepstral Coefficients,梅尔频率倒谱系数) 是一种有用的波形表示方法,它强调了信号中与语音单元检测相关的方面。 MFCC 是一个 39 维的特征向量,包含: 12 个倒谱系数 1 个能量系数 12 个一阶差分倒谱系数 1 个一阶差分能量系数 12 个二阶差分倒谱系数 1 个二阶差分能量系数 下面概述了这些特征是如何计算的;对更多细节感兴趣的读者可以参考信号处理课程。 倒谱:逆离散傅里叶变换 MFCC 系数基于倒谱(cepstrum)。 倒谱的一种理解方式是它提供了一种将声源和滤波器分离的有效方法。 回顾第 14.4.6 节,当具有特定基频的声门源波形通过声道时生成语音波形,由于声道形状的不同过滤特性,产生了不同的语音。 然而,许多声门源的特征(如其基频、声门脉冲的具体细节等)对于区分不同语音并不重要。 相反,对于语音识别最有用的信息是滤波器,即声道的确切位置。 如果我们知道声道的形状,就能知道正在发出的是哪个语音。 这表明,对于语音识别有用的特征应该能够解卷积(分离)声源和滤波器,并只显示声道滤波器。 事实证明,倒谱就是实现这一目标的方法之一。 图 14.30 来自 Taylor (2009) 的幅度谱(a)、对数幅度谱(b)和倒谱(c),已获得许可。 两个频谱上叠加了一个平滑的频谱包络以帮助可视化频谱。 为了简化讨论,我们考虑输入为对数幅度谱并忽略梅尔缩放。 倒谱可以被看作是频谱的对数的频谱。 这听起来可能令人困惑,我们从简单部分开始:频谱的对数。 也就是说,倒谱始于标准幅度频谱,如 Taylor (2009) 中所示元音的频谱(图 14.30(a))。 然后取对数,即将幅度频谱中的每个振幅值替换为其对数值,如图 14.30(b) 所示。 下一步是将对数频谱可视化,就像它本身就是一个波形。 换句话说,考虑图 14.30(b) 中的对数频谱。 轴标签(x 轴上的频率)告诉我们这是频谱,假设移除这些轴标签,并想象我们只是在处理正常的语音信号,x 轴表示时间。 现在我们能说这个“伪信号”的频谱有什么特点呢? 注意到该波形中有一个高频重复成分:小波大约每 1000 单位沿 x 轴重复 8 次,频率约为 120 Hz。 这种高频成分是由信号的基频引起的,代表了频谱中信号每个谐波处的小峰值。 此外,“伪信号”中还有一些较低频率的成分;例如,包络或共振峰结构在这个窗口中有大约四个大峰值,对应更低的频率。 ...
我们首先对声学波形及其数字化和频域分析做一个非常简要的介绍;有兴趣的读者可参考本章末尾所列的参考资料。 14.4.1 波 声学分析基于正弦(sine)和余弦(cosine)函数。 图 14.10 展示了一条正弦波的图像,具体对应以下函数: $$ y = A \cdot \sin(2 \pi f t) \tag{14.3} $$其中,振幅 $A$ 设为 1,频率 $f$ 设为每秒 10 个周期。 图 14.10 频率为 10 Hz、振幅为 1 的正弦波。 根据基础数学知识,波有两个重要特征:频率(frequency) 和 振幅(amplitude)。 频率指波每秒重复的次数,即周期(cycles) 的数量。 频率通常以每秒周期数来度量。 图 14.10 中的信号在 0.5 秒内重复了 5 次,因此频率为每秒 10 个周期。 每秒周期数通常称为赫兹(hertz),缩写为 Hz,所以图 14.10 中的频率可描述为 10 Hz。 正弦波的振幅 $A$ 是其在 Y 轴上的最大值。 波的周期 $T$ 是完成一个完整循环所需的时间,定义为: $$ T = \frac{1}{f} \tag{14.4} $$图 14.10 中每个周期持续十分之一秒,因此 $T = 0.1$ 秒。 ...
韵律(Prosody) 研究语言的语调和节奏特征,特别是如何利用基频(F0)、能量(energy) 和 时长(duration) 来传达语用、情感或对话交互层面的意义。1 我们将在下一节转向声学语音学时详细介绍这些声学量。简而言之,能量是我们感知为“响度”的声学属性,而 F0 是声音的基频,即听觉上感知为话语“音高”的声学特征。 韵律可用于标记话语结构(discourse structure),例如陈述句与疑问句之间的区别,或会话的组织方式。 韵律也用于突出某个词或短语的显著性(saliency)。 此外,韵律在副语言功能中被广泛使用,例如传达喜悦、惊讶或愤怒等情感意义。 韵律还在对话中的话轮转换(turn-taking) 管理中发挥重要作用。 14.3.1 韵律显著性:重音、词重音与弱化元音 在美式英语的自然话语中,有些词听起来比其他词更显著(prominent),而这些词中的某些音节也比其他音节更显著。 所谓“显著”,是指这些词或音节在听感上对听者更具突显性。 说话人通过以下方式使一个词或音节在英语中更突显:说得更响(增大能量)、说得更慢(延长时长),或在该词内部改变 F0(使其音高更高或变化更大)。 语调重音(Accent) 我们通过一种称为音高重音(pitch accent) 的语言标记来表示这种显著性。 那些显著的词或音节被认为承载(bear) 一个音高重音。 例如,下面这句话可能会通过重读带下划线的词来发音: (14.1) I’m a little surprised to hear it characterized as happy. 词重音(Lexical Stress) 承载音高重音的音节称为重读音节(accented syllables)。 并非一个词的每个音节都能承载重音:音高重音必须落在具有词重音(lexical stress) 的音节上。 词重音是词典中标注的该词发音的一个属性;如果一个词被重读,那么其词重音所在的音节就会更响或更长。 例如,surprised 的重音在第二个音节,而不是第一个。(试着把重音放在第一个音节上,说成 SURprised;希望你觉得这听起来不对。) 因此,如果 surprised 在句子中获得音高重音,那么被强化的将是它的第二个音节。 下面的例子展示了带下划线的重读词,其中承载重音的词重音音节(即更响、更长的那个音节)以粗体标出: (14.2) I’m a little surprised to hear it characterized as happy. 词典中标记了重音信息。 例如,CMU 发音词典(CMU, 1993)用数字 0(非重读)或 1(重读)标注元音,如 counter:[K AW1 N T ER0],或 table:[T EY1 B AH0 L]。 词重音位置的不同会影响词义:名词 content 读作 [K AA1 N T EH0 N T],而形容词 content 则读作 [K AA0 N T EH1 N T]。 ...
语音领域还包含多种其他任务。 说话人日志(Speaker diarization)的任务是在一段长时间、多说话人的录音中判断“谁在什么时候说话”,即标注出每位说话人在交互中发言的起止时间。 该技术可用于会议转录、课堂语音记录或医患对话等场景。 通常,说话人日志系统会先使用语音活动检测(Voice Activity Detection, VAD)找出连续的语音片段,然后提取说话人嵌入向量,并对这些向量进行聚类,将可能来自同一说话人的片段归为一类。 近期的研究则开始探索端到端算法,直接从输入语音映射到每一帧对应的说话人标签序列。 说话人识别(Speaker recognition)是指识别说话人身份的任务。 我们通常将其细分为两个子任务: 说话人验证(speaker verification):做出二元判断(“这是说话人 X 吗?”),常用于电话访问个人账户等安全场景; 说话人辨识(speaker identification):在 N 个候选者中选择一个,即将一段语音与包含多位说话人的数据库进行匹配,确定其身份。 在语种识别(language identification)任务中,系统接收一段波形文件,并需判断其中所使用的语言。这项任务对于构建多语言模型、创建标注数据集,乃至在线语音系统都具有重要意义。 唤醒词检测(wake word detection)的任务是检测某个特定词语或短语(如 “Alexa”、“Hey Siri” 或 “OK Google”),通常用于激活语音助手。 唤醒词检测的关键目标是将检测模块部署在边缘计算设备(如智能音箱或手机)上,以最小化上传至云端服务器的用户语音数据量,从而保护隐私。 因此,唤醒词检测器必须是运行速度快、占用内存小的轻量级软件,能够嵌入资源受限的设备中。 这类检测器通常采用与 ASR 相同的前端特征提取方法,随后接一个整词分类器(whole-word classifier)进行判别。 16.4 TTS 评估 目录
发音语音学(Articulatory phonetics) 研究的是:当口腔、咽喉和鼻腔中的各种器官对来自肺部的气流进行调节时,这些音素(phones)是如何产生的。 发音器官 图 14.4 展示了人类的发音器官。 声音由空气的快速运动产生。 人类在口语中发出的大多数声音,都是通过将肺部空气经气管(专业术语称为气管,trachea)推出,并从口腔或鼻腔排出而形成的。 当气流经过气管时,会穿过喉头(larynx)——俗称“喉结”或“声箱”。 喉头内有两片小肌肉褶皱,称为声带(vocal folds)(非专业场合常称作声 cords)。这两片声带可以靠拢或分开。 它们之间的空隙称为声门(glottis)。 如果声带彼此靠近(但未完全闭合),气流通过时会引起振动;如果声带张开较远,则不会振动。 由振动声带产生的声音称为浊音(voiced);不伴随声带振动的声音则称为清音(unvoiced) 或 无声音(voiceless)。 浊音包括 [b]、[d]、[g]、[v]、[z] 以及所有英语元音等。 清音则包括 [p]、[t]、[k]、[f]、[s] 等。 Figure 14.4 The vocal organs, shown in side view. (Figure from OpenStax University Physics, CC BY 4.0) 气管以上的区域称为声道(vocal tract),它由口腔声道(oral tract) 和 鼻腔声道(nasal tract) 组成。 空气离开气管后,可经口腔或鼻腔排出体外。 大多数声音是通过口腔气流产生的。 若气流经鼻腔排出,则形成鼻音(nasal sounds);这类声音(如英语中的 [m]、[n] 和 [ng])同时利用口腔和鼻腔作为共鸣腔。 音素主要分为两大类:辅音(consonants) 和 元音(vowels)。 这两类声音都是通过气流在口腔、咽喉或鼻腔中运动而形成的。 辅音是通过某种方式限制或阻塞气流而产生的,可以是浊音,也可以是清音。 元音的阻碍较少,通常是浊音,且一般比辅音更响亮、持续时间更长。 这些术语在语言学中的技术用法与日常用法大致相同: [p]、[b]、[t]、[d]、[k]、[g]、[f]、[v]、[s]、[z]、[r]、[l] 等属于辅音; [aa]、[ae]、[ao]、[ih]、[aw]、[ow]、[uw] 等属于元音。 半元音(semivowels)(如 [y] 和 [w])兼具两类特征:它们像元音一样是浊音,但又像辅音一样短暂且不具备明显的音节性。 ...
像 ‘p’ 或 ‘a’ 这样的字母,本身已经是对人类语音的一种有用建模。事实上,我们将在第15章看到如何在字母与声波之间建立映射。 尽管如此,用稍更抽象的方式来表示语音仍然很有帮助。 我们将一个词的发音表示为一串音素(phones),即语音的基本单位,每个音素用源自罗马字母的符号表示。 用于转写世界各种语言的标准语音表示法是国际音标(International Phonetic Alphabet, IPA)。它是一项不断演进的标准,最早制定于1888年。 但在本章中,我们将使用 ARPAbet(Shoup, 1980)来表示音素。ARPAbet 是一种简单的音标系统(见图14.1),它方便地使用 ASCII 符号来表示 IPA 中美式英语所用的一个子集。 许多 IPA 和 ARPAbet 的符号与常见的罗马字母相同。 例如,ARPAbet 中的音素 [p] 表示 platypus、puma 和 plantain 开头的辅音,也出现在 leopard 的中间或 antelope 的末尾。 然而,总体而言,英语正字法中的字母与其对应音素之间的映射关系相当不透明(opaque)。同一个字母在不同上下文中可能代表非常不同的语音。 比如,英语字母 c 在 cougar [k uw g axr] 中对应音素 [k],但在 cell [s eh l] 中却对应音素 [s]。 此外,音素 [k] 不仅可以写作 c 或 k,还可以作为 x 的一部分出现(如 fox [f aa k s]),也可以写作 ck(如 jackal [jh ae k el])或 cc(如 raccoon [r ae k uw n])。 相比之下,许多其他语言(例如西班牙语)在语音与拼写之间的映射要**透明(transparent)**得多。 ...
本书所讨论的文本,其组成字符并非随意的符号。 它们还是一项了不起的科学发明:一种对人类语音基本单元的理论建模。 目前已知最早的文字系统(如苏美尔文、中文和玛雅文)主要是表意文字:一个符号代表一个完整的词。 但从我们所能追溯的最早阶段起,有些符号也用来表示构成词语的语音。 例如,右侧的楔形文字符号在苏美尔语中读作 ba,意思是“口粮”,但它也可以纯粹用作音素 /ba/。 我们现存最早的汉字刻在用于占卜的甲骨上,其中同样包含表音成分。 纯以语音为基础的文字系统——无论是音节文字(如日语的平假名)、字母文字(如罗马字母),还是辅音文字(如闪米特语系的文字)——都可以追溯到这些早期的意音混合系统。这类演变常常发生在两种文化接触之时。 例如,阿拉伯文、阿拉姆文、希伯来文、希腊文和罗马字母都源自一种西闪米特文字。这种文字据信是由西闪米特雇佣兵从埃及象形文字的草书形式改造而来。 而日语的音节文字则是在汉字草书形式的基础上改造而成;这些汉字本身在中国也曾被用来音译唐代传入的佛教经典中的梵语词汇。 这种隐含的观点——即口语词由更小的语音单元构成——构成了语音识别(将声波转录为文本)和文本到语音合成(将文本转换为声波)两类算法的基础。 本章将从计算的角度介绍语音学:研究世界各语言中所使用的语音,包括这些语音如何在人类声道中产生、如何在声学上实现,以及如何被数字化并加以处理。 13.8 注意力机制(Attention) 目录 14.1 语音与音标转写