voice-message について
テキストから音声ファイルを生成し、チャットサービスごとのボイスメッセージ送信手順を示すスキルです。合成音声をチャット経由で届けるワークフローに適しています。
主な機能
- 01テキストから音声を生成
- 02音声の選択
- 03一般的なチャット送信手順
- 04Feishu/Lark 用音声スクリプト
- 05Discord 用波形データの準備
活用シーン
- 01チャットで合成音声を送信
- 02Feishu/Lark 用ボイスメッセージの準備
- 03Discord ボイスメッセージ形式の作成
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ xmanrui/ voice-message --skill voice-messageインストール後、Claude Code で/voice-messageを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdreferences/voices.mdscripts/send_feishu_voice.shgen_waveform.pygen_voice.sh詳細
音声メッセージ
任意のチャットチャンネルにテキストを音声メッセージとして送信します。
前提条件
edge-tts— Microsoft Edge TTS(pip install edge-tts)ffmpeg/ffprobe— 音声の変換と長さの検出
デフォルトの音声
- 中国語:
zh-CN-XiaoxiaoNeural - 英語:
en-US-JennyNeural - その他の言語:references/voices.mdを参照してください。
ステップ 1:音声ファイルを生成する
scripts/gen_voice.shを使用して、テキストをogg/opusファイルに変換します。
scripts/gen_voice.sh "你好" /tmp/voice.ogg
scripts/gen_voice.sh "Hello" /tmp/voice.ogg en-US-JennyNeural
引数:<text> <output.ogg> [voice]
- 音声を省略した場合、デフォルトで
zh-CN-XiaoxiaoNeuralが使用されます。
ステップ 2:チャンネル経由で送信する
汎用(Telegram、Signal、WhatsAppなど)
messageツールを直接使用します。
action=send, asVoice=true, filePath=/tmp/voice.ogg
ほとんどのチャンネルで機能します。Telegramでは動作が確認されています。
Feishu/Lark
⚠️ Feishuはmessageツール経由のasVoice=trueをサポートしていません。専用スクリプトを使用する必要があります。
scripts/send_feishu_voice.shを使用します。
scripts/send_feishu_voice.sh /tmp/voice.ogg <receive_id> <tenant_access_token> [receive_id_type]
receive_id_type:open_id(デフォルト)、chat_id、user_id、union_id、email- スクリプトは、長さを指定してopus形式でアップロードし、音声メッセージタイプとして送信して、音声バブルを表示します。
tenant_access_tokenを取得するには、アプリの認証情報を使用してFeishuテナントトークンAPIを利用します。
Discord
Discordの音声メッセージには、波形と特別なフラグが必要です。
scripts/gen_voice.shでoggを生成します。- 波形を生成します:
python3 scripts/gen_waveform.py /tmp/voice.ogg- JSONを出力します:
{"duration_secs": 4.2, "waveform": "base64..."}
- JSONを出力します:
flags: 8192(IS_VOICE_MESSAGE)と、添付ファイルのメタデータに波形と長さを指定して、Discord API経由で送信します。- 波形または長さがない場合、エラー50161が発生します。
フォールバック
チャンネルでasVoice=trueを指定しても音声バブルが表示されない場合:
- プラットフォームのネイティブAPI経由で送信してみます。
- ネイティブAPIを利用できない場合は、音声ファイルを添付して送信します。
コメント
Markdown 対応