mcpField
E
elevenlabs-tts

elevenlabs-tts

github.com/midudevクリエイティブ・メディア7.0k63 回インストール1 週間前に更新
リポジトリ

elevenlabs-tts について

inference.sh のコマンドラインから ElevenLabs のアプリを実行するテキスト読み上げスキルです。複数モデル、音声調整、対話生成、リアルタイム音声に対応し、音声制作やナレーションに利用できます。

主な機能

  1. 01複数の ElevenLabs モデル選択
  2. 02音声の選択と調整設定
  3. 03対応モデルでのオーディオタグ
  4. 04複数話者の対話生成
  5. 05リアルタイムのテキスト読み上げ

活用シーン

  1. 01製品や動画のナレーション制作
  2. 02長尺の読み上げ音声生成
  3. 03複数話者による対話制作
  4. 04生成中のテキストを音声化

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/midudev/autoskills --skill elevenlabs-tts

インストール後、Claude Code で/elevenlabs-ttsを入力して読み込まれたか確認します。

詳細

belt CLI スキルをインストール: npx skills add belt-sh/cli

ElevenLabs Text-to-Speech

inference.sh CLI を介して、22 種類以上の音声を利用できるプレミアムなテキスト読み上げです。ElevenLabs の各モデルは、それぞれ個別のアプリとして同じ価格で提供されています。

ElevenLabs TTS

クイックスタート

inference.sh CLI(belt)が必要です。インストール手順

belt login

# Generate speech with Eleven v4
belt app run elevenlabs/eleven-v4 --input '{"text": "Hello, welcome to our product demo.", "voice": "aria"}'

結果には、生成されたファイルへの audio URL が含まれます。

アプリの選び方

アプリモデル用途テキスト上限1,000 文字あたりの価格
elevenlabs/eleven-v4Eleven v4最新かつ最も表現力豊か。90 以上の言語に対応し、オーディオタグを利用可能10,000$0.08
elevenlabs/eleven-v4-turboEleven v4 Turbo低レイテンシーの v4。リアルタイム音声エージェント向け10,000$0.04
elevenlabs/eleven-v3Eleven v3前世代モデル。70 以上の言語に対応し、オーディオタグを利用可能5,000$0.08
elevenlabs/eleven-multilingual-v2Eleven Multilingual v2安定した長尺ナレーション10,000$0.08
elevenlabs/eleven-flash-v2-5Eleven Flash v2.5最速かつ最安。長文や大量処理向け40,000$0.04
  • すべてのアプリに run があります。テキスト全体を入力すると、音声ファイルが出力されます。
  • 2 つの v4 アプリには realtime もあります。テキストをストリーミング入力すると、書き出しながら音声がストリーミングで返されます(「リアルタイム音声」を参照)。
  • elevenlabs/eleven-v4 と elevenlabs/eleven-v3 には dialogue もあります。1 回の生成で複数の音声を使用できます(「ダイアログ」を参照)。
  • 現在の価格は belt app pricing elevenlabs/eleven-v4 で確認できます。

elevenlabs/tts は、モデルを入力として指定する旧式のアプリです。現在も動作しますが、上記のモデル別アプリをおすすめします。

音声ライブラリ

女性の音声
音声スタイル
ariaアメリカ英語、会話調
aliceイギリス英語、自信に満ちた話し方
bellaアメリカ英語、温かみのある話し方
jessicaアメリカ英語、表現力豊か
lauraアメリカ英語、プロフェッショナル
lilyイギリス英語、柔らかな話し方
sarahアメリカ英語、親しみやすい話し方
男性の音声
音声スタイル
georgeイギリス英語、威厳のある話し方
adamアメリカ英語、低い声
billアメリカ英語、落ち着いた声
brianアメリカ英語、会話調
callum大西洋横断英語、力強い話し方
charlieオーストラリア英語、自然な話し方
chrisアメリカ英語、くだけた話し方
danielイギリス英語、堂々とした話し方
ericアメリカ英語、親しみやすい話し方
harryアメリカ英語、若々しい声
liamアメリカ英語、明瞭な話し方
matildaアメリカ英語、温かみのある話し方
riverアメリカ英語、自信に満ちた話し方
rogerアメリカ英語、威厳のある話し方
willアメリカ英語、明るい声

使用例

基本的な音声生成
belt app run elevenlabs/eleven-v4 --input '{"text": "Welcome to our quarterly earnings presentation.", "voice": "george"}'
オーディオタグ(v4 と v3)

角括弧内のタグは読み上げられるのではなく、音声として演じられます。感情、話し方、アクセント、音などを自由に指定できます。

belt app run elevenlabs/eleven-v4 --input '{
  "text": "[excited] We did it! [whispers] Nobody saw this coming. [laughs] What a day.",
  "voice": "jessica"
}'

よく使われるタグ:[laughs]、[whispers]、[sighs]、[excited]、[sad]、[shouts]、[slow]、[fast]。ほかのモデルではタグも読み上げられるため、使用しないでください。

モデルを選ぶ
# Long narration, stable delivery
belt app run elevenlabs/eleven-multilingual-v2 --input '{
  "text": "Chapter one. It was a quiet morning in the harbour town.",
  "voice": "daniel"
}'

# High volume at the lowest price
belt app run elevenlabs/eleven-flash-v2-5 --input '{
  "text": "Your order has shipped and will arrive on Thursday.",
  "voice": "sarah"
}'
音声の調整
belt app run elevenlabs/eleven-v3 --input '{
  "text": "Fine-tune the voice characteristics for your use case.",
  "voice": "bella",
  "stability": 0.3,
  "similarity_boost": 0.9,
  "style": 0.4
}'
パラメーター範囲効果アプリ
stability0-1値が高いほど一貫性が増し、低いほど表現力が増しますすべて
similarity_boost0-1値が高いほど元の音声の特徴に近づきますすべて
style0-1値が高いほどスタイルが強調されますv3、Multilingual v2、Flash v2.5
use_speaker_boosttrue/false話者の明瞭さを高めますv3、Multilingual v2、Flash v2.5

Eleven v4 と v4 Turbo で設定できるのは、stability と similarity_boost の 2 つだけです。オーディオタグを使って話し方を調整してください。

カスタム音声

クローン音声またはデザイン音声を使用するには、voice_id を指定します(elevenlabs/voice-clone または elevenlabs/voice-design から取得)。指定すると voice は上書きされます。

belt app run elevenlabs/eleven-v4 --input '{"text": "This is my own voice.", "voice_id": "YOUR_VOICE_ID"}'
出力形式
# High-quality MP3
belt app run elevenlabs/eleven-v4 --input '{
  "text": "High quality audio output.",
  "voice": "daniel",
  "output_format": "mp3_44100_192"
}'
形式説明
mp3_44100_12844.1kHz、128kbps の MP3(デフォルト)
mp3_44100_19244.1kHz、192kbps の MP3
pcm_1600016kHz の Raw PCM
pcm_2205022.05kHz の Raw PCM
pcm_2400024kHz の Raw PCM
pcm_4410044.1kHz の Raw PCM
その他の言語

話させたい言語でテキストを書いてください。

# Spanish
belt app run elevenlabs/eleven-v4 --input '{
  "text": "Hola, bienvenidos a nuestra presentación.",
  "voice": "aria"
}'

# French
belt app run elevenlabs/eleven-v4 --input '{
  "text": "Bonjour, bienvenue à notre démonstration.",
  "voice": "alice"
}'

対話

dialogue は会話を一度に読み上げ、1つのファイルを返します。各行にはそれぞれ独自の音声が割り当てられます。

belt app run elevenlabs/eleven-v4 --function dialogue --input '{
  "segments": [
    {"text": "[excited] Did you hear? The release went out last night.", "voice": "jessica"},
    {"text": "[surprised] Already? I thought that was next week.", "voice": "george"},
    {"text": "[laughs] Nope. Everything shipped.", "voice": "jessica"}
  ]
}'

最大10種類の音声を使用できます。1つの対話は約2,000文字以内に収め、長い台本はシーンごとに分割してください。料金はアプリの文字単価に基づき、すべての行の文字数を合計して計算されます。

リアルタイム音声

elevenlabs/eleven-v4-turbo と elevenlabs/eleven-v4 の realtime は、テキストを書き込むそばから(たとえば LLM のトークンを)ストリーミングで送信し、生成中に音声を受け取るライブ機能です。ソケット経由で動作するため、SDK またはアプリのページから呼び出してください。belt app run では呼び出せません。

# pip install "inferencesh[async]"
import asyncio
from inferencesh import async_inference

async def main():
    client = async_inference(api_key="...")
    task, session = await client.live({
        "app": "elevenlabs/eleven-v4-turbo",
        "function": "realtime",
        "input": {"voice": "george"},
    })

    async def speak():
        for piece in ["Hello there. ", "This is spoken ", "while it is being written. "]:
            await session.send({"events": {"type": "text", "text": piece}})
        await session.send({"events": {"type": "end"}})   # finish speaking, then end

    asyncio.create_task(speak())
    async for frame in session:
        if isinstance(frame, bytes):
            play(frame)            # raw PCM, 16-bit mono, 24 kHz
        else:
            print(frame)           # {"characters": 54, "seconds": 3.9}

asyncio.run(main())

送信する内容は {"events": {...}} です。

イベント意味
{"type": "text", "text": "..."}読み上げるテキストです。届いたら分割して送信してください。
{"type": "flush"}追加を待たず、ここまでに送信した内容を読み上げます
{"type": "end"}テキストの送信は終了です。読み上げを完了してからセッションを終了します
  • 約40文字、8単語が届くと読み上げが始まります。短い行の場合は flush を送信してください。
  • ソケットを閉じるとセッションはすぐに終了します。残りを先に聞きたい場合は end を送信してください。
  • 音声(voice または voice_id)、stability、language_code はセッション開始時に設定します。
  • テキストが届かない状態が idle_minutes(デフォルトは2)続くと、セッションは自動的に終了します。
  • 料金は送信した文字数に応じて、アプリの文字単価で計算されます。

音声+動画のワークフロー

# 1. Generate voiceover
belt app run elevenlabs/eleven-v4 --input '{
  "text": "Introducing the future of AI-powered content creation.",
  "voice": "george"
}' > voiceover.json

# 2. Create talking head video
belt app run bytedance/omnihuman-1-5 --input '{
  "image": "https://portrait.jpg",
  "audio": "<audio-url-from-step-1>"
}'

ユースケース

  • ナレーション:製品デモ、解説動画、コマーシャル
  • オーディオブック:一貫した音声による長編ナレーション
  • ポッドキャスト:自然な話し方の AI ホスト
  • E ラーニング:複数の言語での講座ナレーション
  • アクセシビリティ:高品質なスクリーンリーダー用コンテンツ
  • IVR:プロフェッショナルな電話システムのメッセージ
  • 音声エージェント:realtime を使って、LLM の回答が書き込まれている間に読み上げます
  • 動画ナレーション:ドキュメンタリーやソーシャルメディア向けコンテンツ

関連スキル

# ElevenLabs multi-speaker dialogue
npx skills add inference-sh/skills@elevenlabs-dialogue

# ElevenLabs voice changer
npx skills add inference-sh/skills@elevenlabs-voice-changer

# ElevenLabs sound effects
npx skills add inference-sh/skills@elevenlabs-sound-effects

# All TTS models (Kokoro, DIA, Chatterbox, Inworld TTS, and more)
npx skills add inference-sh/skills@text-to-speech

# Full platform skill (all apps)
npx skills add inference-sh/skills@infsh-cli

すべての音声アプリを表示するには、belt app list --category audio を実行してください。

コメント