部署到回復(fù)啟用全指南)
人工智能AI AgentMCP 服務(wù)工具調(diào)用GUI 自動化語音數(shù)字人交互助手【免費(fèi)下載鏈接】airi 自托管、歸你擁有的 Grok 風(fēng)格 AI 伴侶與 waifu / 賽博生命靈魂容器目標(biāo)是接近 Neuro-sama 的高度支持實(shí)時語音聊天、Minecraft 和 Factorio 游玩支持 Web / macOS / Windows。項(xiàng)目地址https://gitcode.com/moeru-ai/airi點(diǎn)擊查看免費(fèi)下載本篇指南講解如何在自托管的 AIRI 中接入由 Bilibili 開源的 Index-TTS本地 TTS服務(wù)AIRI 通過本地 HTTP 服務(wù)與 Index-TTS 通信默認(rèn)訪問http://localhost:11996/tts/語音數(shù)據(jù)始終停留在本地網(wǎng)絡(luò)。讀完本文你將掌握本地服務(wù)啟動、Base URL 配置、Provider Playground 驗(yàn)證以及最終在「Modules → Speech」中啟用回復(fù)語音的完整流程并了解底層提供者實(shí)現(xiàn)與故障排查方法。為什么選擇 Index-TTSIndex-TTS 是 AIRI 語音提供者目錄中的本地部署類、免費(fèi)方案。從倉庫中的提供者屬性表可以看出index-tts-vllm被標(biāo)記為freeLocal免費(fèi) 本地部署與 ElevenLabs、MiniMax 等云端付費(fèi)方案形成鮮明對比參見 packages/stage-ui/src/libs/providers/attributes.ts 中的providerAttributesById映射。官方文檔給出的選擇理由是如果你已經(jīng)在本地運(yùn)行 Index-TTS并希望聲音數(shù)據(jù)保留在本地網(wǎng)絡(luò)內(nèi)即可選擇此方案。這意味著音頻合成請求不會離開你的局域網(wǎng)或本機(jī)適合對數(shù)據(jù)隱私有要求的自托管場景。啟動本地 Index-TTS 服務(wù)接入 AIRI 前需要先讓 Index-TTS 服務(wù)在本機(jī)可用按照 Index-TTS 官方部署說明啟動服務(wù)典型部署方式為 vLLM 推理服務(wù)。AIRI 默認(rèn)連接http://localhost:11996/tts/如果你使用了其他主機(jī)或端口請記錄下完整的 Base URL 地址。確認(rèn)服務(wù)可以返回模型和聲音voice信息——這一步是后續(xù)驗(yàn)證配置是否成功的前提。從 AIRI 的提供者實(shí)現(xiàn)源碼可以確認(rèn)默認(rèn)地址與模型 ID// packages/provider-inference/src/providers/local/index-tts-vllm/index.ts const indexTtsConfigSchema z.object({ baseUrl: z.string().default(http://localhost:11996/tts/), model: z.string().default(IndexTTS-1.5), })即 Base URL 默認(rèn)值為http://localhost:11996/tts/模型 ID 默認(rèn)值為IndexTTS-1.5。本地服務(wù)安全警告官方文檔明確警告不要將本地服務(wù)端口暴露給不受信任的公網(wǎng)。如果修改了服務(wù)監(jiān)聽地址請自行保證服務(wù)訪問安全例如通過防火墻限制來源、使用反向代理加認(rèn)證等方式。在 AIRI 中配置 Index-TTS 提供者配置入口打開Settings → Providers → Speech → Bilibili / IndexTTS。在提供者設(shè)置頁面中主要需要填寫B(tài)ase URL本地服務(wù)的完整地址。配置完成后AIRI 會調(diào)用服務(wù)的audio/voices接口來獲取可用音色列表其實(shí)現(xiàn)位于提供者源碼的voicesUrl函數(shù)function voicesUrl(config: IndexTtsConfig) { return ${config.baseUrl ?? http://localhost:11996/tts/}audio/voices }也就是說AIRI 實(shí)際訪問的是{你的 Base URL}/audio/voices該接口需要返回一個 JSON 對象其鍵名即被解析為可用音色 ID每個音色同時標(biāo)記為支持中文cn與英文en。音色列表的解析邏輯在listVoices中l(wèi)istVoices: async (config) { const response await fetch(voicesUrl(config)) if (!response.ok) throw new Error(Failed to fetch voices: ${response.statusText}) const voices await response.json() as Recordstring, unknown return Object.keys(voices).map(voice ({ id: voice, name: voice, provider: index-tts-vllm, languages: [{ code: cn, title: Chinese }, { code: en, title: English }], })) },如果服務(wù)無法返回該接口數(shù)據(jù)音色列表會為空這是后續(xù)故障排查的核心線索。配置校驗(yàn)機(jī)制AIRI 內(nèi)置了對提供者配置的校驗(yàn)器validator。當(dāng) Base URL 為空時會提示 Base URL is required. Default to http://localhost:11996/tts/ for Index-TTS.填寫后 AIRI 會使用5 秒超時的AbortController向audio/voices發(fā)起探測請求根據(jù) HTTP 狀態(tài)判斷服務(wù)是否可達(dá)超時或連接失敗會分別給出IndexTTS unreachable與IndexTTS connection failed錯誤信息。相關(guān)實(shí)現(xiàn)見 packages/provider-inference/src/providers/local/index-tts-vllm/index.ts 的validators.validateConfig。支持能力與版本提示提供者 ID 為index-tts-vllm顯示名稱為Index-TTS by Bilibili能力類型為text-to-speech注冊入口見 packages/provider-inference/src/providers/index.tsproviderIndexTtsVllm。模型清單listModels固定返回IndexTTS-1.5說明這是該 vLLM 部署對應(yīng)的默認(rèn)模型。目前尚未支持 IndexTTS2設(shè)置頁頂部會顯示紫色 Callout 提示「暫不支持 / 目前尚未支持 IndexTTS2請使用 IndexTTS」見 packages/i18n/src/locales/zh-Hans/settings.yaml 與 packages/stage-pages/src/pages/settings/providers/speech/index-tts-vllm.vue。驗(yàn)證配置使用 Provider Playground配置完成后在同一設(shè)置頁面即可直接驗(yàn)證在provider playground中選擇一個可用音色該頁面會使用已配置的 Index-TTS 服務(wù)以及 AIRI 的默認(rèn)模型 IDIndexTTS-1.5。在播放臺輸入一段短文本確認(rèn)能夠播放音頻。Playground 頁面的默認(rèn)測試文本為Hello! This is a test of the Index TTS Speech synthesis?.它通過speechStore.speech()將輸入文本、音色與模型 ID 交給xsai/generate-speech完成合成。從源碼看前端在onMounted時會主動調(diào)用loadVoicesForProvider(index-tts-vllm)拉取音色目錄見 packages/stage-pages/src/pages/settings/providers/speech/index-tts-vllm.vue音色目錄請求與合成調(diào)用均由 packages/stage-ui/src/stores/modules/speech.ts 中的loadVoicesForProvider/speech統(tǒng)一管理。啟用 AIRI 回復(fù)語音Playground 驗(yàn)證通過只代表提供者本身可用并不會自動讓 AIRI 在普通回復(fù)中使用語音。要真正啟用還需要打開Settings → Modules → Speech然后選擇語音提供者為Bilibili / IndexTTS選擇模型 IDIndexTTS-1.5選擇一個音色。完成這三步后AIRI 的正常對話回復(fù)才會調(diào)用 Index-TTS 進(jìn)行語音合成。若語音模塊仍然保持默認(rèn)的speech-noop提供者則不會產(chǎn)生任何 TTS 輸出。故障排查癥狀檢查項(xiàng)無法連接配置校驗(yàn)失敗 / Playground 無音頻1. 確認(rèn)本地 Index-TTS 服務(wù)確實(shí)在運(yùn)行2. 確認(rèn) Base URL 中端口正確默認(rèn)119963. 檢查本機(jī)防火墻或反向代理是否放行該端口。音色列表為空檢查服務(wù)的audio/voices接口是否可用完整路徑為{Base URL}/audio/voices并確認(rèn)它返回的是以音色名稱為鍵的 JSON 對象。回復(fù)無語音輸出確認(rèn)已在Modules → Speech中選擇提供者、模型IndexTTS-1.5與音色Playground 單獨(dú)測試不會啟用回復(fù)語音??偨Y(jié)AIRI 將 Index-TTS 視為一個標(biāo)準(zhǔn)的本地 HTTP TTS 提供者index-tts-vllm部署好本地服務(wù)后在Settings → Providers → Speech → Bilibili / IndexTTS填寫 Base URL通過 Playground 驗(yàn)證音色與合成最后在Modules → Speech中啟用該提供者與IndexTTS-1.5模型即可讓 AIRI 的回復(fù)語音完全運(yùn)行在本地網(wǎng)絡(luò)之內(nèi)。所有配置參數(shù)默認(rèn)地址、默認(rèn)模型、5 秒探測超時、audio/voices音色接口都可以在上述源碼路徑中逐一印證。贊分享人工智能AI AgentMCP 服務(wù)工具調(diào)用GUI 自動化語音數(shù)字人交互助手【免費(fèi)下載鏈接】airi 自托管、歸你擁有的 Grok 風(fēng)格 AI 伴侶與 waifu / 賽博生命靈魂容器目標(biāo)是接近 Neuro-sama 的高度支持實(shí)時語音聊天、Minecraft 和 Factorio 游玩支持 Web / macOS / Windows。項(xiàng)目地址https://gitcode.com/moeru-ai/airi點(diǎn)擊查看免費(fèi)下載相關(guān)推薦在 AIRI 中接入本地 Index-TTS 語音合成服務(wù)啟動、配置與源碼解析在 AIRI 中接入本地 Index TTS 語音合成服務(wù)啟動、配置與源碼解析 Index TTSIndex TTS by Bilibili是 AIRI人工智能AI AgentMCP 服務(wù)工具調(diào)用GUI 自動化語音數(shù)字人交互助手后端AIRI 接入本地 Index-TTS自托管語音合成服務(wù)的完整配置指南AIRI 接入本地 Index TTS自托管語音合成服務(wù)的完整配置指南 本文以 AIRI 內(nèi)置的 Bilibili / IndexTTS 提供者為主線講解如人工智能AI 應(yīng)用大模型AI Agent交互助手語音數(shù)字人后端前端桌面應(yīng)用移動開發(fā)GUI 自動化MCP 服務(wù)AIRI 接入 Player2 本地語音合成服務(wù)Base URL 配置、音色驗(yàn)證與模塊啟用全指南AIRI 接入 Player2 本地語音合成服務(wù)Base URL 配置、音色驗(yàn)證與模塊啟用全指南 Player2 Speech 是一款通過本地服務(wù)接入 AIR人工智能AI 應(yīng)用大模型AI Agent交互助手語音數(shù)字人后端前端桌面應(yīng)用移動開發(fā)GUI 自動化MCP 服務(wù)上一篇JavaScript模塊化開發(fā)終極指南從CommonJS到ES6模塊的完整演進(jìn)下一篇Android-DataBackup Root環(huán)境配置Magisk/KernelSU/APatch全支持創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考