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

Refactor: 前後空白挿入の統合 #801

Closed
3 tasks done
tarepan opened this issue Dec 1, 2023 · 4 comments
Closed
3 tasks done

Refactor: 前後空白挿入の統合 #801

tarepan opened this issue Dec 1, 2023 · 4 comments

Comments

@tarepan
Copy link
Contributor

tarepan commented Dec 1, 2023

内容

要望: 前後空白挿入の実装統合によるリファクタリング

現在の voicevox_engine は前後空白挿入にバグを抱えている(#512)。
これは pau 挿入後に話速補正をかけているために起きている。
しかし現在の実装では複数箇所で個別に空白挿入をしているため、見通しが悪い(これがバグの遠因?)。

よってバグ修正に先立ち、リファクタリングによる複数箇所実装の統合を提案します。

Pros 良くなる点

  • リファクタリングによるコード見通しの改善
  • バグ修正の準備

Cons 悪くなる点

  • 無し

実現方法

現在は以下の2箇所で個別に空白挿入がなされている:

① 音素インスタンスリスト(phoneme_data_list)での pau 挿入

phoneme_str_list = ["pau"] + phoneme_str_list + ["pau"]
phoneme_data_list = [
OjtPhoneme(phoneme=p, start=i, end=i + 1)

② 音素ごとの継続長(phoneme_length)での query.{pre|post}PhonemeLength 挿入

phoneme_length_list = (
[query.prePhonemeLength]

これを「pau Mora の挿入」によって統一予定。
現在は Mora リストから①と②を個別に実装しているため、そもそも vowel_length=query.{pre|post}PhonemeLength な pau Mora をリストに足せば統一的に解決できる。

VOICEVOXのバージョン

0.14.10

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

  • Windows
  • macOS
  • Linux

その他

#790 に依存しているため、当該PRマージ後に着手します(同様の#790依存: #788, #792)。

@github-actions github-actions bot added OS 依存:linux Linux に依存した現象 OS 依存:mac macOS に依存した現象 OS 依存:win Windows に依存した現象 labels Dec 1, 2023
@Hiroshiba
Copy link
Member

おお、なるほどです! 良いのかなと思いました!!

@tarepan
Copy link
Contributor Author

tarepan commented Dec 5, 2023

着手しました。

@tarepan
Copy link
Contributor Author

tarepan commented Dec 6, 2023

第一弾 PR マージ。

残りの個別空白挿入:2 箇所

phoneme_str_list = ["pau"] + phoneme_str_list + ["pau"]

flatten_moras = pad_with_silence(flatten_moras, query)

@tarepan
Copy link
Contributor Author

tarepan commented Feb 2, 2024

統一完了🎉

@tarepan tarepan closed this as completed Feb 2, 2024
@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
Projects
None yet
Development

No branches or pull requests

2 participants