PythonでgTTSとPyAutoGUIを使った音声ファイルの自動生成

Python

今回は、PythonのgTTS(Google Text-to-Speech)とpyautoguiを使って、ユーザーが入力したテキストを音声ファイルに変換し、そのテキストをファイル名にして保存する方法を紹介します。

gTTSはテキストを音声に変換するライブラリで、簡単に音声ファイルを作成することができます。また、pyautoguiを使用することで、ポップアップでユーザーにテキストを入力してもらい、その入力をもとに処理を進めることができます。

必要なライブラリ

このプログラムを実行するには、以下のライブラリが必要です。

pip install gtts pyautogui

これで、必要なライブラリがインストールされます。

サンプルコード

下記のコードは、ユーザーが入力したテキストをファイル名にして、.mp3形式で保存する例です。

from gtts import gTTS
import pyautogui

# pyautoguiのポップアップでテキスト入力を取得
text = pyautogui.prompt(text="音声合成するテキストを入力してください:", title="gTTS Text Input", default="")

# テキストが入力された場合
if text:
    # 空白や特殊文字を避けるため、ファイル名をフォーマット
    formatted_filename = f"{text}.mp3".replace(" ", "_").replace("/", "_").replace("\\", "_")

    # gTTSで音声ファイルを作成
    tts = gTTS(text=text, lang='ja')

    # 音声ファイルをフォーマットされた名前で保存
    tts.save(formatted_filename)

    pyautogui.alert(text=f"音声ファイル '{formatted_filename}' が作成されました。", title="Success", button="OK")

else:
    pyautogui.alert(text="入力されたテキストが空です。処理を終了します。", title="Error", button="OK")

コードの説明

  1. ポップアップでテキストを入力
    pyautogui.prompt()を使って、ユーザーにポップアップを表示し、音声合成するテキストを入力してもらいます。
  2. ファイル名をフォーマット
    入力されたテキストをそのままファイル名に使用しますが、ファイル名に使えない文字(空白やスラッシュなど)をreplace()を使って_に置き換えています。
  3. gTTSで音声を生成し保存
    gTTSを使って入力テキストを音声に変換し、指定されたファイル名で.mp3形式の音声ファイルとして保存します。
  4. 成功メッセージ
    処理が完了すると、ポップアップで成功メッセージが表示され、音声ファイルが保存されたことが通知されます。

実行結果

例えば、ユーザーが「こんにちは」と入力すると、こんにちは.mp3というファイル名で音声ファイルが生成されます。

まとめ

このコードを使うことで、ユーザーの入力したテキストを音声ファイルに変換し、さらにそのテキストをファイル名として利用することができます。ブログやウェブサイトなどで自動音声ファイル生成を簡単に行いたい場合に便利です。

コメント

タイトルとURLをコピーしました