voicegen-port について
voicegen-portは、ElevenLabsの音声機能を利用するCLI兼MCPサーバーです。音声生成、文字起こし、音声の分離、効果音生成、ボイスライブラリ管理に対応し、生成音声はアーティファクトの概要として返します。
主な機能
- 01テキスト読み上げ生成
- 02効果音の生成
- 03音声の文字起こし
- 04音声トラックの分離
- 05ボイスの検索と管理
- 06音声アーティファクトの概要
活用シーン
- 01テキストから音声を生成
- 02録音音声を文字起こし
- 03ノイズの多い音声から声を分離
- 04ボイスを設計して保存
MCP 対応
`mcp`サブコマンドでstdio MCPサーバーを起動し、音声やボイス操作のためのElevenLabsツールを14種類公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
14掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| text | string | はい | 音声に変換するテキスト。 |
| model_id | string | いいえ | 使用するテキスト読み上げモデルの ID。省略した場合のデフォルトは eleven_multilingual_v2 です。 |
| voice_id | string | いいえ | 音声生成に使用する音声 ID。省略した場合は、ドキュメントに記載されたデフォルトの音声が適用されます。 |
| output_format | string | いいえ | 生成音声の出力形式。mp3_44100_128 や pcm_44100 など。 |
詳細
voicegen-port
voicegen-port は ElevenLabs API を通じて、テキストを音声に変換したり、音声をテキストに変換したりします。選択した音声で段落を読み上げたり、説明から効果音を作成したり、録音を文字起こししたり、ノイズの多いクリップから音声を抽出したり、音声ライブラリ自体を管理したりできます。音声ライブラリでは、文章による説明から新しい音声をデザインし、保存する価値のあるものを保存できます。コマンドラインから、またはエージェント向けの MCP サーバーとして実行できます。
ElevenLabs API キーが必要です。ELEVENLABS_API_KEY 環境変数に設定してください。このキーは xi-api-key ヘッダーとして API に送信され、出力には表示されません。環境変数が設定されていない場合、すべての呼び出しはその名前を示すエラーで失敗します。
音声はバイナリデータであり、このツールはその性質を正しく扱います。生成の呼び出しでは、音声データそのものをテキスト出力にダンプするのではなく、アーティファクトの概要(バイト数、base64 の長さ、コンテンツタイプ)を報告します。
インストール
npx @reneturcios/voicegen-port voices
または、コンテナイメージを実行します。
docker run -i -e ELEVENLABS_API_KEY ghcr.io/cloudcorprecords/voicegen-port
コンテナはデフォルトで MCP サーバーとして起動します(以下を参照)。CLI として使用するには、CLI 引数を渡します。
CLI
export ELEVENLABS_API_KEY="your ElevenLabs API key"
voicegen-port tts "Welcome to the show" --voice v_george
voicegen-port sfx "rain on a tin roof" --duration 4
voicegen-port stt interview.mp3 --language en
voicegen-port isolate noisy-call.mp3
voicegen-port voices
voicegen-port voice v_rachel
voicegen-port search-voices "narrator" --page-size 5
voicegen-port design "A calm British narrator" --text "Sample line"
voicegen-port create-from-preview gen_1 "Calm Narrator"
voicegen-port add-voice "Studio Voice" --description "Warm and close"
voicegen-port delete-voice v_old
voicegen-port models
voicegen-port subscription
voicegen-port user
voicegen-port --version
終了コード:成功時は 0、呼び出し失敗時(ELEVENLABS_API_KEY の未設定や API エラーを含む)は 1、使用方法のエラー時は 2 です。
MCP サーバー
1 つのバイナリで、どちらの使い方にも対応します。mcp サブコマンドで stdio MCP サーバーを起動します。
npx -y @reneturcios/voicegen-port mcp
MCP クライアントの設定:
{
"mcpServers": {
"voicegen-port": {
"command": "npx",
"args": ["-y", "@reneturcios/voicegen-port", "mcp"],
"env": { "ELEVENLABS_API_KEY": "your ElevenLabs API key" }
}
}
}
ツール
これは、公式 ElevenLabs MCP サーバーのうち、ドキュメント化されている主要なツール(14 個)です。会話型 AI およびテレフォニーのツール(create_agent、list_agents、get_agent、delete_agent、add_knowledge_base_to_agent、make_outbound_call、list_phone_numbers)に加えて、voice_clone、speech_to_speech、play_audio は実装されていません。ビルドレポートを参照してください。
| ツール | 入力 | 返される内容 |
|---|---|---|
text_to_speech | text(必須)、voice_id、model_id、output_format(省略可) | 音声アーティファクトの概要:バイト数、base64 の長さ、コンテンツタイプ。 |
text_to_sound_effects | text(必須)、duration_seconds、prompt_influence(省略可) | 生成された効果音の音声アーティファクトの概要。 |
speech_to_text | file_path(必須)、language_code、model_id(省略可) | テキストを含む文字起こしのペイロード。 |
isolate_audio | file_path(必須) | 抽出された音声トラックの音声アーティファクトの概要。 |
list_voices | — | すべての音声:各音声の ID、名前、カテゴリ。 |
get_voice | voice_id(必須) | 音声の完全なレコード。 |
search_voices | search(必須)、category、page_size(省略可) | 一致する音声。同じ概要形式で返されます。 |
text_to_voice | prompt(必須)、text(省略可) | 生成された音声 ID を含む、音声デザインのプレビュー。 |
create_voice_from_preview | generated_voice_id、voice_name(必須)、voice_description(省略可) | 保存された音声のレコード。 |
add_voice | name(必須)、description(省略可) | 追加された音声のレコード。 |
delete_voice | voice_id(必須) | API からの削除応答。 |
list_models | — | すべてのモデル:各モデルの ID、名前、説明。 |
check_subscription | — | アカウントのサブスクリプションレコード。 |
get_user_info | — | API キー所有者のユーザーレコード。 |
呼び出しは JSON ボディを使用して https://api.elevenlabs.io/v1 に送信されます。speech_to_text と add_voice は上流ではマルチパート形式でファイルをアップロードしますが、この再構築ではビルドレポートに記録されているとおり、ファイル名や音声を指定する JSON ボディとして扱う簡略化を行っています。
開発
npm install
npm run build # tsc -> dist/
npm test # node test runner over test/*.test.ts, no network (fake fetch fixtures)
npm run dev # run the CLI from source via tsx
ライセンス
MIT — LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。