こんにちは、DXCEL WAVEの運営者(@dxcelwave)です!
- ChatGPTのAPIを用いて、テキスト文章を音声ファイルに変換する方法が知りたい。
【Python】OpenAI GPTでテキスト文章を音声ファイルに変換
本記事では、OpenAI社が提供するAPIを用いてPtyhonでプログラムを作成し、「テキスト文章を音声ファイルに変換する方法」について解説します。
【参考】OpenAI社のAPI利用方法
本記事ではChatGPTを用いたPythonプログラミングについて解説します。その際、Open AIが提供するAPI情報が必要になります。「ChatGPTの概要」および「API情報の取得手順」については、こちらの記事で詳しく解説しています。
【参考】ChatGPTを詳しく学びたい方向けの学習講座
ChatGPTを詳しく学びたい方向けに安価で学べるオンライン講座も併せてご紹介します。
【Python実践】GPTによる音声変換Text-to-Speech関数の作成
それでは実際にPythonプログラムを作成しながらテキスト文章を音声ファイルに変換する関数を作成します。
PythonライブラリとChatGPT API情報の読込
はじめに、Pythonプログラムの先頭にライブラリとAPI認証情報を記述します。
前述で取得したOrganization ID
とシークレットキー
をそれぞれ入力しましょう。
import openai
import os
openai.organization = "<Organization IDをここに入力>"
openai.api_key = "<APIシークレットキーをここに入力>"
Text-to-Speech関数作成
続いて、テキスト文章を音声ファイルに変換するText-to-Speech関数GPT_TTS
を作成します。
第一引数にテキスト文章text
、第二引数に音声ファイルの出力パスoutput_filepath
をした次のような関数を記述しましょう。
def GPT_TTS(text:str, output_filepath:str):
# テキスト文章を音声に変換
result = openai.audio.speech.create(
model = "tts-1", # Text-to-Speechモデル
voice = "nova", # 音声変換時の声['alloy','echo','fable','onyx','nova','shimmer']
speed = 1.0, # 音声の再生スピード[0.25〜4.0]
input = text, # 音声変換したいテキスト文
)
# 音声変換後のデータを保存mp3形式で保存
result.stream_to_file(f'{output_filepath}.mp3')
return "complete"
引数情報
openai.audio.speech.create()
にテキストを渡し、音声ファイルを生成しているのが特徴です。このメソッドでは、次のような引数を指定できます。
引数名 | 概要 |
---|---|
model | Text-to-Speechモデル |
voice | 音声変換時の声。’alloy’, ‘echo’, ‘fable’ ,’onyx’, ‘nova’, ‘shimmer’ が選択可能 |
spped | 音声の再生スピード |
input | 音声変換の元となるテキスト文章 |
関数実行
前述で作成したGPT_TTS関数を実行し、動作確認を実施してみましょう!
# 引数情報
text = "こんにちは, DXCEL WAVEをご覧いただきありがとうございます。"
output_filepath = "text_speech_to_text.mp3"
# 関数実行
GPT_TTS(text, output_filepath)
【参考】PythonによるLLM実装|ChatGPT・LangChain
本記事では、PythonでLLMを構築し、様々なタスクをこなす機能の実装方法を多数解説しています。
Python × ChatGPT関連記事
Python × LangChain関連記事
自然言語処理の学習におすすめの書籍
自然言語処理の概要について詳しく学びたい方向けに、厳選したおすすめの学習教材を紹介しています。
最後に
お問い合わせフォーム
上記課題に向けてご気軽にご相談下さい。
お問い合わせはこちら