今回の記事ではテキストから音声ファイルを生成できるText-to-Speech のAPIの実装を紹介します。
Google Colabを使用して簡単に実装できますので、ぜひ最後までご覧ください。
今回の内容
・Text-to-Speechとは
・実装
・6種類聞き比べ
OpenAI API のText-to-Speechとは
OpenAIのText-to-Speech(テキストから音声への変換)は、テキストを自然に聞こえる音声に変換する機能を提供するAPIです。開発者はこのAPIを使用して、書かれたテキストを労力をかけずに話し言葉に変換することができます。このAPIには6つの内蔵ボイスがあり、書かれたブログ投稿のナレーション、複数言語の音声生成、ストリーミングを使ったリアルタイム音声出力など、さまざまな用途に使用できます。
OpenAIはこのAPIの2つのバリアント、tts-1とtts-1-hdを提供しています。tts-1はリアルタイムの使用に最適化されており、tts-1-hdは品質に最適化されています。価格は1,000文字の入力につき0.015ドルからとなっています(トークンではありません)。
また、最近のChatGPTの改善により、音声認識とText-to-Speechの機能が強化されました。これにより、AIが議論されている内容に応じて話し方を変えるなど、会話のようなインタラクションが可能になることが示唆されています。
APIを使用して生成した音声ファイルは、そのファイルを生成したユーザーが所有権を持つと説明しています。しかし、その音声ファイルを他の人に聞かせる場合は、聞く人にその音声がAIによって生成されたものであることを明確に伝えなければならないとも記されています。
※記事執筆時点での情報となります。変更となっている場合がありますので、上記のリンクから最新の情報を確認するようにしてください。
実装
ここからはGoogle colabを使用して、DALL-E 3 のAPIを利用した画像生成を実装していきましょう。
まずは必要なライブラリをインストールします。
!pip install openai
次のOpenAIのサイトで取得できるAPIキーを設定します。
APIキーの取得はこちらから行うことができます。
import os
os.environ["OPENAI_API_KEY"] = "<OpenAI_APIキー>"
音声生成を実行します。
以下の例では、「この動画はつくもちちゃんねんるの提供でお送りしました。」というテキストで「alloy」というボイスの音声データを生成します。
from openai import OpenAI
client = OpenAI()
response = client.audio.speech.create(
model="tts-1",
voice="alloy",
input="この動画はつくもちちゃんねんるの提供でお送りしました。"
)
response.stream_to_file("alloy.mp3")
パラメータは以下の通りです
Parameter | Description | Options |
---|---|---|
model | モデルID | tts-1(速度重視), tts-1-hd(音質重視) |
input | 音声を生成するテキスト | 最大長は4096文字 |
voice | 声 | alloy, echo, fable, onyx, nova, shimmer |
response_format | レスポンスフォーマット | mp3, opus, aac, flac |
speed | 再生速度 | 数値(例: 0.5, 1, 1.5等) |
Google colab上で音声を再生することもできます。
from IPython.display import Audio
Audio("alloy.mp3")
実行結果:
聞き比べ
全部で6種類の声を使用することができます。
ここでは他の5種類の声の出力結果を紹介します。
echo
fable
nova
onyx
shimmer
まとめ
最後までご覧いただきありがとうございました。