voicevox_handler

VOICEVOX を利用した音声合成ハンドラ。

class mike.voicevox_handler.VoiceVoxHandler(config)

Bases: object

VOICEVOXエンジンのハンドラークラス。

テキスト音声合成エンジンVOICEVOXと連携し、 テキストから音声WAVファイルを生成します。

audio_query(text, speaker)

テキストから音声クエリを生成します。

VOICEVOX の audio_query エンドポイントを呼び出し、 テキストを音声合成するための中間データを生成します。

Parameters:
  • text (str) – 合成するテキスト

  • speaker (int) – 話者ID

Returns:

音声クエリデータ(辞書形式)

Return type:

dict

Raises:
  • json.JSONDecodeError – レスポンスのJSON解析に失敗した場合

  • Exception – API呼び出しに失敗した場合

close()

リソース開放処理。

現在は特にリソースを持たないため、何もしません。

synthesis(speaker, query_data)

音声合成を実行し、フォーマットを変換してファイルを返します。

音声クエリデータをもとに VOICEVOX で音声を合成し、 WAV形式への変換を行います。

Parameters:
  • speaker (int) – 話者ID

  • query_data (dict) – 音声クエリデータ(audio_queryの戻り値)

Returns:

変換後のWAVファイルパス

Return type:

str

Raises:

Exception – 合成またはフォーマット変換に失敗した場合