Tacotron1 + WaveRNN 以及Tacotron2 + WaveNet 使用总结

本文档详述了使用 Tacotron1、Tacotron2 和 WaveNet、WaveRNN 进行文本到语音转换的过程。讨论了安装环境、模型训练、预训练模型的使用以及不同模型在速度和音质上的比较。实验结果显示 Tacotron2 的 Mel 合成速度快,而 WaveRNN 虽然较慢但能提供较好的音质。
摘要由CSDN通过智能技术生成
  1. 系统本身配好了cuda10.1和pytorch1.10.  原来import torch, 尴尬 =.= 但是为了自己方便, 还是装个Anaconda吧.

    在使用anaconda装python时,有时候路径可能没有加入到系统路径中,要手动加入:

    #将anaconda的bin目录加入PATH,根据版本不同。确定anaconda的名字,如果是默认的,python3.7生成anaconda3
    $ echo 'export PATH="~/anaconda3/bin:$PATH"'>>~/.bashrc
    #然后更新bashrc,即可立即生效,不用关机,source ~/.bashrc用来重启环境变量。
    $ source ~/.bashrc

     

  2. 如何create 虚拟环境:

    conda create -n env_name python=3.7

  3. conda install pytorch torchvision cudatoolkit=10.0 -c pytorch
  4. 可能需要换conda源.
  5. 但是没有在环境中装上!不知道为啥.
  6. (一)删除整个anaconda目录:

        由于Anaconda的安装文件都包含在一个目录中,所以直接将该目录删除即可。到包含整个anaconda目录的文件夹下,删除整个Anaconda目录:

        rm -rf anaconda文件夹名


  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Wavenet是一种用于语音合成的深度神经网络模型,它可以生成高质量的语音音频。在keras中实现Wavenet的过程如下: 1.导入必要的库和模块 ``` import keras from keras.layers import Conv1D, Input, Add, Activation, Dropout from keras.models import Model from keras.utils import to_categorical ``` 2.定义模型参数 ``` num_blocks = 3 #块的数量 num_layers = 10 #每个块中层的数量 num_filters = 32 #卷积核数量 kernel_size = 2 #卷积核大小 dilation_rates = [2**i for i in range(num_layers)] * num_blocks #膨胀率 ``` 3.定义输入和输出 ``` input_shape = (None, 1) #输入形状 output_shape = (None, 256) #输出形状 input_layer = Input(shape=input_shape) output_layer = input_layer ``` 4.定义残差块 ``` def residual_block(x, dilation_rate): tanh_out = Conv1D(filters=num_filters, kernel_size=kernel_size, padding='causal', dilation_rate=dilation_rate, activation='tanh')(x) sigm_out = Conv1D(filters=num_filters, kernel_size=kernel_size, padding='causal', dilation_rate=dilation_rate, activation='sigmoid')(x) merged = Multiply()([tanh_out, sigm_out]) skip_out = Conv1D(filters=1, kernel_size=1)(merged) residual_out = Add()([x, skip_out]) return residual_out, skip_out ``` 5.构建Wavenet模型 ``` skip_connections = [] for i in range(num_blocks): for dilation_rate in dilation_rates: output_layer, skip_out = residual_block(output_layer, dilation_rate) skip_connections.append(skip_out) output_layer = Add()(skip_connections) output_layer = Activation('relu')(output_layer) output_layer = Conv1D(filters=1, kernel_size=1)(output_layer) output_layer = Activation('softmax')(output_layer) output_layer = Dropout(0.2)(output_layer) output_layer = Conv1D(filters=output_shape[-1], kernel_size=1)(output_layer) model = Model(input_layer, output_layer) ``` 6.编译和训练模型 ``` model.compile(optimizer='adam', loss='categorical_crossentropy') model.fit(train_data, to_categorical(train_labels), validation_data=(val_data, to_categorical(val_labels)), epochs=10, batch_size=32) ``` 7.使用模型生成音频 ``` generated_audio = model.predict(input_data) ``` 以上是使用keras实现Wavenet的基本过程。需要注意的是,由于Wavenet模型比较复杂,可能需要较长的训练时间和大量的训练数据才能达到理想的效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值