大家好!明天带来的是基于 PaddleSpeech 的全流程粤语语音合成技术的分享~
PaddleSpeech 是飞桨开源语音模型库,其提供了一套残缺的语音辨认、语音合成、声音分类和谈话人辨认等多个工作的解决方案。近日,PaddleSpeech 迎来了重要更新——r1.4.0 版本。在这个版本中,PaddleSpeech 带来了中文 wav2vec2.0 fine-tune 流程、降级的中英文语音辨认以及全流程粤语语音合成等重要更新。接下来,咱们将具体介绍这些更新内容以及亮点。
中文 wav2vec2.0 fine-tune
在 r1.4.0 版本中,咱们实现了中文 wav2vec2.0 fine-tune 流程。wav2vec2.0 是一种基于自监督学习的语音特征提取办法,通过训练未标注的语音数据,学习到音频信号的有用示意。
wav2vec2.0 应用一个基于卷积神经网络(CNN)的编码器来提取语音特色,而后应用一个 Transformer 架构的上下文网络来捕获特色之间的时序关系。在 fine-tune 阶段,通过增加一个线性分类层来适应中文语音辨认工作。
wav2vec2.0 的次要组成部分
- 前解决
原始音频数据首先通过预处理,包含采样率转换、声道数调整等,以满足模型输出的要求。
- 特征提取器
对预处理后的音频数据进行特征提取,将其转换为适宜模型输出的模式。wav2vec2.0 模型应用了一个卷积神经网络(CNN)作为特征提取器,将间断的音频数据转换为一系列的特征向量。
- 上下文网络
特征向量通过上下文网络进行解决,捕捉不同工夫步长之间的关联信息,上下文网络应用的是 Transformer 构造。
- 自监督学习
wav2vec2.0 采纳自监督学习的办法进行训练,它应用了一个“掩码”策略,在输出数据中随机抉择一些工夫步长并将其置为均匀分布的随机 embedding 向量,而后训练模型去预测被掩码量化后的特色。这种办法容许模型在没有文本标注的状况下学习音频数据的外在构造。
- 线性分类器
在自监督学习的根底上,为了实现音频到文本的转换,模型在最初一层增加了一个线性分类器。这个分类器将上下文网络输入的特征向量映射到对应的 token。
通过这一流程,PaddleSpeech 可能在无需大量标注数据的状况下,提供高效精确的中文语音辨认模型。在 PaddleSpeech 给出的 fine-tune 流程示例中,预训练模型基于 WenetSpeech Dataset,应用 aishell1 数据集进行微调,在两块 32G V100 上训练 80 个 Epoch,batch size 设置为 5,Encoder 应用 wav2vec2.0, Decoder 阶段应用 CTC,解码阶段应用 Greedy search。最终在 aishell1 测试数据集上字错误率(CER)为 0.051,折算成辨认正确率 94.9%。
开发者们能够通过 wav2vec2.0 的中文 fine-tuning 流程,在本人的数据集上进行微调,以便取得在特定场景中体现更优良的模型。
我的项目体验传送门
https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/examples/aishell/asr3
全流程粤语语音合成
PaddleSpeech r1.4.0 版本还提供了全流程粤语语音合成解决方案,包含语音合成前端、声学模型、声码器、动态图转动态图、推理部署全流程工具链。语音合成前端负责将文本转换为音素,实现粤语语言的天然合成。为实现这一指标,声学模型采纳了基于深度学习的端到端模型 FastSpeech2,声码器则应用基于反抗神经网络的 HiFiGAN 模型。这两个模型都反对动转静,能够将动态图模型转化为动态图模型,从而在不损失精度的状况下,进步运行速度。
- 训练全流程体验
https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/examples/canton/tts3
通过 AI Studio,能够疾速体验粤语语音合成,我的项目在线体验地址:https://aistudio.baidu.com/aistudio/projectdetail/5601925?cha…
Python 示例
from paddlespeech.cli.tts import TTSExecutor
tts_executor = TTSExecutor()
wav_file = tts_executor(
text='三点几嚟,饮茶先啦!',
am='fastspeech2_canton',
voc='hifigan_csmsc',
lang='canton',
spk_id=10,
use_onnx=True,
output='api_1.wav',
cpu_threads=2)
推理全流程则实现了从输出文本到语音合成的残缺过程,包含文本处理、声学模型预测以及声码器合成。在文本处理阶段,咱们采纳了自然语言解决技术,将文本转换为音素序列。在声学模型预测阶段,利用预训练的 FastSpeech2 模型生成声学特色。最初,通过声码器 HiFiGAN 将声学特色转换为可听见的语音信号。通过这一全流程粤语语音合成解决方案,PaddleSpeech 可能为用户提供更加天然、实在的粤语语音合成体验。
你也能够参考 PaddleSpeech 的语音合成部署示例,将粤语语音合成模型部署到手机或者其它边缘设施中,你能够参考以下流程:
https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/demos/TTSAndroid
中英文语音辨认模型
在这次更新中,PaddleSpeech 公布了中英文语音辨认预训练模型 conformer_talcs,通过命令行工具 CLI 或者 Python 接口能够疾速应用。开发者们能够基于这部分工作搭建本人的智能语音利用,也能够参考示例 examples/tal_cs/asr1 训练本人的中英文语音辨认模型。该模型采纳 Conformer 架构和 CTC 损失函数,实现对中英文混合语音的辨认。Conformer 架构应用自注意力机制捕捉输出序列中的长距离依赖关系,从而进步语音辨认的准确性。同时,CTC 损失函数容许模型在不须要对齐输出和输入的状况下进行训练,简化了训练过程。针对中英文混合场景,咱们在训练数据上引入了 code-switch 标签,使模型可能在繁多语言和混合语言之间灵便切换。这一技术为用户带来了更优质的中英文混合语音辨认体验。
Python 接口疾速体验
import paddle
from paddlespeech.cli.asr import ASRExecutor
asr_executor = ASRExecutor()
text = asr_executor(
model='conformer_talcs',
lang='zh_en',
sample_rate=16000,
config=None,
ckpt_path=None,
audio_file='./ch_zh_mix.wav',
codeswitch=True,
force_yes=False,
device=paddle.get_device())
print('ASR Result: \n{}'.format(text))
利用场景瞻望
基于上述具体的技术原理,PaddleSpeech r1.4.0 所带来的中文 wav2vec2.0 finetune、中英文语音辨认及全流程粤语语音合成等重要更新将在以下利用场景施展重要作用:
- 智能客服
PaddleSpeech 的语音辨认和语音合成技术能够为智能客服提供弱小反对,实现更为晦涩、天然的多语言语音互动,晋升客户体验。
- 教育领域
中英文混合语音辨认技术将有助于跨国教育的倒退,进步双语教学质量,同时全流程粤语语音合成技术也可利用于方言地区的教育场景。
- 语音助手
PaddleSpeech 的降级将为智能语音助手带来更加精确的语音辨认和更为天然的语音合成能力,进一步晋升用户体验。
- 会议记录与翻译
PaddleSpeech 的中英文语音辨认技术可广泛应用于跨国会议的记录与翻译,帮忙与会者更好地沟通交流。此外,PaddleSpeech r1.4.0 的技术更新还可在多种场景中发挥作用,如医疗、法律、播送等畛域。咱们期待宽广开发者在理论利用中挖掘 PaddleSpeech 的更多后劲,独特推动语音技术的倒退。感激开源社区贡献者 在此,咱们特别感谢 PaddleSpeech 的开源社区贡献者们。正是有了大家的共同努力,才使得 PaddleSpeech 可能继续倒退、一直优化。将来,咱们将持续致力于为开发者提供更加优良的语音技术解决方案。
欢送宽广开发者关注 PaddleSpeech,体验 r1.4.0 的弱小性能,一起摸索语音技术的有限可能!如果想理解更多无关 PaddleSpeech 的内容,欢送返回 PaddleSpeech 主页,点击 浏览原文 疾速体验。https://github.com/PaddlePaddle/PaddleSpeech
想要学习 PaddleSpeech 的更多用法,欢送大家点击 Star 反对咱们的工作,理解 PaddleSpeech 最新资讯。
参考文献
[1] Alexei Baevski, Henry Zhou, Abdelrahman Mohamed, Michael Auli:“wav2vec 2.0: A Framework for Self-Supervised Learning of Speech Representations”, 2020
[2] Yi Ren, Chenxu Hu, Xu Tan, Tao Qin, Sheng Zhao, Zhou Zhao, Tie-Yan Liu:“FastSpeech 2: Fast and High-Quality End-to-End Text to Speech”, 2020
[3] Jungil Kong, Jaehyeon Kim, Jaekyoung Bae:“HiFi-GAN: Generative Adversarial Networks for Efficient and High Fidelity Speech Synthesis”, 2020