Gemini 3.8 Flash TTSで音声を作成する方法

  • このエントリーをはてなブックマークに追加

 TTS(Text-to-Speech)の技術は近年目覚ましい進歩をしています。以前は読み上げ音声の抑揚が気になることもありましたが、今では講演の練習に使いたくなるほど自然です。今回はGemini 3.8 Flash TTSを使い、Pythonで文章からWAVファイルを作ってみます。

こんにちは。wat(@watlablog)です。今話題のGemini 3.8 Flash TTSを使ってみます!

Gemini 3.8 Flash TTSとは?

 Gemini 3.8 Flash TTSは、Googleが提供するテキスト読み上げ用のAIモデルです。文章を入力すると、その内容を音声に変換できます。モデルをAPIから指定するときの名前は gemini-3.8-flash-tts です。

 日本語や英語を含む130以上の言語に対応し、声の種類に加えて、落ち着いた話し方や明るい話し方といったスタイルも指定できます。自分の声を録音して複製する機能もあります。この記事では、まず文章から音声を生成し、WAVファイルとして保存する方法を試します。

PythonでTTSをするメリット

Advertisements

 Pythonから音声を生成できると、文章を変えながら複数の音声ファイルをまとめて作れます。たとえば、音声認識の学習用に「読み上げた音声」と「元の文章」を対にしたデータを用意する、といった使い方ができます。テキストと対になった音声を用意することで、「pydominoで日本語音声データの強制アライメントをやってみた」で紹介した強制アライメントと組み合わせることもできます。精度の良いAIモデルでTTSを行うことで、従来のモデルに見られた違和感を極力排除した自然な発話が得られるはずです。

 そして筆者がまず試したかったのは、英語の発表練習です。自分の原稿を読み上げさせれば、発音や文の区切り方を耳で確認できます。文章を少し直してすぐに聴き比べられるのも、Pythonで扱う面白さです。

2026年10月に予定しているPyCon TWは英語での発表をする必要があります!そのためまずは自分専用のお手本音声スクリプトを用意します!

 それでは早速PythonでGemini 3.8 Flash TTSを使ってみましょう。

Pythonでテキストを指定してwavファイルを作成する

Pythonコードを作成する

 今回は uvを使ってPythonプロジェクトを作成します。プロジェクトディレクトリ gemini-ttsを作成し、 google-genaiを addしましょう。

Pythonコードのサンプルはこちら。

Google AI StudioにアクセスしてAPIキーを取得する

 Google AI Studio(以下リンク先)にアクセスします。
・https://aistudio.google.com

 画面にGemini APIキーを取得するため、請求先情報を登録します。こちらは¥800分のクレジットをクレジットカードで購入しておきました。

 DashboardからAPIキー一覧ページに飛べるので、そこからキーを取得します。取得したらターミナルから exportします。これは今開いているターミナルで有効です。ターミナルを閉じたらまた exportしてください。

作成された音声(短文日本語)

 こちらが上記Pythonコードで作成された音声です。すごく自然ですね!

長文英語音声を作成してみる

 次は英語、かつ長文のテキストにしてみましょう。 text項目を次のようにします。この文章は海外PyConの冒頭のセリフをイメージしています。

 こちらが作成された音声です。35sも話しているのに完全に入力のテキスト通りですね。

自分の声をクローニングする

 本TTSは自分の声をクローニングすることも可能です。ただし、そのためには以下の2種類のサンプル音声が必要です。
・声の見本:自分が自然に話す、雑音の少ない10~30秒の音声
・同意の録音:自分で指定の同意文を読み上げた音声。日本語にも対応しています。
同意文は以下のリンク先に記載されています。
https://ai.google.dev/gemini-api/docs/voice-replication?utm_source=chatgpt.com&hl=ja

 音声が用意できたら次のPythonコードでクローニングを行います。7, 8行目は音声ファイルのパス、45行目は表示名です。

 こちらが作成された音声です。PyCon JPで筆者の声を聞いた人は、まさに本人が話していると思うことでしょう。ただし、本人はこんなに流暢ではありません!

  styleを次のように変更してみましょう。これも自然言語で指示可能、かつ日本語でもOKです。

 こちらが生成された音声です。ちょっと雰囲気変わったかな?

 トークンと料金のイメージはこちら。アプリで公開してバズってしまったら高額になってしまいそうだけど、上記文章だと2円くらいのコストですね。

まとめ

 今回は備忘録的な記事なのでここでおしまいですが、すごく自然な音声をつくれることを確認しました。Pythonでやるなら文章は別途テキストファイルを読み込んで使った方が良いかもしれませんが、自然言語で話し方を変更できることや、長文でも安定していることが確かめられました。

 直近は英語の練習に使ってみようかなと思いますが、今回使ってみてアプリ化のアイデアがいくつか出てきました。これは後ほど検討しようと思います。

Gemini 3.8 Flash TTSを使ってみました!
Xでも関連情報をつぶやいているので、wat(@watlablog)のフォローお待ちしています!

  • このエントリーをはてなブックマークに追加

SNSでもご購読できます。

コメントを残す

*