【Parler TTS】まるで人間が喋っている?オープンソースのTTSモデル!
Parler TTSは、特定の話者のスタイル (性別、ピッチ、話し方など) で高品質で自然な音声を生成できる軽量のテキスト音声合成 (TTS) モデルです。
以下の動画のように、非常に自然な音声をテキストプロンプトのみで生成できます。
現在公開されている「Parler-TTS Mini v0.1」というモデルは、Stability AI とエディンバラ大学の共同研究である「 Natural language guidance of high-fidelity text-to-speech with synthetic annotations」の複製版です。
このParler-TTS Mini v0.1は、約10,500時間の音声データでトレーニングされた軽量モデルですが、上記の音声のような自然な音声を生成できます。
今回は、Parler-TTSの概要と使ってみた感想をお伝えします。
是非最後までご覧ください!
Parler-TTSの概要
Parler-TTSは、2024年4月11日に公開された新しい軽量のテキスト音声合成モデル(TTS)で、シンプルなテキストプロンプトから、指定された話者のスタイル (性別、ピッチ、話し方など) で高品質な音声を生成できます。
こちらは実際にParler-TTSで生成された音声です。
非常に自然な音声ですよね!
2024年4月15日現在、Parler-TTS Mini v0.1というモデルが公開されており、このモデルは約10,500時間の音声データでトレーニングされ、600Mのパラメータを備えた軽量モデルです。
このモデルは、「 Natural language guidance of high-fidelity text-to-speech with synthetic annotations」というStability AI とエディンバラ大学の共同研究の成果を複製したものです。
そのため、他の多くのTTSとは違い完全にオープンソースモデルであり、すべてのデータセット、前処理、トレーニング コード、重みが公開されています。
つまり、ユーザーはParler-TTS Mini v0.1の性能を強化したり、自分好みのTTSにトレーニングできます。
今後、このParler-TTS Mini v0.1をもとに、約50,000時間の音声データでトレーニングしたスケールアップモデルの公開を予定しているそうです。
ここからは、Parler-TTSの使い方を解説します。
なお、マルチリンガルな音声生成AIであるOpenVoiceについて知りたい方はこちらの記事をご覧ください。
→【OpenVoice】マルチリンガルで感情表現豊かな音声生成AIが人間レベル
Parler-TTSのライセンス
Parler-TTSは、Apache-2.0 licenseのもとで提供されているため、商用利用や改変など特に縛りなく利用できます。
利用用途 | 可否 |
---|---|
商用利用 | ⭕️ |
改変 | ⭕️ |
配布 | ⭕️ |
特許使用 | ⭕️ |
私的使用 | ⭕️ |
Parler-TTSの使い方
Parler-TTSのインストールおよび使用方法は非常に簡単で、まず以下のコマンドで依存関係をインストールします。
pip install git+https://github.com/huggingface/parler-tts.git
インストールが完了したら、以下のコードを実行してモデルをロードします。
from parler_tts import ParlerTTSForConditionalGeneration
from transformers import AutoTokenizer
import soundfile as sf
import torch
device = "cuda:0" if torch.cuda.is_available() else "cpu"
model = ParlerTTSForConditionalGeneration.from_pretrained("parler-tts/parler_tts_mini_v0.1").to(device)
tokenizer = AutoTokenizer.from_pretrained("parler-tts/parler_tts_mini_v0.1")
最後に、以下のコードを実行して推論を実行し、音声を生成します。
prompt = "Hey, how are you doing today?"
description = "A female speaker with a slightly low-pitched voice delivers her words quite expressively, in a very confined sounding environment with clear audio quality. She speaks very fast."
input_ids = tokenizer(description, return_tensors="pt").input_ids.to(device)
prompt_input_ids = tokenizer(prompt, return_tensors="pt").input_ids.to(device)
generation = model.generate(input_ids=input_ids, prompt_input_ids=prompt_input_ids)
audio_arr = generation.cpu().numpy().squeeze()
sf.write("parler_tts_out.wav", audio_arr, model.config.sampling_rate)
Promptに喋らせたい文章を入力し、descriptionに生成する音声の詳細な説明を記載します。
これで実装は完了ですが、Parler-TTSはHugging Face Spaceでオンラインデモが公開されており、以下のリンクにアクセスするだけで使用できるので、試すだけであればこちらをおすすめします。
また、モデルのトレーニング方法については以下のリンクからReadmeを参照してください。
Parler-TTSを実際に使ってみた
試しに、サンプルにあった以下のプロンプトとディスクリプションで音声を生成します。
プロンプト
'This is the best time of my life, Bartley,' she said happily.
「人生で最高の時だわ、バートリー」と彼女は嬉しそうに言った。
ディスクリプション
A female speaker with a slightly low-pitched, quite monotone voice delivers her words at a slightly faster-than-average pace in a confined space with very clear audio.
やや低音でかなり単調な声の女性話者が、非常にクリアな音声で、限られたスペースの中で平均よりやや速いペースで言葉を伝える。
結果はこのようになりました。
ディスクリプションの内容が守られた非常に自然な音声ですが、少し抑揚がない気もします。
ここからは、Parler-TTSの性能をさらに深堀するため、OpenAI TTSと比較検証していきます。
Parler-TTSをOpenAI TTSと比較してみた
さてここからは、Parler-TTSとOpenAI TTSに同じプロンプトを入力して音声を生成させ、そのクオリティなどを比較していきます。
なお、OpenAI TTSは音声について詳細な指定をすることができないので、今回は生成された音声の自然さなどのクオリティ面を中心に比較します。
また、OpenAI TTSはtts-1モデルを使用します。
早速検証していきましょう。
まずは以下のプロンプトを入力します。
Hello, my name is Taro Sato. I am currently working as a web designer in Tokyo. I am passionate about graphic design and UI/UX design, and I am also interested in learning new technologies!
こんにちは、私の名前は佐藤太郎です。現在、東京でWebデザイナーとして働いています。グラフィックデザインとUI/UXデザインに情熱を持っており、新しい技術を学ぶことにも興味があります!
また、Parler-TTSには以下のディスクリプションも入力します。
A male speaker with a slightly high-pitched voice delivering his words at a slightly slow pace in a small, confined space with a touch of background noise and a quite monotone tone.
やや甲高い声の男性スピーカーが、狭く閉ざされた空間で、ややゆっくりとしたテンポで、バックグラウンドノイズを交えながら、かなり単調なトーンで言葉を伝える。
OpenAI TTSの音声オプションは、fableを使用します。
結果はこのようになりました。
Parler-TTS
OpenAI TTS
これらを比較すると、どちらも自然で流暢な音声ですが、Parler-TTSのものは「UI/UX」の発音ができておらず、その点でOpenAI TTSのほうが優れていると言えます。
また、Parler-TTSの音声はほんの少しですがイントネーションが変な部分があると感じました。
これは人によって感じ方は違うと思うので何とも言えませんが、どちらもかなり自然な音声を生成してくれていることは言えそうです。
最後に、日本語で音声を生成できるのか検証してみます。
先ほどのプロンプトの日本語訳で音声を生成してもらいます。
こんにちは、私の名前は佐藤太郎です。現在、東京でWebデザイナーとして働いています。グラフィックデザインとUI/UXデザインに情熱を持っており、新しい技術を学ぶことにも興味があります!
ディスクリプションと音声オプションはそのままで行います。
結果はこのようになりました。
Parler-TTS
OpenAI TTS
Parler-TTSは、日本語にはまだ対応していないようで、音声の生成に失敗しています。
一方のOpenAI TTSは、日本語でも問題なく音声を生成できており、特に違和感もなく自然な音声ですが、英語のものよりは多少機械感が出てしまっています。
Parler-TTSは今後さらにスケールアップされたモデルを公開予定で、その後も継続的に開発が行われるそうなので、性能アップに加えて、多言語対応されることにも期待しましょう!
なお、多言語に対応できる音声AIであるCoqui-AI XTTSについて知りたい方はこちらの記事をご覧ください。
→【Coqui-AI XTTS】自分の声をあらゆる言語に変換できる最強翻訳AI
Parler-TTSは完全オープンソースの高性能なTTSモデル
Parler-TTSは、2024年4月11日に公開された新しい軽量のテキスト音声合成モデル(TTS)です。
このモデルは、シンプルなテキストプロンプトから、指定された話者のスタイル (性別、ピッチ、話し方など) で高品質な音声を生成できます。
2024年4月15日現在、Parler-TTS Mini v0.1というモデルが公開されており、このモデルは約10,500時間の音声データでトレーニングされ、600Mのパラメータを備えた軽量モデルです。
また、今後はさらにトレーニング音声データを約50,000時間に増やしたスケールアップモデルも公開するようです。
Parler-TTSの一番の特徴は、完全にオープンソースであり、すべてのデータセット、前処理、トレーニング コード、重みをダウンロードして自分好みのもに改変したりもできます。
今後、TTSモデルの需要はさらに増していくことが予想され、多くのTTSモデルが公開されると思いますが、オープンソースのものはなかなかないので、もし気になった方は是非試してみてください!
生成系AIの業務活用なら!
・生成系AIを活用したPoC開発
・生成系AIのコンサルティング
・システム間API連携
最後に
いかがだったでしょうか?
弊社では
・マーケティングやエンジニアリングなどの専門知識を学習させたAI社員の開発
・要件定義・業務フロー作成を80%自動化できる自律型AIエージェントの開発
・生成AIとRPAを組み合わせた業務自動化ツールの開発
・社内人事業務を99%自動化できるAIツールの開発
・ハルシネーション対策AIツールの開発
・自社専用のAIチャットボットの開発
などの開発実績がございます。
まずは、「無料相談」にてご相談を承っておりますので、ご興味がある方はぜひご連絡ください。
➡︎生成AIを使った業務効率化、生成AIツールの開発について相談をしてみる。
「生成AIを社内で活用したい」「生成AIの事業をやっていきたい」という方に向けて、生成AI社内セミナー・勉強会をさせていただいております。
セミナー内容や料金については、ご相談ください。
また、サービス紹介資料もご用意しておりますので、併せてご確認ください。