SAG Skill - ElevenLabs TTSをmacOS標準sayコマンド風UIで提供するClawdbot拡張機能
Clawdbot向けSAG Skillを利用して、ElevenLabs Text-to-Speech APIによる高品質音声合成をmacOS標準sayコマンド風のインターフェースで実現する方法を解説します。
SAG Skill - ElevenLabs TTSをmacOS標準sayコマンド風UIで提供するClawdbot拡張機能
Clawdbot向けのSAG Skillが提供するsagコマンドにより、ElevenLabs Text-to-Speech(TTS)APIを使用した高品質音声合成をmacOS標準のsayコマンドに似たインターフェースで実行できる。本スキルは、複数音声モデルの選択、音声タグによる感情表現、SSML互換の一時停止制御、ローカル再生機能を提供する。
概要
SAG Skillは、ElevenLabs社が提供するTTS APIをコマンドライン環境から利用するためのツールである。Clawdbotのスキルシステムに統合されており、AIエージェントが自然言語テキストを音声に変換し、ローカルスピーカーで再生できる仕組みを提供する。
公式サイト(https://sag.sh)によれば、本ツールはHomebrewパッケージとして配布されており、macOSの`say`コマンドと互換性のあるユーザーエクスペリエンスを提供する設計となっている。
技術的仕様
システム要件
- macOS、Linux、またはWindows(WSL2推奨)
sagバイナリ(Homebrew経由でインストール)- ElevenLabs APIキー(環境変数で設定)
インストール方法
Clawdbot環境では、以下のコマンドでインストールが実行される。
brew install steipete/tap/sag
インストール後、sagコマンドがシステムPATHに追加される。
環境変数(必須)
export ELEVENLABS_API_KEY="your-api-key-here"
代替環境変数:
SAG_API_KEY: CLIツール固有の設定
音声デフォルト設定:
ELEVENLABS_VOICE_ID: デフォルト音声IDSAG_VOICE_ID: CLI固有のデフォルト音声ID
主要機能
1. 基本的なテキスト読み上げ
最もシンプルな使用方法。
sag "Hello there"
2. 音声選択
利用可能な音声一覧を取得し、特定の音声を指定して再生する。
# 音声一覧表示
sag voices
# 特定の音声で再生
sag speak -v "Roger" "Hello from Roger"
3. 音声モデル選択
ElevenLabsは複数の音声モデルを提供しており、用途に応じて選択できる。
eleven_v3: 感情表現重視(デフォルト)eleven_multilingual_v2: 多言語対応、安定性重視eleven_flash_v2_5: 高速レスポンス重視
sag --model eleven_flash_v2_5 "Quick response test"
4. 音声タグ(v3モデル)
テキスト行の先頭に音声タグを配置することで、感情表現や話し方を制御できる。
サポートされる音声タグ:
[whispers]: ささやき声[shouts]: 大声[sings]: 歌うように[laughs]: 笑い声[starts laughing]: 笑い始める[sighs]: ため息[exhales]: 息を吐く[sarcastic]: 皮肉っぽく[curious]: 好奇心を持って[excited]: 興奮して[crying]: 泣きながら[mischievously]: いたずらっぽく
sag "[whispers] keep this quiet. [short pause] ok?"
5. 一時停止制御
v3モデルでは独自の一時停止記法を使用する。
sag "First sentence. [pause] Second sentence. [long pause] Third sentence."
v2/v2.5モデルではSSML <break>タグをサポート。
sag --model eleven_multilingual_v2 'First sentence. <break time="1.5s" /> Second sentence.'
6. テキスト正規化
数値、URL、単位の読み上げ方法を制御する。
# 自動正規化(デフォルト)
sag --normalize auto "Visit https://example.com at 3:30 PM"
# 正規化無効
sag --normalize off "API version 3.5.2"
7. 言語バイアス設定
多言語テキストの正規化ルールを指定する。
sag --lang de "Guten Tag, wie geht es Ihnen?"
実装例
例1: Clawdbotチャット音声返信
#!/bin/bash
# AIエージェントが音声で返答
sag -v Clawd -o /tmp/voice-reply.mp3 "Your request has been processed successfully."
# 返信にメディアファイルを添付
# MEDIA:/tmp/voice-reply.mp3
例2: キャラクター音声生成
#!/bin/bash
# 狂気の科学者風の音声
sag -v "Mad Scientist" -o /tmp/scientist.mp3 "[excited] Eureka! [short pause] The experiment... [laughs] it's working! [shouts] We've done it!"
例3: 多言語ナレーション
#!/bin/bash
# 英語とドイツ語の混合テキスト
sag --model eleven_multilingual_v2 --lang en "Welcome to our presentation. [pause] Willkommen zu unserer Präsentation."
例4: Node.js統合による動的音声生成
const { exec } = require('child_process');
function generateSpeech(text, voice = 'Clawd', outputPath = '/tmp/speech.mp3') {
return new Promise((resolve, reject) => {
const command = `sag -v "${voice}" -o "${outputPath}" "${text}"`;
exec(command, (error, stdout, stderr) => {
if (error) {
reject(error);
return;
}
resolve(outputPath);
});
});
}
// 使用例
generateSpeech('[excited] Hello, world!', 'Clawd', '/tmp/greeting.mp3')
.then(path => console.log(`Audio generated: ${path}`))
.catch(err => console.error(`Error: ${err.message}`));
例5: バッチ処理による複数音声ファイル生成
#!/bin/bash
# テキストファイルから複数の音声ファイルを生成
while IFS= read -r line; do
filename=$(echo "$line" | md5sum | cut -d' ' -f1)
sag -o "/tmp/audio/${filename}.mp3" "$line"
done < input.txt
ユースケース
1. AIエージェントの音声応答
Clawdbotエージェントがユーザーからの質問に対して音声で返答する環境を構築できる。特に、映画のあらすじ説明や物語の朗読など、長文の音声化に有効。
2. アクセシビリティ支援
視覚障害者向けに、Webページやドキュメントの内容を音声で提供するシステムを構築できる。
3. 教育コンテンツ生成
語学学習教材や発音ガイドを音声ファイルとして自動生成できる。
4. ポッドキャスト・オーディオブック制作
テキスト原稿から高品質なナレーション音声を生成し、コンテンツ制作の効率化を実現する。
5. スマートホーム音声通知
Home Assistantなどと連携し、家電の状態やイベントを音声で通知する仕組みを構築できる。
制限事項・セキュリティ考慮事項
制限事項
- APIキー必須: ElevenLabs APIキーがない場合、ツールは動作しない
- SSML制限: v3モデルは
<phoneme>タグに未対応(v2/v2.5もsagでは公開されていない) - 音声タグの互換性: 音声タグ(例:
[whispers])はv3モデル専用であり、v2/v2.5では効果がない - API料金: ElevenLabs APIは従量課金制であり、大量の音声生成はコストが発生する
- 2026年2月時点の料金: 約$0.30/1,000文字(v3モデル)
セキュリティ考慮事項
-
APIキーの管理: 環境変数
ELEVENLABS_API_KEYに機密情報が含まれるため、以下の対策を推奨.bashrcや.zshrcでの設定を避け、専用の認証情報管理ツール(1Password、Vaultなど)を使用- 開発環境と本番環境でAPIキーを分離
-
音声ファイルの保管: 生成された音声ファイルに個人情報や機密情報が含まれる場合、適切なアクセス制御を設定
chmod 600 /tmp/sensitive-audio.mp3 -
API使用量監視: ElevenLabsダッシュボードでAPI使用量を定期的に確認し、不正利用を検知
-
コンテンツフィルタリング: ユーザー入力をそのまま音声化する場合、悪意のあるテキスト(ヘイトスピーチ、誹謗中傷など)のフィルタリングが必要
参考リンク
- SAG公式サイト: https://sag.sh
- SAG GitHubリポジトリ: https://github.com/steipete/sag
- ElevenLabs公式サイト: https://elevenlabs.io/
- ElevenLabs API Documentation: https://docs.elevenlabs.io/
- ElevenLabs Pricing: https://elevenlabs.io/pricing
- Clawdbot公式サイト: https://clawdbot.io/
本記事の情報は2026年2月15日時点のものです。SAG Skillの機能、コマンド仕様、インストール方法、ElevenLabs APIの料金体系は変更される可能性があります。最新情報は公式サイトおよびドキュメントをご確認ください。
関連記事
Apple Notes Skill - CLIからのApple Notesメモ管理をClawdbotに統合
Clawdbot向けApple Notes Skillを利用して、memoCLIを通じたターミナルベースのメモ作成・検索・編集・削除を実現する方法を解説します。
Apple Reminders Skill - CLIからのAppleリマインダー管理をClawdbotに統合
Clawdbot向けApple Reminders Skillを利用して、remindctlCLIを通じたターミナルベースのリマインダー作成・編集・完了管理を実現する方法を解説します。
Bear Notes Skill - Clawdbot向けノート管理機能
Clawdbot向けBear Notes Skillを利用して、grizzly CLIによるBearアプリのノート作成・検索・管理を実現する方法を解説します。
人気記事
ChatGPT(OpenAI)とClaude(Anthropic)の機能比較 2026年版。コーディング・長文解析・コスト・API料金の違いを検証
ChatGPT(GPT-4o/o3)とClaude(Sonnet 4.6/Opus 4.5)を2026年時点の最新情報で比較する。コーディング能力、長文処理、日本語品質、API料金、無料プランの違いをSWE-benchなどのベンチマーク結果とともに解説する。
【2026年2月20日 所感】「AIがコードを書く」は仮説から現実になった——しかし私たちはその意味をまだ消化できていない
2026年2月20日に観測したコーディングエージェント関連ニュースの総括と所感。Anthropicの自律性研究、cmux、MJ Rathbunのエージェント事故、HN「外骨格 vs チーム」論争、Stripe Minions週1000件PR、Taalas 17k tokens/sec——朝から夜までの流れを通じて見えてきた「AIがコードを書く時代」の実相を考察する。
868のスキルをnpx 1コマンドで——「Antigravity Awesome Skills」が主要AIコーディングエージェントの共通スキル基盤になりつつある
Claude Code・Gemini CLI・Codex CLI・Cursor・GitHub Copilotなど主要AIコーディングアシスタントを横断する868以上のスキルライブラリ「Antigravity Awesome Skills」(v5.4.0)を詳細分析。Anthropic・Vercel・OpenAI・Supabase・Microsoftの公式スキルを統合した設計思想、ロール別バンドル・ワークフロー機能、SKILL.mdによる相互運用性のアーキテクチャを解説する。
最新記事
AIエージェント間通信の標準化競争が始まる——AquaとAgent Semantic Protocolが同日登場
2026年2月23日、Hacker Newsに2つのAIエージェント通信プロジェクトが同日掲載された。Go製CLI「Aqua」とセマンティックルーティングを実装する「Agent Semantic Protocol」は、MCPが解決できないP2P・非同期通信の課題に取り組む。
Claude Sonnet 4.6、無料・Proプランのデフォルトモデルに——社内テストでOpus 4.5を59%の確率で上回る
Anthropicは2026年2月17日にリリースしたClaude Sonnet 4.6を、claude.aiの無料・Proプランのデフォルトモデルに設定した。価格はSonnet 4.5と同額の$3/$15 per 1Mトークン。社内評価ではコーディングエージェント用途でOpus 4.5を上回る結果が出ている。
GoogleがOpenClaw経由のGemini利用ユーザーのアカウントを永久停止——月額$250請求継続のまま
2026年2月23日、Hacker Newsで140pt/107コメントを集めたレポートによると、GoogleはOpenClaw(サードパーティクライアント)経由でGeminiを使用していたGoogle AI Pro/Ultraユーザーを予告なしに永久停止した。技術的・経済的背景を整理する。