Closed femshima closed 5 months ago
レビューありがとうございます.
提案いただいた例を使って,mainブランチでテストケースを作成しました. 他にも必要と思われるケースがありましたら,遠慮なくおっしゃってください.
@femshima 早速ありがとうございます!!お言葉もありがたいです・・・!
ややこしくてすみません! 🙇
extract_full_context_label
の処理結果が変わっていないことのテストができればと思っていました!
なので例えば今のmainブランチ(VOICEVOX:main)に新しくextract_full_context_label
のテストを実装し、そのテストがmainブランチで通ることを確認した後、今いただいている #742 のプルリクエストを再度テストする、みたいな感じを想像していました!
この流れで頂いているプルリクエストが完全一致することの記録をGithub Actionsのテスト通過として残せる感じです。
でもこの流れはお手数おかけしちゃうので、もしよければで・・・ 🙇
あとこっちはリファクタリングの提案ですが、テストケースでMoraModelインスタンスを作る部分は関数化すればかなりスッキリするかもとか思いました!
なるほど,そういうことでしたか!
ところでなんですが、このPRをマージしたらstruct AudioQueryModel
とかは全部AudioQuery
とかにできますね。
(jlabel::Mora
との区別については、jlabel::Mora
とcrate::Mora
とでもしておけばよいはず)
このPRでも重複箇所の削除(mainからのdiffとしてはテストの追加とインターフェースの修正)を行いました.
変更があるので念のために @qryxip さんの確認があってもいいかもと思いました。 @qryxip さん的に問題なければマージしていただければ 🙇
内容
jlabelを導入します.
jlabelは,フルコンテキストラベルの構造(struct)と,シリアライザー・パーサーを含むライブラリです. これを使うことによって,従来の
f6
といった表記ではなく,accent_phrase.accent_phrase_position_backward
のように意味を持った文字列で書けるため,可読性が向上することが期待されます.また,このPRでは
Vec<Label>
から(Utterance
を経由することなく)直接Vec<AccentPhraseModel>
を生成することを試みています.個人的にはunwrapが減り,全体的な見やすさは向上したと考えていますが,他の方からは違って見えるかもしれません.関連 Issue
ref #740 ref #731 (jpreprocessのインターフェースがjlabelであるため)
その他