recomendar:
Bem -vindo para participar
Mandarim/texto chinês para a fala com base na síntese de fala do parâmetro estatístico usando o Merlin Toolkit
Esta é apenas uma demonstração na extremidade frontal da síntese de pronúncia. Ele não fornece funções de regularização e previsão de ritmo de texto. Use Pypinyin para converter texto em pinyin e use gaguejando para participar. A precisão desses dois não é tão boa quanto o nível comercial.
Para outros projetos de síntese de voz, o portal de ponta a ponta é uma boa direção, e a naturalidade é melhor que a de Merlin.
Esta é apenas uma demonstração do front -end mandarim, que é a falta de algumas partes como "normalização de texto" e "previsão de prosódia", e o conjunto de telefones e o conjunto de perguntas que este projeto não foi totalmente testado ainda.
Uma documentação aproximada: um rascunho de documentação escrita em mandarim
Não existe conjunto de dados de síntese de fala mandarim de código aberto na internet, esse proj usou o conjunto de dados THCHS30 para demostratar a síntese de fala
ATUALIZAR
Dados de síntese de fala mandarim de código aberto da empresa de banker de dados, dados de síntese de fala chinesa de código aberto, graças à empresa Biaobei
【Download de dados】 https://weixinxcxdb.oss-cn-beijing.aliyuncs.com/gwyinpinku/bznsyp.rar 【Dados Descrição】 http://www.data-baker.com/open_source.html
Ouça https://jackiexiao.github.io/mtts/
Python: Python3.6
Sistema: Linux (testado no Ubuntu16.04)
pip install jieba pypinyin
sudo apt-get install libatlas3-base
Execute bash tools/install_mtts.sh
Ou baixe o arquivo sozinho
Run Demo
bash run_demo.sh
python src/mtts.py txtfile wav_directory_path output_directory_path (caminho absoluto ou caminho relativo), então você receberá o rótulo HTS, se você tem seu próprio modelo acústico treinado por um projeto de forçado, por meio de -a your_acoustic_model.zip projeto de alinhamento.Exemplo txtfile
A_01 这是一段文本
A_02 这是第二段文本
Exemplo WAV_Directory (a taxa de amostragem deve maior que 16kHz)
A_01.wav
A_02.wav
python src/mandarin_frontend.py txtfile output_directory_path from mandarin_frontend import txt2label
result = txt2label('向香港特别行政区同胞澳门和台湾同胞海外侨胞')
[print(line) for line in result]
# with prosody mark and alignment file (sfs file)
# result = txt2label('向#1香港#2特别#1行政区#1同胞#4澳门#2和#1台湾#1同胞#4海外#1侨胞',
sfsfile='example_file/example.sfs')
Consulte o código -fonte para obter mais informações, mas preste atenção ao arquivo de alinhamento (arquivo SFS), o formato é endtime phone_type não start_time, phone_type (que é diferente dos dados da Speech Ocean)
Este projeto usa o alinhador forçado a Montreal para fazer alinhamento forçado, se você quiser obter um melhor alinhamento, use seus dados para treinar um modelo de alinhamento, consulte MFA: Algin-Using-in-the-DataSet
misc/thchs30.zip , o dicionário que usamos mandarin_mtts.lexicon. Se você usar o conjunto de dados maior que o THCHS30, poderá obter melhor alinhamento.Você pode gerar o rótulo HTS sem prosódia Mark. Assumimos que o segmento de palavras é menor que a palavra prosódica (que é ajustada no código)
"#0", "#1", "#2", "#3" e "#4" são os símbolos de rotulagem de prosódia.