MockingBird
中国
AI平台

MockingBird

AI拟声: 5秒内克隆您的声音并生成任意语音内容

标签:

MockingBird

特性

🌍 中文 支持普通话并使用多种中文数据集进行测试:aidatatang_200zh, magicdata, aishell3, biaobei, MozillaCommonVoice, data_aishell 等

🤩 PyTorch 适用于 pytorch,已在 1.9.0 版本(最新于 2021 年 8 月)中测试,GPU Tesla T4 和 GTX 2060

🌍 Windows + Linux 可在 Windows 操作系统和 linux 操作系统中运行(苹果系统M1版也有社区成功运行案例)

🤩 Easy & Awesome 仅需下载或新训练合成器(synthesizer)就有良好效果,复用预训练的编码器/声码器,或实时的HiFi-GAN作为vocoder

🌍 Webserver Ready 可伺服你的训练结果,供远程调用

进行中的工作

  • GUI/客户端大升级与合并
  •  初始化框架 ./mkgui (基于streamlit + fastapi)和 技术设计

  •  增加 Voice Cloning and Conversion的演示页面

  •  增加Voice Conversion的预处理preprocessing 和训练 training 页面

  •  增加其他的的预处理preprocessing 和训练 training 页面

  • 模型后端基于ESPnet2升级

开始

1. 安装要求

1.1 通用配置

按照原始存储库测试您是否已准备好所有环境。 运行工具箱(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 可以安装成功

  • 安装 ffmpeg
  • 运行pip install -r requirements.txt 来安装剩余的必要包。
  • 安装 webrtcvad pip install webrtcvad-wheels

1.2 M1芯片Mac环境配置(Inference Time)

以下环境按x86-64搭建,使用原生的demo_toolbox.py,可作为在不改代码情况下快速使用的workaround。

如需使用M1芯片训练,因demo_toolbox.py依赖的PyQt5不支持M1,则应按需修改代码,或者尝试使用web.py

  • 安装PyQt5,参考这个链接

    • 用Rosetta打开Terminal,参考这个链接
    • 用系统Python创建项目虚拟环境
      /usr/bin/python3 -m venv /PathToMockingBird/venv
      source /PathToMockingBird/venv/bin/activate
      
    • 升级pip并安装PyQt5
      pip install --upgrade pip
      pip install pyqt5
      
  • 安装pyworldctc-segmentation

    这里两个文件直接pip install的时候找不到wheel,尝试从c里build时找不到Python.h报错

    • 安装pyworld

      • brew install python 通过brew安装python时会自动安装Python.h
      • export CPLUS_INCLUDE_PATH=/opt/homebrew/Frameworks/Python.framework/Headers 对于M1,brew安装Python.h到上述路径。把路径添加到环境变量里
      • pip install pyworld
    • 安装ctc-segmentation

      因上述方法没有成功,选择从github clone源码手动编译

      • git clone https://github.com/lumaku/ctc-segmentation.git 克隆到任意位置
      • cd ctc-segmentation
      • source /PathToMockingBird/venv/bin/activate 假设一开始未开启,打开MockingBird项目的虚拟环境
      • cythonize -3 ctc_segmentation/ctc_segmentation_dyn.pyx
      • /usr/bin/arch -x86_64 python setup.py build 要注意明确用x86-64架构编译
      • /usr/bin/arch -x86_64 python setup.py install --optimize=1 --skip-build用x86-64架构安装
  • 安装其他依赖

    • /usr/bin/arch -x86_64 pip install torch torchvision torchaudio 这里用pip安装PyTorch,明确架构是x86
    • pip install ffmpeg 安装ffmpeg
    • pip install -r requirements.txt
  • 运行

    参考这个链接 ,让项目跑在x86架构环境上

    • vim /PathToMockingBird/venv/bin/pythonM1
    • 写入以下代码
      #!/usr/bin/env zsh
      mydir=${0:a:h}
      /usr/bin/arch -x86_64 $mydir/python "$@"
      
    • chmod +x pythonM1 设为可执行文件
    • 如果使用PyCharm,则把Interpreter指向pythonM1,否则也可命令行运行/PathToMockingBird/venv/bin/pythonM1 demo_toolbox.py

2. 准备预训练模型

考虑训练您自己专属的模型或者下载社区他人训练好的模型:

近期创建了知乎专题 将不定期更新炼丹小技巧or心得,也欢迎提问

2.1 使用数据集自己训练encoder模型 (可选)

  • 进行音频和梅尔频谱图预处理: python encoder_preprocess.py <datasets_root> 使用-d {dataset} 指定数据集,支持 librispeech_other,voxceleb1,aidatatang_200zh,使用逗号分割处理多数据集。
  • 训练encoder: python encoder_train.py my_run <datasets_root>/SV2TTS/encoder

训练encoder使用了visdom。你可以加上-no_visdom禁用visdom,但是有可视化会更好。在单独的命令行/进程中运行”visdom”来启动visdom服务器。

2.2 使用数据集自己训练合成器模型(与2.3二选一)

  • 下载 数据集并解压:确保您可以访问 train 文件夹中的所有音频文件(如.wav)
  • 进行音频和梅尔频谱图预处理: python pre.py <datasets_root> -d {dataset} -n {number} 可传入参数:
  • -d {dataset} 指定数据集,支持 aidatatang_200zh, magicdata, aishell3, data_aishell, 不传默认为aidatatang_200zh
  • -n {number} 指定并行数,CPU 11770k + 32GB实测10没有问题

假如你下载的 aidatatang_200zh文件放在D盘,train文件路径为 D:\data\aidatatang_200zh\corpus\train , 你的datasets_root就是 D:\data\

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

  • 当您在训练文件夹 synthesizer/saved_models/ 中看到注意线显示和损失满足您的需要时,请转到启动程序一步。

数据统计

数据评估

MockingBird浏览人数已经达到604,如你需要查询该站的相关权重信息,可以点击"5118数据""爱站数据""Chinaz数据"进入;以目前的网站数据参考,建议大家请以爱站数据为准,更多网站价值评估因素如:MockingBird的访问速度、搜索引擎收录以及索引量、用户体验等;当然要评估一个站的价值,最主要还是需要根据您自身的需求以及需要,一些确切的数据则需要找MockingBird的站长进行洽谈提供。如该站的IP、PV、跳出率等!

关于MockingBird特别声明

本站ChatGPT大全提供的MockingBird都来源于网络,不保证外部链接的准确性和完整性,同时,对于该外部链接的指向,不由ChatGPT大全实际控制,在2023年3月19日 下午4:08收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,ChatGPT大全不承担任何责任。

相关导航

天猫U特购  京东优惠购        京东优惠    天猫优惠