AIじゃないよ

プログラミング不要!OpenAIの音声合成AIを簡単に試せるGoogle Colabノートを作った

当サイトはアフィリエイト広告を一部掲載しています。

2023年11月のOpenAIのイベントでAPIが利用可能になったばかりの、テキストからの音声合成AIであるText-to-speech(TTS)モデル。
すでに有料版のChatGPTでは、ChatGPTからの返信を音声で読み上げてくれる音声対話の機能があり、その自然な音声合成を体験することができる。

ChatGPTでは、対話のためにしかTTSモデルを利用できないが、APIを使えば、自分の好きなセリフを言わせたり、好きなニュース記事を読み上げさせたり、あらゆる用途に使うことができる。

しかし、APIを使うのは、プログラミング未経験のユーザーにとっては少しハードルが高いだろう。

そんな最新の音声合成AIの実力をとりあえず試したい、という人のために、超分かりやすく、数クリックするだけで音声合成AIを動かすことができるミニアプリを、Google Colaboratory上で作成した。

Google Colaboratoryは、Googleアカウントを持っていれば無料で誰でも利用できるPython環境なので、どんな初心者でも気軽に使ってみることができる。



そもそも音声合成AIとは

OpenAIが開発する音声合成AI(text-to-speech, TTSモデル)は、2023年11月のOpenAIのDevDayから、APIでの利用が可能になった。

この音声合成モデルは、ユーザーがテキストを入力すると、それを非常に自然な声で読み上げた音声ファイルを生成してくれるもの。

ブログの投稿を音声で読み上げてもらったり、AIに翻訳させた文章を英語で読み上げさせたり、アプリなどの中で音声でのインタラクションを提供したり、幅広い用途が考えられる。

OpenAIの音声合成モデル(TTS)の主な仕様

この記事で紹介するように、ユーザーはAPIを通してTTSモデルを利用できる。
文章をAPIリクエストに含めて送ると、それがmp3ファイルになって帰ってくる。

6つの声から選ぶことができ、男女それぞれ少し印象の異なる声が用意されている。
6つの声には、Alloy、Echo、Fable、Onyx、Nova、Shimerという名前がつけられており、APIで音声をリクエストするときに、どれか一つを選ぶ。

また、生成される音声のクオリティによって、モデルが2種類存在する。
リアルタイムでの高速な使用などに適した標準モデルtts-1と、よりクオリティが高いが少し遅いtts-1-hdモデルから選択することができる。

音声は、「悲しい感じ」とか「明るい感じ」といったような、感情表現を制御するようなオプションは、現状は提供されていない。
とはいえ、非常に自然な感じに聞こえる音声が生成される。

大文字か小文字か、文体がどのようになっているかが、声の調子にも影響しうるとのことだが、現時点では明確に機能として実装されていないようだ。

利用価格

音声合成AIをAPIで利用すると、残念ながら従量課金制でお金がかかってしまう。

しかし、その価格はかなり安いので、相当ハマってありとあらゆることに使いまくらない限り、数円〜数百円くらいの格安な料金で収まるだろう。

Text-to-speechモデルのAPIの2023年11月現在の価格は以下の通りだ。

  1. 標準TTSモデル: 1,000文字あたり0.015ドル。リアルタイムの高速な生成が求められるとか、大量のユーザーがいるアプリに組み込む場合などに向く。
  2. TTS HDモデル: 1,000文字あたり0.030ドル。標準モデルよりも品質の高い音声が生成される。動画やポッドキャストの吹き替えなどクオリティが重要な時に向く。

OpenAIの公式サイト内に、「1,000文字あたり」(トークン数でない)としか記載がないため、英語の「a」と、日本語の「亜」が、同じ一文字でも値段が一緒なのか否かはハッキリしない。

ただ、私が400字ほどのニュース原稿を読み上げさせた時点で、請求額が1セントにもならなかったので、本当に日本語でも文字単位で課金されている可能性がある。
この点は、詳細が分かり次第追記したいが、個人使用の範囲では、概ね上記の金額感(かなり安い!)で考えておいて致命的なブレはなさそうだ。

TTSモデルを超簡単に試せるGoogle Colabノートブック

音声合成AIを実行するプログラムのコードは、非常にシンプルではあるものの、プログラミングに慣れていない人は実装に一苦労するかもしれない。

また、プログラミングの知識がある人でも、単にサクッと試したいだけであれば、出力された音声をスムーズに再生できるインターフェースが用意されている方が楽なはず。

そこで、無料かつ分かりやすいインターフェースでPythonの実行環境が使えるGoogle Colaboratoryで、簡単にこのOpenAIのTTSモデルを試せるノートブックを作った。

このノートブックを使う上で、コードを書く必要はなく、プログラミングの知識は全く不要だ。

このノートブックを使えば、以下のような直感的なインターフェースで、テキストを入力し、音声ファイルの保存先を指定し、プルダウンメニューから声の種類を選び、しかもこのノートブック上で再生までできる。

ここからは、このノートブックの使い方を、ステップバイステップで解説していく。

ステップ0:OpenAIのアカウント登録をしてAPIキーを入手する

このノートブックを使用する前提条件として、あなた専用のOpenAIのAPIキーを用意する必要がある。

APIキーは、自分のパスワードのようなもの。
OpenAIの各AIモデルはこのAPIキーがないと使うことができないので、この記事で紹介するノートブックも、APIキーを持っていることが前提となっている。

当ブログの以下の記事で、APIキーの登録方法を詳しく説明しているので、登録方法を知りたい人はそちらを参照して欲しい。

ステップ1:Google Colaboratoryの基本的な使い方

Google Colaboratoryは、文章のブロックと、Pythonコードのブロックを、一つのノートとしてまとめて表示・実行できる便利なツール。

全てのコードブロックには以下の画像のような「再生ボタン」のようなものがあり、これをクリックすると、そのコードブロック内にあるコードが実行される。

すでにコードは完成させてあるので、この再生ボタンを上から順番に一番下までクリックしていくだけで、TTSモデルを動かすことができるようになっている。

また、上部のメニューから「ランタイム」「全てのセルを実行」をクリックしても、勝手に上から順番に全コードブロックが実行されるので、こちらの方が楽かもしれない。

ステップ2:Google Colaboratoryの各種設定

Googleドライブへの接続許可

今回のノートブックは、Text-to-speechの音声合成モデルを利用するにあたって、AIが生成してくれた音声ファイル(.mp3)をGoogleドライブ上に保存する仕組みになっている。

したがって、このノートブックと、Googleドライブの間の接続を行わなければならない。

ステップ1で「全てのセルを実行」すると、このノートブックが自分のGoogleドライブにアクセスすることを許可するか、的なメッセージが表示されるので、許可するを選択して、Googleアカウントにログインする必要がある。

OpenAI APIキーのGoogle Colaboratoryへの登録

Google Colabの便利な機能として、APIキーを自分のアカウント内に登録しておくことができる機能がある。

Google Colabの左側にある鍵のマークをクリックすると、APIキーに名前をつけて保存することができる。

openai_apiという名前をつけて、自分のOpenAIのAPIキーをここに登録しておいて欲しい。

ここにAPIキーを登録しておくと、ノートブックの中のコードで、あなたのAPIキーを呼び出すことができる。

他人にコードを教えなくても、コードの中に自分のAPIキーを代入できるので、非常に便利な機能だ。

ステップ3:TTSモデルの実行

Googleドライブをマウントして、APIキーも問題なく登録してあれば、「ランタイム」「全てのセルを実行」するだけで、ノートの一番下に以下のようなテキストボックスや、音声生成ボタンが表示されているはずだ。

  • テキスト:ここに音声に変換したいテキストを入力する。ここでは、試しに「これは、音声合成モデルのテストです。」と入力。
  • 保存先パス:Googleドライブ内で、生成した音声ファイルをどこに保存したいかを指定する。デフォルトでは、マイドライブの直下に、output.mp3というファイルが生成される。
  • 声色:6人の声から、プルダウンメニューで任意の人を選べる。
  • 音声生成ボタン:このボタンを押してしばらく待つ。

「音声生成ボタン」をクリックして、しばらく待つと、以下のような再生プレーヤーが表示されるので、再生ボタンを押すと音声が聞こえるはずだ。

Googleドライブ内にこの音声は保存されているので、他人に共有したりすることもできる。

Text-to-speech(TTS)モデルを使ってみての感想

2023年11月現在、日本語の出力には若干の不安があるように感じられる。

例えば、短い文章を入力したときに、それが日本語と正しく認識されていないのか、なんと言っているのか全く聞き取れない謎の言語で読み上げた音声が返ってきたりする。

ちゃんと動作した場合でも、「英語話者が日本語を喋っているような感じ」がずっとして、「たちつてと」などがハッキリ言えていないように感じる場合がある。

やはり英語での動作が一番安定しており、とても自然に聞こえる話し方で、かなりスムーズに音声が聞こえるため、実用面では圧倒的に英語の方が上、と言えそうだ。

TTSモデルが可能にするかもしれない未来

OpenAIのテキストからの音声生成技術(TTS)は、個人ユーザーレベルから大規模なアプリケーションまで、様々な分野で革新をもたらすかもしれない。

この技術により、ユーザーは声でAIと対話でき、より直感的なインタラクションが可能になる。

すでに、ChatGPTの有料会員であれば、iOSアプリ・Androidアプリ上で、AIと音声で相互に対話できる機能が実装されている。

GPT-4などの高機能なテキスト生成AIと、音声生成AIを組み合わせれば、Siri, Alexa, Google Assistantなどをもっと進化させたような自然な会話のやり取りが実現されるだろう。

また、コンテンツクリエイターにとっても、音声生成AIがもたらす恩恵は大きい。

動画やポッドキャストを日本語で作ったとしても、それを英語に翻訳してTTSモデルに読み上げさせれば、自分が英語が喋れなくても、自然な英語を使ったコンテンツを発信できるかもしれない。

2023年11月現在でも、TTSモデルは以下の言語をサポートしている。
英語と比べるとレベルは少し低いものの、日本語でもそれなりに実用的なパフォーマンスだ。

アフリカーンス語, アラビア語, アルメニア語, アゼルバイジャン語, ベラルーシ語, ボスニア語, ブルガリア語, カタロニア語, 中国語, クロアチア語, チェコ語, デンマーク語, オランダ語, 英語, エストニア語, フィンランド語, フランス語, ガリシア語, ドイツ語, ギリシャ語, ヘブライ語, ヒンディー語, ハンガリー語, アイスランド語, インドネシア語, イタリア語, 日本語, カンナダ語, カザフ語, 韓国語, ラトビア語, リトアニア語, マケドニア語, マレー語, マラーティー語, マオリ語, ネパール語, ノルウェー語, ペルシャ語, ポーランド語, ポルトガル語, ルーマニア語, ロシア語, セルビア語, スロバキア語, スロベニア語, スペイン語, スワヒリ語, スウェーデン語, タガログ語, タミル語, タイ語, トルコ語, ウクライナ語, ウルドゥー語, ベトナム語, ウェールズ語

海外旅行に行った際に、翻訳AIと音声生成AIを組み合わせれば、筆談ならぬAI談ができるようになる日も近いだろう。

当ブログでも、ChatGPTの音声対話機能を使って、外国人と自然に会話する方法を紹介した記事があるので、ぜひ読んでみてほしい。



Make a comment

*
*
* (公開されません)