Skip to content

Conversation

@raa0121
Copy link
Contributor

@raa0121 raa0121 commented Apr 8, 2025

内容

  • tss_pipeline の中に song_engine.py を追加して、コードを分離しました
  • 共通部分は audio_postprocessing.py に分離しました

たたき台レベルなので、色々ツッコミよろしくお願いします。
例えば、クラス名は Song なのに、API は sing とか…

関連 Issue

close #1032

@raa0121 raa0121 requested a review from a team as a code owner April 8, 2025 14:00
@raa0121 raa0121 requested review from Hiroshiba and removed request for a team April 8, 2025 14:00
@Hiroshiba Hiroshiba requested a review from tarepan April 9, 2025 15:27
@Hiroshiba
Copy link
Member

@tarepan さんもしよかったらまたレビューお願いさせていただいてもよろしいでしょうか・・・!! 🙇

ちなみにreviewerのアサインの通知とかってオンにされてたりしますか?
オンにされていたらこうやってコメントするのも省けるので次からそうさせていただいこうかな~と・・・!

@Hiroshiba Hiroshiba changed the title add: tts_engine から song_engine に分離 refactor: tts_engine から song_engine に分離 Apr 9, 2025
Copy link
Collaborator

@tarepan tarepan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!
ソング機能を SongEngine へ、共通関数を audio_postprocessing.py へ切り分けることで機能的凝集性が増しています。great job!

命名に関して、diff の見やすさという観点から、本 PR の段階ではこの命名で問題無いです(一部は既に _song_ が追加/削除されていますが誤差)。
命名およびディレクトリ分割は後続 issue/PR にて必ず取り組む必要があると考えます。以下は後続用のメモです:

TODO:

  • ソング機能のテストをトーク機能のテストから分離
  • ソング機能のテストに用いているSongEngineインスタンスの変数名が tts_engine になっているのを修正
  • TalkInvalidInputError 未使用の解消(トークでの適切なエラーハンドリング)
  • 命名とディレクトリ構造の再考

@Hiroshiba
はい、アサイン通知付けているので見えています。
レビュー手掛けられないケースも多いかもですが、「レビューしてくれたら嬉しいよ」通知として気軽にアサインして頂ければと思います。

Copy link
Member

@Hiroshiba Hiroshiba left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!!

@tarepan さんのTODOコメントに同意です!
issue作成等どうするかお任せしてもよろしいでしょうか・・・? 🙇


tts_enginestalk_enginesとかでも良いかもですね!

sing / song / talk の使い分けはこんな感じかな~となっています・・・!

singとかsingingとかsongのなんとなくのルールの所感はこうかなと!

* 生成する系のAPIは動詞(sing・talk)
	* sing_volume、sing_audio_query
* 物を指すときは名詞(song・talk)
	* song_model、song_library、UI上の「ソング」
* 英語圏で一般的におかしいときはその限りではない
	* singing_teacher、singing_synthesize

Comment on lines +411 to +412
LatestVersion: TypeAlias = Literal["LATEST_VERSION"]
LATEST_VERSION: Final[LatestVersion] = "LATEST_VERSION"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

このあたりはTTS側と共通化できるかもですね!

Comment on lines +415 to +416
class SongEngineManager:
"""Song エンジンの集まりを一括管理するマネージャー"""
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ここもEngineManagerとして統一できそう・・・かも?

@Hiroshiba Hiroshiba enabled auto-merge April 11, 2025 13:03
auto-merge was automatically disabled April 12, 2025 13:26

Head branch was pushed to by a user without write access

@tarepan tarepan enabled auto-merge April 13, 2025 06:04
@tarepan tarepan added this pull request to the merge queue Apr 13, 2025
Merged via the queue into VOICEVOX:master with commit 9675b5e Apr 13, 2025
5 checks passed
@raa0121 raa0121 deleted the add/song_engine branch April 13, 2025 13:35
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.

ソング用のエンジンクラスを作る

3 participants