テキストを合成音声(Text-to-Speech)するGUIツールを作った

ちょっと前にブログを音声化してみた!(半自動)で作ったやつの応用で、テキストを合成音声に変換して出力するツールを作成しました。使うには地味に面倒な設定が必要だったりしますが、設定さえ終われば遊べると思います。

目次

ツール概要

このツールは、GUIからテキストを入力して、Google Cloud Text-to-Speech を用いて日本語音声(MP3ファイル)として保存するPythonアプリです。

注意事項

  • ツールのダウンロードは無料ですが、GoogleCloudのAPIを利用するため、そちらで課金が発生する可能性があります
  • Windowsでの実行確認しかしていません
  • 実行できるまでにちょっと準備が必要です
  • デバッグ甘かったらサーセン
  • このツールを使ったことで不都合があったとしても、こちらでは一切の責任を負いません。あくまで自己責任での利用をお願いします

主な機能

  • GUIで日本語テキストを入力
  • 音声名(性別付き)をプルダウンから選択
  • ファイル名を指定して MP3 で保存
  • 長文(最大5000バイトごとに自動分割)にも対応
  • 複数ファイルをffmpeg で結合し、1ファイルにまとめて出力

ダウンロード

ダウンロードはこちら(zip)

Pythonのインストール手順(Windows編)

ステップ 1:公式サイトにアクセス

Python.org
Download Python The official home of the Python Programming Language
  • 自動で「Windows向けの最新安定版」が表示されるので、それを選択してください。
  • 例:「Download Python 3.12.1

ステップ 2:インストーラーを実行

ダウンロードした .exe ファイルをダブルクリックして起動し、次の点を確認してください

  • 「Add Python 3.x to PATH」にチェックを入れる ← 重要!
  • 次に「Install Now」をクリック

ステップ 3:インストール確認

インストールが完了したら、以下を実行して確認:

  1. 「スタート」メニューで「cmd」を検索してコマンドプロンプトを開く
  2. 以下を入力:
python --version

例: Python 3.12.1 と表示されればOK!

ツールの設定

使用ライブラリの設定

  1. Python ライブラリのインストール:
pip install google-cloud-texttospeech
  1. ffmpeg のインストール(Windows の場合):
choco install ffmpeg

または https://ffmpeg.org/download.html からダウンロードして PATH を通してください。

Google Cloud で google_credentials.json を取得

GCP プロジェクトを作成(または選択)

  • https://console.cloud.google.com/
  • 上部の「プロジェクトを選択」→「新しいプロジェクトを作成」
  • 名前をつけて作成(例:text-to-speech-tool

Text-to-Speech API を有効化

  • ナビゲーションメニュー → 「APIとサービス」→「ライブラリ」
  • 検索ボックスに Text-to-Speech API と入力
  • 「有効にする」ボタンをクリック

サービスアカウントを作成

  • 「IAMと管理」→「サービスアカウント」
  • 「サービスアカウントを作成」
設定例:
項目
サービスアカウント名tts-tool-account
ロール「プロジェクト」→「編集者」など(最低限「Text-to-Speech ユーザー」でもOK)

キーを作成(JSON)

  • 作成したサービスアカウントの「操作」列の「︙」→「鍵を管理」
  • 「鍵を追加」→「新しい鍵を作成」
    • 種類:JSON
  • ダウンロードされたファイルが google_credentials.json であればOK

このファイルは非常に重要なので、安全に保管してください。

config.properties の作成

このファイルは、実行ディレクトリに置きます(デフォルトで配置済み)

google_credentials=google_credentials.json
output_folder=./output
  • google_credentials: GCPのサービスアカウントJSONファイルのパス(↑でダウンロードしたもの)
  • output_folder: 音声ファイルを出力するフォルダ(存在しない場合は自動生成されます)

使い方

実行方法

main.pyをダブルクリック or コマンド発行します

python main.py

GUI画面が表示されます:

  1. 「音声化するテキスト」欄に読み上げたい文章を入力
  2. ファイル名を入力(拡張子は不要)
  3. プルダウンで音声(例:ja-JP-Chirp3-HD-Charon(女性))を選択
  4. 「音声化して保存」をクリック

指定した出力先フォルダに xxx.mp3 として保存されます。

出力ファイルについて

  • 5000バイトごと に自動で分割して音声を合成
  • 一時的に複数の .mp3 を生成後、ffmpeg により1本に結合されます
  • output_folder に最終ファイルのみが残ります

備考

  • Google Cloud の API 利用には有効なプロジェクトと請求設定が必要です
  • 音声の選択肢には「性別」も表示されるようになっています
やまぐろ
この記事を書いた人
SESで業務アプリケーション開発、エンドユーザ向け機能などの開発に携わっている文系(経営学)卒エンジニア。
当サイトでは読書記録を残したり、ガジェットのレビューをしたりしています。
たまにエンジニアっぽい記事を書いたりすることも。

コメント

コメントする

このサイトは reCAPTCHA によって保護されており、Google のプライバシーポリシー および 利用規約 に適用されます。

reCaptcha の認証期間が終了しました。ページを再読み込みしてください。

目次