見出し画像

Google Colab で OpenAI API の Text-to-Speech を試す

「Google Colab」で「OpenAI API」の「Text-to-Speech」を試したので、まとめました。

前回


1. Text-to-Speech

「Text-to-Speech」、テキストの読み上げを行うAPIです。6つの内蔵ボイスが付属しており、次の目的で使用できます。

・書かれたブログ投稿のナレーション
・複数言語の音声を生成
・ストリーミングを使用したリアルタイムオーディオ出力

2. セットアップ

Colabでのセットアップ手順は、次のとおりです。
(1) パッケージのインストール。

# パッケージのインストール
!pip install openai

(2) 環境変数の準備。
以下のコードの <OpenAI_APIキー> にはOpenAIのサイトで取得できるAPIキーを指定します。(有料)

import os
os.environ["OPENAI_API_KEY"] = "<OpenAI_APIキー>"

(3) クライアントの準備。
「クライアント」は「OpenAI API」にアクセスするインタフェースになります。

from openai import OpenAI

# クライアントの準備
client = OpenAI()

3. テキストの読み上げ

(1) 音声ファイルの出力。
「speech.mp3」に出力されます。

from pathlib import Path

# テキストの読み上げ
response = client.audio.speech.create(
    model="tts-1",
    voice="alloy",
    input="ワガハイは猫である。名前はまだない。"
)

# 音声ファイルに出力
response.stream_to_file("./speech.mp3")

パラメータは、次のとおりです。

・model : モデルID (tts-1 or tts-1-hd)
・input : 音声を生成するテキスト (最大長は4096文字)
・voice : 声 (alloy、echo、fable、onyx, nova、shimmer)
・response_format : レスポンスフォーマット (mp3、opus、aac、and、flac)
・speed : 速度 (default:1)

標準の「tts-1」は高速で低品質、「tts-1-hd」は低速で高品質です。

4. テキストの読み上げのTips

4-1. オーディオ品質

リアルタイム アプリケーションの場合、標準の「tts-1」が高速で適していますが、品質は「tts-1-hd」の方が上です。オーディオの生成方法により、「tts-1」は、特定の状況において「tts-1-hd」よりも静的なコンテンツを生成する可能性があります。場合によっては、リスニングデバイスや個人によっては、音声に顕著な違いが感じられない場合があります。

4-2. 音声オプション

さまざまな音声 (alloy、echo、fable、onyx, nova、shimmer) を試して、希望のトーンと聴衆に合うものを見つけてください。

4-3. FAQ

Q. 生成されたオーディオの感情の範囲を制御するにはどうすればよいですか?
A. 生成されるオーディオの感情的な出力を制御する直接的なメカニズムはありません。大文字の使用や文法など、特定の要因が出力音声に影響を与える可能性がありますが、これらを使用した社内テストではさまざまな結果が得られました。

Q. 自分の声のカスタムコピーを作成できますか?
A. いいえ。サポートしていません。

Q. 出力された音声ファイルは私が所有していますか?
A. はい。API からのすべての出力と同様に、出力を作成した人がその出力を所有します。エンドユーザーには、実際の人間が話しているのではなく、AIによって生成された音声が聞こえていることを通知する必要があります。

次回



この記事が気に入ったらサポートをしてみませんか?