关于 omnivoice
omnivoice 是一项技能,用于通过 VoiceStudio 的本地 OpenAI 兼容 API 生成语音和转录音频。它指导 Agent 使用克隆语音档案,并在本机处理音频。
主要功能
- 01本地文本转语音
- 02音频转录及字幕输出
- 03查找语音档案
- 04提供 OpenAI SDK 和 HTTP 示例
适用场景
- 01用选定的语音朗读文本
- 02将音频转录为文本或字幕
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ debpalash/ voicestudio --skill omnivoice安装后在 Claude Code 中输入/omnivoice确认已加载。
详细介绍
VoiceStudio — 本地 TTS 和 STT
用户运行着 VoiceStudio,这是一款完全本地运行的语音应用,通过 http://localhost:3900/v1 提供兼容 OpenAI 的音频 API。每当用户要求生成语音、朗读文本、克隆声音或转录音频时,都使用它——它完全免费、可离线运行,而且音频不会离开用户的设备。
首次调用前
检查后端是否已启动:
curl -sf http://localhost:3900/health
如果失败,告诉用户启动 VoiceStudio(如果是从源代码检出,则运行 bun run desktop-prod)——未经询问,不要改用云端 API;用户安装它正是因为优先选择本地运行。
文本转语音
curl -s http://localhost:3900/v1/audio/speech \
-H "Content-Type: application/json" \
-d '{"model": "tts-1", "voice": "alloy", "input": "TEXT HERE", "response_format": "wav"}' \
--output speech.wav
model:tts-1或tts-1-hd——两者都会映射到用户当前启用的 TTS 引擎。voice:OpenAI 的名称(alloy、echo、nova等)可用,但真正强大之处在于用户自己的克隆语音配置文件 ID——先发现这些 ID(见下文);当用户说“我的声音”/“旁白声音”/按名称指定某个配置文件时,优先使用命名的克隆语音。response_format:wav、mp3、flac、opus或pcm。- 长文本也没问题——引擎会在内部按句子边界分块处理。
发现用户的语音
curl -s http://localhost:3900/v1/audio/voices
列出所有克隆/设计的语音配置文件(ID + 名称)以及已安装的引擎。在 /speech 中将配置文件的 ID 用作 voice 值。
语音转文本
curl -s http://localhost:3900/v1/audio/transcriptions \
-F [email protected] -F model=whisper-1 -F response_format=json
model:whisper-1会映射到当前启用的 ASR 引擎(默认是 WhisperX;用户可在 Model Catalogue → Engines 中选择)。response_format:json、text、verbose_json(分段时间戳)、srt或vtt——用户需要字幕时,直接使用srt/vtt。
Python(openai SDK)
from openai import OpenAI
client = OpenAI(base_url="http://localhost:3900/v1", api_key="none") # any string; nothing checks it
audio = client.audio.speech.create(model="tts-1", voice="alloy", input="Hello!", response_format="wav")
text = client.audio.transcriptions.create(model="whisper-1", file=open("clip.wav", "rb")).text
备注
- 无需 API 密钥、没有速率限制,也不收费——使用的是用户自己的硬件。冷启动后的首次合成可能需要更长时间(加载模型);后续调用速度很快。
- 语音/转录以外的功能(视频配音、批量任务、语音设计、有声书)都属于完整 REST API 的范畴——交互式参考文档内嵌在应用的 Settings → OpenAPI Reference 中,也可以让用户打开查看。
- 如果调用因引擎/模型报错,可执行的详细信息通常在响应正文中——原样提供给用户;VoiceStudio 的错误信息都旨在方便用户自行修复(例如,指出应切换哪个 Settings 开关)。
评论
支持 Markdown