ローカル音声認識・音声合成

AuKで音声をローカル編集:発話内容の修正・ノイズ除去・TTS

AuKは指示文と必要に応じた入力音声から、音声を生成・編集するローカルモデルです。

AuKは指示文から音声を生成したり、録音を編集したりする1.5Bモデルです。元のファイルと置き換える文を渡して発話内容を修正し、ノイズや残響を減らすこともできます。CUDA1向けPython導入と短いファイルの編集から始め、MacのMLX2とaudio.cppの経路も紹介します。

実行条件と要点
  • AuK-Baseと4ステップ蒸留版AuK-Flashは、テキストと必要に応じた入力音声を指示文とともに受け取ります。
  • 公式CLIではPython 3.10を使い、AuKのチェックポイントとQwen2.5-Omni-3Bエンコーダーをそれぞれ取得します。
  • 公式BF16表では、A800-SXM4-80GBでテキストのみから1.5秒を生成した場合、CPU offloadなしで24.78 GiB、ありで16.75 GiBと報告されています。

AuKは何を入力し、どのような音声を出力しますか

AuKは指示文で操作する1.5Bのローカルモデルです。テキストだけを渡すと読み上げ音声を生成し、編集対象の音声も渡せば、内容の一部や速度・感情・声質などの変更を指示できます。ノイズや残響の低減、特定音源の分離も同じインターフェースで依頼します。

まず入力音声が必要な作業かを決めます。新しいナレーションなら文章と声の説明を渡し、録音済み音声の修正や整理なら音声ファイルと変更内容を渡します。AuKは文字起こしだけを返すASR3ではなく、出力は生成された音声ファイルです。

文の修正・ノイズ低減・新しい音声生成から選ぶ

AuKは2026年9月9日にコードと重みを公開し、Baseと4ステップ蒸留版Flashのチェックポイント4を提供しています。編集では指示文が変更・保持する内容を示し、参照音声が話者や話し方の文脈を補います。音声整理では残す音源と除去するノイズを言葉で指定します。

入力形式が共通でも、すべての言語や話し方で望む結果が得られるとは限りません。公式例は英語と中国語が中心のため、韓国語の音声品質は保証しません。大きな作業に使う前に、権利を確認した短いサンプルで発音、編集境界、背景音の残り方を確認してください。

マイクの横に置いたノートPCの画面に短い音声波形と編集文が表示されている
元音声と置換内容を一緒に渡し、短い区間から試せます。

準備するものとインストール手順

公式READMEはPython 3.10環境を案内しています。リポジトリをcloneし、基本推論パッケージを導入した後、Hugging Face CLI5でAuK-BaseとQwen2.5-Omni-3Bをそれぞれ`ckpts`以下に取得します。Baseの初回推論ではAuK-Flashは任意です。

まず現在のGPU6に合うPyTorch7ビルドを導入します。次の表でAuK公式READMEの測定条件とメモリ結果を確認できます。

Apple Siliconでは公式の`feat/mlx-apple-silicon`ブランチのMLX手順を使います。audio.cppもAuKとFlashを実験的なGGUF8モデルとしてサポートします。この記事の`--cpu_offload`コマンドとA800のメモリ表はCUDA向けなので、Macでは選択したランタイム9の導入手順とモデル構成ファイルを使用してください。

AuKの導入とモデル構成要素の取得
git clone https://github.com/Tencent-Hunyuan/AuK
cd AuK
conda create -n auk python=3.10 -y
conda activate auk
pip install -e .
pip install -U "huggingface_hub[cli]"
hf download tencent/AuK --local-dir ./ckpts/AuK
hf download Qwen/Qwen2.5-Omni-3B --local-dir ./ckpts/Qwen2.5-Omni-3B

短い録音の文から置き換えます。

処理する権利を確認した短い音声ファイルを用意します。公式例の入力は`assets/demo-input-audio/content-edit/content.wav`です。自分のファイルではパスと置換する表現を指定します。`--gen_seconds`は目標出力時間です。結果が途中で切れた場合は、まずこの値を増やします。

成功すると`out_content_edit.wav`が作られます。元の同じ区間と比べ、文が変わったか、前後が自然につながるかを聴きます。二つ目は公式の音声整理指示を英語に変えた例です。出力でノイズや残響が減り、残したい声が失われていないかを確認します。

公式コンテンツ編集CLI
auk-infer \
  --audio assets/demo-input-audio/content-edit/content.wav \
  --instruction "Replace 'but accepting what we cannot have' with 'and living well with dreams unmet'." \
  --output out_content_edit.wav \
  --gen_seconds 7.0
音声のノイズと残響を低減
auk-infer \
  --audio assets/demo-input-audio/vocal-extraction/vocal-1-input.wav \
  --instruction "Please restore this audio to clean vocals, preserve the original speakers, and remove noise and reverberation." \
  --output out_denoise.wav
ノートPC画面に元音声と編集後の音声を表す2つの波形が並んでいる
変更した言葉だけでなく、その前後のつながりと保持したい声も確認します。

どの条件でCPU offloadがメモリを減らしましたか

公式READMEの表はNVIDIA A800-SXM4-80GB 1基でBF1610推論中の`torch.cuda.max_memory_allocated`を記録し、CPU11 offload12の有効・無効を比較しています。入力条件はテキストのみで1.5秒を生成する場合と、5秒の参照音声を加える場合です。

モデルごとの結果は表で比較できます。これはA800での測定値であり、別のGPUの最低メモリ要件ではありません。入力時間、精度、他のアプリが使うメモリを確認してからoffload設定を選んでください。

NVIDIA A800-SXM4-80GBでのBF16、テキスト・参照音声別ピーク割り当てメモリ
モデル・入力条件offload無効offload有効
AuK-Base、テキストのみ、1.5秒出力24.78 GiB16.75 GiB
AuK-Base、5秒参照音声25.00 GiB16.98 GiB
AuK-Flash、テキストのみ、1.5秒出力24.77 GiB16.75 GiB
AuK-Flash、5秒参照音声24.97 GiB16.98 GiB

NVIDIA A800-SXM4-80GBでのBF16、テキスト・参照音声別ピーク割り当てメモリ

AuK-Base、テキストのみ、1.5秒出力

offload無効
24.78 GiB
offload有効
16.75 GiB

AuK-Base、5秒参照音声

offload無効
25.00 GiB
offload有効
16.98 GiB

AuK-Flash、テキストのみ、1.5秒出力

offload無効
24.77 GiB
offload有効
16.75 GiB

AuK-Flash、5秒参照音声

offload無効
24.97 GiB
offload有効
16.98 GiB
CUDAでCPU offloadを有効にする
auk-infer --cpu_offload \
  --audio assets/demo-input-audio/content-edit/content.wav \
  --instruction "Replace 'but accepting what we cannot have' with 'and living well with dreams unmet'." \
  --output out_content_edit.wav \
  --gen_seconds 7.0
ノートPCに音声波形が表示され、その横に小型スピーカーが置かれている
音声整理では、残す音と低減したいノイズや残響を指示文で指定します。

商用利用前にエンコーダーのライセンスも確認

AuKのコードはMITです。実行に必要な`Qwen/Qwen2.5-Omni-3B`エンコーダーは、非商用の研究・評価条件を持つ`qwen-research`を使用します。商用サービスに接続する前に、コードと各モデルの条件を合わせて確認してください。

短い発話の編集、ナレーション案、録音整理にはAuKの指示型生成・編集を使えます。文書用の文字起こしや長時間録音の話者別タイムスタンプが必要なら専用ASRを、韓国語の出力が重要なら韓国語音声サンプルで評価できるツールを先に選びます。

用語の注釈

  1. CUDA — NVIDIA GPUで汎用計算を行うソフトウェア基盤です。

    本文に戻る
  2. MLX — Appleが開発する機械学習フレームワークです。Apple siliconでは統合メモリとMetalを活用し、別途Linux向けの実行経路も提供します。対応モデルや機能はMLXを使うツールごとに異なります。

    本文に戻る
  3. 自動音声認識 — 音声中の発話を認識してテキストに変換する技術です。

    本文に戻る
  4. チェックポイント — 学習済みモデルの重みなどを保存したファイルです。同じモデル系列でも、版や用途によって異なるチェックポイントを使うことがあります。

    本文に戻る
  5. CLI — Command-Line Interfaceの略です。ターミナルにコマンドを入力してプログラムを操作する方式です。

    本文に戻る
  6. GPU — 多くの計算を並列に処理するプロセッサーです。AIモデルの実行ではモデル計算を担います。

    本文に戻る
  7. PyTorch — AIモデルを作成・実行するソフトウェアフレームワークです。モデルと合わせて、対応するPyTorchの版やハードウェアも確認します。

    本文に戻る
  8. GGUF — モデル情報を格納するファイル形式で、llama.cpp系のツールで広く使われます。

    本文に戻る
  9. ランタイム — プログラムの実行時に必要な機能を提供するソフトウェア環境です。ローカルAIではモデル実行エンジンを指すこともあります。

    本文に戻る
  10. BF16 — モデルの数値を保存・計算する16ビット浮動小数点形式です。利用可否はハードウェアと実行環境によります。

    本文に戻る
  11. CPU — コンピューターで汎用のプログラム命令を実行する中央処理装置です。AI処理ではGPUなど他のプロセッサーと役割を分けることがあります。

    本文に戻る
  12. オフロード — 容量が足りないとき、モデルデータの一部をGPUメモリからシステムRAMやストレージへ移して処理する方法です。データ転送が追加されます。

    本文に戻る