litagin02 / Style-Bert-VITS2

Style-Bert-VITS2: Bert-VITS2 with more controllable voice styles.
GNU Affero General Public License v3.0
771 stars 99 forks source link

ユーザー辞書における符号の扱い(専門用語や名詞の扱い) #171

Open luvwinnie opened 1 month ago

luvwinnie commented 1 month ago

@litagin02 さん,素晴らしいオープンソース,ありがとうございます。

現在私の方で,ユーザー辞書で例えば,プログラミング言語である,「C#」を発音「シーシャープ」を追加してやろうとしているのですが,どうやら,normalizer.pyのjapanese/normalizer.py のnormalize_textによって,削除されてしまいます。

専門用語や特定な名詞でに関して,なにか改善していく予定はありますでしょうか?

現状私の方でも,japanese/normalizer.pyのnormalize_textを見直しをしており,日本語の専門用語と名詞の改善ができないか考えています。

例えば,IT用語など。。 C#(シーシャープ),C++(シープラスプラス),Java(ジャバ)などなど

「C#」や「C++」が→「C」になる。

normalizer.pyだけみると,PUNCTUATIONで影響でそうですね。。

私の方もお手伝いしますので,どういう方向性が良いのか,なにかご意見をいただけると助かります。 よろしくお願いいたします。

luvwinnie commented 1 month ago

pyopenjtalk を使って,直接parsedしてみた結果,以下の結果がでましたが,多分pyopenjtalkをどうにかするか。。。もしくは,別方法で、最初の辞書チェックして,辞書判定の段階で符号ありの単語マッチングし、読み変換するしかなさそう。。?

UPDATE DICT
dict_data/default.csv
CSV:
Bert,,,8609,名詞,固有名詞,一般,*,*,*,Bert,バアト,バアト,0/3,*
VITS,,,8609,名詞,固有名詞,一般,*,*,*,VITS,ビッツ,ビッツ,0/3,*
VITS二,,,8609,名詞,固有名詞,一般,*,*,*,VITS二,ビッツツー,ビッツツー,4/5,*
BertVITS,,,8609,名詞,固有名詞,一般,*,*,*,BertVITS,バアトビッツ,バアトビッツ,4/6,*
担々麺,,,8609,名詞,固有名詞,一般,*,*,*,担々麺,タンタンメン,タンタンメン,3/6,*
python,,,8609,名詞,固有名詞,一般,*,*,*,python,パイソン,パイソン,0/3,*
python,,,8609,名詞,固有名詞,一般,*,*,*,python,パイソン,パイソン,0/3,*
C++,,,8609,名詞,固有名詞,一般,*,*,*,C++,シープラスプラス,シープラスプラス,0/3,*
C#,,,8609,名詞,固有名詞,一般,*,*,*,C#,シープシャープ,シープシャープ,0/3,*

{}
[{'string': 'C', 'pos': '記号', 'pos_group1': 'アルファベット', 'pos_group2': '*', 'pos_group3': '*', 'ctype': '*', 'cform': '*', 'orig': 'C', 'read': 'シー', 'pron': 'シー', 'acc': 1, 'mora_size': 2, 'chain_rule': '*', 'chain_flag': -1}, {'string': '#', 'pos': '記号', 'pos_group1': '一般', 'pos_group2': '*', 'pos_group3': '*', 'ctype': '*', 'cform': '*', 'orig': '#', 'read': '、', 'pron': '、', 'acc': 0, 'mora_size': 0, 'chain_rule': '*', 'chain_flag': 0}]