XPhoneBERT : A Pre-trained Multilingual Model for Phoneme Representations for Text-to-Speech
XPhoneBERT is the first pre-trained multilingual model for phoneme representations for text-to-speech(TTS). XPhoneBERT has the same model architecture as BERT-base, trained using the RoBERTa pre-training approach on 330M phoneme-level sentences from nearly 100 languages and locales. Experimental results show that employing XPhoneBERT as an input phoneme encoder significantly boosts the performance of a strong neural TTS model in terms of naturalness and prosody and also helps produce fairly high-quality speech with limited training data.
@inproceedings{xphonebert,
title = {{XPhoneBERT: A Pre-trained Multilingual Model for Phoneme Representations for Text-to-Speech}},
author = {Linh The Nguyen and Thinh Pham and Dat Quoc Nguyen},
booktitle = {Proceedings of the 24th Annual Conference of the International Speech Communication Association (INTERSPEECH)},
year = {2023},
pages = {5506--5510}
}
Please CITE
our paper when XPhoneBERT is used to help produce published results or is incorporated into other software.
Install
transformers
with pip:
pip install transformers
, or install
transformers
from source
.
Install
text2phonemesequence
:
pip install text2phonemesequence
Our
text2phonemesequence
package is to convert text sequences into phoneme-level sequences, employed to construct our multilingual phoneme-level pre-training data. We build
text2phonemesequence
by incorporating the
CharsiuG2P
and the
segments
toolkits that perform text-to-phoneme conversion and phoneme segmentation, respectively.
Notes
Initializing
text2phonemesequence
for each language requires its corresponding ISO 639-3 code. The ISO 639-3 codes of supported languages are available at
HERE
.
text2phonemesequence
takes a word-segmented sequence as input. And users might also perform text normalization on the word-segmented sequence before feeding into
text2phonemesequence
. When creating our pre-training data, we perform word and sentence segmentation on all text documents in each language by using the
spaCy
toolkit, except for Vietnamese where we employ the
VnCoreNLP
toolkit. We also use the text normalization component from the
NVIDIA NeMo toolkit
for English, German, Spanish and Chinese, and the
Vinorm
text normalization package for Vietnamese.
Pre-trained model
Model
#params
Arch.
Max length
Pre-training data
vinai/xphonebert-base
88M
base
512
330M phoneme-level sentences from nearly 100 languages and locales
Example usage
from transformers import AutoModel, AutoTokenizer
from text2phonemesequence import Text2PhonemeSequence
# Load XPhoneBERT model and its tokenizer
xphonebert = AutoModel.from_pretrained("vinai/xphonebert-base")
tokenizer = AutoTokenizer.from_pretrained("vinai/xphonebert-base")
# Load Text2PhonemeSequence# text2phone_model = Text2PhonemeSequence(language='eng-us', is_cuda=True)
text2phone_model = Text2PhonemeSequence(language='jpn', is_cuda=True)
# Input sequence that is already WORD-SEGMENTED (and text-normalized if applicable)# sentence = "That is , it is a testing text ."
sentence = "これ は 、 テスト テキスト です ."
input_phonemes = text2phone_model.infer_sentence(sentence)
input_ids = tokenizer(input_phonemes, return_tensors="pt")
with torch.no_grad():
features = xphonebert(**input_ids)
Runs of vinai xphonebert-base on huggingface.co
3.1K
Total runs
0
24-hour runs
105
3-day runs
329
7-day runs
329
30-day runs
More Information About xphonebert-base huggingface.co Model
xphonebert-base huggingface.co is an AI model on huggingface.co that provides xphonebert-base's model effect (), which can be used instantly with this vinai xphonebert-base model. huggingface.co supports a free trial of the xphonebert-base model, and also provides paid use of the xphonebert-base. Support call xphonebert-base model through api, including Node.js, Python, http.
xphonebert-base huggingface.co is an online trial and call api platform, which integrates xphonebert-base's modeling effects, including api services, and provides a free online trial of xphonebert-base, you can try xphonebert-base online for free by clicking the link below.
vinai xphonebert-base online free url in huggingface.co:
xphonebert-base is an open source model from GitHub that offers a free installation service, and any user can find xphonebert-base on GitHub to install. At the same time, huggingface.co provides the effect of xphonebert-base install, users can directly use xphonebert-base installed effect in huggingface.co for debugging and trial. It also supports api for free installation.