sample_pyttsx3.py ダウンロード/コピー

sample_pyttsx3.py をダウンロード

sample_pyttsx3.py
sample_pyttsx3.py
 1"""
 2Windows TTS (pyttsx3) を使用した音声合成のサンプルスクリプト。
 3
 4このスクリプトは、`pyttsx3` ライブラリを介してWindowsの音声合成機能を利用し、
 5指定されたテキストを音声ファイル (WAV形式) に変換します。
 6コマンドライン引数によって異なる動作を実行できます。
 7
 8**使用方法:**
 9
10*   **利用可能な音声の一覧表示:**
11    ::
12
13        python sample_pyttsx3.py list
14
15    現在システムにインストールされている利用可能な音声エンジンと音声名を一覧表示します。
16
17*   **デフォルト音声 (Haruka) でテキストを読み上げ:**
18    ::
19
20        python sample_pyttsx3.py
21
22    定義済みのテキストをデフォルトの「Haruka」音声で読み上げ、
23    ``sample_windows_tts.wav`` ファイルとして保存します。
24
25*   **指定した音声でテキストを読み上げ:**
26    ::
27
28        python sample_pyttsx3.py <voice_name>
29
30    `<voice_name>` で指定された音声を使用してテキストを読み上げ、
31    ``sample_windows_tts.wav`` ファイルとして保存します。
32    例えば、「Zira」や「Haruka」などを指定できます。
33
34このスクリプトは `tktts_pyttsx3` モジュールに依存しています。
35音声合成の結果は常に ``sample_windows_tts.wav`` として出力されます。
36
37:doc:`sample_pyttsx3_usage`
38"""
39
40import sys
41import tktts_pyttsx3
42
43
44# ------------------------------------------------------------
45# 利用可能な音声を表示
46# ------------------------------------------------------------
47if len(sys.argv) >= 2 and sys.argv[1].lower() == "list":
48    tktts_pyttsx3.list_available_voices()
49    sys.exit()
50
51
52# ------------------------------------------------------------
53# 音声を指定
54# ------------------------------------------------------------
55if len(sys.argv) >= 2:
56    voice = sys.argv[1]
57else:
58    voice = "Haruka"
59
60
61# ------------------------------------------------------------
62# 読み上げる文章
63# ------------------------------------------------------------
64text = """
65こんにちは。
66これは Windows の音声合成機能を使ったサンプルです。
67Pythonから簡単に文章を読み上げることができます。
68"""
69
70
71# ------------------------------------------------------------
72# 音声を生成
73# ------------------------------------------------------------
74tktts_pyttsx3.speak(
75    outfile="sample_windows_tts.wav",
76    text=text,
77    voice=voice,
78    speak_rate=150,
79)
80
81print("sample_windows_tts.wav を作成しました。")