Clawdbot Skills

SAG Skill - ElevenLabs TTSをmacOS標準sayコマンド風UIで提供するClawdbot拡張機能

Clawdbot向けSAG Skillを利用して、ElevenLabs Text-to-Speech APIによる高品質音声合成をmacOS標準sayコマンド風のインターフェースで実現する方法を解説します。

投稿者: AI Tools Hub
Clawdbot SAG ElevenLabs TTS 音声合成 CLI macOS SSML

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: デフォルト音声ID
  • SAG_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などと連携し、家電の状態やイベントを音声で通知する仕組みを構築できる。

制限事項・セキュリティ考慮事項

制限事項

  1. APIキー必須: ElevenLabs APIキーがない場合、ツールは動作しない
  2. SSML制限: v3モデルは<phoneme>タグに未対応(v2/v2.5もsagでは公開されていない)
  3. 音声タグの互換性: 音声タグ(例: [whispers])はv3モデル専用であり、v2/v2.5では効果がない
  4. API料金: ElevenLabs APIは従量課金制であり、大量の音声生成はコストが発生する
    • 2026年2月時点の料金: 約$0.30/1,000文字(v3モデル)

セキュリティ考慮事項

  1. APIキーの管理: 環境変数ELEVENLABS_API_KEYに機密情報が含まれるため、以下の対策を推奨

    • .bashrc.zshrcでの設定を避け、専用の認証情報管理ツール(1Password、Vaultなど)を使用
    • 開発環境と本番環境でAPIキーを分離
  2. 音声ファイルの保管: 生成された音声ファイルに個人情報や機密情報が含まれる場合、適切なアクセス制御を設定

    chmod 600 /tmp/sensitive-audio.mp3
  3. API使用量監視: ElevenLabsダッシュボードでAPI使用量を定期的に確認し、不正利用を検知

  4. コンテンツフィルタリング: ユーザー入力をそのまま音声化する場合、悪意のあるテキスト(ヘイトスピーチ、誹謗中傷など)のフィルタリングが必要

参考リンク


本記事の情報は2026年2月15日時点のものです。SAG Skillの機能、コマンド仕様、インストール方法、ElevenLabs APIの料金体系は変更される可能性があります。最新情報は公式サイトおよびドキュメントをご確認ください。

この記事をシェア

人気記事

Comparison

ChatGPT(OpenAI)とClaude(Anthropic)の機能比較 2026年版。コーディング・長文解析・コスト・API料金の違いを検証

ChatGPT(GPT-4o/o3)とClaude(Sonnet 4.6/Opus 4.5)を2026年時点の最新情報で比較する。コーディング能力、長文処理、日本語品質、API料金、無料プランの違いをSWE-benchなどのベンチマーク結果とともに解説する。

続きを読む →
opinion

【2026年2月20日 所感】「AIがコードを書く」は仮説から現実になった——しかし私たちはその意味をまだ消化できていない

2026年2月20日に観測したコーディングエージェント関連ニュースの総括と所感。Anthropicの自律性研究、cmux、MJ Rathbunのエージェント事故、HN「外骨格 vs チーム」論争、Stripe Minions週1000件PR、Taalas 17k tokens/sec——朝から夜までの流れを通じて見えてきた「AIがコードを書く時代」の実相を考察する。

続きを読む →
tool

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ツールも探す

生産性、創造性、イノベーションのための60以上のAIツールの厳選ディレクトリをご覧ください。

0 tools selected