学生的第一个1024程序员节,简单记录基于百度飞桨平台训练的AI模型,克隆动漫人物音色
其实这一路走来,很曲折,很坎坷,在校期间因为一些事务,先后学习过python、C语言、html、css、js、java、matlab、鸿蒙开发、还有机械学习、深度学习等等。很多朋友肯定说学的杂没有用,我也是这样认为的 ,但是之前那都是兴趣或者因为需要去了解学习,选择性的了解学习,目前在做鸿蒙开发,没事学习java,尝试训练模型,经常忘记写笔记记录。
今天就是给大家分享一下当前网络直播环境下大火的配音,咱们如何借助计算机的力量直接做到,借助PaddleSpeech基于百度飞桨平台实现
相关使用教程:paddlespeech: PaddleSpeech 是基于飞桨 PaddlePaddle 的语音方向的开源模型库,用于语音和音频中的各种关键任务的开发,包含大量基于深度学习前沿和有影响力的模型 (gitee.com)
注:PaddleSpeech 是基于飞桨 PaddlePaddle 的语音方向的开源模型库,用于语音和音频中的各种关键任务的开发,包含大量基于深度学习前沿和有影响力的模型
特性:易用、高效、灵活以及可拓展的实现
- 📦 易用性: 安装门槛低,可使用 CLI 快速开始。
- 🏆 对标 SoTA: 提供了高速、轻量级模型,且借鉴了最前沿的技术。
- 🏆 流式 ASR 和 TTS 系统:工业级的端到端流式识别、流式合成系统。
- 💯 基于规则的中文前端: 我们的前端包含文本正则化和字音转换(G2P)。此外,我们使用自定义语言规则来适应中文语境。
- 多种工业界以及学术界主流功能支持:
- 🛎️ 典型音频任务: 本工具包提供了音频任务如音频分类、语音翻译、自动语音识别、文本转语音、语音合成、声纹识别、KWS等任务的实现。
- 🔬 主流模型及数据集: 本工具包实现了参与整条语音任务流水线的各个模块,并且采用了主流数据集如 LibriSpeech、LJSpeech、AIShell、CSMSC,详情请见 模型列表。
- 🧩 级联模型应用: 作为传统语音任务的扩展,我们结合了自然语言处理、计算机视觉等任务,实现更接近实际需求的产业级应用。
好的,回归重点,安装
- 强烈建议在 Linux 环境下,3.7 以上版本的 python 上安装 PaddleSpeech
- 相关依赖:
- gcc >= 4.8.5
- paddlepaddle >= 2.4rc
- python >= 3.7
- linux(推荐), mac, windows
PaddleSpeech 依赖于 paddlepaddle,安装可以参考 paddlepaddle 官网,根据自己机器的情况进行选择。这里给出 cpu 版本示例,其它版本大家可以根据自己机器的情况进行安装。
你也可以安装指定版本的paddlepaddle,或者安装 develop 版本。
PaddleSpeech 快速安装方式有两种,一种是 pip 安装,一种是源码编译(推荐)。
pip 安装
源码编译
- 安装之后测试
- 安装完成后,开发者可以通过命令行或者 Python 快速开始,命令行模式下改变 可以尝试用自己的音频或文本测试,支持 16k wav 格式音频。
- 你也可以在 中快速体验 👉🏻一键预测,快速上手 Speech 开发任务。
ok,目前相关基础已经解决,安装测试也是做完,进入下一步
本项目数据集提供了完整的wav、labelx以及MFA对齐标注文件(需要可以私信)
如果要自行对齐,请去PaddleSpeech查阅完整资料
Finetune your own AM based on FastSpeech2 with multi-speakers dataset.
解压文件中的
音频
work/dataset/胡桃/wav/xx.wav
和标签
work/dataset/胡桃/wav/labels.txt
对齐的textgrid
work/dataset/胡桃/textgrid/newdir/xx.TextGrid
本项目采用胡桃的声音完成
2.1 解压数据集
2.2 编写执行cmd函数代码
2.3 配置各项参数
2.4 检查数据集是否合法
2.5 生成 Duration 时长信息
2.6. 数据预处理
2.7. 准备微调环境
2.8. 微调并训练
不同的数据集是不好给出统一的训练参数,因此在这一步,开发者可以根据自己训练的实际情况调整参数,重要参数说明:
训练轮次: epoch
- epoch 决定了训练的轮次,可以结合 VisualDL 服务,在 AIstudio 中查看训练数据是否已经收敛,当数据集数量增加时,预设的训练轮次(100)不一定可以达到收敛状态
- 当训练轮次过多(epoch > 200)时,建议新建终端,进入/home/aistudio/PaddleSpeech/examples/other/tts_finetune/tts3 路径下, 执行 cmd 命令,AIStudio 在打印特别多的训练信息时,会产生错误
配置文件:
/home/aistudio/PaddleSpeech/examples/other/tts_finetune/tts3/conf/finetune.yaml
目前个各方面都准备好了,接下来输入我们需要生成的文字,即可生成对应的音频文件
3.1 文本输入
In [93]
3.2 调训练的模型
3.2 生成语音
3.4 语音展示
在paddlespeech的加持下,音色克隆变成了一件非常简单的事情(虽然效果还不是很好),不过可玩性还是很高的,大家可以去试试,素材包有很多相关文件,大家可以尝试其他人物角色
在前行道路上,欢迎大家来进行友好交流做朋友!