【WhisperSpeech】Whisperがさらに高性能になった音声モデルを使ってエミネムにゆっくり喋らせてみた
WEELメディア事業部LLMリサーチャーの中田です。
1月18日、Whisperを利用したText-to-Speechモデル「WhisperSpeech」のアップデート版を、Collaboraが公開しました。
このAIモデルを用いることで、テキストを入力するだけで、簡単にそのテキストを(AIが)読み上げることができるんです、、、!
GitHubでのスター数は、すでに1700を超えており、期待度が高いことを示しています。
この記事ではWhisperSpeechの使い方や、有効性の検証まで行います。本記事を熟読することで、WhisperSpeechの凄さを実感し、そこら辺のTTSには戻れなくなるでしょう。
ぜひ、最後までご覧ください。
WhisperSpeechの概要
WhisperSpeechはCollaboraによって開発されたAIで、簡単に言うと「文字起こしAIのWhisperを逆にしてText-to-Speechに応用したもの」です。
WhisperSpeechを用いることで、入力したテキストをAIに「声に出して」読ませることが可能になります。
WhisperSpeechの仕組みとしては、以下の手順でTTSが実現されます。
- テキストが入力される
- OpenAIのWhisperを使用して入力テキストから意味を抽出
- 抽出された意味をもとに、MetaのEnCodecを音響モデリングに入力し、圧縮された音響情報を出力
- 出力された音響情報をもとに、Charactr IncのVocosを用いて実際に音声に変換し出力
現在、このモデルは英語のLibreLightデータセットで学習されているため、英語やポーランド語のみの対応ですが、今後複数の言語に対応させていく予定とのこと。
WhisperSpeechの料金体系
WhisperSpeechはオープンソースであるため、誰でも無料で利用可能です。
また、MITライセンスのもと、商用利用が可能です。
なお、Metaが開発している音声生成AIについて知りたい方はこちらの記事をご覧ください。
→【MAGNeT】Meta開発のテキストから音楽や音声を生成できるAIの使い方~実践まで
WhisperSpeechの使い方
今回はGoogle ColabのT4を用いて、実行していきます。
まず、以下のコードを実行して、ライブラリをインストールしましょう。
# Do not forget to install all dependencies first:
!pip install -Uqq WhisperSpeech
次に、以下のコードを実行して、TTS生成の準備をしましょう。
def is_colab():
try: import google.colab; return True
except: return False
import torch
if not torch.cuda.is_available():
if is_colab(): raise BaseException("Please change the runtime type to GPU. In the menu: Runtime -> Change runtime type (the free T4 instance is enough)")
else: raise BaseException("Currently the example notebook requires CUDA, make sure you are running this on a machine with a GPU.")
%load_ext autoreload
%autoreload 2
import torch
import torch.nn.functional as F
from IPython.display import Markdown, HTML
# check "7. Pipeline.ipynb"
from whisperspeech.pipeline import Pipeline
# let's start with the fast SD S2A model
pipe = Pipeline(s2a_ref='collabora/whisperspeech:s2a-q4-tiny-en+pl.model')
最後に、以下のコードを実行することで、「This is the first demo of Whisper Speech, a fully open source text-to-speech model trained by Collabora and Lion on the Juwels supercomputer.」という文章をAIに読ませることが可能になります。
# this is very slow right now since our inference code is not very optimized
# but even without this crucial optimization it is still better than real-time on an RTX 4090
pipe.generate_to_notebook("""
This is the first demo of Whisper Speech, a fully open source text-to-speech model trained by Collabora and Lion on the Juwels supercomputer.
""")
すると、以下のように出力されるはずです。
WhisperSpeechを動かすのに必要なPCのスペック
■Pythonのバージョン
Python 3.8以上
■必要なパッケージ
WhisperSpeech
Pytorch
IPython
WhisperSpeechを実際に使ってみた
先ほどと同様に、「This is the first demo of Whisper Speech, a fully open source text-to-speech model trained by Collabora and Lion on the Juwels supercomputer.」という文章をWhisperSpeechに入力したところ、以下のような結果になりました。
精度としてはかなり高く、英語の発音・イントネーションも完璧ですね。
このWhisperSpeechでは、声の主を変えることも可能です。先ほどと同様の文章を、違う話者に読ませるには、以下のコードを実行してください。
# we can give it an audio file reference to get zero-shot voice cloning
#
# you can provide a URL or upload your own audio files
pipe.generate_to_notebook("""
This is the first demo of Whisper Speech, a fully open source text-to-speech model trained by Collabora and Lion on the Juwels supercomputer.
""", lang='en', speaker='https://upload.wikimedia.org/wikipedia/commons/7/75/Winston_Churchill_-_Be_Ye_Men_of_Valour.ogg')
その結果は、以下の通りです。
こちらも、精度高いですね。
ここで、自分の好きな声に読ませるには、音声のURLを探してきて、それを上記のコードの以下の「speaker=”」の部分に張り付けましょう。
pipe.generate_to_notebook("""
This is the first demo of Whisper Speech, a fully open source text-to-speech model trained by Collabora and Lion on the Juwels supercomputer.
""", lang='en', speaker='')
試しに、エミネムに同じ文章を読ませてみましょう笑
「speaker=’https://upload.wikimedia.org/wikipedia/en/1/11/02_Kill_You.ogg’」と入力し、再度実行してみてください。結果は、以下の通りです。
おおー!なんとエミネムの声になりました!ゆっくり話すエミネムなんて珍しいですね!
なんかもう、これでディープフェイクとか簡単に作れてしまいますね。
WhisperSpeechの推しポイントである音読能力は本当なのか?
ここまでは、WhisperSpeechの音読能力(TTS)の高さについて見てきましたが、果たしてそれは本当なのかを検証するために、「VALL E」というTTSモデルと比較検証します。
参考記事:VALL-E X
ここでも同じ文章を読ませてみましたが、結果は以下の通りになりました。
全体的に、WhisperSpeechよりも発音が劣っているように感じました。
特に、「speech」の発音が「speak」に聞こえたり…
個人的には、WhisperSpeechに軍配が上がったかと思いました!
なお、PCをGUIで操作する方法について詳しく知りたい方は、下記の記事を合わせてご確認ください。
→【Open Interpreter 0.2.0】PCをGUIで操作できるようになった最強AIエージェントを使ってみた
まとめ
WhisperSpeechはCollaboraによって開発されたAIで、簡単に言うと「文字起こしAIのWhisperを逆にしてText-to-Speechに応用したもの」です。WhisperSpeechを用いることで、入力したテキストをAIに「声に出して」読ませることが可能になります。
精度としてはかなり高く、英語の発音・イントネーションも完璧でした。加えて、自分の好きなアーティストにも読ませることが可能です。ただし、ディープフェイクの温床にならないか心配ですね。
数年後にはこの技術を応用し、AI同士が自由に会話するようになっているのかもしれないですね。
現在は、CUI上でAIエージェント同士が、テキストベースでやり取りし、タスクを実行してくれるツールがあります。これと今回のWhisperSpeechのような技術を組み合わせれば、あたかもAI同士が声に出して会話しているかのような技術に応用できるかもしれません。
生成系AIの業務活用なら!
・生成系AIを活用したPoC開発
・生成系AIのコンサルティング
・システム間API連携
最後に
いかがだったでしょうか?
弊社では
・マーケティングやエンジニアリングなどの専門知識を学習させたAI社員の開発
・要件定義・業務フロー作成を80%自動化できる自律型AIエージェントの開発
・生成AIとRPAを組み合わせた業務自動化ツールの開発
・社内人事業務を99%自動化できるAIツールの開発
・ハルシネーション対策AIツールの開発
・自社専用のAIチャットボットの開発
などの開発実績がございます。
まずは、「無料相談」にてご相談を承っておりますので、ご興味がある方はぜひご連絡ください。
➡︎生成AIを使った業務効率化、生成AIツールの開発について相談をしてみる。
「生成AIを社内で活用したい」「生成AIの事業をやっていきたい」という方に向けて、生成AI社内セミナー・勉強会をさせていただいております。
セミナー内容や料金については、ご相談ください。
また、サービス紹介資料もご用意しておりますので、併せてご確認ください。