ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

PaddleSpeech FastSpeech2 多说话人声学模型微调实战:基于预训练权重定制你自己的语音合成模型

PaddleSpeech FastSpeech2 多说话人声学模型微调实战:基于预训练权重定制你自己的语音合成模型 人工智能语音音频NLP媒体生成【免费下载链接】PaddleSpeechEasy-to-use Speech Toolkit including Self-Supervised Learning model, SOTA/Streaming ASR with punctuation, Streaming TTS with text frontend, Speaker Verification System, End-to-End Speech Translation and Keyword Spotting. Won NAACL2022 Best Demo Award.项目地址https://gitcode.com/paddlepaddle/PaddleSpeech点击查看免费下载导读本文是 PaddleSpeech 开源语音工具包中 FastSpeech2 多说话人声学模型Acoustic ModelAM微调Finetune的完整实战指南。通过本文你将掌握如何基于 AISHELL-3中文、VCTK英文或中英混合数据训练出的 FastSpeech2 预训练模型使用你自己收集的少量音频示例中仅用 200 条微调出个性化语音合成模型并通过 HiFiGAN 神经声码器完成端到端波形合成。全文以examples/other/tts_finetune/tts3目录下的 README 为骨架结合该目录下run.sh、finetune.py、extract_feature.py等源码实现逐步拆解数据准备、强制对齐、特征提取、参数冻结微调与推理合成的完整链路。方案背景与适用场景FastSpeech2 是 PaddleSpeech TTS 模块中的主流非自回归声学模型。本示例展示的是小数据微调思路不从头训练而是复用大数据集AISHELL-3 / VCTK / 中英混合语料上训练好的多说话人 FastSpeech2 权重用少量目标说话人数据做增量训练快速获得带目标说话人音色的声学模型。该思路源自 PaddleSpeech 社区讨论中开发者提出的方案。微调时使用的预训练模型与数据组合如下微调方向预训练声学模型预训练声码器示例数据中文FastSpeech2 AISHELL-3HiFiGAN AISHELL-3csmsc 前 200 条csmsc_mini英文FastSpeech2 VCTKHiFiGAN VCTKljspeech 前 200 条ljspeech_mini中英混合FastSpeech2 中英混合语料HiFiGAN AISHELL-3AISHELL-3 SSB0005 说话人前 12 条FastSpeech2 在 AISHELL-3 与 VCTK 上的完整训练流程可分别参考仓库中的 examples/aishell3/tts3 与 examples/vctk/tts3。一、环境准备与预训练模型下载1.1 目录规划假设所有资源统一放在两个目录中./pretrained_models存放 FastSpeech2 预训练模型与 HiFiGAN 预训练模型./input存放你自己的音频数据说话人文件夹./tools存放蒙特利尔强制对齐工具Montreal Forced AlignerMFA。1.2 下载中文微调所需的预训练模型微调中文模型需下载FastSpeech2 AISHELL-3预训练权重用于微调与HiFiGAN AISHELL-3预训练权重用于合成mkdir -p pretrained_models cd pretrained_models # pretrained fastspeech2 model wget https://paddlespeech.cdn.bcebos.com/Parakeet/released_models/fastspeech2/fastspeech2_aishell3_ckpt_1.1.0.zip unzip fastspeech2_aishell3_ckpt_1.1.0.zip # pretrained hifigan model wget https://paddlespeech.cdn.bcebos.com/Parakeet/released_models/hifigan/hifigan_aishell3_ckpt_0.2.0.zip unzip hifigan_aishell3_ckpt_0.2.0.zip cd ../1.3 下载英文微调所需的预训练模型微调英文模型需下载FastSpeech2 VCTK与HiFiGAN VCTKmkdir -p pretrained_models cd pretrained_models # pretrained fastspeech2 model wget https://paddlespeech.cdn.bcebos.com/Parakeet/released_models/fastspeech2/fastspeech2_vctk_ckpt_1.2.0.zip unzip fastspeech2_vctk_ckpt_1.2.0.zip # pretrained hifigan model wget https://paddlespeech.cdn.bcebos.com/Parakeet/released_models/hifigan/hifigan_vctk_ckpt_0.2.0.zip unzip hifigan_vctk_ckpt_0.2.0.zip cd ../1.4 下载中英混合微调所需的预训练模型微调中英混合模型需下载FastSpeech2 中英混合语料合成仍使用 HiFiGAN AISHELL-3mkdir -p pretrained_models cd pretrained_models # pretrained fastspeech2 model wget https://paddlespeech.cdn.bcebos.com/t2s/chinse_english_mixed/models/fastspeech2_mix_ckpt_1.2.0.zip unzip fastspeech2_mix_ckpt_1.2.0.zip # pretrained hifigan model wget https://paddlespeech.cdn.bcebos.com/Parakeet/released_models/hifigan/hifigan_aishell3_ckpt_0.2.0.zip unzip hifigan_aishell3_ckpt_0.2.0.zip cd ../1.5 预训练模型包内容说明以fastspeech2_aishell3_ckpt_1.1.0为例解压后的目录包含 5 个关键文件它们与后续微调、合成命令中的参数一一对应pretrained_models/fastspeech2_aishell3_ckpt_1.1.0 ├── default.yaml # 模型与训练超参数配置微调时被 finetune.yaml 覆盖部分参数 ├── energy_stats.npy # 能量特征均值/方差统计量特征归一化用 ├── phone_id_map.txt # 音素表对应 --phones_dict ├── pitch_stats.npy # 音高特征均值/方差统计量 ├── snapshot_iter_96400.pdz # 预训练权重快照 ├── speaker_id_map.txt # 说话人表对应 --speaker_dict └── speech_stats.npy # 频谱特征均值/方差统计量对应 --am_stat而hifigan_aishell3_ckpt_0.2.0目录则包含pretrained_models/hifigan_aishell3_ckpt_0.2.0 ├── default.yaml # 声码器配置对应 --voc_config ├── feats_stats.npy # 声码器输入特征统计量对应 --voc_stat └── snapshot_iter_2500000.pdz # 声码器权重对应 --voc_ckpt二、准备你自己的微调数据2.1 数据格式约定数据放在./input下每个说话人一个文件夹文件夹内包含音频文件*.wav格式标注文件labels.txt每行格式为utt_id|pronunciation发音标注竖线分隔。中文标注示例带声调的音素序列000001|ka2 er2 pu3 pei2 wai4 sun1 wan2 hua2 ti1英文标注示例纯文本转写之后由 CMU 词典转换为音素LJ001-0001|Printing, in the only sense with which we are at present concerned, differs from most if not from all the arts and crafts represented in the Exhibition2.2 直接使用仓库提供的迷你数据集仓库为三种场景分别提供了可直接下载的迷你数据包中文csmsc 前 200 条用于微调中文模型mkdir -p input cd input wget https://paddlespeech.cdn.bcebos.com/datasets/csmsc_mini.zip unzip csmsc_mini.zip cd ../英文ljspeech 前 200 条用于微调英文模型mkdir -p input cd input wget https://paddlespeech.cdn.bcebos.com/datasets/ljspeech_mini.zip unzip ljspeech_mini.zip cd ../中文AISHELL-3 中 SSB0005 说话人前 12 条用于微调中英混合模型中文或英文数据均可mkdir -p input cd input wget https://paddlespeech.cdn.bcebos.com/datasets/SSB0005_mini.zip unzip SSB0005_mini.zip cd ../三、MFA 强制对齐工具与预训练对齐模型FastSpeech2 的训练需要音素级时长duration作为监督信号本示例使用蒙特利尔强制对齐工具MFA从音频与文本中自动获得音素边界。3.1 安装 MFA 工具mkdir -p tools cd tools # mfa tool wget https://github.com/MontrealCorpusTools/Montreal-Forced-Aligner/releases/download/v1.0.1/montreal-forced-aligner_linux.tar.gz tar xvf montreal-forced-aligner_linux.tar.gz cp montreal-forced-aligner/lib/libpython3.6m.so.1.0 montreal-forced-aligner/lib/libpython3.6m.so mkdir -p aligner cd aligner3.2 下载预训练 MFA 对齐模型与词典中文数据使用 AISHELL-3 预训练对齐模型与带声调词典# pretrained mfa model for Chinese data wget https://paddlespeech.cdn.bcebos.com/MFA/ernie_sat/aishell3_model.zip unzip aishell3_model.zip wget https://paddlespeech.cdn.bcebos.com/MFA/AISHELL-3/with_tone/simple.lexicon cd ../../英文数据使用 VCTK 预训练对齐模型与 CMU 词典# pretrained mfa model for English data wget https://paddlespeech.cdn.bcebos.com/MFA/ernie_sat/vctk_model.zip unzip vctk_model.zip wget https://paddlespeech.cdn.bcebos.com/MFA/LJSpeech-1.1/cmudict-0.7b cd ../../3.3 准备完成后的目录结构以中文微调为例完成上述所有准备后当前工作目录的结构如下├── input │ ├── csmsc_mini │ │ ├── 000001.wav │ │ ├── 000002.wav │ │ ├── 000003.wav │ │ ├── ... │ │ ├── 000200.wav │ │ ├── labels.txt │ └── csmsc_mini.zip ├── pretrained_models │ ├── fastspeech2_aishell3_ckpt_1.1.0 │ │ ├── default.yaml │ │ ├── energy_stats.npy │ │ ├── phone_id_map.txt │ │ ├── pitch_stats.npy │ │ ├── snapshot_iter_96400.pdz │ │ ├── speaker_id_map.txt │ │ └── speech_stats.npy │ ├── fastspeech2_aishell3_ckpt_1.1.0.zip │ ├── hifigan_aishell3_ckpt_0.2.0 │ │ ├── default.yaml │ │ ├── feats_stats.npy │ │ └── snapshot_iter_2500000.pdz │ └── hifigan_aishell3_ckpt_0.2.0.zip └── tools ├── aligner │ ├── aishell3_model │ ├── aishell3_model.zip │ └── simple.lexicon ├── montreal-forced-aligner │ ├── bin │ ├── lib │ └── pretrained_models └── montreal-forced-aligner_linux.tar.gz四、微调配置文件 finetune.yaml 详解微调参数集中在 examples/other/tts_finetune/tts3/conf/finetune.yaml 中。其完整内容如下########################################################### # PARAS SETTING # ########################################################### # Set to -1 to indicate that the parameter is the same as the pretrained model configuration batch_size: -1 learning_rate: 0.0001 # learning rate num_snapshots: -1 # frozen_layers should be a list # if you dont need to freeze, set frozen_layers to [] # fastspeech2 layers can be found on conf/fastspeech2_layers.txt # example: frozen_layers: [encoder, duration_predictor] frozen_layers: [encoder]各参数说明batch_size微调批大小应小于或等于训练样本数。默认-1表示沿用预训练模型配置中的值即 64。learning_rate学习率默认0.0001。num_snapshots保存模型快照的数量。默认-1表示沿用预训练模型配置即 5。frozen_layers需要冻结的层必须是一个列表。如果不想冻结任何层设置为[]。可冻结的层名参照 examples/other/tts_finetune/tts3/conf/fastspeech2_layers.txt。4.1 参数生效机制源码级解析从 local/finetune.py 的实现可以确认参数的覆盖逻辑config.batch_size finetune_config.batch_size if finetune_config.batch_size 0 else config.batch_size config.optimizer.learning_rate finetune_config.learning_rate if finetune_config.learning_rate 0 else config.optimizer.learning_rate config.num_snapshots finetune_config.num_snapshots if finetune_config.num_snapshots 0 else config.num_snapshots frozen_layers finetune_config.frozen_layers assert type(frozen_layers) list, frozen_layers should be set a list.即finetune.yaml中大于 0 的值会覆盖预训练模型default.yaml中的对应项设为-1则沿用预训练配置frozen_layers强制要求为 list 类型。微调时还会将预训练模型的max_epoch与--epoch参数相加作为总训练轮数config.max_epoch config.max_epoch args.epoch。4.2 层冻结实现冻结操作在finetune.py的freeze_layer函数中完成原理是将指定模块下所有参数的trainable置为Falsedef freeze_layer(model, layers: List[str]): for layer in layers: for param in eval(model. layer .parameters()): param.trainable Falsefastspeech2_layers.txt完整列出了 FastSpeech2 模型的参数层级可冻结的顶层模块包括encoder音素编码器、duration_predictor时长预测器、pitch_predictor/pitch_embed音高预测与嵌入、energy_predictor/energy_embed能量预测与嵌入、decoder频谱解码器、postnet后处理网络、spk_embedding_table/spk_projection说话人相关模块等。实践中建议数据量越小冻结越多层以降低过拟合风险。社区验证的经验排序为冻结 encoder 完全不冻结 冻结 encoder 且冻结 duration_predictor即只冻结编码器通常效果最佳详见文末 Tips。五、完整微调流程run.sh 的 7 个 Stage示例提供三个入口脚本对应三种微调方向run.sh微调中文预训练模型run_en.sh微调英文预训练模型run_mix.sh微调中英混合预训练模型。直接执行./run.sh脚本会依次完成 source 环境变量、微调模型、合成音频三个环节。你也可以通过--stage与--stop-stage指定要运行的阶段区间若两者相等则只运行单个阶段。脚本开头先source path.shpath.sh它负责设置MAIN_ROOT、PYTHONPATH以及BIN_DIR指向paddlespeech/t2s/exps/fastspeech2。整条流水线由 7 个 stage 组成各阶段与local/下脚本的对应关系如下Stage功能调用脚本0检查 OOV词典外词local/check_oov.py1获取 MFA 对齐结果local/get_mfa_result.py2由对齐结果生成 durations.txtlocal/generate_duration.py3提取并归一化声学特征local/extract_feature.py4准备微调环境拷贝预训练权重local/prepare_env.py5执行微调local/finetune.py6端到端合成波形synthesize_e2e.py5.1 Stage 0OOV 检查check_oov.py调用方式python3 local/check_oov.py \ --input_dir${input_dir} \ --pretrained_model_dir${pretrained_model_dir} \ --newdir_name${newdir_name} \ --lang${lang}该阶段完成两项关键校验源码见 local/check_oov.py根据labels.txt中的发音对照词典中文为simple.lexicon英文为cmudict-0.7b与预训练 MFA 模型的音素表找出无法对齐的 OOV 词将不含 OOV 词的音频复制到input_dir/newdir子目录并为每条音频生成单独的.txt转写文件供 MFA 使用OOV 统计写入./oov_info.txt。5.2 Stage 1MFA 强制对齐get_mfa_result.py调用方式python3 local/get_mfa_result.py \ --input_dir${new_dir} \ --mfa_dir${mfa_dir} \ --lang${lang}核心逻辑local/get_mfa_result.py实际执行mfa_align input_dir dict mfa_model mfa_dir命令用预训练对齐模型中文aishell3_model/ 英文vctk_model对过滤后的音频做音素级强制对齐输出 TextGrid 对齐文件。5.3 Stage 2生成音素时长generate_duration.py调用方式python3 local/generate_duration.py \ --mfa_dir${mfa_dir}该脚本local/generate_duration.py调用仓库工具 utils/gen_duration_from_textgrid.py 中的gen_duration_from_textgrid将 TextGrid 对齐结果转换为./durations.txt。注意脚本中采样率fs 24000、帧移n_shift 300与 FastSpeech2 特征配置保持一致。5.4 Stage 3特征提取与归一化extract_feature.py调用方式python3 local/extract_feature.py \ --duration_file./durations.txt \ --input_dir${new_dir} \ --dump_dir${dump_dir} \ --pretrained_model_dir${pretrained_model_dir} \ --replace_spkid$replace_spkid该阶段local/extract_feature.py完成以下工作复用预训练模型的音素表将phone_id_map.txt从预训练目录拷贝到dump_dir重建说话人表读取预训练speaker_id_map.txt用--replace_spkid指定的起始 id 替换为新说话人保留原有 id 以避免冲突新表写入dump_dir/speaker_id_map.txt特征提取基于预训练模型default.yaml中的配置fs、n_fft、n_shift、n_mels、f0min/f0max等构建LogMelFBank、Pitch、Energy三个提取器归一化使用预训练模型的speech_stats.npy、pitch_stats.npy、energy_stats.npy中的均值/方差StandardScaler对频谱、音高、能量做归一化数据集划分将 wav 列表按训练集 总数 - 2、开发集 1、测试集 1的方式划分输出train/dev/test三份metadata.jsonl与.npy特征文件到dump_dir。5.5 Stage 4准备微调环境prepare_env.py调用方式python3 local/prepare_env.py \ --pretrained_model_dir${pretrained_model_dir} \ --output_dir${output_dir}该脚本local/prepare_env.py将预训练模型的.pdz权重快照复制到output_dir/checkpoints/并生成records.jsonl记录权重路径与迭代数使微调可以从该快照继续训练。5.6 Stage 5模型微调finetune.py调用方式python3 local/finetune.py \ --pretrained_model_dir${pretrained_model_dir} \ --dump_dir${dump_dir} \ --output_dir${output_dir} \ --ngpu${ngpu} \ --epoch100 \ --finetune_config${finetune_config}finetune.py的完整参数如下usage: finetune.py [-h] [--pretrained_model_dir PRETRAINED_MODEL_DIR] [--dump_dir DUMP_DIR] [--output_dir OUTPUT_DIR] [--ngpu NGPU] [--epoch EPOCH] [--finetune_config FINETUNE_CONFIG] optional arguments: -h, --help Show this help message and exit --pretrained_model_dir PRETRAINED_MODEL_DIR Path to pretrained model --dump_dir DUMP_DIR directory to save feature files and metadata --output_dir OUTPUT_DIR Directory to save finetune model --ngpu NGPU The number of gpu, if ngpu0, use cpu --epoch EPOCH The epoch of finetune --finetune_config FINETUNE_CONFIG Path to finetune config file参数含义--pretrained_model_dir预训练 FastSpeech2 模型所在目录如fastspeech2_aishell3_ckpt_1.1.0--dump_dir包含音频特征与元数据的目录Stage 3 的输出./dump--output_dir微调模型保存目录--ngpu使用的 GPU 数量为 0 时使用 CPU--epoch微调轮数run.sh 中为 100会累加到预训练配置的max_epoch上--finetune_config微调配置文件路径。从源码local/finetune.py可以进一步了解其训练细节模型构建根据dump_dir/phone_id_map.txt得到音素数vocab_size按预训练default.yaml中的n_mels与model配置构造FastSpeech2并通过speaker_id_map.txt判断是否多说话人模式存在spk_id字段时使用fastspeech2_multi_spk_batch_fn作为 collate 函数层冻结若frozen_layers非空则调用freeze_layer冻结相应模块数据加载训练集batch_size取min(样本数, config.batch_size)使用DistributedBatchSampler与DataLoader加载dump_dir/train/norm/metadata.jsonl训练框架采用FastSpeech2Updater、FastSpeech2Evaluator每 1 个 epoch 评估一次、Trainer并注册VisualDL每 1 个 iteration 记录与Snapshot每 1 个 epoch 保存最多保留num_snapshots份分布式ngpu 1时通过dist.spawn启动多进程并行训练。5.7 Stage 6端到端合成synthesize_e2e.py微调完成后将 run.sh 中的ckpt变量修改为exp/default/checkpoints下的最终模型名中文示例为snapshot_iter_96699英文为snapshot_iter_66300混合为snapshot_iter_99300需以实际生成的快照为准然后运行./run.sh --stage 6 --stop-stage 6Stage 6 调用${BIN_DIR}/../synthesize_e2e.py从文本文件合成波形。其完整参数如下usage: synthesize_e2e.py [-h] [--am {fastspeech2_aishell3,fastspeech2_vctk}] [--am_config AM_CONFIG] [--am_ckpt AM_CKPT] [--am_stat AM_STAT] [--phones_dict PHONES_DICT] [--tones_dict TONES_DICT] [--speaker_dict SPEAKER_DICT] [--spk_id SPK_ID] [--voc {pwgan_aishell3, pwgan_vctk, hifigan_aishell3, hifigan_vctk}] [--voc_config VOC_CONFIG] [--voc_ckpt VOC_CKPT] [--voc_stat VOC_STAT] [--lang LANG] [--inference_dir INFERENCE_DIR] [--ngpu NGPU] [--text TEXT] [--output_dir OUTPUT_DIR] Synthesize with acoustic model vocoder optional arguments: -h, --help show this help message and exit --am {fastspeech2_aishell3, fastspeech2_vctk} Choose acoustic model type of tts task. --am_config AM_CONFIG Config of acoustic model. --am_ckpt AM_CKPT Checkpoint file of acoustic model. --am_stat AM_STAT mean and standard deviation used to normalize spectrogram when training acoustic model. --phones_dict PHONES_DICT phone vocabulary file. --tones_dict TONES_DICT tone vocabulary file. --speaker_dict SPEAKER_DICT speaker id map file. --spk_id SPK_ID spk id for multi speaker acoustic model --voc {pwgan_aishell3, pwgan_vctk, hifigan_aishell3, hifigan_vctk} Choose vocoder type of tts task. --voc_config VOC_CONFIG Config of voc. --voc_ckpt VOC_CKPT Checkpoint file of voc. --voc_stat VOC_STAT mean and standard deviation used to normalize spectrogram when training voc. --lang LANG Choose model language. zh or en --inference_dir INFERENCE_DIR dir to save inference models --ngpu NGPU if ngpu 0, use cpu. --text TEXT text to synthesize, a utt_id sentence pair per line. --output_dir OUTPUT_DIR output dir.参数含义--am声学模型类型格式为{模型名}_{数据集}可选fastspeech2_aishell3/fastspeech2_vctk--am_config、--am_ckpt、--am_stat、--phones_dict、--speaker_dict声学模型参数分别对应预训练/微调产物中的 5 个文件配置、权重、频谱统计量、音素表、说话人表--voc声码器类型格式为{模型名}_{数据集}可选pwgan_aishell3、pwgan_vctk、hifigan_aishell3、hifigan_vctk--voc_config、--voc_ckpt、--voc_stat声码器参数对应其目录下的 3 个文件--lang模型语言zh或en混合模型用mix见 run_mix.sh--text待合成文本文件每行一个utt_id sentence对--output_dir合成音频保存目录--ngpuGPU 数量为 0 时使用 CPU。以中文微调为例run.sh中实际的合成命令为python3 ${BIN_DIR}/../synthesize_e2e.py \ --amfastspeech2_aishell3 \ --am_config${pretrained_model_dir}/default.yaml \ --am_ckpt${output_dir}/checkpoints/${ckpt}.pdz \ --am_stat${pretrained_model_dir}/speech_stats.npy \ --vochifigan_aishell3 \ --voc_configpretrained_models/hifigan_aishell3_ckpt_0.2.0/default.yaml \ --voc_ckptpretrained_models/hifigan_aishell3_ckpt_0.2.0/snapshot_iter_2500000.pdz \ --voc_statpretrained_models/hifigan_aishell3_ckpt_0.2.0/feats_stats.npy \ --langzh \ --text${BIN_DIR}/../../assets/sentences.txt \ --output_dir./test_e2e/ \ --phones_dict${dump_dir}/phone_id_map.txt \ --speaker_dict${dump_dir}/speaker_id_map.txt \ --spk_id$replace_spkid要点声学模型权重--am_ckpt指向微调输出exp/default/checkpoints/中的新快照而统计量、音素表等沿用预训练模型声码器直接使用下载的 HiFiGAN 预训练权重。合成文本文件位于 paddlespeech/t2s/assets中文sentences.txt、英文sentences_en.txt、混合sentences_mix.txt实际路径由BIN_DIR解析。六、多说话人说话人 id 的选择run_mix.sh 特例微调中英混合模型时run_mix.sh中的replace_spkid174具有特殊含义脚本注释给出了各数据集的 id 区间replace_spkid174 # csmsc: 174, ljspeech: 175, aishell3: 0~173, vctk: 176即混合预训练模型的说话人表共 177 个 id中0~173为 AISHELL-3 说话人174为 CSMSC175为 LJSpeech176为 VCTK。extract_feature.py的get_map函数会把新说话人写入从replace_spkid开始的连续 id并保留预训练模型原有 id合成时通过--spk_id指定该 id 即可让模型认为输入属于相应说话人。七、微调效果优化建议数据量若追求更高音频质量可使用更多音频参与微调当前示例仅用 200 条混合示例仅 12 条超参数可反复调整 conf/finetune.yaml 中的batch_size、learning_rate、num_snapshots、frozen_layers观察效果变化冻结策略在 csmsc_mini 数据上的经验结论为Freeze encoder冻结编码器 不冻结 冻结 encoder 且冻结 duration_predictor即只冻结 encoder通常取得最佳效果全部冻结或冻结过多层反而会降低合成质量。八、与完整训练流程的关联本示例本质上是 examples/aishell3/tts3AISHELL-3 全量训练与 examples/vctk/tts3VCTK 全量训练的轻量变体全量训练需要完整的预处理、preprocess/normalize等阶段与大规模语料而微调则通过复用预训练权重 特征统计量 音素表大幅降低对数据量与算力的需求。若你想从头理解 FastSpeech2 的完整训练管线建议先阅读上述两个目录中的run.sh与local/脚本再回到本示例实践小数据微调。赞分享人工智能语音音频NLP媒体生成【免费下载链接】PaddleSpeechEasy-to-use Speech Toolkit including Self-Supervised Learning model, SOTA/Streaming ASR with punctuation, Streaming TTS with text frontend, Speaker Verification System, End-to-End Speech Translation and Keyword Spotting. Won NAACL2022 Best Demo Award.项目地址https://gitcode.com/paddlepaddle/PaddleSpeech点击查看免费下载相关推荐PaddleSpeech 多说话人语音合成实战基于 VCTK 语料训练 FastSpeech2 声学模型PaddleSpeech 多说话人语音合成实战基于 VCTK 语料训练 FastSpeech2 声学模型 本指南以 PaddleSpeech 仓库中 exam人工智能语音音频NLP媒体生成PaddleSpeech 基于 FastSpeech2 多说话人声学模型微调实战指南tts_finetune/tts3PaddleSpeech 基于 FastSpeech2 多说话人声学模型微调实战指南tts_finetune/tts3 导读 本文档对应 PaddleSpe人工智能语音音频中英混合语音合成实战基于 PaddleSpeech 与 FastSpeech2 的多说话人 TTS 训练与推理全指南中英混合语音合成实战基于 PaddleSpeech 与 FastSpeech2 的多说话人 TTS 训练与推理全指南 本文以 PaddleSpeech 仓库中人工智能语音音频NLP媒体生成上一篇ArchWSL源码构建指南基于Makefile的Windows可执行文件编译流程下一篇DockerCraft终极网络配置指南轻松掌握端口映射与多服务器连接创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表