VOICEVOX/voicevox_engine

モーラマッピングにOpenJTalkに無いKanaを追加する。

Closed this issue · 4 comments

内容

mora_mapping.pyにOpenJTalkに無いkanaを追加する。
※手元の製品版エンジンで合成できること音声の確認済み

1.頻出度が低いが合っても良いと思うもの(音違いを感じるもの)
くぃ[kwi] くぅ[kwu] くぇ[kwe] くぉ[kwo]
ぐぃ[gwi] ぐぅ[gwu] ぐぇ[gue] ぐぉ[gwo]
うぅ[wu] てぇ[tye] みぃ[myi] にぃ[nyi]

2.清音と拗音の違いを感じにくいもの
ひぃ[hyi] びぃ[byi] ぴぃ[pyi] りぃ[ryi] きぃ[kyi]

3.既存のマップに音的に対応するkanaがあるもの
くぁ : くゎ
ぐぁ : ぐゎ
ぢゃ : じゃ
ぢぃ :
ぢゅ : じゅ
ぢぇ : じぇ
ぢょ : じょ

Pros 良くなる点

・表現が増える
・入力しやすくなる
・インポート後手直しする手間が減る

Cons 悪くなる点

特に無いはず

実現方法

mora_mapping.py_MoraKanaに1.2.3.を追加する
_mora_list_minimumに1.2.を追加する
_mora_list_additionalに3.を追加する

VOICEVOXのバージョン

0.20.0

issue作成ありがとうございます!!
ぜひ導入していいと思います!!

ぢぃ : じ

こちらだけなしにしていただければと・・・!
「ぢぃ」は対応があるとしたら「じぃ」ですが、これは発音が割り当たってないので、同じように「ぢぃ」も無効な状態がいいかなーと。


(ここから雑学です)

2.清音と拗音の違いを感じにくいもの
ひぃ[hyi] びぃ[byi] ぴぃ[pyi] りぃ[ryi] きぃ[kyi]

ちなみにこれらは、カッコ内に書かれているものが本来のイ行の読み方なんですよね。
なぜか「し(shi)」と「ち(chi)」だけは「しゃ」行と「ちゃ」行にちゃんと割り当たってるのに、他のイ行は割り当たらなかったという。
同じルールに従うと「ひ」は「ひゃ」行の「hyi」であるべきという。
http://daijirin.dual-d.net/extra/nihongoon.html

だから本来「ひ」は「hy i」として学習すべきなんですが、当時の僕はそんなこと知らなかったので「h i」として学習しています。。
なのでhyihiの発音がほとんど一緒になっちゃってるんだと思います。
(同じ要領でmyiminyiniもほぼ同じ発音になるはずなんですが、音が違うんですね。へ~~)

まあそんなこんな色々ありますが、とりあえず全部の子音+母音音素ペアを入力できるのはいいことだと思うので、「ひぃ」を「hy i」に割り当てても良いと思っています!

issue作成ありがとうございます!!
ぜひ導入していいと思います!!

ぢぃ : じ

こちらだけなしにしていただければと・・・!
「ぢぃ」は対応があるとしたら「じぃ」ですが、これは発音が割り当たってないので、同じように「ぢぃ」も無効な状態がいいかなーと。

了解しました。

四国めたんとずんだもんでしか確認ができていないので
それ以外のキャラクターでも調べてからプルリク作成に入ろうと思います。

四国めたんとずんだもんでしか確認ができていないので
それ以外のキャラクターでも調べてからプルリク作成に入ろうと思います。

それ以外のキャラクターでもエラーは発生しないと思います!
仮に変な音が出たとしても、足りない音素のひらがなto音素は実装しちゃっても大丈夫に感じます。

(それはそれとして他のキャラクターだとどうなるかはちょっと興味があります!)

📝
将来的に キ→ky i というマッピングに変える可能性もあるかも。

こちらのコメントの通り、音声的にあってるのは本来 キ→ky i
でも学習時点で キ→k i としているので、今はそれに則った変換規則になってます。

将来的に キ→ky i と学習するかも。このときは変換規則を変えるかもです。
まあでも歌い方や喋り方が変わったりしてしまうはずなので、変えるにしても互換性は保つようにするか、超破壊的変更として扱うのが良さそう。

というメモまで・・・!