ふくふくHukuhuku LLC
EP.107Toolbox 12分公開:

KoboldCpp 1.124:ローカル音声生成を日本語で試す。MusicUIの更新と設定の注意点

KoboldCpp 1.124がaudio.cpp経由の音声モデルとYuE2に対応。日本語TTSで見落としやすい言語設定、単一GGUF版の選び方、Macでの確認手順と業務への小さな活用例を解説します。

#ローカルAI#KoboldCpp#音声生成#Qwen3-TTS#日本語
執筆 / 監修
松尾 亮合同会社ふくふく 代表社員

データ基盤・データパイプライン構築 / BI / 生成 AI 活用支援を専門とするエンジニア (28 年)。 本記事は AI 利用ポリシーに基づき、生成 AI の補助で執筆 → 人間が監修・編集して公開しています。

プロフィール詳細
シェア

研修動画の仮ナレーションを作りたい。原稿を外部サービスへ送らず、短い案内音声を何度か作り直したい。こうした仕事で気になるのが、手元のPCで音声モデルを動かす選択肢です。

KoboldCppは、ローカルのAIモデルを起動し、ブラウザーやAPIから使うためのオープンソースの実行ソフトです。LLM本体ではなく、文章・画像・音声などのモデルを扱う器にあたります。v1.124は2026年10月31日13時51分16秒JSTに公開されました。11月1日に、音声機能の更新と日本語で試す際の注意点を確認しました。

ATTENTION:日本語対応モデルと、画面の言語設定は別です

v1.124のMusicUI「Create TTS」には、言語を選ぶ項目がありません。サーバーのlanguageの既定値はenです。本記事では日本語を明示するAPI手順を用意します。画面に日本語を入れただけで、どのモデルでも自然に読めるとは判断しないでください。音楽生成と文字起こしの品質は今回の実測対象外です。 手元ではWAVの取得まで確認しましたが、発音の聴取評価は未実施です。

新しいのは、音声モデルの選択肢とMusicUIのつながり

今回の更新はaudio.cppの一部を取り込んだものです。audio.cppの全機能をそのまま搭載したわけではありません。音声用のモデルをKoboldCppから扱える範囲が増え、MusicUIには文字起こし用のTranscribeタブも加わりました。

更新点何に使うか取り違えやすいこと
YuE2対応歌詞などをもとに音楽を生成する。歌詞を用意する構成と、LLMも組み合わせるテンプレートがある今回の記事では曲の生成や日本語歌唱を試していない
audio.cpp経由のTTSモデル追加文章を音声へ変える。今回扱うのはQwen3-TTS VoiceDesignの単一GGUF版Qwen3-TTSへの対応自体が今回初めて、という意味ではない
TranscribeとAutoTranscribe音声の文字起こしや、参照音声の発話内容を用意するWhisperモデルが別途必要。画面だけでは音声認識できない

追加モデルとテンプレートは公式リリースからたどれます。既存のファイル整理用KoboldCpp Agentの記事とは用途が異なり、今回は録音や原稿を扱う音声側の更新です。

ローカルLLMとTTSは、仕事を分けて考える

LLMに原稿を整えてもらう工程と、その原稿を読み上げるTTS(Text-to-Speech)の工程は別です。原稿が決まっているなら、文章生成用の大きなLLMを同時に起動する必要はありません。読み上げだけを先に試すと、原稿の問題と音声モデルの問題を切り分けやすくなります。

Qwenのモデルカードは、日本語を含む10言語と、文章で声の特徴を指定するVoiceDesignを案内しています。これは元モデルの仕様です。KoboldCppへの移植版、量子化、PCの違いまで含めた音質や速度の保証ではありません。モデルカードの低遅延の数値を、そのまま手元のMacの性能として読むこともできません。

この例では他人の声の録音を使わず、架空の声を文章で指定します。声の複製が目的ならBaseなど別のモデルと参照音声の扱いを確認する必要があります。VoiceDesignと声の複製を、同じ操作として扱わないでください。

日本語ナレーションを試す準備:単一GGUF版を選ぶ

統合仕様では、audio.cpp経由のQwen3-TTSは単一GGUF、従来の実装は分割ファイルという違いがあります。検索で見つかる古い手順のTokenizer追加と、今回の単一ファイル版を混ぜないことが最初の確認点です。GGUFはモデルを配布・読み込みするためのファイル形式です。

  1. 1公式のv1.124リリースから、自分のOS向けの実行ファイルを入手する。Apple silicon Mac向けはkoboldcpp-mac-arm64。Windows・Linux向けも配布されている。
  2. 2リリース内のQwen3-TTS VoiceDesignリンクから、audiocpp/qwen3-tts-12hz-1.7b-voicedesign-q8_0.ggufを保存する。今回確認したファイルは2,817,000,064バイト(約2.82GB)。ダウンロード容量と実行時のメモリ使用量は同じではない。
  3. 3練習用フォルダーに実行ファイルとモデルを置く。以下のコマンドはMac用で、モデルのファイル名をqwen3-tts-voicedesign.ggufへ変更した例。業務の音声や原稿はまだ入れない。
  4. 4起動ログでTextToSpeechが有効か確認する。画面が開くことと、モデルが読み込めていることは別。終了するときは起動した端末でControl+Cを押す。
Apple silicon Macの起動例。ファイルを保存したフォルダーで実行する。
Bash
chmod u+x ./koboldcpp-mac-arm64./koboldcpp-mac-arm64 \  --ttsmodel ./qwen3-tts-voicedesign.gguf \  --host 127.0.0.1 --port 5017 --skiplauncher

起動後は http://127.0.0.1:5017/musicui を開きます。通常の既定ポートは5001ですが、ここでは既存のローカルサービスと分けるため5017を指定します。127.0.0.1は自分のPCだけから接続するための指定です。KoboldCppのhostを省略すると、他のインターフェースも受け付けるため、今回の試用では省略しません。指定の意味はv1.124の引数定義で確認できます。

日本語を明示する:画面とAPIの差を確認する

手元で開いたCreate TTS画面にはText、Voice、Voice instructionなどがありましたが、言語選択はありませんでした。MusicUIの送信処理もlanguageを送っていません。サーバー側では未指定時にenが入るため、ここではAPIのlanguageにJapaneseを明示します。これだけで発音品質を保証するものではなく、条件を固定して確認するための指定です。

日本語TTSの試用スクリプトを保存し、Python 3で実行してください。追加のPythonパッケージやクラウドAPIキーは不要です。接続先は自分のPCの127.0.0.1に固定し、環境変数のプロキシも使いません。本文にある短い架空の研修案内を送ります。

KoboldCppを起動したまま、別の端末で実行する。
Bash
python3 koboldcpp-1124-japanese-tts.py --port 5017 --output japanese-trial.wav

送る原稿は「本日は、社内研修のご案内です。開始時刻は午後三時です。」です。声の指示、seed、言語を固定しています。スクリプトはHTTPの成功だけで完了にせず、WAV形式と音声の長さを確認してから保存します。同名ファイルがある場合は上書きせず終了します。WAVが得られた後は、必ず自分の耳で原稿と照合してください。

手元のMacで、どこまで確認したか

Apple M2 Ultra/メモリ192GiB/macOS 27.0.1で、v1.124のMac用配布バイナリーと上記のVoiceDesign単一GGUFを使いました。GPU用の--ttsgpuは指定せず、TTSモデルだけを起動。本文の日本語原稿を教材スクリプトから1回送信し、長さ5.84秒、280,364バイトのWAVを取得しました。計測はAPI要求から検証・保存まで約3.46秒で、起動・モデル読込時間は含みません。比較試験、反復測定、メモリ使用量の測定はしていません。

この試用で生成したWAVを用意しました。音声の再生時間とファイルの形式は検査していますが、本記事では聴取による発音・自然さの評価はしていません。「午後三時」などが原稿どおり聞こえるか、ご自身で比較してください。これは日本語品質の合格例として掲載するものではありません。

一方、TTSモデルを読み込まない起動では、同じAPIがHTTP 200でも0バイトの応答を返しました。教材スクリプトがこれを失敗として検出し、WAVを保存しないことも確認しています。HTTP成功、ファイル生成、聞き取れる発音、業務で使える品質は、それぞれ別の確認です。

価値を確かめやすい、3つの小さな用途

用途の例最初に試す内容採用前に確認すること
研修動画の仮ナレーション1スライド分の短い説明を読み上げ、画面の切り替えと合わせる数字・部署名・製品名の読み、間の長さ、修正した文だけの再生成
原稿の耳での校正自分で作った案内文を音声にし、長い文や聞き取りづらい箇所を探す音声側の誤読と、文章自体の分かりにくさを区別する
録音からの下書きWhisperを別途読み込んでTranscribeへ短い音声を渡す固有名詞・数字・否定の抜け。今回の試用では未検証

これらは業務への適用案です。導入による時間短縮を実測した結果ではありません。最初から会議全体や長い動画を任せるより、正解を人が知っている短い入力で、手直しの量まで確認すると判断しやすくなります。Transcribeは、会議アプリへ自動参加して議事録を取り続ける機能として紹介しているものではありません。

試用する原稿をLLMに整えてもらう指示例
以下は読み上げの試用に使う架空の案内文です。内容を増やさず、短い日本語の文に分けてください。
数字、日時、否定表現は変えないでください。固有名詞で読みが不明なものは推測せず「要確認」としてください。
読み上げ用の原稿と、元の文から変えた箇所を分けて出してください。

原稿:本日は、社内研修のご案内です。開始時刻は午後三時です。

OS・費用・公開範囲を決めてから使う

READMEではWindows・Linux・macOSの配布が案内され、ソフト本体はAGPL v3.0です。今回のQwen3-TTS元モデルはApache 2.0と表示されています。KoboldCpp本体の利用に有料API契約は不要ですが、モデルのダウンロード、保存領域、PCのメモリ、電力は必要です。別の音声・音楽モデルを選ぶときは、モデルごとの利用条件を確認してください。

初回の取得にはネット接続が必要です。取得済みモデルを自分のPCで動かす構成と、Web検索・AI Horde・外部のAPIへ接続する構成は分けて考えます。本記事の試用はローカルの音声APIだけを使います。KoboldCppを使うすべての操作が自動的に外部通信なしになる、という説明ではありません。

社外に出せない録音を使うなら、ローカル推論だけでなく、保存先、バックアップ、閲覧できる人も確認します。音声ファイルを共有するときは、入力が架空か実在の人物の声か、本人の同意と利用範囲があるかも確認してください。

確認日:2026年11月1日JST。対象:KoboldCpp v1.124、ソース4f78d791c5698ef62f0d317f8b2d9703e513ceaf。UI・APIの挙動はこの版を対象とします。更新後は言語設定やモデル形式が変わる可能性があります。

よくある質問

Qwen3-TTSへの対応は今回が初めてですか?
いいえ。以前から対応があります。今回の差分はaudio.cpp経由のモデル追加やMusicUIの更新です。従来の分割ファイル版と今回の単一GGUF版を区別してください。
日本語対応モデルなら、MusicUIに日本語を入れるだけで十分ですか?
v1.124のCreate TTSには言語選択がなく、サーバーの既定値はenです。この記事ではAPIでJapaneseを指定して確認する手順を示します。言語指定と自然な発音の保証は別です。
文字起こしだけなら、TTSモデルを入れれば使えますか?
いいえ。TranscribeはWhisperの読み込みが別途必要です。TTSは文章から音声を作る処理で、文字起こしとは逆方向です。今回の実測では文字起こし品質は評価していません。
シェア

この記事の感想を教えてください

あなたの 1 クリックで、本当にこの記事は更新されます。「もっと詳しく」「続編希望」が一定数集まった記事は、 ふくふくが 実際に内容を拡充したり続編記事を公開 します。 送信したリアクションはお使いのブラウザに記録され、再カウントされません。

シリーズの外も探す:

まずは、現状を聞かせてください。

要件が固まっていなくて大丈夫です。現状診断と方針提案までを無料でお手伝いします。

無料相談フォームへ hello [at] hukuhuku [dot] co [dot] jp