当前位置 : 主页 > 网络编程 > 其它编程 >

【项目实战】FastSpeech代码解析——ljspeech.py

来源:互联网 收集:自由互联 发布时间:2023-07-02
FastSpeech代码解析——ljspeech.py文章目录FastSpeech代码解析——ljspeech.py简介函数解析build_from_path_process_ut FastSpeech 代码解析 —— ljspeech.py 文章目录 FastSpeech 代码解析 —— ljspeech.py   简介
FastSpeech代码解析——ljspeech.py文章目录FastSpeech代码解析——ljspeech.py简介函数解析build_from_path_process_ut FastSpeech 代码解析 —— ljspeech.py

文章目录

  • FastSpeech 代码解析 —— ljspeech.py
    •   简介
    •   函数解析
      •     build_from_path
      •     _process_utterance

  简介

       本项目一个基于 FastSpeech 模型的语音转换项目它是使用 PyTorch 实现的(项目地址)。                 FastSpeech 基于 Transformer 的前馈网络用于并行生成 TTS 梅尔谱图。 FastSpeech 模型与自回归 Transformer TTS 相比梅尔谱图生成速度加快了 270 倍端到端语音合成速度加快了 38 倍。(详情请参阅 FastSpeech 的详细介绍)。                由于 FastSpeech 项目较大代码较多为了方便学习与整理对主要代码进行依次介绍。                本文将介绍项目中的 ljspeech.py 文件 LJSpeech 数据集处理。        

  函数解析

    build_from_path

          该函数的作用是 为 LJSpeech 数据集制作 mel 谱图并返回语音文本列表。

          输入参数

in_dir:LJSpeech数据集路径out_dir:mel谱图输出路径

          输出参数

texts:LJSpeech数据集语音文本列表

          代码详解

def build_from_path(in_dir, out_dir):# 计数器index 1# 语音文本列表texts []# 根据输入的 LJSpeech 数据集所在路径打开 metadata.csv 文件with open(os.path.join(in_dir, metadata.csv), encodingutf-8) as f:# 按行读取语音文本内容for line in f.readlines():# 每处理 100 个文件打印进度if index % 100 0:print("{:d} Done".format(index))# 删除前后空格后进行分段parts line.strip().split(|)# 第一段为语音路径wav_path os.path.join(in_dir, wavs, %s.wav % parts[0])# 第三段为语音文本text parts[2]# 处理音频文件保存转换的 mel 谱图添加语音文本至列表texts.append(_process_utterance(out_dir, index, wav_path, text))# 计数器更新index index 1# 返回语音文本列表return texts

    _process_utterance

          该函数的作用是

          输入参数

out_dir:mel谱图输出路径index:计数器wav_path:音频文件路径text:文本内容

          输出参数

texts:LJSpeech数据集语音文本列表

          代码详解

def _process_utterance(out_dir, index, wav_path, text):# 将语音波形转换为 mel 频谱图:mel_spectrogram audio.tools.get_mel(wav_path).numpy().astype(np.float32)# 将 mel 频谱图保存至文件mel_filename ljspeech-mel-%05d.npy % indexnp.save(os.path.join(out_dir, mel_filename),mel_spectrogram.T, allow_pickleFalse)# 返回文本内容return text

上一篇:获取app签名的方式汇总
下一篇:没有了
网友评论