AIRI 官方 TTS 配置指南:免第三方密钥的语音合成与可选流式合成
AIRI 官方 TTS 配置指南免第三方密钥的语音合成与可选流式合成【免费下载链接】airi Self hosted, you-owned Grok Companion, a container of souls of waifu, cyber livings to bring them into our worlds, wishing to achieve Neuro-samas altitude. Capable of realtime voice chat, Minecraft, Factorio playing. Web / macOS / Windows supported.项目地址: https://gitcode.com/GitHub_Trending/ai/airiAIRI 内置的 Official Speech Provider官方语音合成允许已登录 AIRI 账号的用户直接使用官方服务的 TTS 能力无需配置任何第三方 API Key。本文基于 AIRI 仓库中的韩语官方文档完整覆盖登录账号 → 配置提供器 → 选择模型与音色 → 试听验证 → 启用流式 TTS的实操流程并结合 官方提供器源码 与 音频 WebSocket 代理 的实现说明其背后的认证、目录发现与自动音色选择机制。官方语音合成提供器是什么官方语音合成使用当前激活的 AIRI 会话完成语音合成因此不需要填写任何第三方凭据。这一点在源码中有直接体现providerOfficialSpeech 定义 中requiresCredentials为falseconfiguredBy为authentication——即该提供器的已配置状态完全由账号登录状态驱动而不是由用户填写的 Key 驱动。提供器 ID 统一收敛在 constants.ts 中official-provider-speechHTTP 形式的官方 TTS 提供器对应文档中的Official Speech Providerofficial-provider-speech-streaming低延迟双向 WebSocket 流式 TTS 提供器对应文档中的Official Streaming Speech Provider此外还有official-provider文本生成与official-provider-transcription实时转写与语音合成共用同一套认证体系如果当前已经在用官方 AIRI 提供器并且希望减少第三方凭据的维护成本官方建议优先尝试这个官方 TTS 选项。需要注意的边界是可用模型、配额Flux 余额与地区可用性由官方服务决定客户端只是透传服务端返回的目录。第一步登录 AIRI 账号按照文档的操作顺序使用 AIRI 账号登录桌面端或 Web 端均可登录后获得会话 Token。确认当前会话可以使用官方语音合成提供器。登录状态会直接决定设置页的形态。在 official-provider-speech.vue 中页面从 auth store 读取isAuthenticated未登录时只显示一个引导登录的 Callout 卡片和登录按钮已登录时则展示 Flux 余额与状态正常的绿色脉冲指示灯。也就是说登录成功本身即为该提供器的可用性验证无需像第三方提供器那样单独做 Key 校验validationRequiredWhen恒返回false。账号与服务的注意事项原文档 warning可用模型、配额与地区由官方服务决定不要共享账号会话或浏览器会话数据。从源码看客户端请求携带Authorization: Bearer token见 authHeaders 与 withCredentials会话 Token 等价于账号凭证共享它等于共享账号。第二步在 AIRI 中配置官方 TTS进入设置 → 提供器 → 语音合成 → Official Speech Provider。该页面的行为与源码一一对应登录提示若未登录页面显示登录引导t(settings.dialogs.onboarding.loginPrompt)点击按钮触发登录流程。Flux 余额登录后页面顶部展示当前 Flux 余额credits余额数据来自账号服务若未禁用购买还会显示一个购买 Flux的按钮跳转到设置 → Flux页面。连接状态已登录即显示状态正常settings.pages.providers.provider.common.status.valid表明当前会话与官方服务连通。底层调用链是提供器的listModelCatalog向GET /api/v1/audio/models发起带认证头的请求服务端返回models数组与default默认模型客户端把默认模型复制到目录中保证新用户可以直接选中服务端推荐值。音色目录则通过GET /api/v1/audio/voices?model当前模型拉取——注意这个端点是按模型作用域的服务端只对当前生效模型返回合法音色因此客户端刻意丢弃了响应中的compatible_models字段避免二次过滤在路由 ID 不一致时把列表清空源码注释中专门说明了这一决策位于 index.ts 的 listVoices。第三步验证设置并测试语音打开设置 → 模块 → 语音合成选择Official Speech Provider然后从可用的模型与音色列表中做选择。输入一段简短的测试文本点击Test Voice确认 AIRI 能生成并回放音频。这一页的选择结果会持久化到本地存储settings/speech/active-provider、settings/speech/active-model、settings/speech/voice由 speech store 管理在多窗口/多渲染进程环境下目录加载与选择提交都路由到leader进程统一执行防止快照互相覆盖。两个值得了解的自动化细节默认模型自动补齐当提供器有目录但当前没有有效模型选择时ensureActiveSpeechModel会自动选中服务端default或列表第一个并清空旧音色重新走自动选色避免用户停留在无效组合上。音色自动推荐登录后的首次选择由pickOfficialSpeechVoice完成其回退顺序为当前语言精确匹配的服务端推荐音色 → 同语言前缀的推荐音色 → 该模型任意推荐音色 → 说目标语言的第一个音色 → 英语音色en-US 优先→ 列表首个音色。这套分层回退保证了自动选色不会把用户丢进毫无关联的音色例如字母序靠前的南非英语音色。可选启用官方流式 TTS 提供器当官方服务通知当前账号可用流式 TTS 时AIRI 会在设置 → 提供器 → 语音合成下额外显示一张Official Streaming Speech Provider卡片。源码中这一服务端驱动可见性有明确实现official-provider-speech-streaming.vue 在认证后请求/api/v1/audio/models/streaming根据响应中的available字段调用setProviderAvailabilityOverride——不可用时把提供器置为未配置隐藏卡片可用时强制标记为已配置。模型目录完全由运维侧通过UNSPEECH_UPSTREAM.streaming配置项控制客户端没有任何硬编码默认值新增后端不需要发 UI 版本。使用时的关键规则原文档原文要求设置 → 模块 → 语音合成中保持选择Official Speech Provider即可该提供器的模型列表会包含流式模型当选择了流式模型与对应音色后AIRI 会自动把内部语音合成提供器切换到所选模型匹配的流式通道。从实现看流式提供器通过capabilities: { speech: { transport: bidirectional-ws } }声明自己走双向 WebSocket 协议而非 REST会话层据此分发到streamingSynthesize请求最终经由服务端/api/v1/audio/speech/ws代理桥接到上游。该代理在 audio-speech-ws/index.ts 中实现路由层先通过?token查询参数完成认证并解析出userId客户端先发送start控制帧声明流式模型与音色会话在校验通过后才拨号上游当前为 Volcengine v3每条连接对应一个独立的会话闭包无全局对端注册表。同时createProvider仍返回 OpenAI 形状的.speech()实现保证 WebSocket 通道出错时 REST/v1/audio/speech的旧路径可以继续兜底。Flux 余额与购买文档提到确认账号 Flux 是否充足Flux 是官方服务的计量单位提供器卡片与设置 → Flux页面均可查看可用套餐服务端对应 flux 路由并通过 Stripe 完成套餐结算。桌面版会调用系统浏览器打开支付页面如果当前构建或部署环境不支持购买购买选项不会显示。该开关在 env-vars.ts 中由VITE_DISABLE_FLUX_PURCHASE控制isFluxPurchaseDisabled()设置页据此渲染或隐藏购买按钮属于部署侧的环境变量约定默认未设置时购买入口正常显示。问题排查按照文档给出的排查顺序确认已登录未登录时官方提供器所有能力都不可用requiresCredentials: false不代表无需会话而是认证即配置。确认 AIRI 能访问官方服务模型/音色目录请求失败时客户端会把上游状态码与响应体摘要截断到 256 字符抛出例如audio models upstream status网络受限环境会出现此类错误。确认 Flux 余额打开设置 → Flux查看可用套餐余额不足时合成请求会被服务端拒绝。购买入口缺失若部署环境通过VITE_DISABLE_FLUX_PURCHASE禁用了购买界面上不会出现购买选项需联系部署方或改用已有余额。源码索引内容路径官方提供器注册HTTP TTS / 流式 TTS / 转写index.ts提供器 ID 常量constants.ts认证头与带凭证 fetchshared.ts语音模块状态与自动选色speech.ts官方 TTS 提供器设置页official-provider-speech.vue流式 TTS 提供器设置页official-provider-speech-streaming.vue服务端流式 TTS WebSocket 代理audio-speech-ws/index.ts购买禁用开关env-vars.ts韩语原文档official.md【免费下载链接】airi Self hosted, you-owned Grok Companion, a container of souls of waifu, cyber livings to bring them into our worlds, wishing to achieve Neuro-samas altitude. Capable of realtime voice chat, Minecraft, Factorio playing. Web / macOS / Windows supported.项目地址: https://gitcode.com/GitHub_Trending/ai/airi创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

IntelliJ Platform 轻量化裁剪实战:打造 Spring Boot 专用精简 IDE

IntelliJ Platform 轻量化裁剪实战:打造 Spring Boot 专用精简 IDE

1. “轻量开源版 IDEA”不是新 IDE,而是社区对开发体验的集体反思最近刷到“轻量开源版 IDEA 来了!”这个标题,第一反应是点开——结果发现没有官方公告、没有 GitHub Release 页面、也没有 JetBrains 官方博客背书。再往下翻,满屏…

2026/10/25 21:50:02 阅读更多 →
Vant Progress 进度条组件全解析:从基础用法到源码级原理与主题定制

Vant Progress 进度条组件全解析:从基础用法到源码级原理与主题定制

Vant Progress 进度条组件全解析:从基础用法到源码级原理与主题定制 【免费下载链接】vant A lightweight, customizable Vue UI library for mobile web apps. 项目地址: https://gitcode.com/GitHub_Trending/va/vant 导读 本文围绕 Vant 移动端组件库中的…

2026/10/26 10:15:34 阅读更多 →
使用 @mlflow/vercel 集成 MLflow Tracing 与 Vercel AI SDK:自动追踪 TypeScript/JavaScript LLM 调用

使用 @mlflow/vercel 集成 MLflow Tracing 与 Vercel AI SDK:自动追踪 TypeScript/JavaScript LLM 调用

使用 mlflow/vercel 集成 MLflow Tracing 与 Vercel AI SDK:自动追踪 TypeScript/JavaScript LLM 调用 【免费下载链接】mlflow The open source AI engineering platform for agents, LLMs, and ML models. MLflow enables teams of all sizes to debug, evaluate,…

2026/10/25 22:11:00 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/26 12:00:21 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/27 4:06:49 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/27 7:21:53 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/26 12:00:21 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/27 6:20:47 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/27 4:06:50 阅读更多 →

日新闻

周新闻

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/26 12:00:19 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/27 7:21:50 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/26 8:34:37 阅读更多 →