【Python】AIでナレーションを自動生成する方法|Google Text-to-Speechの使い方


前回の記事では、
URLからショート動画の台本を自動生成する方法を紹介しました。

今回はその続きとして、

👉 「テキストを音声に変換する」

部分を作っていきます。


動画にする上で意外と面倒なのが👇

  • ナレーションを録音する
  • 音声を編集する

この部分ですが、AIを使うことで👇

👉 自動で音声を作ることができます


■ この記事でできること

この記事を読むと👇

・テキストを入力する
・ボタンを押す
・ナレーション音声が生成される

ところまで作れるようになります。


■ 使用する技術

  • Python
  • Google Text-to-Speech(音声生成)
  • Streamlit(UI)

■ 事前準備


■ ライブラリインストール

pip install google-cloud-texttospeech

■ Google Cloudの設定

👉 ここが少しだけハードルあります

  1. Google Cloudでプロジェクト作成
  2. Text-to-Speech APIを有効化
  3. サービスアカウントキー(JSON)を作成

👉 詳しい手順は別記事で解説します


■ 認証設定

コード内で指定👇

import os
os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "google_creds.json"

■ 実装コード(コピペOK)

👉 まずはこれをそのまま動かしてください

import streamlit as st
from google.cloud import texttospeech
import os# 認証ファイル
os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "google_creds.json"st.title("音声生成テスト")text = st.text_area("読み上げテキストを入力")if st.button("音声を生成"):
if not text:
st.warning("テキストを入力してください")
else:
try:
client = texttospeech.TextToSpeechClient() input_text = texttospeech.SynthesisInput(text=text) voice = texttospeech.VoiceSelectionParams(
language_code="ja-JP",
name="ja-JP-Neural2-B"
) audio_config = texttospeech.AudioConfig(
audio_encoding=texttospeech.AudioEncoding.MP3
) response = client.synthesize_speech(
input=input_text,
voice=voice,
audio_config=audio_config
) with open("output.mp3", "wb") as out:
out.write(response.audio_content) st.success("音声生成完了")
st.audio("output.mp3") except Exception as e:
st.error(f"エラー: {e}")

■ 使い方

1. アプリを起動
2. テキストを入力
3. ボタンを押す
4. 音声が再生される

■ 何をしているのか(最低限)


■ 音声生成

client = texttospeech.TextToSpeechClient()

👉 Googleの音声APIを使う準備


response = client.synthesize_speech(...)

👉 テキストを音声に変換


■ 実際に使ってみた感想

👉 正直なところ👇


■ Google Text-to-Speech

・安定している
・設定がシンプル
・少し機械っぽい

■ VOICEVOX(参考)

・かなり自然
・ただしPC負荷が高い
・固まることがある

👉 結論

・まず試すなら Google
・こだわるなら VOICEVOX

■ つまずいたポイント


■ ① 認証エラー

👉 JSONファイルがない / パス違い


■ ② API有効化していない

👉 Google Cloud側でONにする必要あり


■ ③ 音が出ない

👉 ファイル生成されていない


■ ここまででできること

👉 今の状態👇

台本(前回)

音声(今回)

👉 動画の材料が揃いました


■ 次の記事

👉 次はこれ

③ 音声+画像で動画を作る方法(moviepy)

コメント