見出し画像

自然な音声合成AIの「MetaVoice 1B」でクローン音声を作る〜"革新的なテキスト読み上げAI"(TTS)〜

こんにちはIZAIエンジニアチームです。
今回は、Metavoiceという英国のスタートアップがリリースしたMetaVoice 1Bを Google Colabで試します。Apache-2.0ライセンスということで、Meta社公開LLMのLlamaと同様に利用可能な他、fine-tuningモデルを公開可能です。

※ "Meta"Voice ですがMeta社とは関係ありません。


音声合成モデル MetaVoice


まずはこちらの英語サンプルをお聞きください。かなり自然ですね。

MetaVoiceについて

MetaVoice 1Bは、Transformerアーキテクチャを採用した1.2BパラメータのTTSモデルです。EnCodecをベースにしていて、100,000時間の音声データでトレーニングされたモデルです。

◇ 主な特徴
・英語での感情豊かな音声リズムとトーンの生成
・アメリカとイギリスの声を30秒の参照音声でゼロショットクローニング
・長文の合成に対応
・インド人話者の場合、わずか1分の学習データでボイスクローニングが可能

米音声合成比較サイトで、新興企業ながら老舗のsysthesysやelevanlabと肩を並べる評価を得ている注目のTTSです。

GPUを使ってローカルで実行


【動作環境】
・OS:  Ubuntu 22.04(WSL)
・GPU: RTX3090 VRAM24GB

1.レポジトリをクローン

git clone https://github.com/metavoiceio/metavoice-src
cd metavoice-src

2. NVIDIA Container Toolkit をインストール

公式のドキュメントに従うのが確実です。私はaptを使ってインストールしました。

3. dockerコンテナを起動&WebUIを起動

docker-compose up -d ui && docker-compose ps && docker-compose logs -f

しばらく待つとWebUIが起動できます。コンパイルに時間がかかるので2,3分待ちます。

metavoice-ui | INFO:httpx:HTTP Request: HEAD http://localhost:7861/ "HTTP/1.1 200 OK"

※WSLを使用していて実行中に invalid runtime name: nvidia. エラーが発生する場合は、Docker Desktopから、Dcker Engine の config に以下をコピーしてください。
WSL上でNvidia Container Toolkitを指定する場合は、直接ランタイムを入力する必要があります。
参考:https://github.com/NVIDIA/nvidia-container-toolkit/issues/150

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "runtimes": {
    "nvidia": {
      "path": "/usr/bin/nvidia-container-runtime",
      "runtimeArgs": []
    }
  }
}


4. ローカルホストのURLが発行されるのでブラウザを開きます。

MetaVoice Web UI

4. 音声を生成する

任意の英語を入力して生成してみましょう。

クローン音声を作成する


MetaVoiceは30秒程度の短い音声からクローン音声を生成することができます。

実際に音声ファイルを使って試してみます。

Zero-Shotクローン音声は、数十分以上かかるFine-tuningと異なり数秒でクローン音声を作成できるので非常に便利です

英語音声を使用した方は非常に自然で、本人と区別がつかないレベルです
日本人の英語発音もしっかり再現できていますね!

以上、参考になった方はスキしていただけると励みになります!ではまた!


参考文献


いいなと思ったら応援しよう!