Este repositório fornece uma demonstração e um modelo pré-treinado para o artigo
Síntese multilíngue de texto em fala para idiomas turcos usando a transliteração
O modelo suporta dez idiomas turcos, incluindo Azerbaijani, Bashkir, Cazaque, Quirguistão, Sakha, Tatar, Turco, Turquemen, Uyghur e Uzbek. Falados em uma ampla área geográfica que se estende dos Balcãs pela Ásia Central e ao nordeste da Sibéria, essas línguas compartilham uma ampla gama de características lingüísticas comuns, como harmonia de vogais, aglutinação extensa, ordem de objeto-objeto-verbo e a ausência de gênero e artigos gramaticais.
Nosso estudo tornou-se viável graças a um corpus de discurso em larga escala e de código aberto chamado Cazakhtts2. O corpus contém cinco vozes (três mulheres e duas do sexo masculino) e mais de 270 horas de dados transcritos de alta qualidade. O cazaque está disponível ao público, o que permite o uso acadêmico e comercial.
Para ativar a síntese de fala para os idiomas turcos, construímos um módulo de conversão baseado em IPA. O conversor baseado em IPA pega cartas dos alfabetos de outras línguas turcas e as converte nas letras do alfabeto cazaque. Para esse fim, as cartas inseridas são convertidas primeiro nas representações IPA correspondentes. Em seguida, os símbolos IPA são convertidos nas letras do alfabeto cazaque, que podem ser usadas como entrada para os modelos TTS construídos.
Os mapeamentos dos alfabetos turcos nos símbolos IPA foram criados manualmente com base em nossa experiência, pois não conseguimos encontrar um mapeamento completo que permitiria uma conversão sem erros do Turkic para Cazaquistão e cobrir todos os idiomas abordados. Como o cazaque é usado como uma linguagem de origem, selecionamos apenas 42 símbolos IPA correspondentes às 42 letras do alfabeto cazaque. Vale a pena mencionar que, das línguas turcas em questão, o Cazaque - junto com Bashkir - tem mais letras e contém uma grande maioria dos fonemas das línguas -alvo. Os mapeamentos desenvolvidos também podem ser usados como um guia para outros trabalhos destinados a criar sistemas multilíngues para idiomas turcos, como reconhecimento de fala, tradução de fala e assim por diante. O mapeamento dos alfabetos turcos nos símbolos IPA pode ser encontrado aqui.
Abaixo estão os links para os dez questionários utilizados no estudo para coletar avaliações subjetivas. Esses questionários foram distribuídos em plataformas populares de mídia social operando nas línguas turcas. Se você estiver interessado, fique à vontade para conferi -los. Sua participação e contribuição são muito apreciadas para nos ajudar a coletar dados valiosos para nossa pesquisa. Suas idéias contribuirão para uma compreensão mais profunda do assunto sob investigação.
Cada questionário consiste em 20 perguntas curtas e deve levar cerca de 5 minutos. Nenhum conhecimento de fundo é necessário.
Você será solicitado a
Obrigado pelo seu tempo e consideração.
Azerbaijani ▫️ Bashkir ▫️ Kazakh ▫ kyrgyz ▫️ Sakha ▫️ Tatar
As estatísticas da pesquisa para o número do avaliador (R), gênero (F&M) e idade (<45 e 45+) e os resultados da avaliação da qualidade geral (q), compreensibilidade (c) e inteligibilidade (i) da fala sintetizada.
| Linguagem | R | F | M | <45 | 45+ | Q | C | EU |
|---|---|---|---|---|---|---|---|---|
| Azerbaijão | 47 | 22 | 25 | 22 | 25 | 2.93 | 90% | 52% |
| Bashkir | 11 | 8 | 3 | 4 | 7 | 2.67 | 92% | 47% |
| Cazaque | 151 | 89 | 62 | 120 | 31 | 4.18 | 97% | 80% |
| Kyrgyz | 14 | 12 | 2 | 6 | 8 | 3.54 | 86% | 43% |
| Sakha | 254 | 155 | 99 | 147 | 107 | 2.85 | 93% | 15% |
| Tatar | 15 | 12 | 3 | 3 | 12 | 2.82 | 79% | 17% |
| turco | 18 | 6 | 12 | 15 | 3 | 3.25 | 91% | 61% |
| Turquemen | 6 | 0 | 6 | 6 | 0 | 2.37 | 67% | 57% |
| Uyghur | 10 | 6 | 4 | 6 | 4 | 3.01 | 45% | 26% |
| Uzbek | 22 | 2 | 20 | 19 | 3 | 2.85 | 80% | 45% |
| Total | 548 | 312 | 236 | 348 | 200 | 3.25 | 92% | 41% |
Descompacte o vocoder pré-treinado e o modelo acústico no mesmo diretório.
from parallel_wavegan . utils import load_model
from espnet2 . bin . tts_inference import Text2Speech
from scipy . io . wavfile import write
from utils import normalization
import torch
fs = 22050
vocoder_checkpoint = "parallelwavegan_male2_checkpoint/checkpoint-400000steps.pkl" ### specify vocoder path
vocoder = load_model ( vocoder_checkpoint ). to ( "cuda" ). eval ()
vocoder . remove_weight_norm ()
### specify path to the main model(transformer/tacotron2/fastspeech) and its config file
config_file = "exp/tts_train_raw_char/config.yaml"
model_path = "exp/tts_train_raw_char/train.loss.ave_5best.pth"
text2speech = Text2Speech (
config_file ,
model_path ,
device = "cuda" , ## if cuda not available use cpu
### only for Tacotron 2
threshold = 0.5 ,
minlenratio = 0.0 ,
maxlenratio = 10.0 ,
use_att_constraint = True ,
backward_window = 1 ,
forward_window = 3 ,
### only for FastSpeech & FastSpeech2
speed_control_alpha = 1.0 ,
)
text2speech . spc2wav = None ### disable griffin-lim
text = "merhaba"
### available options are azerbaijani, bashkir, kazakh, kyrgyz, sakha, tatar, turkish, turkmen, uyghur, uzbek
lang = "turkish"
text = normalization ( text , lang )
with torch . no_grad ():
c_mel = text2speech ( text )[ 'feat_gen' ]
wav = vocoder . inference ( c_mel )
write ( "result.wav" , fs , wav . view ( - 1 ). cpu (). numpy ())Azerbaijão
Azərbaycan Xəzər dənizi hövzəsinin qərbində yerləşir.
Bashkir
Башҡортостан Республикаһы шарттарында ауыл хужалығы етерлек хеҙмәт ресурстарына нигеҙләнә.
Cazaque
Қазақстан — Шығыс Еуропа мен Орталық Азияда орналасқан мемлекет.
Kyrgyz
Кыргыз Республикасы — Борбордук Азияда жайгашкан мамлекет.
Sakha
Саха Өрөспүүбүлүкэтэ Сибиир хотугулуу-илин өттүгэр сытар.
Tatar
Татарстан территориясе — урманлы җирдә яткан тигезлек.
turco
Türk dünyası, tüm Türk halkları kapsayan bir kavramdır.
Turquemen
Türkmenistan merkezi Aziýada bir döwletdir.
Uyghur
Arabic: ئۇيغۇر خەلقى تۈركىي مىللەتلىرىنىڭ ئايرىلماس بىر قىسمى ھەم مۇھىم بىر تەركىبىي قىسمى.
Cyrillic: Уйғур хәлқи түркий милләтлириниң айрилмас бир қисми һәм муһим бир тәркибий қисми.
Latin: Uyghur xelqi türkiy milletlirining ayrilmas bir qismi hem muhim bir terkibiy qismi.
Uzbek
Oʻzbekiston — Markaziy Osiyoning markaziy qismida joylashgan mamlakat.
Gostaríamos de agradecer a todos os indivíduos que contribuíram para o recrutamento de participantes para este estudo. Seus esforços foram críticos para o sucesso de nossa pesquisa. Em particular, gostaríamos de expressar nossa mais profunda apreciação ao Viktor Krivogornitsyn por sua extraordinária dedicação em atrair um número substancial de falantes de Sakha. Sua contribuição foi inestimável e somos gratos por seu apoio.
Solicitamos gentilmente que, se você utilizar nosso modelo em seu trabalho, considere citar nosso artigo para reconhecer sua contribuição. Citar as fontes apropriadas ajuda a promover a integridade acadêmica e garante que o crédito seja dado aos autores originais. Ao reconhecer nosso artigo em sua pesquisa, você contribui para o desenvolvimento e o avanço contínuos da comunidade científica. Agradecemos seu apoio e reconhecimento de nossos esforços.
@inproceedings { yeshpanov23_interspeech ,
author = { Rustem Yeshpanov and Saida Mussakhojayeva and Yerbolat Khassanov } ,
title = { {Multilingual Text-to-Speech Synthesis for Turkic Languages Using Transliteration} } ,
year = 2023 ,
booktitle = { Proc. INTERSPEECH 2023 } ,
pages = { 5521--5525 } ,
doi = { 10.21437/Interspeech.2023-249 }
}