はじめに
Step-Audioはオープンソースのインテリジェント音声インタラクションフレームワークで、プロダクション環境ですぐに使える音声理解と音声生成機能を提供するように設計されています。Step-Audioは、130Bパラメータのマルチモーダルモデルを通して、音声認識、意味理解、対話、音声クローン、音声合成を実装しています。その生成データエンジンは、リソース効率に優れたStep-Audio-TTS-3Bモデルを訓練し公開するために高品質の音声を生成することで、従来のTTS手動データ収集への依存を排除します。
機能一覧
- リアルタイム音声認識(ASR):音声をテキストに変換し、高精度の認識をサポート。
- テキスト音声合成(TTS):テキストを自然な音声に変換し、さまざまな感情やイントネーションに対応。
- 多言語サポート:中国語、英語、日本語、広東語や四川語などの方言に対応。
- 感情とイントネーションのコントロール:音声出力の感情(例:嬉しい、悲しい)や韻のスタイル(例:RAP、ハミング)を調整する。
- ボイスクローニング:入力された音声を元に、似たような音声を生成します。
- ダイアログ管理: ダイアログの連続性を維持し、コンテキストマネージャーでユーザーエクスペリエンスを向上させます。
- オープンソース・ツールチェーン:開発者が直接使用したり、二度開発したりできる、完全なコードとモデルの重みを提供する。
ヘルプの使用
Step-Audioは、開発者がリアルタイムの音声アプリケーションを構築するための強力なオープンソースのマルチモーダル音声インタラクションフレームワークです。以下は、Step-Audioをインストールして使用するための詳細なステップバイステップガイドです。
設置プロセス
Step-Audioを使用するには、NVIDIA GPUがある環境にソフトウェアをインストールする必要があります。以下、詳しい手順です:
- 環境準備::
- システムにPython 3.10がインストールされていることを確認してください。
- 仮想環境を管理するために Anaconda または Miniconda をインストールする。
- NVIDIA GPUドライバとCUDAサポートがインストールされていることを確認し、4xA800/H800 GPU (80GB RAM)が最高の世代品質を実現するために推奨されます。
- クローン倉庫::
- ターミナルを開き、以下のコマンドを実行してStep-Audioリポジトリをクローンします:
git clone https://github.com/stepfun-ai/Step-Audio.git cd ステップオーディオ
- ターミナルを開き、以下のコマンドを実行してStep-Audioリポジトリをクローンします:
- 仮想環境の構築::
- Python仮想環境を作成し、有効化する:
conda create -n stepaudio python=3.10 conda stepaudioをアクティブにする
- Python仮想環境を作成し、有効化する:
- 依存関係のインストール::
- 必要なライブラリとツールをインストールする:
pip install -r requirements.txt git lfs install
- 追加モデルの重みをクローンする:
git clone https://huggingface.co/stepfun-ai/Step-Audio-Tokenizer git clone https://huggingface.co/stepfun-ai/Step-Audio-Chat git clone https://huggingface.co/stepfun-ai/Step-Audio-TTS-3B
- 必要なライブラリとツールをインストールする:
- インストールの確認::
- 簡単なテストスクリプトを実行する(サンプルコードのように)
run_example.py
)を使用して、すべてのコンポーネントが正常に動作していることを確認します。
- 簡単なテストスクリプトを実行する(サンプルコードのように)
インストールが完了したら、Step-Audioの様々な機能を使い始めることができます。以下は、主な機能や特徴的な機能を操作するための詳しい説明です。
主な機能
1.リアルタイム音声認識(ASR)
Step-Audioの音声認識機能は、ユーザーの音声入力をテキストに変換するため、音声アシスタントやリアルタイム書き起こしシステムの構築に適しています。
- 手続き::
- マイクが接続され、設定されていることを確認してください。
- 付属の
stream_audio.py
ライブオーディオストリーミングを開始するスクリプト:python stream_audio.py --model Step-Audio-Chat
- 話すとリアルタイムで音声をテキストに変換し、端末に結果を出力する。認識精度はログで確認できます。
- 注目の機能中国語と英語の混在入力や、広東語や四川語などの地域化された音声など、多言語・方言認識に対応。
2.音声合成(TTS)
TTS機能により、あらゆるテキストを自然な音声に変換することができ、幅広い感情、発話速度、スタイルをサポートします。
- 手続き::
- 合成するテキストを準備する。
input.txt
. - 利用する
text_to_speech.py
スピーチを生成するスクリプト:python text_to_speech.py --model Step-Audio-TTS-3B --input input.txt --output output.wav --emotion happy --speed 1.0
- パラメータの説明
--エモーション
感情を設定する(例:幸せ、悲しい、中立)。--スピード
(0.5:ゆっくり、1.0:普通、2.0:速い)。--出力
出力音声ファイルのパスを指定します。
- 合成するテキストを準備する。
- 注目の機能例えば、RAPやハミングのような発話スタイルの生成に対応:
python text_to_speech.py --model Step-Audio-TTS-3B --input rap_lyrics.txt --style rap --output rap_output.wav
これはRAPビートを持つオーディオの一部を生成し、音楽やエンターテイメントアプリケーションに最適です。
##### 3.多言語と感情コントロール
Step-Audioは多言語と感情コントロールをサポートしており、国際化されたアプリケーション開発に適しています。
- 操作手順
- 例えば、日本語の悲しいトーンの音声を生成します:
python generate_speech.py --language japanese --emotion sad --text "私は悲しいです" --output sad_jp.wav
- 方言サポート:広東語出力が必要な場合、指定可能:
python generate_speech.py -方言 広東語 --テキスト "I'm so hung up on you" --出力 広東語.wav
- 特徴的な機能**:コマンドによる言語や方言のシームレスな切り替えが可能で、異文化間音声対話システムの構築に適しています。
#### 4.ボイスクローン
ボイスクローンは、ユーザーがボイスサンプルをアップロードして、似たようなボイスを生成することができ、パーソナライズされたボイスデザインに適しています。
- 操作手順
- 音声サンプル(例:`sample.wav`)を用意し、音声がクリアであることを確認します。
- 複製には `voice_clone.py` を使用します:
python voice_clone.py --input sample.wav --output cloned_voice.wav --model Step-Audio-Chat
- 生成された `cloned_voice.wav` は、入力サンプルのトーンとスタイルを模倣します。
- 特徴的な機能** : バーチャル・アンカーやカスタマイズされたボイス・アシスタントのための忠実度の高いクローニングをサポートします。
####5T 5.ダイアログ管理とコンテキストの保持
Step-Audioには、ダイアログの連続性とロジックを確保するためのコンテキストマネージャーが内蔵されています。
- 操作手順
- ダイアログシステムを起動します:
python chat_system.py --model Step-Audio-Chat
- テキストまたは音声を入力すると、システムが文脈に基づいて応答を生成します。例
- ユーザー:「今日の天気はどうですか?
- SYSTEM:「場所を教えてください、調べますから。
- ユーザー:「北京にいます。
- SYSTEM:"北京は今日は晴れ、気温は15℃です。"
- 注目の機能複数回の対話をサポートし、文脈情報を保持し、接客ボットやインテリジェント・アシスタントに適しています。
ほら
- ハードウェア要件最適なパフォーマンスを得るためには、80GB以上のメモリを推奨します。
- ネットワーク接続安定したネットワークを確保するために、モデルの重みの一部をHugging Faceからダウンロードする必要があります。
- エラー検出インストールエラーやランタイムエラーが発生した場合は、ログファイルを確認するか、GitHubのIssuesページを参照してください。
Step-Audioはオープンソースであるため、必要に応じてコードを変更したり、モデルを最適化したりすることができます。