together-audio について
together-audio は、Together AI の音声 API を使った音声生成と認識のためのスキルです。REST、ストリーミング、リアルタイム処理を資料とスクリプトで案内します。
主な機能
- 01テキスト読み上げ生成
- 02ストリーミングとリアルタイム音声出力
- 03音声の文字起こしと翻訳
- 04話者分離と単語単位のタイムスタンプ
- 05リアルタイム文字起こしと字幕
活用シーン
- 01テキストから音声を生成
- 02音声ファイルや URL の文字起こし
- 03アプリへのリアルタイム音声や字幕の追加
- 04話者区間と単語単位の時刻の抽出
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ togethercomputer/ skills --skill together-audioインストール後、Claude Code で/together-audioを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlreferences/stt-models.mdtts-models.mdscripts/stt_realtime.pystt_transcribe.pystt_transcribe.tstts_generate.pytts_generate.tstts_websocket.py詳細
Together Audio
概要
Together AI の音声 API を次の用途に使用します。
- テキストからの音声生成
- ストリーミングまたはリアルタイムでの音声出力
- 音声からテキストへの文字起こし
- 翻訳、話者分離、タイムスタンプ
- ライブ字幕とリアルタイム文字起こし
このスキルが適している場合
- テキストから音声を生成する
- アップロードした音声ファイルや URL を文字起こしする
- アプリにリアルタイム音声や字幕機能を追加する
- 話者セグメントや単語ごとのタイミングを抽出する
別のスキルに引き継ぐ場合
- テキストのみの生成には
together-chat-completionsを使用します - 視覚コンテンツの生成ワークフローには
together-videoまたはtogether-imagesを使用します - 音声モデル自体を専用インフラストラクチャでホストする必要がある場合に限り、
together-dedicated-model-inferenceを使用します
クイックルーティング
- REST TTS またはストリーミング TTS
- references/tts-models.md を読みます
- scripts/tts_generate.py または scripts/tts_generate.ts から始めます
- WebSocket 経由のリアルタイム TTS
- references/tts-models.md を読みます
- scripts/tts_websocket.py から始めます
- ファイルの文字起こし、翻訳、話者分離、またはタイムスタンプ
- references/stt-models.md を読みます
- scripts/stt_transcribe.py または scripts/stt_transcribe.ts から始めます
- リアルタイム STT
- references/stt-models.md を読みます
- scripts/stt_realtime.py から始めます
ワークフロー
- タスクが TTS か STT かを確認します。
- レイテンシーとインタラクションの要件に応じて、REST、ストリーミング、またはリアルタイムの通信方式を選びます。
- 関連するリファレンスファイルからモデルとレスポンス形式を選びます。
- リクエストの仕様を記憶だけで組み立て直すのではなく、該当するスクリプトを基に作業を始めます。
- Python の STT アップロードでは、音声ファイルをバイナリモードで開き、パス文字列だけでなくファイルハンドルを渡します。
重要なルール
- Python スクリプトには Together v2 SDK(
together>=2.0.0)が必要です。古いバージョンを使用している場合は、先にアップグレードしてください:uv pip install --upgrade "together>=2.0.0"。 - TTS には
client.audio.speech.create()を使用します。 - REST TTS は
BinaryAPIResponseを返します。保存するにはresponse.write_to_file(path)を呼び出してください。stream_to_fileは使用しないでください(このオブジェクトには存在しません)。 - ストリーミング TTS(
stream=True)は、AudioSpeechStreamChunkオブジェクトのStreamを返します。チャンクを反復処理し、chunk.typeを確認して、音声データにはbase64.b64decode(chunk.delta)をデコードしてください。ストリームオブジェクトにはファイル書き込み用のヘルパーはありません。 - 文字起こしには
client.audio.transcriptions.create()、翻訳にはclient.audio.translations.create()を使用します。 - バッチ文字起こしと翻訳には共通の厳格な上限があります。直接アップロードは 80 MB、URL からの取得は 1 GB、リクエストあたりの音声は 4 時間です。これより大きなデータを渡す場合は、
file=に公開 HTTPS URL を指定してください。音声が長い場合は、4 時間以下のチャンクに分割してください。references/stt-models.md の「Limits」セクションを参照してください。 - リアルタイム API では音声形式を厳密に扱う必要があります。バイト列をストリーミングする前に、PCM に関する要件を確認してください。
- 話者分離と単語タイムスタンプを有効にするとレスポンスの形式が変わるため、詳細な出力を明示的に処理するコードを記述してください。
リソース一覧
- TTS リファレンス:references/tts-models.md
- STT リファレンス:references/stt-models.md
- Python TTS ワークフロー:scripts/tts_generate.py
- TypeScript TTS ワークフロー:scripts/tts_generate.ts
- Python リアルタイム TTS ワークフロー:scripts/tts_websocket.py
- Python STT ワークフロー:scripts/stt_transcribe.py
- TypeScript STT ワークフロー:scripts/stt_transcribe.ts
- Python リアルタイム STT ワークフロー:scripts/stt_realtime.py
公式ドキュメント
コメント
Markdown 対応