lifeiteng / vall-e

PyTorch implementation of VALL-E(Zero-Shot Text-To-Speech), Reproduced Demo https://lifeiteng.github.io/valle/index.html
https://lifeiteng.github.io/valle/index.html
Apache License 2.0
1.99k stars 320 forks source link

Warning when tokenizing Japanese sentences #175

Closed yuto-nozaki closed 9 months ago

yuto-nozaki commented 10 months ago

I am currently trying to train VALLE in Japanese using this lifeiteng-san's VALLE project. However, I am getting the following warning when tokenizing in prepare.sh:

2023-11-06 20:34:14,749 WARNING [language_switch.py:145] language switch flags have been kept (applying "keep-flags" policy)
2023-11-06 20:34:14,750 WARNING [language_switch.py:139] 1 utterances containing language switches on lines 1
2023-11-06 20:34:14,750 WARNING [language_switch.py:143] extra phones may appear in the "ja" phoneset
2023-11-06 20:34:14,750 WARNING [language_switch.py:145] language switch flags have been kept (applying "keep-flags" policy)
2023-11-06 20:34:14,751 WARNING [language_switch.py:139] 3 utterances containing language switches on lines 1, 2, 3
2023-11-06 20:34:14,751 WARNING [language_switch.py:143] extra phones may appear in the "ja" phoneset
2023-11-06 20:34:49,938 INFO [tokenizer.py:268] 69 unique phonemes: {'ɯᵝ', 'w', 'ç', 'eɪ', ')', 'ũ', '̞', 'aɪ', 'nʲ', 'l', 's', 'a', 'ts', 'kʲ', 'ɽ', 'ɽʲ', 'dʑ', '!', 't', 'd', 'v', 'z', 'dʒ', 'e', '_', 'b', 'əl', 'ɸ', 'mʲ', 'ŋ', 'ɕ', '…', 'ä', 'ɪ', 'h', '.', 'n', 'i', 'tɕ', 'k', 'ʔ', '?', 'bʲ', 'o', 'ɡʲ', 'f', 'ɑː', 'pʲ', 'ʌ', 'əʊ', 'm', 'ɡ', 'ʃ', '—', 'ĩ', 'ɴ', 'j', ',', '(', 'ɛ', 'ja', 'ə', 'p', 'tʃ', 'ɯᵝɯᵝ', 'uː', 'ää', 'iː', 'en'}

Do you have any idea what the reason might be? Do you think I need to fix this for the training to go well? ( I'm currently facing low quality inference's results, so I suspect this might be the cause.

I'm using the following phonemizer.

from phonemizer.backend import EspeakBackend
phonemizer = EspeakBackend(
                language="ja",
                punctuation_marks=Punctuation.default_marks(),
                preserve_punctuation=preserve_punctuation,
                with_stress=False,
                tie=False,
                language_switch="keep-flags",
                words_mismatch="ignore"
         )

I look forward to your response.

lifeiteng commented 10 months ago

@yuto-nozaki you should goto line language_switch.py:143

yuto-nozaki commented 9 months ago

Thank you for answering.