Whissle MCP サーバー
音声テキスト変換、ダイアライゼーション、翻訳、テキスト要約のための Whissle API エンドポイントへのアクセスを提供する Python ベースのサーバー。
⚠️ 重要事項
このサーバーはWhissle APIエンドポイントへのアクセスを提供しますが、これには費用がかかる場合があります。
API呼び出しを行う各ツールにはコスト警告が表示されます
以下のガイドラインに従ってください:
ユーザーが明示的に要求した場合にのみツールを使用する
音声を処理するツールでは、音声の長さがコストに影響するので考慮する
翻訳や要約などの一部の操作ではコストが高くなる場合があります
説明にコストに関する警告がないツールは、既存のデータを読み取るだけなので無料で使用できます。
Related MCP server: Voice Recorder MCP Server
前提条件
Python 3.8以上
pip (Python パッケージインストーラー)
Whissle API認証トークン
インストール
リポジトリをクローンします。
git clone <repository-url> cd whissle_mcp仮想環境を作成してアクティブ化します。
python -m venv venv source venv/bin/activate # On Windows, use: venv\Scripts\activate必要なパッケージをインストールします。
pip install -e .環境変数を設定します。プロジェクト ルートに次の内容の
.envファイルを作成します。WHISSLE_AUTH_TOKEN=insert_auth_token_here # Replace with your actual Whissle API token WHISSLE_MCP_BASE_PATH=/path/to/your/base/directory⚠️重要:実際のトークンをリポジトリにコミットしないでください。.env ファイル
.env、誤ってコミットされないように.gitignoreに含まれています。Claude 統合を構成する:
claude_config.example.jsonをclaude_config.jsonにコピーし、パスを更新します。{ "mcpServers": { "Whissle": { "command": "/path/to/your/venv/bin/python", "args": [ "/path/to/whissle_mcp/server.py" ], "env": { "WHISSLE_AUTH_TOKEN": "insert_auth_token_here" } } } }/path/to/your/venv/bin/python仮想環境内の Python インタープリターの実際のパスに置き換えます。/path/to/whissle_mcp/server.pyを server.py ファイルへの実際のパスに置き換えます。
構成
環境変数
WHISSLE_AUTH_TOKEN: Whissle API 認証トークン(必須)これは機密性の高い認証情報であり、決して共有したりバージョン管理にコミットしたりしてはいけません。
有効なトークンを取得するには、管理者に問い合わせてください
ローカルの
.envファイルに安全に保存します
WHISSLE_MCP_BASE_PATH: ファイル操作のベースディレクトリ(オプション、デフォルトはユーザーのデスクトップ)
サポートされているオーディオ形式
サーバーは次のオーディオ形式をサポートしています。
WAV (.wav)
MP3 (.mp3)
OGG (.ogg)
FLAC (.flac)
M4A (.m4a)
ファイルサイズの制限
最大ファイルサイズ: 25 MB
この制限を超えるファイルは拒否されます
利用可能なツール
1. 音声テキスト変換
Whissle API を使用して音声をテキストに変換します。
response = speech_to_text(
audio_file_path="path/to/audio.wav",
model_name="en-NER", # Default model
timestamps=True, # Include word timestamps
boosted_lm_words=["specific", "terms"], # Words to boost in recognition
boosted_lm_score=80 # Score for boosted words (0-100)
)2. 音声ダイアライゼーション
話者識別機能を使用して音声をテキストに変換します。
response = diarize_speech(
audio_file_path="path/to/audio.wav",
model_name="en-NER", # Default model
max_speakers=2, # Maximum number of speakers to identify
boosted_lm_words=["specific", "terms"],
boosted_lm_score=80
)3. テキスト翻訳
テキストをある言語から別の言語に翻訳します。
response = translate_text(
text="Hello, world!",
source_language="en",
target_language="es"
)4. テキスト要約
LLM モデルを使用してテキストを要約します。
response = summarize_text(
content="Long text to summarize...",
model_name="openai", # Default model
instruction="Provide a brief summary" # Optional
)5. ASRモデルの一覧
利用可能なすべての ASR モデルとその機能を一覧表示します。
response = list_asr_models()応答フォーマット
音声テキスト化とダイアライゼーション
{
"transcript": "The transcribed text",
"duration_seconds": 10.5,
"language_code": "en",
"timestamps": [
{
"word": "The",
"startTime": 0,
"endTime": 100,
"confidence": 0.95
}
],
"diarize_output": [
{
"text": "The transcribed text",
"speaker_id": 1,
"start_timestamp": 0,
"end_timestamp": 10.5
}
]
}翻訳
{
"type": "text",
"text": "Translation:\nTranslated text here"
}要約
{
"type": "text",
"text": "Summary:\nSummarized text here"
}エラー応答
{
"error": "Error message here"
}エラー処理
サーバーには、次のような堅牢なエラー処理機能が含まれています。
HTTP 500 エラーの自動再試行
さまざまな障害シナリオの詳細なエラーメッセージ
ファイルの検証(存在、サイズ、形式)
認証チェック
一般的なエラーの種類:
HTTP 500: サーバー エラー (再試行メカニズムあり)
HTTP 413: ファイルが大きすぎます
HTTP 415: サポートされていないファイル形式
HTTP 401/403: 認証エラー
サーバーの実行
サーバーを起動します。
mcp serveサーバーはデフォルトのMCPポート(通常は8000)で利用可能になります。
テスト
すべてのツールの機能を検証するためのテスト スクリプトが提供されています。
python test_whissle.pyテスト スクリプトは次の処理を実行します。
認証トークンを確認する
利用可能なすべてのツールをテストする
各操作の詳細な出力を提供する
エラーを適切に処理する
サポート
問題や質問がある場合は、以下までお問い合わせください。
詳細についてはエラーメッセージを確認してください
認証トークンを確認する
オーディオファイルが要件を満たしていることを確認する
API関連の問題についてはWhissleサポートにお問い合わせください
ライセンス
[ここにライセンス情報を追加してください]
Appeared in Searches
- Automating File Processing and Communication Tasks
- A workflow for processing and sharing meeting-related materials
- A workflow for processing and summarizing voice recordings into meeting notes and sending emails
- A search for translation services or information
- A platform providing TTS (Text-to-Speech) capabilities