We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
■現象■
とくに文頭1文字目にアクセントがある場合、それを変えようと手動調整しても、反映さないことが多いです。 例)「アクセントを強調します。」など。 モデルごとの差もありますが、ほとんどの場合で「ア」にアクセントが乗ったままです。
■原因予測■
この問題を調べてみると、どうもJP Extraの教師学習データが原因かなと思えるところがあったので報告します。
内部的には ja_bert として扱われているので、litaginさんには ja_bert で話が通じると思いますが、これで予測されるアクセントが、だいぶ強いんですね。一方、手動のアクセント調整は微妙にわずかしか変えられないので、それがアクセント調整がたびたび無視される原因になっています。
「アクセント」のように1文字目が強調される場合は問題ないのですが、「水平線」や「棒読み」など尻上がりのワードがうまく言えないことが多いです。
■解決策■
そこで、こうしてみました。Styleのインストールフォルダ直下にある infer.pyの
def get_text 関数の、return の直前で、 ja_bert を割り算で抑制します。
if given_tone[1] == 0: for i in range(1024): ja_bert[i] = ja_bert[i] / 8
文頭にアクセントが来ない場合に、ja_bert を8分の1に抑制。これで「水平線」のようなワードがうまく言えるようになりました。これは応急処置的なやり方ですが。 ここでは文頭アクセントが1か0かの2択で、ja_bertの適用率を100%か、8分の1かにしていますが、これでけっこううまくいきました。
■アップデートの提言■
そもそもja_bert が相当アクセントが強く学習されているので、これの適用率を変化させられるような仕組みがあれば理想的ですね。 適用率0%(ロボティックな棒読み)から、150%(過剰アクセント)ほどの間で設定できるようにしてみてはいかがでしょうか。 ja_bertを0%にすると、アクセント指定通りになるとは言えますが、あまりに棒読みすぎて実用的ではなかったです。ほんのり10%とか15%とか残す必要がありました。 別の角度から見れば、現状の ja_bertは、10%程度でも十分なめらかに発音できます。それだけ強く学習されているのが気になるところで、もう一度再学習する余地はあると思います。
The text was updated successfully, but these errors were encountered:
No branches or pull requests
■現象■
とくに文頭1文字目にアクセントがある場合、それを変えようと手動調整しても、反映さないことが多いです。
例)「アクセントを強調します。」など。
モデルごとの差もありますが、ほとんどの場合で「ア」にアクセントが乗ったままです。
■原因予測■
この問題を調べてみると、どうもJP Extraの教師学習データが原因かなと思えるところがあったので報告します。
内部的には ja_bert として扱われているので、litaginさんには ja_bert で話が通じると思いますが、これで予測されるアクセントが、だいぶ強いんですね。一方、手動のアクセント調整は微妙にわずかしか変えられないので、それがアクセント調整がたびたび無視される原因になっています。
「アクセント」のように1文字目が強調される場合は問題ないのですが、「水平線」や「棒読み」など尻上がりのワードがうまく言えないことが多いです。
■解決策■
そこで、こうしてみました。Styleのインストールフォルダ直下にある infer.pyの
def get_text 関数の、return の直前で、 ja_bert を割り算で抑制します。
if given_tone[1] == 0:
for i in range(1024):
ja_bert[i] = ja_bert[i] / 8
文頭にアクセントが来ない場合に、ja_bert を8分の1に抑制。これで「水平線」のようなワードがうまく言えるようになりました。これは応急処置的なやり方ですが。
ここでは文頭アクセントが1か0かの2択で、ja_bertの適用率を100%か、8分の1かにしていますが、これでけっこううまくいきました。
■アップデートの提言■
そもそもja_bert が相当アクセントが強く学習されているので、これの適用率を変化させられるような仕組みがあれば理想的ですね。
適用率0%(ロボティックな棒読み)から、150%(過剰アクセント)ほどの間で設定できるようにしてみてはいかがでしょうか。
ja_bertを0%にすると、アクセント指定通りになるとは言えますが、あまりに棒読みすぎて実用的ではなかったです。ほんのり10%とか15%とか残す必要がありました。
別の角度から見れば、現状の ja_bertは、10%程度でも十分なめらかに発音できます。それだけ強く学習されているのが気になるところで、もう一度再学習する余地はあると思います。
The text was updated successfully, but these errors were encountered: