mike_tools¶
コマンド文字列と WAV ファイルのマッピング管理、 および音声合成・ユーティリティ機能を提供します。
- mike.mike_tools.errmsg(e)¶
例外情報を詳細にフォーマットして出力します。
例外クラス名、メッセージ、スタックトレースを整形して出力します。
- Parameters:
e (Exception) – 発生した例外
- mike.mike_tools.get_wav_file(command, csv_file='config/communication.csv')¶
コマンド文字列に基づいて対応する WAV ファイル名を取得します。
CSV ファイルから読み込み、受信コマンドが CSV に登録されたコマンドで始まるかチェックします。 マッチした場合、対応するWAVファイルパスを返します。
【マッピング仕様】 CSV ファイルの想定構成: - 1列目(index 0):未使用 - 2列目(index 1):コマンド文字列 - … - 5列目(index 4):WAV ファイル名(拡張子なし) - 6列目(index 5):言語設定
【例】 CSV: “1,ねえミケ,ja-JP,ja-JP,preamble,ja-JP” → get_wav_file(“ねえミケ”) → (“snd/preamble.wav”, “ja-JP”)
- Parameters:
command (str) – マッチングするコマンド文字列
csv_file (str) – コマンド↔WAV マッピング CSV ファイルのパス(デフォルト: config/communication.csv)
- Returns:
(WAVファイルのパス, 言語設定)のタプル、マッチなし時は(None, “None”)
- Return type:
tuple
- mike.mike_tools.read_wav_file(file_path)¶
WAV ファイルをバイナリで読み込みます。
サーバから受信した音声 WAV をメモリに読み込みます。 ファイル I/O エラーハンドリングを行います。
- Parameters:
file_path (str) – 読み込む WAV ファイルのパス(相対パスまたは絶対パス)
- Returns:
WAVファイルのバイナリデータ、読み込み失敗時は None
- Return type:
bytes or None
- mike.mike_tools.synthesize_speech(voice_handler: VoiceVoxHandler, text: str, speaker_id: int | None = None) str¶
テキストを音声に合成し、WAV ファイルパスを返します。
VOICEVOX または OpenJTalk を使用してテキストを音声に変換します。
- Parameters:
text (str) – 合成対象のテキスト
speaker_id (int, optional) – スピーカーID(デフォルト: 設定ファイルから取得)
- Returns:
生成されたWAVファイルのパス
- Return type:
str
- Raises:
Exception – 音声合成に失敗した場合
- mike.mike_tools.urlPerse(url: str)¶
URLを解析し、ホスト名、ポート番号、トランスポートを抽出します。
URLの形式に基づいてトランスポート方式を判定します: - “/mcp” → http - “/scp” → scp - その他 → stdio
- Parameters:
url (str) – 解析対象のURL(例: “http://mike-server:8000/mcp”)
- Returns:
(ホスト名, ポート番号, トランスポート)のタプル
- Return type:
tuple