尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

VoiceStudio 如何接入 pipecat 构建本地语音 Agent?

VoiceStudio 如何接入 pipecat 构建本地语音 Agent? VoiceStudio 如何接入 pipecat 构建本地语音 Agent【免费下载链接】VoiceStudioVoiceStudio is the open-source, fully-local ElevenLabs alternative — voice cloning, voice design, video dubbing, dictation, transcription audiobook creation in 646 languages.项目地址: https://gitcode.com/GitHub_Trending/om/VoiceStudio本文解决的问题是你已经有一个自己的 agent 运行时客服对话、桌面助手、Discord 人格等想让它说话和听音都走本地的 VoiceStudio用你自己的克隆音色且语音数据不出本机。VoiceStudio 在此角色下是一个 OpenAI 兼容的本地语音提供方agentic v1它只做 TTS/STT provider不管编排——VAD、turn-taking 和 LLM 由你的 pipecat pipeline 负责。前提是本机有一个正在运行的 VoiceStudio服务根地址默认为http://localhost:3900。接入依据的文档是 docs/agentic-voice.md配套的最小可运行示例在 examples/agentic/pipecat_minimal.py。准备条件VoiceStudio 后端已在本地运行默认监听http://localhost:3900。OpenAI 兼容客户端的 base URL 要写成http://localhost:3900/v1而机器可读的 discovery 端点留在服务根http://localhost:3900/.well-known/voicestudio-speech。pipecat 作为 Python 库运行在你自己的进程内不需要额外起服务。安装命令来自示例文件头部uv pip install pipecat-ai[openai,silero]接入前先核对端点VoiceStudio 对 OpenAI 兼容路线的支持面如下来自 docs/agentic-voice.mdOpenAI routeVoiceStudio 支持POST /v1/audio/speechTTS。model 引擎 idvoice 声音 profile id你的克隆或 presetresponse_format含pcm和wavspeed。默认输出 24 kHz。POST /v1/audio/transcriptionsSTTWhisper 系。WS /v1/audio/transcriptions/streamPCM 或 WebM 的实时 partial/final STT。GET /.well-known/voicestudio-speech机器可读的 transport discovery。GET /v1/audio/voices列出可用声音VoiceStudio 扩展。先用 discovery 端点确认服务在跑再取一次声音列表用于后面的voice参数curl http://localhost:3900/.well-known/voicestudio-speech curl http://localhost:3900/v1/audio/voicesdiscovery 文档返回voicestudio.speech.v1。这个契约请求形状由 tests/test_agentic_provider_contract.py 在 CI 中固定保证POST /v1/audio/speech接受{model, input, voice, response_format, speed}并返回裸音频。配置 pipecat 的 TTS/STT 服务把 pipecat 的 OpenAI TTS/STT 服务指向 VoiceStudio摘自 docs/agentic-voice.mdfrom pipecat.services.openai.tts import OpenAITTSService from pipecat.services.openai.stt import OpenAISTTService tts OpenAITTSService( base_urlhttp://localhost:3900/v1, api_keynot-needed-locally, # any string; VoiceStudio ignores it unless OMNIVOICE_API_KEY is set voiceyour-voice-profile-id, # from GET /v1/audio/voices, or default modelomnivoice, # or any installed engine id sample_rate24000, # matches VoiceStudios default output ) stt OpenAISTTService( base_urlhttp://localhost:3900/v1, api_keynot-needed-locally, )参数说明均依据文档base_url必须是服务根加上/v1。api_key本地时是任意字符串VoiceStudio 会忽略它——除非远端后端设置了OMNIVOICE_API_KEY那时要传同一个值。voice替换为GET /v1/audio/voices返回的 profile id或直接用default。model填引擎 id示例用omnivoice也可以换成你已安装的其他引擎 id。sample_rate24000匹配 VoiceStudio 默认输出采样率。把这两个服务塞进任意 pipecat pipeline 即可VAD、turn-taking 和 LLM 都留在本地。运行仓库自带的最小示例examples/agentic/pipecat_minimal.py 是一个刻意保持很小的骨架它只把 VoiceStudio 的 TTS/STT 服务接进 pipecattransport 和 LLM 留给你自己选。先启动 VoiceStudio默认http://localhost:3900然后python examples/agentic/pipecat_minimal.py示例读三个环境变量均有本地默认值按需替换环境变量默认值用途OMNIVOICE_API_URLhttp://localhost:3900服务根脚本会自动追加/v1OMNIVOICE_API_KEYnot-needed-locally本地被忽略远端后端设了OMNIVOICE_API_KEY时传同值OMNIVOICE_VOICEdefault声音 profile id来自GET /v1/audio/voices按脚本自身说明成功时终端会打印类似下面的内容示例输出VoiceStudio STT TTS services constructed against http://localhost:3900/v1 Wire stt and tts into your pipecat Pipeline with a transport and an LLM service. See docs/agentic-voice.md.看到第一行说明两个服务对象已按正确 base URL 构造成功transport LLM 的接入由你在自己的 pipeline 中完成这也是 agentic v1 的分工边界——示例本身不跑电话、不起服务器。用自己的克隆音色想让 agent 用你的声音说话把voice设为克隆 profile 的 id。文档建议优先使用你已标记verified own voice的 profileSettings → 某个 voice profile → Voice ownership。这个 consent 锁是后续更重的 agentic 功能上线时的门槛也是AI 用我的声音说话的默认立场。可选分支远端 GPU 后端如果 VoiceStudio 跑在另一台 GPU 机器上见 docs/remote-gpu.md把该后端服务根 URL 加上/v1作为 OpenAI 客户端的base_url并把它配置的OMNIVOICE_API_KEY作为api_key传入——与 app 其余部分使用同一个 bearer。discovery 的/.well-known/voicestudio-speech保持使用未修改的服务根。文档明确要求远端后端留在你的 tailnet 内不要暴露到公网。LiveKit Agents 也走同样的base_urldocs/agentic-voice.md但它额外需要 LiveKit 媒体服务器只有需要 WebRTC/SIP 规模时才选它单个本地 agent 用 pipecat 更轻。限制这是 agentic v1VoiceStudio 只是 provider不是编排者agent 运行时由你自己带。外呼电话PSTN是文档中明确推迟的里程碑需要付费运营商没有全本地路径且只在显式 consent 护栏下提供——本文路径不包含。若 pipecat 侧升级后行为异常先对照POST /v1/audio/speech的请求形状是否仍为{model, input, voice, response_format, speed}该形状由契约测试固定。【免费下载链接】VoiceStudioVoiceStudio is the open-source, fully-local ElevenLabs alternative — voice cloning, voice design, video dubbing, dictation, transcription audiobook creation in 646 languages.项目地址: https://gitcode.com/GitHub_Trending/om/VoiceStudio创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表