広告の掲載について

当ブログは、商品やサービスの紹介にアフィリエイト広告を利用しており、収益を得ています。
ただし、読者の皆様にとって有益な情報提供を第一に考えております。

広告 AI Python プログラミング

Google TTS日本語ナレーション自動生成【サンプルコード付き】

YouTube動画やウェビナー講座にナレーションを入れようとしたとき、こんな悩みを感じたことはありませんか。

  1. 自分でナレーションを録音するのは面倒
  2. 有料の読み上げソフトは高い
  3. Google TTSは聞いたことがあるけど使い方がわからない
サンダー
サンダー

先日、スマホアプリを作ったのですが、その紹介動画を作ろうと思ったとき、ナレーションを入れたいと想いました。

それで、Google Text-to-Speechが使えそうだと調べてみると、日本語で使い方を解説した記事がほとんどありません。

それなら自分で試して記事にしようと思ったのがこの記事を書こうと思ったきっかけです。

Google ColabとGoogle Cloud TTSを組み合わせ、日本語ナレーション音声を一括生成する方法を解説します。

JSONキー(APIキー)もサーバーも不要で、Googleアカウントだけで今日から使えます。

YouTube動画

YouTubeでも紹介しています。

動画で見たいという方は動画もぜひご覧ください。

こんな方におすすめ

  • YouTube動画や講座動画にナレーションを入れたい方
  • 有料の読み上げソフトを使わずに高品質な音声を作りたい方
  • Google Cloud TTSの使い方を日本語で知りたい方

この記事でわかること

この記事を読むと、次のことができるようになります。

この記事で分かること

  • Google Cloud TTSの日本語音声モデルの種類と特徴がわかる
  • GCPコンソールの設定(プロジェクト作成・API有効化)が完了できる
  • ColabのサンプルコードでMP3ファイルを一括生成し、ZIPでダウンロードできる

サンプルコード付きのColabノートブックも公開しているので、コードをゼロから書く必要はありません。

ノートブックを開いてセルを実行するだけで完結します。

Google Cloud TTSとは?日本語音声モデルの特徴

Google Cloud Text-to-Speech(以下、Google Cloud TTS)は、テキストをリアルな音声に変換するGoogleのAPI(外部サービスと連携するための仕組み)です。

380種類以上の音声と75以上の言語に対応しており、日本語にも複数のモデルが用意されています。

日本語で使える4つの音声モデル

Google Cloud TTSには日本語対応の音声モデルが4種類あります。

GoogleTTS音声モデル例

  • Standard:シンプルな合成音声。処理が速く、短文の読み上げに向いている
  • WaveNet:ディープラーニングを使ったより自然な音声。Standardより聴き心地がよい
  • Neural2:WaveNetをさらに改善したモデル。自然さと明瞭さのバランスがよく扱いやすい
  • Chirp3 HD:最新の高品質モデル。人間に最も近い自然な発話ができる

YouTube動画やウェビナーのナレーションには、Neural2またはChirp3 HDがおすすめです。

無料枠の目安

Google Cloud TTSは毎月の無料枠があります。

各音声モデルの無料枠

  • Standard:月400万文字まで無料
  • WaveNet:月400万文字まで無料
  • Neural2 :月100万文字まで無料
  • Chirp3 HD:月100万文字まで無料

5分の動画ナレーションはおよそ1,500〜2,000文字です。

月に100万文字まで無料のNeural2やChirp3 HDでも月に約500本分程度のナレーションをまかなえる計算になります。

個人のYouTubeチャンネルやウェビナー用途であれば、ほぼ無料枠で収まると思います。

無料枠を超えた場合は使用分だけ課金されます。

事前に請求アラートを設定しておくと安心です。

設定方法は後半のGCPコンソール設定で解説します。

事前準備:GCPコンソールの設定

Colabでコードを実行する前に、GCPコンソールで3つの設定をします。

ここが最初の山場ですが、スクリーンショット通りに進めれば10分で完了します。

GCPプロジェクトの作成

まずGCPのプロジェクトを作成します。

プロジェクトはAPIの利用をまとめる単位と考えてください。

  1. Google Cloud Consoleにアクセス
  2. ヘッダー左上のプロジェクト名をクリック
  3. ダイアログ右上の「新しいプロジェクト」をクリック
  4. プロジェクト名を入力して「作成」をクリック(例:my-tts-project)
  5. 作成後に表示されるプロジェクトIDをメモ

プロジェクトIDは後ほどColabの設定フォームで使います

必ずメモしておいてください。

プロジェクト名と異なり、サンプルコードで必要なプロジェクトIDは自動生成される英数字の文字列です。

「プロジェクト名」ではなく「プロジェクトID」をメモするよう注意してください。

Cloud TTS APIの有効化

次に、作成したプロジェクトでCloud TTS APIを有効にします。

  1. GCPコンソールの左メニューから「APIとサービス」→「ライブラリ」を開く
  2. 検索ボックスに「Text-to-Speech」と入力する
  3. 「Cloud Text-to-Speech API」を選択して「有効にする」をクリックする

「APIが有効です」と表示されれば次のステップに進めます。

請求アカウントの設定と請求アラート

Cloud TTS APIは請求アカウントが未設定だと有効化できません。

まだ設定していない場合は、GCPコンソールの「お支払い」から先に設定してください。

無料枠を超えた際の課金が心配な方は、請求アラートも合わせて設定しておきましょう。

  1. GCPコンソールの「お支払い」→「予算とアラート」を開く
  2. 「予算を作成」をクリックする
  3. 予算の上限金額を入力してしきい値を設定する

設定した金額に近づくとメールで通知が届きます。

個人利用であれば月500円程度を上限に設定しておくと安心です。

GCPの設定が完了したら、いよいよColabでナレーションを生成します。

ColabでGoogle TTSを使う8ステップ

ここからはColabのノートブックを使って実際にナレーションを生成します。

Colabノートブックは以下のリンクから開いてください。

サンプルコード(GitHub)

https://github.com/thunderblog/google-tts-colab-ja

ノートブックを開いたら、上から順にセルを実行していくだけです。

ノートブックのSTEP

  1. Step1 ライブラリのインストール
  2. Step2 Googleアカウント認証
  3. Step3 設定(音声モデル選択や再生速度など)
  4. Step4 ナレーションリストをCSVで読み込む
  5. Step5 TTS関数の定義
  6. Step6 視聴
  7. Step7

step
1
ライブラリのインストール

最初のセルでGoogle Cloud TTSのPythonライブラリをインストールします。

# 必要なライブラリをインストール
!pip install google-cloud-texttospeechCode language: Python (python)

このコードはGoogle Cloud TTSのクライアントライブラリをColab環境にインストールするためのものです。

実行するとインストールのログが流れ、最後に「Successfully installed」と表示されれば成功です。

step
2
Googleアカウントで認証(JSONキー不要)

このステップが紹介するサンプルコードでGoogle Cloud TTSをColabで使う最大のポイントです。

通常のGoogle Cloud TTSを使う場合はAPIキーが必要ですが、このノートブックはColabの認証機能を使うため、JSONキーは一切不要です。

このコードはgoogle.colab.authモジュールを使ってGoogleアカウントで認証するためのものです。

from google.colab import auth
auth.authenticate_user()
print('✅ 認証完了')Code language: JavaScript (javascript)

実行するとブラウザのポップアップが表示されます。

使用するGoogleアカウントを選択して「許可」をクリックしてください。

認証が完了するとセルの実行が終わり、【✅認証完了】と表示されます。

step
3
各種設定(音声モデル選択や再生速度など)

Step3では音声の詳細設定をします。

コードを直接編集する必要はありません。

すべてフォームのドロップダウンとスライダーで設定できます。

設定できる項目は次のとおりです。

設定を変えたい場合はStep3のセルに戻って値を変更し、再実行するだけで反映されます。

  • PROJECT_ID:メモしたプロジェクトIDをテキスト入力する(唯一の手入力項目)
  • 音声名:使用したい日本語音声モデルをドロップダウンで選ぶ(例:ja-JP-Chirp3-HD-Zephyr)
  • 言語コード:ja-JPを選択する
  • 話す速度:0.5〜2.0のスライダーで調整する(デフォルト1.0)
  • ピッチ:-20.0〜20.0のスライダーで調整する(デフォルト0.0)
ColabのStep3設定フォームでプロジェクトIDや音声モデルをドロップダウンで選んでいる画面

step
4
ナレーションリストを CSV で読み込む

セルを実行すると「CSVを選択」ボタンが表示されます。

事前に用意したCSVファイルをアップロードしてください。サンプルのCSVファイルは下記からもダウンロード可能です。

サンプルのCSVファイル

CSVファイルの形式は以下のとおりです。

  • id列:生成されるMP3ファイルの名前(英数字とアンダースコアのみ使用可)
  • text列:読み上げるナレーションのテキスト

サンプルCSVファイルは、下記のデータが入力されています。

id,text
01_intro,本日はご視聴いただきありがとうございます。
02_chapter1,第一章。まず、基本的な概念についてご説明します。
03_chapter2,第二章。次に、具体的な手順を見ていきましょう。
04_summary,以上が今回の内容のまとめです。
05_outro,最後までご覧いただき、ありがとうございました。

ExcelでCSVを保存するとShift-JISになることがありますが、このサンプルプログラムではUTF-8・Shift-JIS両方に対応しているので、そのままアップロードできます。

CSVファイルを編集し、ご自身がナレーションとして作りたいセリフをtext列に入力してください。

CSVファイルの入力例

id,text
01,おはようございます。
02,こんにちは。
03,こんばんは。

読み込み後にプレビューが表示されるので、テキストが正しく表示されているか確認してください。

下記の画像はサンプルCSVファイルをそのまま読み込ませた場合の画面です。

step
5
TTS関数の定義

これは、ナレーションを作成するためのGoogle TTSを使用する準備のプログラムです。

実行するだけで問題ありません。

このセルでは、音声合成に使う2つの関数を定義しています。

簡単に行っていることを説明します。

build_client() ─ APIクライアントを作る

課金対象プロジェクトを明示してからクライアントを作成して返します。

synthesize() ─ テキストをMP3に変換する

APIにリクエストを投げて、返ってきたMP3データ(バイト列)をそのまま返します。

このバイト列をファイルに書き出すと音声ファイルになります。

最後の print('✅ 関数定義完了') は、セルが正常に実行されたことを確認するためのものです。

step
6
視聴

一括生成の前に最初の1件だけ音声を試聴できます。

Colabのセル内にオーディオプレイヤーが表示されるので、声質や話す速度を確認してください。

気に入らない場合はStep3に戻って音声名や速度を調整してから再実行するだけで反映されます。

音声の確認が取れたら、いよいよ一括生成です。

step
7
一括生成

Step7のセルを実行すると、CSVに書いたすべてのテキストが順番に処理されます。

ログには3種類の出力が表示されます。

  • [OK]:音声の生成に成功した
  • [SKIP]:すでに同名のMP3ファイルが存在したためスキップした
  • [ERROR]:生成に失敗した(テキストや設定を確認する)

[SKIP]はノートブックを再実行したとき、生成済みのファイルを飛ばしてくれる便利な機能です。

途中でエラーが出た場合も、成功分を無駄にせず続きから再実行できます。

全件の処理が完了したら、最後のステップでZIPをダウンロードします。

step
8
ZIPでまとめてダウンロード

全ファイルの生成が完了すると、自動的に「narration_output.zip」というZIPファイルができあがります。

ブラウザのダウンロード通知が表示されたら完了です。

パソコンのダウンロードフォルダに保存されます。

ZIPを解凍するとCSVのid列で指定した名前のMP3ファイルが並んでいます。

これで一連の作業は完了です。

テキストを書いてセルを実行するだけで、高品質な日本語ナレーションが自動生成されます。

よくあるエラーと解決策

これからはよくあるエラーとその解決策についてまとめます。

APIが有効になっていないエラー

症状:API has not been used in project というエラーが表示される

原因:Cloud Text-to-Speech APIが有効化されていないか、別のプロジェクトで有効化されている

対処:GCPコンソールの「APIとサービス」→「有効なAPI」でCloud Text-to-Speech APIが一覧にあるか確認してください。なければAPIライブラリから有効化します。PROJECT_IDが正しいプロジェクトのものかも確認してください。

権限不足エラー(認証切れ)

症状:403 Permission denied または credentials 関連のエラーが表示される

原因:Colabのセッションが切れて認証が無効になっている

対処:Step2の認証セルに戻って再実行してください。Colabは一定時間操作がないとセッションが切れることがあります。再認証後にStep7から再実行すれば、__SHORTCODE_11__で生成済みファイルをスキップして続きから処理できます。

__SHORTCODE_12__が出て音声ファイルが生成されない

症状:特定の行で__SHORTCODE_13__が表示されてMP3が生成されない

原因:CSVのidまたはtextが空になっている、あるいはidに使えない文字が含まれている

対処:CSVを開いてエラーが出た行のidとtextを確認してください。idには英数字とアンダースコア以外の文字(日本語・スペースなど)は使えません。

まとめ:Google TTS日本語ナレーション自動生成を3行でおさらい

  • JSONキー不要:Googleアカウントだけで今日から使える
  • ドロップダウン設定:コードを書かなくても音声・速度・ピッチを選べる
  • 一括生成→ZIP:CSVを用意してセルを実行するだけでナレーション作業が自動化できる

GCPコンソールの設定さえ済ませてしまえば、あとは毎回Colabを開いてセルを実行するだけです。

ナレーション録音の手間から解放されたい方はぜひ試してみてください。

Colabノートブックは以下のリンクから開けます。

サンプルノートブックのGitHub

https://github.com/thunderblog/google-tts-colab-ja







  • この記事を書いた人
SNSアイコン

サンダー

電気機器メーカーに就職し、ハードエンジニアとして勤務しています。 ブログでは電気、プログラミング、データサイエンスについて書いています。 電気×プログラミング×データサイエンスの3本柱で日本の製造業を盛り上げたいです!

-AI, Python, プログラミング
-, , , ,