-
Notifications
You must be signed in to change notification settings - Fork 198
New issue
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
APIに読点等の無音時間を調整するパラメータを追加 #1289
Comments
『、』『。』『…』ぐらいが指定できれば、めちゃめちゃ楽になるんですけどね(汗) |
文字ごとの設定はできると便利だろうと思います |
着手しています |
ありがとう御座います。 |
issue作成ありがとうございます! 使用に関して相談です! ユーザーがイメージしやすいのは絶対値指定だと思います。 まずはイメージしやすい絶対値指定を作り、倍率指定は今後検討する、とかどうでしょうか? ちなみにもし倍率にするなら、他のパラメータと名前を合わせてpauseLengthScaleにすると直感的かもですね! |
ちなみにpause文字ごとに長さ変更はopenjtalkライブラリに手を加えることから始まるため、工程が10倍くらいになってとんでもなく大変なので、いったん考えなくて良い(というより考えるのが難しい)かなと思います! |
ひとくちに無音時間といっても語句、或いは文脈?によって微妙な差があるようなのでそれを活かした方がいいかなという意図でした エディタで確認してみましたが私の感覚ではどちらが良いとも判断できないですね vv_test.mp4あと絶対値調整の実装についてですが、 |
自分の使い方では、括弧も句読点も感嘆符も、揃っていて欲しいですね~ 話速は一度設定したら動かさないので、秒数の指定で自分は大丈夫です。 |
@X-20A どちらも有用そうですね!! たぶん解説系にはテンポを決められる絶対値指定が、日常会話系には自然になる倍率指定が良さそうに感じました。 ・・・両方の実装をお願いしてもよいでしょうか! エディタ側は余力があればどっちも実装(設定で切り替えられると良さそう)、難しければ倍率の方だけ実装をお願いできるととても助かります! |
すっかり忘れてたのですが今の実装だと |
あーーーーーーーーーーーーーーー本当ですね・・・。。。。。。 とりあえずエンジン側は今の実装(絶対値指定と相対値指定の療法がある)で良さそう!! エディタ側は・・・確かにmanual用の値を追加すれば実装は可能かもですが、まあそもそも固定にしたなら固定値以外の値を与えられなくてもそこまで問題ない気もしました。 仮に固定値を無視した値を設定可能にするにしても、APIはそのままにできると思います。(APIはなるべくシンプルにしておきたい。。) |
ちょっとイメージが掴めないのですが pauseMora: {
"text": "、",
"vowel": "pau",
"vowelLength": 0.374168336391449,
"pitch": 0
} に pauseMora: {
"text": "、",
"vowel": "pau",
"vowelLength": 0.374168336391449,
"pitch": 0,
"isManual": true
} のようにすれば、APIに新たなパラメータを追加しなくてもエンジンで def apply_pause_length(moras: list[Mora], query: AudioQuery) -> list[Mora]:
"""モーラ系列へ音声合成用のクエリがもつ無音時間(絶対値)(`pauseLength`)を適用する"""
for mora in moras:
if mora.text == "、" and not getattr(mora, "isManual", False):
mora.vowel_length = query.pauseLength
return moras と処理できるはずです |
@X-20A おっしゃるとおり、 というのも、「パラメータを固定する」という概念はpauseのlengthだけでなく、全体の音高に対するpitch、イントネーションに対するpitch、全体の話速に対するconsonantLengthやvowelLengthとかにも現れうるんですよね・・・。 といってもエディタ側でなんともならないのであれば、エンジン側を変えるべきだと思います! 例えばpauの長さを固定している状態で一部だけpauの長さを変えたいときは、
|
進捗はどうでしょうか? |
エンジン側は完成しました! closeしていなかったのでcloseします! |
内容
現状エディタにおいては「、」や「 「」 」等の無音時間は一つ々々手動で調整しなければなりません。
これを一括で調整できるようにするため、APIパラメータの追加を提案します。
Pros 良くなる点
エディタにおける編集効率が上がる
実現方法
現在実装されている"speedScale","pitchScale",・・・(以降まとめてquery)にpauseLength(仮称)を追加します
他のqueryがどのように処理されているか把握していませんが、
0 ~ 2.0 のように倍率で設定し、pauseMora > vowelLengthに乗算という形になるかと思います
その他
元々この提案はエディタ側で議論されていました#1698,#2083
しかし既存の実装がmorasにおいて、マニュアル値以外はエンジンに委任していることが分かったので
こちらにissueを作成しました
pauseLength、及びpauseMoraについて例外的にエディタ側で調整するのは可能であるにしても設計上の
懸念があります
The text was updated successfully, but these errors were encountered: