試します。
前回はGPTでテキスト生成してからText to Speechを行っていましたが、一回のやり取りで音声が生成できるんですね。
こちらのサンプルを動かします。
%pip install -U openai
%restart_python
import os
os.environ['OPENAI_API_KEY'] = dbutils.secrets.get("demo-token-takaaki.yayoi", "openai_api_key")
import base64
from openai import OpenAI
client = OpenAI()
completion = client.chat.completions.create(
model="gpt-4o-audio-preview",
modalities=["text", "audio"],
audio={"voice": "alloy", "format": "wav"},
messages=[
{
"role": "user",
"content": "Is a golden retriever a good family dog?"
}
]
)
print(completion.choices[0])
wav_bytes = base64.b64decode(completion.choices[0].message.audio.data)
with open("dog.wav", "wb") as f:
f.write(wav_bytes)
再生します。
from IPython.display import Audio
Audio("dog.wav")
こちらには音声ファイルを貼り付けられないので以下の日本語の例をYoutubeにアップロードしています。
日本語ではどうでしょうか。
completion = client.chat.completions.create(
model="gpt-4o-audio-preview",
modalities=["text", "audio"],
audio={"voice": "alloy", "format": "wav"},
messages=[
{
"role": "user",
"content": "ゴールデンレトリバーは良い家庭犬ですか?"
}
]
)
print(completion.choices[0])
wav_bytes = base64.b64decode(completion.choices[0].message.audio.data)
with open("dog_japanese.wav", "wb") as f:
f.write(wav_bytes)
from IPython.display import Audio
Audio("dog_japanese.wav")