🚀 Bark
Barkは、Sunoによって開発された、Transformerベースのテキストから音声を生成するモデルです。Barkは、非常にリアルな多言語の音声や、音楽、背景音、簡単な効果音などの他の音声を生成することができます。また、笑い声やため息、泣き声などの非言語的なコミュニケーションも生成できます。研究コミュニティを支援するために、推論に使用できる事前学習済みのモデルチェックポイントを提供しています。
元のGitHubリポジトリとモデルカードはこちらで確認できます。
このモデルは研究目的のみを想定しています。モデルの出力は検閲されておらず、著者は生成された内容の意見を支持するものではありません。自己責任で使用してください。
2つのチェックポイントが公開されています:
🚀 クイックスタート
✨ 主な機能
Barkは、多言語の音声や音楽、背景音、簡単な効果音などの音声を生成できるTransformerベースのモデルです。非言語的なコミュニケーションも生成できます。
📦 インストール
🤗 Transformersを使用する場合
- まず、🤗 Transformersライブラリをメインブランチからインストールします。
pip install git+https://github.com/huggingface/transformers.git
SunoのBarkライブラリを使用する場合
- まず、
bark
ライブラリをインストールします。
💻 使用例
🤗 Transformersを使用する場合
以下のPythonコードを実行して音声サンプルを生成します。
from transformers import AutoProcessor, AutoModel
processor = AutoProcessor.from_pretrained("suno/bark-small")
model = AutoModel.from_pretrained("suno/bark-small")
inputs = processor(
text=["Hello, my name is Suno. And, uh — and I like pizza. [laughs] But I also have other interests such as playing tic tac toe."],
return_tensors="pt",
)
speech_values = model.generate(**inputs, do_sample=True)
音声サンプルを聴くには、ipynbノートブックで以下のコードを実行します。
from IPython.display import Audio
sampling_rate = model.generation_config.sample_rate
Audio(speech_values.cpu().numpy().squeeze(), rate=sampling_rate)
または、サードパーティのライブラリ(例:scipy
)を使用して.wav
ファイルとして保存することもできます。
import scipy
sampling_rate = model.config.sample_rate
scipy.io.wavfile.write("bark_out.wav", rate=sampling_rate, data=speech_values.cpu().numpy().squeeze())
🤗 Transformersライブラリを使用してBarkモデルを推論する詳細については、Barkのドキュメントを参照してください。
SunoのBarkライブラリを使用する場合
以下のPythonコードを実行します。
from bark import SAMPLE_RATE, generate_audio, preload_models
from IPython.display import Audio
preload_models()
text_prompt = """
Hello, my name is Suno. And, uh — and I like pizza. [laughs]
But I also have other interests such as playing tic tac toe.
"""
speech_array = generate_audio(text_prompt)
Audio(speech_array, rate=SAMPLE_RATE)
audio_array
をWAVファイルとして保存するには、以下のコードを実行します。
from scipy.io.wavfile import write as write_wav
write_wav("/path/to/audio.wav", SAMPLE_RATE, audio_array)
📚 ドキュメント
モデルの詳細
ここで公開されているモデルに関する追加情報です。
Barkは、テキストを音声に変換する3つのTransformerモデルのシリーズです。
テキストからセマンティックトークンへ
セマンティックトークンから粗いトークンへ
粗いトークンから細かいトークンへ
- 入力: EnCodecの最初の2つのコードブック
- 出力: EnCodecの8つのコードブック
アーキテクチャ
モデル |
パラメータ |
アテンション |
出力語彙サイズ |
テキストからセマンティックトークン |
80/300 M |
因果的 |
10,000 |
セマンティックトークンから粗いトークン |
80/300 M |
因果的 |
2x 1,024 |
粗いトークンから細かいトークン |
80/300 M |
非因果的 |
6x 1,024 |
リリース日
2023年4月
🔧 技術詳細
Barkは、テキストを音声に変換する3つのTransformerモデルのシリーズです。各モデルは、特定のタスクを担当しており、最終的に高品質な音声を生成します。
📄 ライセンス
このモデルは、cc-by-nc-4.0ライセンスの下で公開されています。
その他の情報
このモデルのテキストから音声への機能は、様々な言語のアクセシビリティツールの改善に役立つと期待されています。
このリリースがユーザーの創造性を引き出し、良い影響を与えるアプリケーションを構築する手助けになることを願っていますが、テキストから音声へのモデルは二重使用の可能性があることを認識しています。Barkで既知の人物を声でクローンすることは簡単ではありませんが、悪用される可能性もあります。Barkの意図しない使用を減らすために、Barkで生成された音声を高精度で検出する簡単な分類器も公開しています(メインリポジトリのノートブックセクションを参照)。
サンプルの試用
自分でBarkを試してみましょう!
- Bark Colab:
- Hugging Face Colab:
- Hugging Face Demo: