Skip to content
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

ENH: 話速によって前後の無音時間が変わらないようにする #1023

Closed

Conversation

sabonerune
Copy link
Contributor

内容

話速によって前後の無音時間が変わらないようにしました。
UI上の値を話速を乗じた値にしました。
また、speedScaleを変更するとprePhonemeLengthの値も同時に変更するようにしました。

関連 Issue

その他

prePhonemeLengthの値に誤差が発生します。
表面上は問題は起こりませんが将来的に何か問題が起こりそうな予感がします。

旧バージョンのプロジェクトを読み込むと話速と無音時間の組み合わせによってはスライダの最大値を超えてしまいますがとりあえずそのままにしてあります。

@Hiroshiba
Copy link
Member

PRありがとうございます!!

そして大変申し訳ありません、prePhonemeLengthの仕様変更はいろんなところを調整する必要がありそうだということに気づきました 🙇
それらを説明しますが、もし難しいなと感じたら遠慮なく仰ってください・・・!

まずプリセットの方にもprePhonemeLengthがあって、そちらも速度でスケールする必要がありそうです。

それと保存されているプロジェクトファイルとプリセットにもprePhonemeLengthがあるので、そちらをこの仕様に合わせるマイグレーション処理が必要そうです。

プロジェクトファイルのマイグレーション処理は例えばこちらにあります。
こちらのif内("<0.14"つまりバージョン0.14未満対象)で、audioItem内のaudioQueryのprePhonemeLengthを設定すれば良さそうです。

プリセットのマイグレーション処理はこちらにあります。
この中に"0.14"を追加し、preset内のprePhonemeLengthを変更すれば実現可能です。

これをissueの方で案内すべきでしたが考慮不足でできていませんでした、申し訳ないです 🙇

また、これはただのメモですが、マイグレーション処理をする場合、ユーザーがアップデートするとなぜか「開始の無音時間」が話速によって違う値になっているように感じるため、しっかり案内が必要だなと感じました。

@Hiroshiba
Copy link
Member

Hiroshiba commented Nov 16, 2022

これはご相談なのですが、そもそもAudioQueryのprePhonemeLengthの仕様コメントは「無音時間」となっていることに気づきました。
であれば「音長」として扱っている今の仕様はバグであるということになるかもしれません。
なので、エンジン側でprePhonemeLengthを時間として扱うように修正するのもありかもです。
この場合はYMMなどサードパーティアプリにも影響がで出ますが、より直感的なコードになるのかなと感じています。

(ただその場合はこちらのプルリクを取りやめて頂く必要もあり、それも含めてどうしようか迷っています 🙇 )

@sabonerune
Copy link
Contributor Author

エディタ側で操作しようとするとどうやっても複雑・非直感的になってしまうことを考えると自分もエンジン側を修正した方がいい気がしました。

以下蛇足

プロジェクトファイルはアップデートしたプロジェクトファイルが前のバージョンと可能な限り同じ音声が出力可能な状態のままにした方がいいと判断したためマイグレーションしていませんでした。
(UI上の表示単位を変更しただけという感じ)

最初検討していたエンジンにリクエストを送る直前にクエリを書き換える方式はマイグレーションが面倒に感じたのとエディタ内で扱っているprePhonemeLengthの意味が変わってしまうため良くないと感じて止めました。

一方プリセットに関しては完全に頭から抜け落ちていました。

@Hiroshiba
Copy link
Member

Hiroshiba commented Nov 18, 2022

自分もエンジン側を修正した方がいい気がしました。

すみません・・・!ありがとうございます 🙇
エンジン側にissueを作成してみました!

マイグレーションのことも考えてくださってくださってたんですね!!
ありがとうございます 🙇

@sabonerune
Copy link
Contributor Author

プルリクエストを閉じます。
すっかり忘れて放置してしまって申し訳ありません。

@sabonerune sabonerune closed this Nov 30, 2022
@sabonerune sabonerune deleted the not-scale-P_PhoneLengh-v2 branch December 19, 2022 16:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

話速によって前後の無音時間が変わらないようにする
2 participants