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

synthesis のフレームスケール f0 仕様 #798

Closed
3 tasks done
tarepan opened this issue Nov 29, 2023 · 2 comments
Closed
3 tasks done

synthesis のフレームスケール f0 仕様 #798

tarepan opened this issue Nov 29, 2023 · 2 comments

Comments

@tarepan
Copy link
Contributor

tarepan commented Nov 29, 2023

質問の内容

知りたいこと: synthesis のフレームスケール f0 で要求・想定される仕様

現在の synthesis 関数は AudioQuery からフレームスケール f0 を算出し、coreの .decode_forward() へ引き渡す。
算出過程ではモーラごとに「モーラピッチを子音・母音の両領域に一律割当て」している。

# f0を母音と子音の長さの合計分繰り返す
f0 = numpy.repeat(
f0,
[a.sum() for a in numpy.split(phoneme_bin_num, vowel_indexes[:-1] + 1)],
)

Mora_f0(モーラ/f0), phnm_frm (音素種/継続フレーム長), frm_f0 (フレームスケールf0) の関係模式図:

Mora_f0  |  ヒ_100   |  ホ_0 |        カ_200      |
phnm_frm |h_1|  i_2  |h_1|O_1|  k_2  |    a_3    |
↓
frm_f0   |100|100|100|  0|  0|200|200|200|200|200|

すなわちモデルは無声子音領域でも非ゼロのf0値を渡されるケースがある。

これらの背景からまず次の質問があります:
Q1「モーラが持つピッチを子音・母音フレームで用いるのは意図された仕様か?」

これに関連して次の質問があります:
Q2「モデル(core)側で想定されているフレームスケール f0 の制約は何か?」
例えばフレームごとに変動する f0 (下図)が入力されることは想定されていますか?

phnm_frm |h_1|  i_2  |h_1|O_1|  k_2  |    a_3    |
↓
frm_f0   | 90|100|110|  0|  0|200|210|220|230|190|

Q2に関連しそうなissues/PRs:

VOICEVOXのバージョン

0.14.10

OSの種類/ディストリ/バージョン

  • Windows
  • macOS
  • Linux

その他

Q1の回答がYesの場合、フレームスケール化をより簡潔にできるのでリファクタリングする予定です。

@tarepan tarepan added the 要議論 実行する前に議論が必要そうなもの label Nov 29, 2023
@github-actions github-actions bot added OS 依存:linux Linux に依存した現象 OS 依存:mac macOS に依存した現象 OS 依存:win Windows に依存した現象 labels Nov 29, 2023
@Hiroshiba
Copy link
Member

Hiroshiba commented Nov 29, 2023

詳細な質問ありがとうございます!

Q1はYesです!
最終的に人によるコントロールがある程度できるものを目指してました。
人は子音が無声かを意識していない(直感が無い)ので、子音の高さはコントロール可能にせず、AIに任せた形です。

Q2は一応Yesです!
コアのAPI上はフレームレベルのF0の入力を想定しています(モデルがモーラレベルなだけ)。
この辺りProjectS周りでどうなるかは今のところ未定です…!

@tarepan
Copy link
Contributor Author

tarepan commented Nov 29, 2023

丁寧にありがとうございます!
現在の動作は意図した仕様、かつより繊細な入力も受け付けうる仕様、ということですね。

今後のリファクタリングやコメント改善に活用します👍

@tarepan tarepan closed this as completed Nov 29, 2023
@tarepan tarepan removed 要議論 実行する前に議論が必要そうなもの OS 依存:mac macOS に依存した現象 OS 依存:linux Linux に依存した現象 OS 依存:win Windows に依存した現象 labels Mar 17, 2024
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

No branches or pull requests

2 participants