Skip to content

feat: add Voice Design (Text to Voice) support using eleven_ttv_v3 #1553

Description

@ystknsh

概要

ElevenLabs の Voice Design(Text to Voice)機能に対応する。
テキストで声の特徴を記述することで、新しい voice を生成できる機能。

既存の Voice Clone(音声サンプルから voice を作成)と並ぶ、voice 作成手段の追加。

背景調査

Voice Clone vs Voice Design

方式 入力 結果
Voice Clone (既存) 音声サンプル voice_id が作られる
Voice Design (新規) テキストで声の特徴を記述 voice_id が作られる

どちらも作成された voice_id を通常の TTS API で使用する。

API 仕様

  • エンドポイント: POST /v1/text-to-voice/design(TTS とは別エンドポイント)
  • モデル: eleven_ttv_v3
  • 主要パラメータ:
    • voice_description(必須): 声の特徴をテキストで記述
    • text: プレビュー用テキスト(100-1000文字)
    • guidance_scale: プロンプトへの忠実度(デフォルト5)
    • reference_audio_base64: 参考音声(v3 のみ)
  • レスポンス: generated_voice_id + base64 エンコードされた音声プレビュー

参考ドキュメント

実装方針

既存の Voice Clone 実装と同じアーキテクチャに従う:

voice_design.vue → Pinia Store → Electron IPC → handler_voice_design.ts → ElevenLabsClient SDK

既存 Voice Clone の実装(参考)

  • UI: src/renderer/pages/voice_clone.vue
  • Handler: src/main/mulmo/handler_voice_clone.ts
  • Store: src/renderer/store/voice_clone.ts
  • SDK: @elevenlabs/elevenlabs-js を直接使用(mulmocast-cli は不使用)

関連

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions