Siri 是一个应用语音合成技巧与仁攀类进行交换的小我助手。大年夜 iOS 10 开端,苹不雅已经在 Siri 的语音顶用到了深度进修,iOS 11 中的 Siri 依然延续这一技巧。应用深度进修使得 Siri 的语音变的更天然、流畅,更人道化。机械之心对苹不雅期刊的该技巧博客进行了介绍,更具体的技巧请查看原文。
介绍
语音合成,也就是仁攀类声音的人工产品,被广泛应用于大年夜助手到游戏、娱乐等各类范畴。比来,合营语音辨认,语音合成已经成为了 Siri 如许的语音助手弗成或缺的一部分。
如今,业内重要应用两种语音合成技巧:单位选择 [1] 和参数合成 [2]。单位选择语音合成技巧在拥有足够高质量灌音时可以或许合成最高质量的语音,也是以成为贸易产品中最常用的语音合成技巧。别的,参数合成可以或许供给高度可懂得的、流畅的语音,但整体质量略低。是以,在语料库较小、低占用的情况下,平日应用参数合成技巧。现代的单位选择体系结合这两种技巧的优势,是以被称为混淆体系。混淆单位选择办法类似于传统的单位选择技巧,但个中应用了参数合成技巧来猜测选择的单位。
近期,深度进修对语音范畴冲击巨大年夜,极大年夜的超出了传统的技巧,例如隐马尔可夫模型。参数合成技巧也大年夜深度进修技巧中有所收益。深度进修也使得一种全新的语音合成技巧成为了可能,也就是直接音波建模技巧(例如 WaveNet)。该技巧极有潜力,既能供给单位选择技巧的高质量,又能供给参数选择技巧的灵活性。然而,这种技妙策算成本极高,对产品而言还不成熟。为了让所有平台的 Siri 语音供给最佳质量,苹不雅迈出了这一步,在设备中的混淆单位选择体系上应用了深度进修。
苹不雅深度语音合成技巧工作道理
为小我助手建立高质量的文本转语音(TTS)体系并非简单的义务。起首,第一个阶段是找到专业的播音人才,她/他的声音既要悦耳、易于懂得,又要相符 Siri 的个性。为了覆盖各类仁攀类语音,我们起首在灌音棚中记录了 10-20 小时的语音。录制的脚本大年夜音频簿到导航指导,大年夜提示谜底到笑话,不一而足。平日来说,这种天然的语音不克不及像录制的那样应用,因为弗成能录制助手会说的每一句话。是以,单位选择 TTS 体系把记录的语音切片成基本元件,比如半音素,然后根据输入文本把它们从新结合,创造全新的语音。在实践中,选择合适的音素并组合起来并非易事,因为每个音素的声学特点由相邻的音素、语音的韵律所决定,这平日使得语音单位之间不相容。图 1 展示了若何应用被瓜分为半音素的数据库合成语音。
图 1:展示了应用半音素进行单位选择语音合成。合成的发所以「Unit selection synthesis」,图的顶部是应用半音素的标音法。响应的合成波形与光谱图在图下部分。竖线划分的语音段是来自数据集的持续语音段,数据集可能包含一个或多个半音素。
单位选择 TTS 技巧的根本难题是找到一系列单位(例如,半音素),既要知足输入文本、猜测目标音韵,又要可以或许在没有明显缺点的情况下组合在一路。传统方法上,该流程包含两部分:前端和后端(见图 2),尽管现代体系中其界线可能会很模糊。前端的目标是基于原始文本输入供给语沂紫嗉和音韵信息。这包含将包含数字、缩写等在内的原始文本规范化写成悼?船并向每个单词分派语沂紫嗉,解析来自文本的句法、音节、单词、重音、分句。要留意,前端高度依附说话。
图 2:文本转语音合成流程。
此外,语音区的根本频率整体上高度依附发音,为了创建语调天然活泼的合成语音,我们安排了一个轮回深度 MDN 模型以建模 f0 特点。
应用由文本分析模块创建的符号说话学表征,音韵生成模块猜测声调、音长等声学特点的值。这些值被用于选择合适的单位。单位选择的义务极其复杂,所以现代的合成器应用机械进修办法进修文本与语音之间的一致性,然后根据未知文本的特点值袈浃测其语音特点值。这一模块必须要在合成器的练习阶段应用大年夜量的文本和语音数据进行进修。音韵模型输入的是数值说话学特点,例如音素特点、音素语境、音节、词、短语级其余地位特点转换为恰当的数值情势。音韵模型的输出由语音的数值声学特点构成,例如频谱、基频、音素时长。在合成阶段,练习的统计模型用于把输入文本特点映射到语音特点,然后用来指导单位选择后端流程,该流程中声调与音长的合适度极其重要。
与前端不合,后端平日是说话自力的。它包含单位选择和波形拼接部分。当体系接收练习时,应用强迫对齐将录制的语音和脚本对齐(应用语音辨认声学模型)以使录制的语音数据被瓜分成零丁的语音段。然后应用语音段创建单位数据库。应用重要的信息,如每个单位的说话情况(linguistic context)和声学特点,将该数据库进一步加强。我们将该数据叫作单位索引(unit index)。应用构建好的单位数据库和指导选择过程的猜测音韵特点,即可在语音空间内履行 Viterbi 搜刮,以找到单位合成的最佳路径(见图 3)。
推荐阅读
异常有效的 csplit 敕令可以将单个文件瓜分成多个文件。Carla Schroder 解释说。Linux 有几个用于瓜分文件的对象法度榜样。那么你为什么要瓜分文件呢?一个用例是将大年夜文件瓜分成更小的>>>详细阅读
本文标题:从技术到产品,苹果Siri深度学习语音合成技术揭秘
地址:http://www.17bianji.com/lsqh/37022.html
1/2 1