はじめに
Baichuan-AudioはBaichuan Intelligence (baichuan-inc)によって開発されたオープンソースプロジェクトで、GitHubでホストされており、エンドツーエンドの音声対話技術に焦点を当てています。このプロジェクトは、音声入力を個別の音声トークンに変換し、大規模なモデルを通じて対応するテキストと音声出力を生成し、高品質のリアルタイム対話を実現する完全な音声処理フレームワークを提供します。中国語と英語のバイリンガルをサポートし、インテリジェントアシスタント、ボイスチャットロボットなどのシーンの音声理解と生成の必要性に適用されます。さらに、このプロジェクトは、ベースモデルであるBaichuan-Audio-BaseとベンチマークであるOpenAudio-Benchをオープンソース化し、開発者に強力な研究開発サポートを提供しています。プロジェクトはApache 2.0ライセンスに従っており、特定の条件下で学術研究や商用アプリケーションに適しています。
機能一覧
- 音声タグ付け入力音声はBaichuan-Audio Tokenizerによって個別の音声トークンに変換され、情報の保持を確実にするために12.5Hzのフレームレートをサポートします。
- リアルタイム音声対話Audio LLMと組み合わせることで、英語と中国語のバイリンガル会話をサポートし、高品質な音声とテキスト応答を生成します。
- オーディオ・ジェネレーションフロー・マッチング・オーディオ・デコーダーを使用して、オーディオ・マーカーから忠実度の高いメル・スペクトログラムと波形を生成します。
- オープンソースモデル開発者は必要に応じてトレーニングをカスタマイズすることができます。
- ベンチマークOpenAudio-Benchは、2701のデータポイントを持つ音声理解・生成評価ツールです。
- マルチモーダルサポートテキストと音声の混在入力をサポートし、モーダル間のシームレスな切り替えを実現。
ヘルプの使用
設置プロセス
Baichuan-Audioをローカルで使用するには、開発環境を設定し、関連するモデルファイルをダウンロードする必要があります。以下は詳しいインストール手順です:
- 環境準備
- Python 3.12とCondaがシステムにインストールされていることを確認してください。
- 仮想環境を作成し、起動する:
conda create -n baichuanan_audio python=3.12 condaはbaichuan_audioをアクティブにする。
- 必要な依存ライブラリをインストールする:
pip install torch==2.4.0 torchvision==0.19.0 torchaudio==2.4.0 --index-url https://download.pytorch.org/whl/cu124 pip install -r requirements.txt pip install accelerate flash_attn==2.6.3 speechbrain==1.0.0 deepspeed==0.14.4
- システムツールのインストール
apt install llvm ffmpeg
- ダウンロードモデル
- GitHub リポジトリ (https://github.com/baichuan-inc/Baichuan-Audio) からコードをクローンする:
git clone https://github.com/baichuan-inc/Baichuan-Audio.git cd Baichuan-Audio
- 修正
web_demo/constants.py
正鵠を得るモデルパス
これはローカルモデルへのパスです(手動でダウンロードするか、Hugging Faceを使ってモデルの重みを取得する必要があります)。baichuan-inc/バイチュアン-オーディオ
).
- GitHub リポジトリ (https://github.com/baichuan-inc/Baichuan-Audio) からコードをクローンする:
- デモの実行
- 音声認識デモを開始します:
cd web_demo python base_asr_demo.py
- 音声合成デモを開始します:
python base_tts_demo.py
- 複数ラウンドの対話デモを開始する:
python s2s_gradio_demo_cosy_multiturn.py
- 音声認識デモを開始します:
機能 操作の流れ
1.音声トークン化(Baichuan-Audio Tokenizer)
- 機能説明入力された音声ファイルまたはライブマイク入力を、後続処理のために個別の音声トークンに変換します。
- 手続き::
- 音声ファイル(WAV形式対応)を用意するか、マイクデバイスを接続します。
- ランニング
base_asr_demo.py
その後、インターフェイスが音声をアップロードするか、マイクをオンにするかのプロンプトを表示します。 - システムは自動的に ウィスパー ラージ・エンコーダーは、8層のRVQ(残差ベクトル定量化)を通して特徴を抽出し、オーディオ・トークンを生成します。
- 出力は、離散的なマーカーのシーケンスの形式でコンソールで見ることができる。
- ほら認識精度を高めるため、音声が明瞭で、背景雑音が少ないことを確認してください。
2.リアルタイム音声対話(オーディオLLM)
- 機能説明音声またはテキスト入力により、英語と中国語の両方でモデルとリアルタイムで対話することができます。
- 手続き::
- うごきだす
s2s_gradio_demo_cosy_multiturn.py
これを行うには、Gradioのインターフェイスを開く。 - 録音」ボタンをクリックすると、音声入力が始まります(例:「今日の天気を中国語で教えてください」)。
- システムは音声をタグに変換し、オーディオLLMはテキストと音声応答を生成する。
- 応答は同時にテキストで表示され、スピーカーから再生される。
- うごきだす
- 注目の使い方::
- 例えば、"Hi "というテキストを入力し、音声で "Please continue in English "と言う。
- このシステムは、特別なマーカーによってモーダルの切り替えを可能にし、対話の一貫性を保つ。
3.オーディオ生成(フロー・マッチング・オーディオ・デコーダー)
- 機能説明テキスト入力や音声入力をもとに、高品質な音声出力を生成します。
- 手続き::
- うごきだす
base_tts_demo.py
音声合成インターフェースに入る。 - テキストボックスに何か入力する(例:「こんにちは、金曜日です」)。
- 生成」ボタンをクリックすると、システムはテキストをオーディオ・トークンに変換し、ストリーム・マッチング・デコーダーを通してメル・スペクトログラムを生成する。
- 内蔵ボコーダーを使ってスペクトログラムをWAVファイルに変換し、自動再生やダウンロードが可能。
- うごきだす
- 高度な機能スピーチのスピードとピッチの調整をサポートし、具体的なパラメータはコードで変更できます。
4.ベンチマークの使用(OpenAudio-Bench)
- 機能説明模型の音声理解・生成能力を評価。
- 手続き::
- OpenAudio-Benchデータセットをダウンロードする(GitHubリポジトリにあります)。
- 評価スクリプトをローカルで実行する(自分で書くか、リポジトリのドキュメントを参照する必要があります)。
- テストの音声またはテキストを入力すると、5つのサブ評価セットに対するモデルのパフォーマンススコアが表示されます。
- アプリケーションシナリオ開発者は、異なるモデルのパフォーマンスを比較し、トレーニング戦略を最適化するために使用することができます。
ほら
- ハードウェア要件CPUの動作が遅くなる可能性があるため、CUDA対応GPU(NVIDIAカードなど)を推奨します。
- ネットワーク依存最初の実行のためにモデルの重みをダウンロードするには、インターネットへのアクセスが必要です。
- 商業用アパッチ2.0プロトコルに準拠し、1日のアクティブユーザー数(DAU)が100万人以下であることを確認する必要があります。