-
Notifications
You must be signed in to change notification settings - Fork 201
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
ストリーミング音声合成 #1492
Comments
Stream 用のAPI の仕様を考えないとですね!! 今回はトークのストリーミング用音声を作るAPIの仕様ですが、よほどのことがなければソングも似たような API にするつもりです。 以下考えた点です:
一旦僕が考えたのは以上です! |
https://www.starlette.io/responses/#streamingresponse
こう、求めてるサンプリングレートの1チャンクが44100Hz(コアのサンプリングレートって幾つだっけ...)で何フレームか計算してバッファ的な...(とは言っても音質は落ちそう) |
FastAPI側のStreamingRespnseのドキュメント Soxrはストリーミングに対応しているようです。 soundfileの方がファイルに対する操作しか無いので別の方法を探す必要があると思います。 |
@sevenc-nanashi @sabonerune そういえばリサンプリングは、途中から生成したあと最初から途中まで生成することも考えて検討が必要かもですね。。。 まあリサンプリングはだいぶ後回しにして良さそう! |
通常の ストリーミング音声合成はリクエスト側で追加のパラメーター必要だったり音質のトレードオフがあるのでしょうか? ( |
@Yosshi999 さんが実装してくださったストリーミング合成は音声劣化なしです🙏 置き換える案面白いですね!! |
置き換える案を考えてみたのですが、素人考えなのですがパラメータを追加し、デフォルトを |
@qryxip コメントありがとうございます!! その場合もcontent lengthがつかないという変更はありそうです。 運用して問題なければ、将来メジャーバージョンアップしたときに統合したいですね! |
内容
VOICEVOX/voicevox_core#866 をEngineに対応させ、ストリーミングで音声が返ってくるAPIエンドポイントを作成する
Pros 良くなる点
レイテンシの短縮
Cons 悪くなる点
なし
実現方法
application/octet-stream
) : Coreが吐くf32波形をいじるだけなのでシンプルだが、sampling rateなどのメタデータを別途渡す(or クエリとして受けとって反映する)必要ありaudio/opus
) : 正直よくわかっていないがストリーミング向けらしい。各種ブラウザが対応しており、Discordの場合はストリームを流すだけでそのまま再生できるらしい。audio/wav
) : 普通の/synthesisと同じようにWAVで返す。いずれのケースでもチャンク化されたバイナリをどうやって再生するか・扱いやすいか考える必要がありそう
その他
The text was updated successfully, but these errors were encountered: