テキストから音声(ため息・笑い声も可)を生成できるBarkのインストール

テキストから音声(ため息・笑い声も可)を生成できるBarkのインストール 機械学習

「日本語でテキストから音声を合成したい」
「笑い声やため息などの感情を表現した音声を作成したい」

このような場合には、Barkがオススメです。
この記事では、Barkについて解説しています。

本記事の内容

  • Barkとは?
  • Barkのシステム要件
  • Barkのインストール
  • Barkの動作確認

それでは、上記に沿って解説していきます。

Barkとは?

Barkとは、テキストから音声を生成できるテキスト・オーディオ・モデルです。
このtext-to-speechは、多言語音声に対応しています。

嬉しいことに、日本語も対応しています。
そのため、日本語での文章を音声にすることが可能です。

また、Barkは音楽や効果音を出力することもできます。
それらは、[music]といったプロンプトで表現します。

さらに、Barkでは感情表現まで可能です。
ため息をついたり、笑ったり、咳払いまで音声で表現できます。

例えば、次のようなプロンプトを入力します。
(漢字で読みがオカシイ場合はひらがなで対応)

せんせい。 良心に従って真実を述べ、何事も隠さず、偽りを述べないことを誓います。山田太郎[laughs]

このプロンプトから、次のような音声を生成することができます。

他には、話者指定も可能です。
次のような話者(性別)を指定したプロンプトを入力します。

WOMAN: あなたは誰ですか? 
MAN: 変なおじさんです。
WOMAN: ヤバいっしょ

この場合は、次のような音声が生成されます。

このような感じで、Barkを使うと音声生成の可能性が広がります。
したがって、 Barkはtext-to-speechと言うよりtext-to-audioと表現できますね。

以上、Barkについて説明しました。
次は、Barkのシステム要件を説明します。

Barkのシステム要件

Barkの公式ページは、GitHub上にあります。

GitHub - suno-ai/bark: 🔊 Text-Prompted Generative Audio Model
🔊 Text-Prompted Generative Audio Model. Contribute to suno-ai/bark development by creating an account on GitHub.

システム要件としては、PyTorchが挙げられています。
一応、CPUでも稼働はするようです。

しかし、CPUや古いGPUは「推論時間が10~100倍遅くなる」可能性があるようです。
そのため、最低限VRAM 8GB以上は必要と考えた方がよさそうです。

あと、PyTorchのバージョンは2.0以降がサポート対象になっています。

以上、Barkのシステム要件を説明しました。
次は、Barkのインストールを説明します。

Barkのインストール

Barkのインストールは、Python仮想環境の利用をオススメします。
Python仮想環境は、次の記事で解説しています。

検証は、次のバージョンのPythonで行います。

> python -V   
Python 3.10.4

では、Barkのインストールを進めていきましょう。
と言っても、次のコマンドで一撃です。

pip install git+https://github.com/suno-ai/bark.git

ただし、上記の方法だとCPU版のPyTorchがインストールされます。
よって、GPU版のPyTorchを上書きでインストールしましょう。

pip install -U torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

CUDAのバージョンは、各自の環境に合わせてください。
GPU版PyTorchのインストールが完了したら、Barkのインストールは完了です。

以上、Barkのインストールを説明しました。
次は、Barkの動作確認を説明します。

Barkの動作確認

Barkの動作確認は、次のコードで行います。

from bark import SAMPLE_RATE, generate_audio 
from scipy.io.wavfile import write as write_wav 

text_prompt = """ 
    おはようございます[laughs] 
""" 

audio_array = generate_audio(text_prompt, history_prompt="ja_speaker_0") 
write_wav("audio.wav", SAMPLE_RATE, audio_array)

上記コードを実行して、エラーなく完了すればOKです。
初回実行時(モデルが無い場合)は、モデルのダウンロードに時間がかかります。

5.3GBのモデルは、必須です。
必須と言っても、自動的にダウンロードされます。

それ以外のファイルは、言語毎にダウンロードされます。
上記のケースだと、英語と日本語のモデルが確認できます。

コードの処理が完了すると、「audio.wav」が同一ディレクトリ上に確認できるでしょう。
再生して、プロンプト通りかどうか確認してみてください。

女性が最後に笑っていれば、動作としては問題ありません。
なお、音声パターンは次のようなルールで指定できます。

{lang_code}_speaker_{0-9}

また、[laughs]以外のパターンについてはGitHubの公式ページで確認できます。

以上、Barkの動作確認を説明しました。

タイトルとURLをコピーしました