sample_irodori_tts.py ダウンロード/コピー
sample_irodori_tts.py
sample_irodori_tts.py
1"""
2Irodori-TTSを使用した音声合成のサンプルスクリプトです。
3
4このスクリプトは、Irodori-TTSライブラリを用いて、指定されたテキストから音声を生成します。
5コマンドライン引数に応じて、利用可能な音声のリスト表示、または参照音声ファイル(ref_wav)を用いた声質固定の音声生成が可能です。
6
7- コマンドライン引数なし: 事前定義されたテキストの音声を生成し、`sample_irodori.wav` として出力します。
8- `list` 引数指定時: Irodori-TTSで利用可能な音声オプションや、声質固定に関する情報が表示されます。
9- 参照WAVファイル名指定時: 指定されたWAVファイルを参照音声として使用し、その声質を基準に音声を生成します。
10
11使用例:
12 - 基本的な音声合成::
13 python sample_irodori_tts.py
14 - 利用可能な音声と音声固定方法の表示::
15 python sample_irodori_tts.py list
16 - 参照音声ファイルを用いた音声合成::
17 python sample_irodori_tts.py reference.wav
18
19:doc:`sample_irodori_tts_usage`
20"""
21# sample_irodori_tts.py
22#
23# 使用例:
24# python sample_irodori_tts.py
25# python sample_irodori_tts.py list
26# python sample_irodori_tts.py reference.wav
27
28import sys
29import tktts_irodori
30
31
32# ------------------------------------------------------------
33# 利用可能な音声・音声固定方法を表示
34# ------------------------------------------------------------
35if len(sys.argv) >= 2 and sys.argv[1].lower() == "list":
36 tktts_irodori.list_available_voices()
37
38 print()
39 print("=== Irodori-TTS の音声指定 ===")
40 print("固定話者リストはありません。")
41 print("caption を変更すると、話し方や雰囲気を調整できます。")
42 print("プログラム例:")
43 print("Python:")
44 print(" tktts_irodori.speak(")
45 print(' outfile="sample.wav",')
46 print(' text="こんにちは。これは音声合成のテストです。",')
47 print(' voice="default",')
48 print(' caption="落ち着いた自然な声で、明瞭に読み上げる。",')
49 print(" model=model,")
50 print()
51 print("声質を固定したい場合は、参照音声ファイル ref_wav を指定します。")
52 print()
53 print("使用例:")
54 print(" python sample_irodori_tts.py reference.wav")
55 print("プログラム例:")
56 print(' ref_wav="reference.wav"')
57 print()
58 print("Python:")
59 print(" tktts_irodori.speak(")
60 print(' outfile="sample.wav",')
61 print(' text="こんにちは。これは音声合成のテストです。",')
62 print(' voice="default",')
63 print(' caption="落ち着いた自然な声で、明瞭に読み上げる。",')
64 print(' ref_wav="reference.wav",')
65 print(" model=model,")
66 print(" )")
67 print()
68 print("同じ ref_wav を使用することで、同じ声質を基準に音声を生成できます。")
69
70
71 sys.exit()
72
73
74 sys.exit()
75
76
77# ------------------------------------------------------------
78# 参照音声
79# ------------------------------------------------------------
80if len(sys.argv) >= 2:
81 ref_wav = sys.argv[1]
82else:
83 ref_wav = None
84
85
86# ------------------------------------------------------------
87# モデルを読み込む
88# ------------------------------------------------------------
89model = tktts_irodori.load_model()
90
91
92# ------------------------------------------------------------
93# 読み上げる文章
94# ------------------------------------------------------------
95text = """
96こんにちは。
97これは Irodori TTS を使った音声合成のサンプルです。
98ニューラルネットワークを使って、文章から音声を生成しています。
99"""
100
101
102# ------------------------------------------------------------
103# 音声を生成
104# ------------------------------------------------------------
105tktts_irodori.speak(
106 outfile="sample_irodori.wav",
107 text=text,
108 voice="default",
109 caption="落ち着いた自然な声で、明瞭に読み上げる。",
110 ref_wav=ref_wav,
111 model=model,
112)
113
114print("sample_irodori.wav を作成しました。")