MockingBird

2025-12-11 0 629

?尽管我不再积极地更新此存储库,但您会发现我不断地将这项技术推向良好的一面和开源。我还构建了一个优化的云托管版本https://noiz.ai/,它是免费的,但现在还没有准备好进行一次性使用。

英语| 中文| 中文linux

特征

?中文支持普通话,并通过多个数据集进行了测试:aidatang_200zh,magicdata,aishell3,data_aishell等。

?Pytorch在Pytorch工作,以1.9.0版(2021年8月的最新版本)进行了测试,其中GPU Tesla T4和GTX 2060

Windows + Linux在Windows OS和Linux OS中运行(即使在M1 MacOS中)

?仅通过重复使用预验证的编码器/vocoder,便于新训练的合成器轻松且令人敬畏的效果

?Web服务器准备通过远程呼叫为您的结果服务

演示视频

快速开始

1。安装要求

1.1常规设置

请按照原始存储库进行测试,以便您准备好所有环境。 ** python 3.7或更高**运行工具箱。

  • 安装Pytorch。

如果您有错误:找不到满足需求torch == 1.9.0+cu102的版本(来自版本:0.1.2,0.1.2.post1,0.1.2.post2)此错误可能是由于Python的低版本,请尝试使用3.9,并且将成功安装它

  • 安装FFMPEG。
  • 运行PIP Install -R Euncess.txt以安装剩余的必要软件包。

此处的推荐环境是repo tag 0.0.1 pytorch1.9.0,带有torchvision0.10.0和cudatoolkit10.2 sumplast.txt webrtcvad-wheels,因为要求。 TXT是几个月前出口的,因此它与较新版本不起作用

  • 安装WebRTCVAD PIP安装Webrtcvad-Wheels(如果需要)

或者

  • 使用Conda或Mamba安装依赖项

    conda env create -n env_name -f env.yml

    mamba env create -n env_name -f env.yml

    将在安装必要的依赖项的情况下创建一个虚拟环境。通过Conda激活Env_Name切换到新环境并享受它。

    Env.yml仅包括运行项目的必要依赖项,而无需单调对准。您可以检查官方网站以安装GPU版本的Pytorch。

1.2用M1 Mac设置

以下步骤是直接使用原始demo_toolbox.pywith的解决方案的解决方案。

由于主要问题与Demo_toolbox中使用的PYQT5软件包有关。PY与M1芯片不兼容,因此可以尝试使用M1芯片训练模型,因此该人可以放弃demo_toolbox.py,或者一个人可以在项目中尝试Web.py。

1.2.1安装pyqt5,在此处使用参考。
  • 创建并在此处使用Ref打开Rosetta终端。
  • 使用系统python为项目创建虚拟环境MockingBird/venv
    source /PathTo MockingBird /venv/bin/activate\”>

    /usr/bin/python3 -m venv /PathTo MockingBird /venv
    source /PathTo MockingBird /venv/bin/activate
    
  • 升级PIP并安装PYQT5
    pip install --upgrade pip
    pip install pyqt5
    
1.2.2安装pyworld和CTC分段

这两个软件包似乎都是该项目独有的,并且在原始的实时语音克隆项目中没有看到。使用PIP安装安装时,两个软件包都缺少车轮,因此该程序试图直接从C代码编译,并且找不到Python.h。

  • 安装pyworld

    • 酿造安装Python Python.h可以随附Brew安装的Python
    • export cplus_include_path =/opt/homebrew/frameworks/python.framework/headers brew-installed python.h的filepath是m1 macos独有的,上面列出。需要手动将路径添加到环境变量中。
    • PIP安装应该做的pyworld。
  • 安装CTC-分段

    相同的方法不适用于CTC细分,并且需要从GitHub上的源代码进行编译。

    • git克隆https://g**ithub*.com/lumaku/ctc-segmentation.git
    • CD CTC细分
    • 源 /路径MockingBird /venv /bin /激活如果尚未部署虚拟环境,请激活它。
    • cythonize -3 ctc_segementation/ctc_sementation_dyn.pyx
    • /usr/bin/acr -x86_64 python setup.py构建构建使用x86架构。
    • /usr/bin/acr -x86_64 python setup.py安装 – optimize = 1 – 带x86架构的skip -buildinstall。
1.2.3其他依赖性
  • /usr/bin/acr -x86_64 pip安装火炬火炬火炬pip安装pytorch以示例,表明它已安装了x86架构
  • PIP安装FFMPEG安装FFMPEG
  • PIP安装-R要求.txt安装其他要求。
1.2.4运行推理时间(使用工具箱)

在X86架构上运行该项目。参考。

  • vim /path to MockingBird /venv /bin /pythonm1创建一个可执行文件的pythonm1,以调理python解释器在 /pathto MockingBird /venv /bin。
  • 在以下内容中写入:
    #!/usr/bin/env zsh
    mydir=${0:a:h}
    /usr/bin/arch -x86_64 $mydir/python \"$@\"
    
  • CHMOD +X Pythonm1将文件设置为可执行文件。
  • 如果使用Pycharm IDE,请将项目解释器配置为Pythonm1(此处的步骤),如果使用命令行Python,run /pathto MockingBird /venv /bin /pythonm1 demo_toolbox.pypy

2.准备模型

请注意,由于原始模型与中国符号不相容,因此我们使用的编码器/Vocoder,但不使用合成器。这意味着目前demo_cli不起作用,因此需要其他合成模型。

您可以训练模型或使用现有模型:

2.1使用数据集的火车编码器(可选)

  • 使用音频和MEL频谱图的预处理:Python Encoder_preprocess.py <datasets_root>允许参数-dataset {dataset}来支持要预处理的数据集。仅使用这些数据集的火车组。可能的名称:librispeech_other,voxceleb1,voxceleb2。使用逗号串起多个数据集。

  • 训练编码器:python encoder_train.py my_run <DataSets_Root>/sv2tts/encoder

对于培训,编码器使用vign。您可以使用-no_visdom将其禁用,但是很高兴。在单独的CLI/进程中运行“ vive”以启动您的vive服务器。

2.2与您的数据集的火车合成器

  • 下载数据集和解压缩:确保您可以在文件夹中访问所有.wav

  • 使用音频和MEL频谱图的预处理:Python pre.py <dataSets_root>允许参数-dataset {dataset}支持AIDATATATANG_200ZH,MAIGHDATA,AISHELL3,DATA_AISHELL 3,DATA_AISHELL等。

  • 训练合成器:python train.py -type =合成器普通话<DataSets_Root>/sv2tts/nynthesizer

  • 当您看到注意线显示和损失满足您在训练文件夹合成器/ saved_models/中的需求时,请转到下一步。

2.3使用验证的合成器模型

多亏了社区,将分享一些模型:

作者 下载链接 预览视频 信息
@作者 https://pan.b*ai**du.com/s/1ionvrxmki-t1nhqxkyty3g baidu 4j5d 由多个数据集训练的75K步骤
@作者 https://pan.**bai*du.com/s/1fmh9ilgkjll2piirtyduvw baidu代码:OM7F 由多个数据集训练的25K步骤,仅在版本0.0.1下工作
@fawenyo https://yisiou-my.share**p*oint.com/:u:u:/g/personal/lawrence_cheng_fawenyo_onmicrosoft_comcom/ewfwdhzee-nng9twdkckckcckcc4bc7bc7bk2j9ccbk2j9ccbown0-ccbown0-_tk0nog?ee = n00gggc 输入输出 台湾当地口音的200k步骤,仅在0.0.1版中工作
@miven https://pan.*b*ai*du.com/s/1pi-hm3sn5wbechrryx-rcq代码:2021 https://www.aliyundrive.com/s/awpsbo8mcsps代码:z2m0 https://www.*b*ilibi*li.com/video/bv1uh411b7ad/ 仅在0.0.1版本下工作

2.4火车声码器(可选)

注意:Vocoder的效果差异很小,因此您可能不需要培训新的差异。

  • 预处理数据:python vocoder_preprocess.py <datasets_root> -m <synthesizer_model_path>

<DataSets_root>用数据集root,<synthesizer_model_path>替换为sythensizer最佳训练型号的目录,例如sythensizer \\ sythensizer \\ saved_mode \\ xxx

  • 训练Wavernn Vocoder:Python vocoder_train.py普通话<DataSets_Root>

  • 训练hifigan vocoder python vocoder_train.py普通话<DataSets_Root> hifigan

3。发射

3.1使用Web服务器

然后,您可以尝试运行:python web.py并在浏览器中打开,默认为http:// localhost:8080

3.2使用工具箱

然后,您可以尝试工具箱:Python Demo_toolbox.py -d <DataSets_Root>

3.3使用命令行

然后,您可以尝试命令:python gen_voice.py <text_file.txt> your_wav_file.wav您可能需要通过“ PIP INSTALS CN2AN”安装CN2AN,以获得更好的数字数字结果。

参考

该存储库是从仅支持英语的实时访问中分配的。

URL 指定 标题 实现来源
1803.09017 全球风格(合成器) 样式令牌:无监督的样式建模,控制和转移端到端语音综合 这个存储库
2010.05646 Hifi-Gan(Vocoder) 生成的对抗网络,可高效且高保真语音综合 这个存储库
2106.02297 Fre-Gan(Vocoder) Fre-GAN:对抗频率一致的音频综合 这个存储库
1806.04558 SV2TTS 从说话者验证转移到多言扬声器文本到语音综合 这个存储库
1802.08435 Wavernn(Vocoder) 有效的神经音频综合 fatchord/wavernn
1703.10135 TACOTRON(合成器) TACOTRON:朝向端到端语音合成 fatchord/wavernn
1710.10467 GE2E(编码器) 演讲者验证的全身端到端损失 这个存储库

f Q&A

1.我可以在哪里下载数据集?

数据集 原始来源 替代来源
AIDATATANG_200ZH Openslr Google Drive
MagicData Openslr Google Drive(开发设置)
aishell3 Openslr Google Drive
data_aishell Openslr

UNZIP AIDATATANG_200ZH之后,您需要解压缩所有文件

2.什么是<DataSets_Root>?

如果数据集路径为d:\\ data \\ aidatang_200zh,则<DataSets_Root> isd:\\ data

3.没有足够的VRAM

训练合成器:在合成器/hparams.py中调整批次_size

//Before
tts_schedule = [(2,  1e-3,  20_000,  12),   # Progressive training schedule
                (2,  5e-4,  40_000,  12),   # (r, lr, step, batch_size)
                (2,  2e-4,  80_000,  12),   #
                (2,  1e-4, 160_000,  12),   # r = reduction factor (# of mel frames
                (2,  3e-5, 320_000,  12),   #     synthesized for each decoder iteration)
                (2,  1e-5, 640_000,  12)],  # lr = learning rate
//After
tts_schedule = [(2,  1e-3,  20_000,  8),   # Progressive training schedule
                (2,  5e-4,  40_000,  8),   # (r, lr, step, batch_size)
                (2,  2e-4,  80_000,  8),   #
                (2,  1e-4, 160_000,  8),   # r = reduction factor (# of mel frames
                (2,  3e-5, 320_000,  8),   #     synthesized for each decoder iteration)
                (2,  1e-5, 640_000,  8)],  # lr = learning rate

训练vocoder-preprocess数据:调整合成器/hparams.py中的batch_size

//Before
### Data Preprocessing
        max_mel_frames = 900,
        rescale = True,
        rescaling_max = 0.9,
        synthesis_batch_size = 16,                  # For vocoder preprocessing and inference.
//After
### Data Preprocessing
        max_mel_frames = 900,
        rescale = True,
        rescaling_max = 0.9,
        synthesis_batch_size = 8,                  # For vocoder preprocessing and inference.

Train Vocoder-Train the Vocoder:调整vocoder/wavernn/hparams.py中的batch_size

//Before
# Training
voc_batch_size = 100
voc_lr = 1e-4
voc_gen_at_checkpoint = 5
voc_pad = 2

//After
# Training
voc_batch_size = 6
voc_lr = 1e-4
voc_gen_at_checkpoint = 5
voc_pad =2

4.如果发生runtimeError:taCotron的加载状态_dict中的错误(s):encoder.embedding.embedding.perting.perty:用shape torch.size([70,512])复制一个码([70,512])的大小不匹配([[70,512])),当前模型中的形状为torch.size。size([75,512])。

请参考第37期

5。如何提高CPU和GPU入住率?

调整适当改进的批次_size

6.如果发生这种情况,页面文件太小而无法完成操作

请参阅此视频,然后将虚拟内存更改为100G(102400),例如:将文件放置在D磁盘中时,更改了D磁盘的虚拟内存。

7.我什么时候应该在训练期间停下来?

仅供参考,我的注意力是在18k步骤和50k步骤后损失低于0.4之后。

下载源码

通过命令行克隆项目:

git clone https://github.com/babysor/MockingBird.git

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

左子网 编程相关 MockingBird https://www.zuozi.net/33938.html

monero
上一篇: monero
google research
下一篇: google research
常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、描述:源码描述(含标题)与实际源码不一致的(例:货不对板); 2、演示:有演示站时,与实际源码小于95%一致的(但描述中有”不保证完全一样、有变化的可能性”类似显著声明的除外); 3、发货:不发货可无理由退款; 4、安装:免费提供安装服务的源码但卖家不履行的; 5、收费:价格虚标,额外收取其他费用的(但描述中有显著声明或双方交易前有商定的除外); 6、其他:如质量方面的硬性常规问题BUG等。 注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。
查看详情
  • 1、左子会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、左子无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在左子上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于左子介入快速处理。
查看详情

相关文章

猜你喜欢
发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务