掌握镜像声音克隆魔法:用MockingBird让你的声音无限延伸

掌握镜像声音克隆魔法:用MockingBird让你的声音无限延伸

以前陪孩子睡觉时,我讲故事嗓子都快说沙哑了!现在有了MockingBird,我可以用自己的声音无限复制,像个不知疲倦的讲故事专家。比如,可以有个"原版"妈妈、爸爸的声音,给孩子讲自己童年的故事。或者有个"原版"爷爷声音,仿佛他亲自在讲。MockingBird是个灵巧的工具,让陪伴更有趣!

除了讲故事,MockingBird还可以用于以下场景:

  • 外语学习:如果你正在学习外语,可以使用MockingBird录制自己朗读的课文或者常用单词,然后反复听取,加深记忆和练习口语。

  • 语音助手:有了MockingBird,你可以创建自己的语音助手,让它回答你的问题、提醒你日程、播放音乐等等。简单克隆个声音当你伴侣的闹钟或日常语音助手,想想都有趣。

  • 商业用途:如果你是一个企业主或者销售人员,可以使用MockingBird录制销售话术或者电话营销脚本,让你的销售团队使用,提高效率和销售额。

  • 音频剪辑:如果你是一个制作人或者视频博主,可以使用MockingBird录制音频片段,然后进行剪辑和混音,制作成独一无二的音乐或者配乐。

总之,MockingBird可以帮助你在很多方面提高效率和创造力,让你更好地利用自己的声音和语音。

安装

方式1: conda/mamba 隔离环境一步安装

bash 复制代码
conda env create -n env_name -f env.yml

mamba env create -n env_name -f env.yml

会创建新环境安装必须的依赖. 之后用 conda activate env_name 切换环境就完成了.

env.yml只包含了运行时必要的依赖,暂时不包括monotonic-align,如果想要装GPU版本的pytorch可以查看官网教程。

方式2: 通用安装

按照原始存储库测试您是否已准备好所有环境。 运行工具箱(demo_toolbox.py)需要 Python 3.7 或更高版本 。

如果在用 pip 方式安装的时候出现 ERROR: Could not find a version that satisfies the requirement torch==1.9.0+cu102 (from versions: 0.1.2, 0.1.2.post1, 0.1.2.post2) 这个错误可能是 python 版本过低,3.9 可以安装成功

  • 拉取MockingBird
git 复制代码
git clone https://github.com/babysor/MockingBird.git
  • ps: 实测过程中发现有个包版本指定有问题,按照以下步骤进行操作:
    1. 找到requirements.txt文件并打开。
    2. 在文件中查找并定位到包含"monotonic-align==0.0.3"的行。
    3. 删除"==0.0.3"部分,仅保留文本"monotonic-align"。
    4. 保存当前文档并关闭。
  • 运行pip install -r requirements.txt 来安装剩余的必要包。
  • 安装 webrtcvad pip install webrtcvad-wheels。

使用讲解

启动webui

python web.py 运行成功后在浏览器打开地址, 默认为 http://localhost:8080

仅支持手动新录音(16khz), 不支持超过4MB的录音,最佳长度在5~15秒; 实测5-8s为佳, 超出会导致电流噪声;

在左侧切换模式,右侧的工作区可以上传音频/使用示例音频进行合成

启动工具箱:

xml 复制代码
python demo_toolbox.py -d <datasets_root>

这里的 <datasets_root> 是指您的数据集根目录。 请指定一个可用的数据集文件路径,如果有支持的数据集则会自动加载供调试,也同时会作为手动录制音频的存储目录。

首先,点击"Browse"按钮,选择一个时长较短的音频文件。接下来,选择合成器模型为75k,并输入待合成语音的文本内容。最后,点击"合成"按钮即可导出已合成的音频文件。

启动工具箱VC模式

python 复制代码
python demo_toolbox.py -vc -d <datasets_root>

请指定一个可用的数据集文件路径,如果有支持的数据集则会自动加载供调试,也同时会作为手动录制音频的存储目录。

高级优化手段

关于合成

合成音频分为两步骤。第一步是声学模型合成梅尔图,你可以点击"Synthesize only"按钮进行合成。如果合成的梅尔图效果比较清晰,就可以继续进行下一步。如果不清晰,可以尝试多次合成。第二步是合成音频,你可以点击"Vocode only"按钮进行合成。当你更换声码器后,可以在更换后点击"Vocode only"按钮,避免重复合成梅尔图。同时进行这两步骤的按钮是"Synthesize and Vocode"。

合成完成后,你可以在左下角的"Toolbox Output"位置找到新的音频文件。所有合成过的音频都会放在这里,你可以选择"Replay"重新播放,或者点击"Export"导出音频文件。

效果不够好

某些情况下, 在长文本合成中出现坏音, 可以通过以下方式调整优化:

  1. 换更高级别的模型 200k; 目前社区训练好的模型中, 挑选出更适合自己场景的

  2. 精简输入, 同时换GPU方式来跑

  3. 改善CPU、GPU占用率,视情况调整batch_size参数来改善

训练优化

硬件环境准备

  • 显卡:建议8G显存以上, 支持CUDA的NVIDIA显卡,小显存或CPU按需使用。
  • 硬盘:建议500GB可用空间以上的硬盘,语音数据集相当庞大,并且理论上数据集越大最后模型效果更好。

软件环境准备

确保训练用的机器已经成功装好以下程序:

  • Python 3.9.6 (或其他高于3.7的版本)
  • CUDA Toolkit,版本 10.2 或 11.1 (可能需要显卡驱动升级后支持)
  • 【强烈推荐】Anaconda 用清华Tuna源
  • PyTorch 选择对应的平台和版本后复制命令运行安装
  • ffmpeg 并设置环境变量
  • 在项目源代码根目录下运行pip install -r requirements.txt 来安装剩余的必要包。
  • 安装 webrtcvad pip install webrtcvad-wheels。

开始训练

Encoder

Synthesizer & Vocoder

进行音频和梅尔频谱图预处理: python pre.py <datasets_root> 可以传入参数 --dataset {dataset} 支持 aidatatang_200zh, magicdata, aishell3

训练合成器: python synthesizer_train.py mandarin <datasets_root>/SV2TTS/synthesizer

训练结束

哪有那么容易结束,炼丹姿势千千万,大功告成别希望。每天换换数据集和参数组合,跑着跑着就发现效果更好了。

训练工作可以观察到 \saved_models<id> 多了以下几个文件夹:

  • Mel-spectrograms, wavs 训练过程自动保存的测试记录
  • Metas 基本模型参数
  • Plots 训练过程自动保存的阶段结果截图 (音频和梅尔频谱图预处理)

在练的过程中,至少要等到Plots 里面的attention图出现收敛(Convergence),才能正常发出人声,如下图出现一条明显斜线,否则就是一团奇怪噪音,对于loss数字就多寡随意,丰俭由人了。

附录-AI小创针对本文(原创)推荐的相关标题

  • "掌握镜像声音克隆魔法:用MockingBird让你的声音无限延伸"

  • "科技惊奇:用MockingBird实现自我声音复刻"

  • "打造自己的语音助手:MockingBird教你如何克隆声音"

  • "用MockingBird制作个性化音频:释放你的创造力"

  • "革命性的声音克隆技术:挑战MockingBird,打造无限可能"

  • "MockingBird:用AI技术让你的声音无处不在"

  • "声音复刻的黑科技:探秘MockingBird的神奇之处"

  • "打造自己的语音品牌:MockingBird让你的声音更具个性"

  • "AI带来的声音革命:MockingBird让你的声音不再受限"

  • "用MockingBird玩转音频制作:让你的声音成为艺术品"

相关推荐
pianmian14 小时前
python数据结构基础(7)
数据结构·算法
Power20246666 小时前
NLP论文速读|LongReward:基于AI反馈来提升长上下文大语言模型
人工智能·深度学习·机器学习·自然语言处理·nlp
好奇龙猫6 小时前
【学习AI-相关路程-mnist手写数字分类-win-硬件:windows-自我学习AI-实验步骤-全连接神经网络(BPnetwork)-操作流程(3) 】
人工智能·算法
数据猎手小k6 小时前
AndroidLab:一个系统化的Android代理框架,包含操作环境和可复现的基准测试,支持大型语言模型和多模态模型。
android·人工智能·机器学习·语言模型
sp_fyf_20246 小时前
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-11-01
人工智能·深度学习·神经网络·算法·机器学习·语言模型·数据挖掘
香菜大丸7 小时前
链表的归并排序
数据结构·算法·链表
jrrz08287 小时前
LeetCode 热题100(七)【链表】(1)
数据结构·c++·算法·leetcode·链表
oliveira-time7 小时前
golang学习2
算法
知来者逆7 小时前
研究大语言模型在心理保健智能顾问的有效性和挑战
人工智能·神经网络·机器学习·语言模型·自然语言处理
老艾的AI世界8 小时前
新一代AI换脸更自然,DeepLiveCam下载介绍(可直播)
图像处理·人工智能·深度学习·神经网络·目标检测·机器学习·ai换脸·视频换脸·直播换脸·图片换脸