こんにちは、せいやです。
今回は「OpenAIのgpt-4o-mini-tts
を使って、テキストから音声(MP3)を生成する方法」をステップバイステップで解説します。
✅ やりたいこと
- Pythonを使って、テキストを自然な日本語音声に変換する
- 出力形式は
output.mp3
- VS Code環境で構築・実行
- エラー解決例(UnicodeEncodeError)も紹介!
🧰 前提条件
必要なもの | 補足 |
---|---|
Python(3.8以上) | Python公式 |
OpenAIのAPIキー | OpenAI APIキー取得 |
VS Code | VS Code公式 |
openai ライブラリ |
後ほどインストールします |
🪜 ステップ1:プロジェクトフォルダを準備
- VS Code を起動
- 任意のフォルダ(例:
TTSProject
)を作って開く - 新規ファイル
tts_test.py
を作成
🪜 ステップ2:パッケージをインストール
ターミナル(`Ctrl + Shift + ``)を開き、以下を実行:
pip install openai
🪜 ステップ3:コードを書いて実行
import openai
openai.api_key = "sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
response = openai.audio.speech.create(
model="tts-1", # または "tts-1-hd"
voice="nova", # 他に "alloy", "echo", "onyx", "fable" などあり
input="こんにちは、Mrポテトヘッド!"
)
with open("output.mp3", "wb") as f:
f.write(response.content)
🎧 成功すると、カレントフォルダに
output.mp3
が生成され、音声が再生できます!
「こんにちは、Mrポテトヘッド」と話してくれます!
🧱 ありがちなエラー:UnicodeEncodeError
UnicodeEncodeError: 'ascii' codec can't encode character ...
これは、APIキーの中に 日本語や全角スペースなどが混入していると起こるエラーです。
✅ 解決方法
- APIキーは
"sk-..."
のように 英数字のみ にしてください。 - コメントに日本語を使っていても、ファイルの文字コードが
UTF-8
なら基本はOK。 - VS Code右下で「UTF-8」であることを確認!
✅ 応用アイデア
- 🎞 ChatGPT原稿 × TTS × ffmpeg で YouTube動画自動生成
- 🧑🏫 解説動画や講座用ナレーションを自動化
📌 おまけ:使用可能な音声(voice)一覧
voice | 特徴 |
---|---|
nova |
女性風で自然 |
alloy |
低めの男性風 |
echo |
少し速い語り口 |
onyx |
落ち着いた男性風 |
fable |
明るく軽快 |
🙌 まとめ
OpenAIのTTS機能は、音声品質が非常に高く、簡単に実装できるのが魅力です。
APIキーさえあれば、5分でナレーション音声が作れます。
GPT-4oをもっと活用して、業務効率やコンテンツ制作に役立てていきましょう!