个性化语音——总结
2016-07-21 09:33
951 查看
时间 2016.5.4~2016.7.20
成果:
基于Voice Conversion的demo:VC demo百度网盘分享
基于TTS adaption的demo:TTS adaption demo百度网盘分享
TTS demo:基于HMM的TTS demo百度网盘分享
AHOcoder(Linux 64bit):AHOcoder、AHOdecoder
方案:
基于Voice Conversion 的语音序列转换
总体思路
基于TTS的adaption(使用DNN或HTS demo中方法)
可行性分析
Voice Conversion 方法可以尝试,但效果达不到在工业界上应用的标准,学术界有利用GMM、DNN、RNN进行特征转换的尝试,最少能利用5句话进行训练,demo效果一般。链接如下:
微软:DNN VC
香港科技大学:BLSTM VC
印度OHSU:Joint AE VC
日本东京大学:GMM VC
法国tut:基于DKPL回归
Voice Morphing:Voice Morphing
TTS方法较VC方法效果更好,百度和微软使用,如百度的个性化TTS,没有找到相关产品链接。学术界的demo链接如下:
日本Kobayashi 实验室:Speaker-Independent HMM-Based Voice Conversion
爱丁堡大学:Listening test materials for “A study of speaker adaptation for DNN-based speech synthesis”
TOKUDA and NANKAKU LABORATORY
关键点
声音编码解码器: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算法
。。。等
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));
神经网络方法介绍
lf0 adaption 同上
对mgc进行dtw
生成train、test数据:
生成模型
模型训练function train(dataset, epoch), epoch至少30
模型测试
gmm和ffnn比较
对要进行test的句子进行dtw
将dtw后的mgc,生成与之匹配的lf0
将dtw后的mgc放入模型中训练
比较gmm和ffnn的loss
结果:
基于HMM的TTS原理,特定人adaption原理及代码
相关实验环境搭建
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 安装和使用
相关项目链接
github
voice-conversion
dnnmapper
VoiceConversion
festival:Festival
HTK:
主页:HTK Speech Recognization Toolkit
Manual:HTKbook
HTS:
HTS Home
Slides:HTSslides
hts_engine:hts_engine API
CNTK:
主页:CNTK
讨论:Microsoft/CNTK
Tutorial:CNTK Tutorial
STRAIGHT:
官方:STRAIGHT, a speech analysis, modification and synthesis system
github:STRAIGHT
SPTK:
主页:Speech Signal Processing Toolkit (SPTK)
manual:SPTKref、SPTKexample
AHOcoder
EnglishHTSVoice
Multispeaker TTS
实验中存在的问题
GMM的matlab代码跑50句话时自动退出,没跑完
FFNN中LF0的两种转换方法,一种是依据GV进行adaption,另一种是跟随神经网络进行转换,后者实验中进行normalization和转换时数据异常,考虑是否对-1e+10这样的数据进行处理
LF0可以进行FFT变换
考虑GV和delta constraint的参数生成算法
产生delta的准确性:有两种,一种通过SPTK的delta工具,另一种通过hts中代码,实验中使用前一种,没验证其准确性。
神经网络相关资源
RNN资源博客 Recurrent Neural Network的经典论文、代码、课件、博士论文和应用汇总
Richard Socher
Deep learning:四十一(Dropout简单理解)
torch学习(六) rnn package
ZeroBrane Studio
Torch7 Tensor
lua的table库中的常用函数总结
Torch utility functions
Torch Module
Torch Transfer
Torch Simple Layers
Table Layers
LSTM implementation explained
Lua 菜鸟教程
Deep Learning with Torch
Torch7. Hello World, Neural Networks!
Deep Learning(深度学习)学习笔记整理系列之(六)
Deep Belief Networks
DBN(信息量较大)
我爱机器学习
【deep learning学习笔记】最近读的几个ppt(一)
神经网络模型随机梯度下降法—简单实现与Torch应用
机器学习算法与Python实践之(七)逻辑回归(Logistic Regression)
How to normalize a signal to zero mean and unit variance?
Torch Serialization
Deep Learning with Torch: 7
Recurrent Neural Networks
TensorFlow seq2seq Library
Standford: Deep learning for Natural Language Processing
相关论文
Sequence Error(SE) Minimization Training of Neural Network for Voice Conversion
Voice Conversion Using RNN Pre-Trained by Recurrent Temporal Restricted Boltzmann Machines_files
Semi-supervised Training of a Voice Conversion Mapping Function using Joint-Autoencoder
voice conversion using deep bidirectional long short-term memory based recurrent neural networks
voice conversion based on maximum-likelihood estimation of spectral parameter trajectory
Bidirectional Recurrent Neural Networks
voice conversion using gmm with enhanced global variance
voice conversion algorithm based on gaussian mixture model with dynamic frequency warping of straaight spectrum
Simultaneous modeling of phonetic and prosodic parameters, and characteristic conversion for HMM-based text-to-speech systems
voice conversion using deep neural networks with speaker-independent pre-training
deep neural networks for acoustic modeling in speech recognition
A study of speaker adaptation for DNN-based
speech synthesis
其他参考资料
Mel-Frequency Cepstral Coefficients
用 CNTK 搞深度学习 (一) 入门
阿里巴巴BLSTM-DNN hybrid语音识别声学模型的第一个工业应用
阿里云智能语音交互
百度技术沙龙
音频、语音与语言处理研究组
online text to speech
开源语料库 openslr
Audacity音频编辑教程
相关研究主页
孙立发
TOKUDA and NANKAKU LABORATORY
Voice Conversion with Neural Network
Seyed Hamidreza (Hamid) Mohammadi
Junichi Yamagishi HTS demo
voice conversion introduction
爱丁堡大学武执正的个人主页
爱丁堡大学CSTR实验室
tomoki教授
Fernando Villavicencio教授
Junichi教授
MirjamWester教授
中科大陈凌辉
微软谢丰龙
ssn Speech Lab
coVoC
成果:
基于Voice Conversion的demo:VC demo百度网盘分享
基于TTS adaption的demo:TTS adaption demo百度网盘分享
TTS demo:基于HMM的TTS demo百度网盘分享
AHOcoder(Linux 64bit):AHOcoder、AHOdecoder
方案:
基于Voice Conversion 的语音序列转换
总体思路
基于TTS的adaption(使用DNN或HTS demo中方法)
可行性分析
Voice Conversion 方法可以尝试,但效果达不到在工业界上应用的标准,学术界有利用GMM、DNN、RNN进行特征转换的尝试,最少能利用5句话进行训练,demo效果一般。链接如下:
微软:DNN VC
香港科技大学:BLSTM VC
印度OHSU:Joint AE VC
日本东京大学:GMM VC
法国tut:基于DKPL回归
Voice Morphing:Voice Morphing
TTS方法较VC方法效果更好,百度和微软使用,如百度的个性化TTS,没有找到相关产品链接。学术界的demo链接如下:
日本Kobayashi 实验室:Speaker-Independent HMM-Based Voice Conversion
爱丁堡大学:Listening test materials for “A study of speaker adaptation for DNN-based speech synthesis”
TOKUDA and NANKAKU LABORATORY
关键点
声音编码解码器: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算法
。。。等
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));
神经网络方法介绍
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
基于HMM的TTS原理,特定人adaption原理及代码
相关实验环境搭建
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 安装和使用
相关项目链接
github
voice-conversion
dnnmapper
VoiceConversion
festival:Festival
HTK:
主页:HTK Speech Recognization Toolkit
Manual:HTKbook
HTS:
HTS Home
Slides:HTSslides
hts_engine:hts_engine API
CNTK:
主页:CNTK
讨论:Microsoft/CNTK
Tutorial:CNTK Tutorial
STRAIGHT:
官方:STRAIGHT, a speech analysis, modification and synthesis system
github:STRAIGHT
SPTK:
主页:Speech Signal Processing Toolkit (SPTK)
manual:SPTKref、SPTKexample
AHOcoder
EnglishHTSVoice
Multispeaker TTS
实验中存在的问题
GMM的matlab代码跑50句话时自动退出,没跑完
FFNN中LF0的两种转换方法,一种是依据GV进行adaption,另一种是跟随神经网络进行转换,后者实验中进行normalization和转换时数据异常,考虑是否对-1e+10这样的数据进行处理
LF0可以进行FFT变换
考虑GV和delta constraint的参数生成算法
产生delta的准确性:有两种,一种通过SPTK的delta工具,另一种通过hts中代码,实验中使用前一种,没验证其准确性。
神经网络相关资源
RNN资源博客 Recurrent Neural Network的经典论文、代码、课件、博士论文和应用汇总
Richard Socher
Deep learning:四十一(Dropout简单理解)
torch学习(六) rnn package
ZeroBrane Studio
Torch7 Tensor
lua的table库中的常用函数总结
Torch utility functions
Torch Module
Torch Transfer
Torch Simple Layers
Table Layers
LSTM implementation explained
Lua 菜鸟教程
Deep Learning with Torch
Torch7. Hello World, Neural Networks!
Deep Learning(深度学习)学习笔记整理系列之(六)
Deep Belief Networks
DBN(信息量较大)
我爱机器学习
【deep learning学习笔记】最近读的几个ppt(一)
神经网络模型随机梯度下降法—简单实现与Torch应用
机器学习算法与Python实践之(七)逻辑回归(Logistic Regression)
How to normalize a signal to zero mean and unit variance?
Torch Serialization
Deep Learning with Torch: 7
Recurrent Neural Networks
TensorFlow seq2seq Library
Standford: Deep learning for Natural Language Processing
相关论文
Sequence Error(SE) Minimization Training of Neural Network for Voice Conversion
Voice Conversion Using RNN Pre-Trained by Recurrent Temporal Restricted Boltzmann Machines_files
Semi-supervised Training of a Voice Conversion Mapping Function using Joint-Autoencoder
voice conversion using deep bidirectional long short-term memory based recurrent neural networks
voice conversion based on maximum-likelihood estimation of spectral parameter trajectory
Bidirectional Recurrent Neural Networks
voice conversion using gmm with enhanced global variance
voice conversion algorithm based on gaussian mixture model with dynamic frequency warping of straaight spectrum
Simultaneous modeling of phonetic and prosodic parameters, and characteristic conversion for HMM-based text-to-speech systems
voice conversion using deep neural networks with speaker-independent pre-training
deep neural networks for acoustic modeling in speech recognition
A study of speaker adaptation for DNN-based
speech synthesis
其他参考资料
Mel-Frequency Cepstral Coefficients
用 CNTK 搞深度学习 (一) 入门
阿里巴巴BLSTM-DNN hybrid语音识别声学模型的第一个工业应用
阿里云智能语音交互
百度技术沙龙
音频、语音与语言处理研究组
online text to speech
开源语料库 openslr
Audacity音频编辑教程
相关研究主页
孙立发
TOKUDA and NANKAKU LABORATORY
Voice Conversion with Neural Network
Seyed Hamidreza (Hamid) Mohammadi
Junichi Yamagishi HTS demo
voice conversion introduction
爱丁堡大学武执正的个人主页
爱丁堡大学CSTR实验室
tomoki教授
Fernando Villavicencio教授
Junichi教授
MirjamWester教授
中科大陈凌辉
微软谢丰龙
ssn Speech Lab
coVoC
相关文章推荐
- 个性化语音——总结
- 浮点运算是什么?
- Git入门私房菜
- 搭建CAS单点登录服务器
- MVC学习系列12---验证系列之Fluent Validation
- CentOS配置国内YUM源
- Android View 测量
- 23-取石子(一)
- 烧录器配置字参数说明
- Service 服务
- java---使用二维数组打印九九乘法表
- Retrofit中文说明
- 撰写安全合格的REST API
- Spring 之注解事务 @Transactional,spring
- Java中集合
- delphi 设置输出目录为相对路径
- 社会计算
- vtkDijkstraGraphGeodesicPath在曲面上寻找最短路径的应用
- HTTP深入浅出 http请求
- C#判断操作系统语言类型