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 を作成しました。")