KoboldCppは、ローカルでの音楽生成とテキストを人の声に変える音声合成に使えるモデルを増やし、複数のリクエストが共有するキャッシュ領域のサイズを調整する機能を追加した。キャッシュは再利用するデータを一時的に保存する領域だ。音声を生成する開発者は同じプログラム内で歌詞の準備から音声の文字起こしまで作業を進められ、並列推論を運用する開発者はリクエストのサイズに合わせて共有領域を設定できる。
1. 音楽生成は歌詞の準備方法に応じて選択
10月31日に公開されたv1.124は、audio.cppの人気音声モデルの一部を統合した。個別の機能を単につなぐだけでなく、プログラムに内蔵された音楽生成と音声合成で使えるモデルの選択肢を増やした更新だ。
音楽生成にはYuE2が追加された。ユーザーはテンプレートをダウンロードして保存し、読み込むことで構成を選ぶ。テンプレートは、音楽モデルと歌詞を準備する言語モデルをどの組み合わせで使うかを定めた構成だ。
歌詞を自分で用意する構成は、音楽モデルだけを使う最も軽量な選択肢だ。歌詞も生成するなら、小規模または大規模な言語モデルを併用する構成を選べる。リリースノートは、4B規模の小さな言語モデルを組み合わせた構成を推奨している。
2. 音声合成と参照用原稿の準備を一つの画面で
音声合成にはBreezeTTS 2やMing 3.0 TTSなどが追加された。両モデルは参照音声の声を再現する音声クローンと指示文入力に対応し、リリースノートで推奨モデルに挙げられた。
Qwen3-TTSは基本型が音声クローンに、VoiceDesign構成が指示文入力に対応する。同じ系列でも、必要な機能によって選ぶ構成は異なる。今回追加されたモデルは名前だけで選ばず、参照音声を使うか、指示文を入力するかに合わせて検討する必要がある。
音楽・音声生成画面のMusicUIも、新モデルに対応するよう更新された。プログラムを起動後、ブラウザーで以下のアドレスにアクセスすればよい。モデルの選択肢とともに、実際の作業を始める画面も提供する形だ。
http://localhost:5001/musicuiこの画面にはWhisperモデルを使う文字起こしタブも追加された。参照音声の原稿が必要な一部の音声合成モデルを使う際、音声を文字に起こして入力資料を準備するのに活用できる。新モデルへの対応と入力資料の準備機能が同時に加わった点が、音声ワークフローの変化だ。
3. 同時リクエストの共有領域を作業サイズに合わせて調整
並列リクエストでは、複数のリクエストで共有するキー・バリューキャッシュプール全体のサイズを指定できるようになった。リクエストごとに領域を定めるのではなく、同時に処理するリクエストを収める共用の作業領域を調整する方式だ。
以下は並列リクエスト機能と、新たに追加されたプール全体のサイズ設定オプションだ。全体のサイズを別途指定しなければ、モデルが一度に扱える入力量であるコンテキストサイズがデフォルト値として使われる。
--parallelrequests
--paralleltotalcontextリリースノートは、到着する一群のリクエストがすべて大きい場合にプールを拡大するよう案内している。プールに収まらない大きなリクエストは待機するため、同時に受け付けることと、実際に一緒に処理できる領域を確保することは運用上つながっている。
利点は、大きなリクエストを収める領域を作業に合わせて調整できることで、その代わりにより大きなキャッシュ領域を割り当てる必要がある。運用者は同時リクエスト数だけでなく、リクエストのサイズも設定の判断に反映すべきだ。今回のバージョンは、並列リクエストモードで限定的なキャッシュ再利用も可能にする。
4. モデルと機器を選んでから実行
音声機能を使うには、選択したモデル構成をダウンロードして読み込めばよい。歌詞生成に大規模言語モデルを組み合わせた構成は大型GPU向けで、軽量な構成と同じ機器負荷では扱いにくい。歌詞を自分で準備するか、生成まで任せるかが、機能の選択とリソース負荷の両方を分ける基準になる。
実行時は、コマンドラインでオプションを指定するか、グラフィカルな画面でモデルを直接選ぶ。OS別の実行ファイルが提供されており、CUDAが不要なら、より小さいCUDA非搭載ビルドを選べる。
AMDユーザーには、まずCUDA非搭載ビルドのVulkanオプションを試すよう案内されている。LinuxではROCmの実行ファイルも選べ、MシリーズMacにはarm64ビルドが提供される。モデルを選んでから、使用する機器に合う実行ファイルを選ぶ順序で進められる。
KoboldCpp v1.124の要点は、音声入力の準備と生成を一つのツールにまとめ、並列推論の共有領域を運用者が作業規模に合わせて設定できるようにしたことだ。
