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

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