speak プログラム仕様
統合TTS CLIツール
このスクリプトは、複数の音声合成エンジン(pyttsx3, VOICEVOX, AquesTalkPlayer, OpenAI)を 統合し、コマンドラインインターフェースを通じてテキストを音声に変換します。 クリップボードまたはファイルからテキストを読み込み、指定されたエンジンと話者設定で 音声合成を行い、リアルタイム再生または音声ファイルへの出力をサポートします。
主要な機能: - 複数のTTSエンジン (pyttsx3, VOICEVOX, AquesTalkPlayer, OpenAI) の選択 - クリップボードまたはテキストファイルからの入力 - リアルタイム再生またはWAV/MP3ファイルへの出力 - 話者マッピングのカスタマイズと自動検出 - 読み上げ速度、ピッチ、一時停止時間などの音声プロパティ調整 - 文字列置換ルールの適用 - 利用可能な音声リストの表示
実行には、pipで指定されたライブラリと、必要に応じて外部依存(ffmpeg, AquesTalkPlayer.exe, OpenAI API Key)が必要です。
関連リンク: tktts - このプログラムが内部で利用するtkTTSライブラリのドキュメント
- ai.speak.initialize()
コマンドライン引数を解析し、プログラム設定を初期化する。
argparseモジュールを利用して、TTSエンジンの選択、入力/出力ファイル、 音声プロパティ、AquesTalkPlayerのパスなど、多岐にわたるオプションを設定します。
- 戻り値:
argparse.Namespace: 解析されたコマンドライン引数を含むオブジェクト。
- ai.speak.main()
プログラムの主要な実行フローを制御する。
コマンドライン引数の解析から始まり、`tkTTS`インスタンスの初期化、 利用可能な音声や話者マップの表示、入力テキストの読み込み、 話者の特定と音声マッピング、そして最終的な音声合成処理までの一連のステップを実行します。 エラーが発生した場合や処理が完了した場合には、プログラムを終了します。
- ai.speak.terminate()
プログラムを安全に終了させる。
グローバル変数`pause`が設定されている場合、ユーザーにエンターキーを押すよう促し、 その後プログラムを終了します。