个性化语音——总结

  1. 时间 2016.5.4~2016.7.20
  2. 成果:
  3. AHOcoder(Linux 64bit):AHOcoderAHOdecoder
  4. 方案:
    • 基于Voice Conversion 的语音序列转换
      • 总体思路
        微软VC
    • 基于TTS的adaption(使用DNN或HTS demo中方法)
      这里写图片描述
  5. 可行性分析

  6. 关键点
    • 声音编码解码器:AHOcoder,STRAIGHT,HTK,Sphinx,Kaldi
    • 时间序列对齐算法:SPTK中dtw,或一些matlab代码
    • 参数生成算法:考虑global variance的parameter generation algorithm,参考hts_engine源码
    • 模型:GMM,FFNN,SJAE,RNN(BLSTM)
    • TTS:HMM+神经网络
    • adaption算法:参考hts_engine源码,或一些基于DNN的adaption算法
    • 。。。等
  7. GMM方法介绍

    • 对cmu语料库,使用wav2raw将16khz的raw文件转换为wav文件,再使用sox命令将wav文件转换为AHOcoder所要求的格式的文件
    • 用./ahocoder .wav .lf0 .mgc生成lf0和mgc文件,可分别选5句话作为train,其余作为test
    • 使用adaption.sh对lf0进行adaption转换,首先要选好train和test的list,之后进行adaption
    • 对mgc进行dtw
    • 生成gmm模型function [G,P]=gmmtrain(X,m)
    • 进行blfwas转换训练function [alfa,R]=blfwastrain(X,Y,P)
    • 进行测试:
      • 对向量分类function [P,L]=gmmprobs(G,X)
      • 进行blf转换,并把c0加进去,function Y=blfwasconv(X,alfa,R,P));
  8. 神经网络方法介绍

    • lf0 adaption 同上
    • 对mgc进行dtw
    • 生成train、test数据:
    • 生成模型

      model = nn.Sequential()
      model:add(nn.Linear(featuresize, 1600))
      model:add(nn.Sigmoid())
      model:add(nn.Linear(1600,1600))
      model:add(nn.Sigmoid())
      model:add(nn.Linear(1600,featuresize))
      parameters,gradParameters = model:getParameters()
      criterion = nn.MSECriterion()
    • 模型训练function train(dataset, epoch), epoch至少30

    • 模型测试
    • gmm和ffnn比较
      • 对要进行test的句子进行dtw
      • 将dtw后的mgc,生成与之匹配的lf0
      • 将dtw后的mgc放入模型中训练
      • 比较gmm和ffnn的loss
      • 结果:
        sentence 201 gmmloss 0.036529385447057
        sentence 201 ffnnloss 0.046960693755606
        sentence 202 gmmloss 0.035971315142976
        sentence 202 ffnnloss 0.045717428320603
        sentence 203 gmmloss 0.036316870476923
        sentence 203 ffnnloss 0.048515932974621
        sentence 204 gmmloss 0.03515496055483
        sentence 204 ffnnloss 0.044821883321134
        sentence 205 gmmloss 0.035342631346648
        sentence 205 ffnnloss 0.046809512919579
        ffnn和gmm的LSD比较:
        gmm 201 :2.2984 ffnn 201 : 2.2333
        gmm 202 :2.3307 ffnn 202 : 2.6521
        gmm 203 : 2.3779 ffnn 203 : 2.5498
        gmm 204 : 2.4843 ffnn 204 : 2.3554
        gmm 205 : 2.3104 ffnn 205 : 2.3458
  9. 基于HMM的TTS原理,特定人adaption原理及代码

  10. 相关实验环境搭建
    • AHOcoder:对声音要求,wav-pcm-uncompressed-16khz-16bit-mono。HTSdemo的老版本中的RAW文件是16khz的,新版本的RAW文件是48khz的。将MP3或wav文件转换为符合要求的文件所使用的命令:ffmpeg -i 111.mp3 -acodec pcm_s16le -ar 16000 out.wav 和 sox cmu_us_arctic_slt_a0001.wav -r 16000 -c 1 -b 16 cmu_us_arctic_slt_a0001-1.wav,若需将raw文件转换为wav文件,使用/usr/local/bin/raw2wav -s 48 -d . cmu_us_arctic_slt_a0001.raw 命令
    • HTS demo:参考HTS demo搭建
    • Matlab:参考Matlab安装
    • Torch:Torch安装
    • Audacity:ubuntu 录音软件audacity 安装和使用
  11. 相关项目链接
  12. 实验中存在的问题
    • GMM的matlab代码跑50句话时自动退出,没跑完
    • FFNN中LF0的两种转换方法,一种是依据GV进行adaption,另一种是跟随神经网络进行转换,后者实验中进行normalization和转换时数据异常,考虑是否对-1e+10这样的数据进行处理
    • LF0可以进行FFT变换
    • 考虑GV和delta constraint的参数生成算法
    • 产生delta的准确性:有两种,一种通过SPTK的delta工具,另一种通过hts中代码,实验中使用前一种,没验证其准确性。
  13. 神经网络相关资源
  14. 相关论文
  15. 其他参考资料
  16. 相关研究主页
  • 7
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值