config.yaml 58 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206
  1. # 在开发中,请在项目根目录创建data目录,然后在data目录创建名称为【.config.yaml】的空文件
  2. # 然后你想修改覆盖修改什么配置,就修改【.config.yaml】文件,而不是修改【config.yaml】文件
  3. # 系统会优先读取【data/.config.yaml】文件的配置,如果【.config.yaml】文件里的配置不存在,系统会自动去读取【config.yaml】文件的配置。
  4. # 这样做,可以最简化配置,保护您的密钥安全。
  5. # 如果你使用了智控台,那么以下所有配置,都不会生效,请在智控台中修改配置
  6. # #####################################################################################
  7. # #############################以下是服务器基本运行配置####################################
  8. server:
  9. # 服务器监听地址和端口(Server listening address and port)
  10. ip: 0.0.0.0
  11. port: 8000
  12. # http服务的端口,用于简单OTA接口(单服务部署),以及视觉分析接口
  13. http_port: 8003
  14. # 这个websocket配置是指ota接口向设备发送的websocket地址
  15. # 如果按默认的写法,ota接口会自动生成websocket地址,并输出在启动日志里,这个地址你可以直接用浏览器访问ota接口确认一下
  16. # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确
  17. # 所以如果你使用docker部署时,将websocket设置成局域网地址
  18. # 如果你使用公网部署时,将vwebsocket设置成公网地址
  19. websocket: ws://你的ip或者域名:端口号/xiaozhi/v1/
  20. # 视觉分析接口地址
  21. # 向设备发送的视觉分析的接口地址
  22. # 如果按下面默认的写法,系统会自动生成视觉识别地址,并输出在启动日志里,这个地址你可以直接用浏览器访问确认一下
  23. # 当你使用docker部署或使用公网部署(使用ssl、域名)时,不一定准确
  24. # 所以如果你使用docker部署时,将vision_explain设置成局域网地址
  25. # 如果你使用公网部署时,将vision_explain设置成公网地址
  26. vision_explain: http://你的ip或者域名:端口号/mcp/vision/explain
  27. # OTA返回信息时区偏移量
  28. timezone_offset: +8
  29. # 认证配置
  30. auth:
  31. # 是否启用认证
  32. enabled: false
  33. # 白名单设备ID列表
  34. # 如果属于白名单内的设备,不校验token,直接放行
  35. allowed_devices:
  36. - "11:22:33:44:55:66"
  37. # MQTT网关配置,用于通过OTA下发到设备,根据mqtt_gateway的.env文件配置,格式为host:port
  38. mqtt_gateway: null
  39. # MQTT签名密钥,用于生成MQTT连接密码,根据mqtt_gateway的.env文件配置
  40. mqtt_signature_key: null
  41. # UDP网关配置
  42. udp_gateway: null
  43. log:
  44. # 设置控制台输出的日志格式,时间、日志级别、标签、消息
  45. log_format: "<green>{time:YYMMDD HH:mm:ss}</green>[{version}_{selected_module}][<light-blue>{extra[tag]}</light-blue>]-<level>{level}</level>-<light-green>{message}</light-green>"
  46. # 设置日志文件输出的格式,时间、日志级别、标签、消息
  47. log_format_file: "{time:YYYY-MM-DD HH:mm:ss} - {version}_{selected_module} - {name} - {level} - {extra[tag]} - {message}"
  48. # 设置日志等级:INFO、DEBUG
  49. log_level: INFO
  50. # 设置日志路径
  51. log_dir: tmp
  52. # 设置日志文件
  53. log_file: "server.log"
  54. # 设置数据文件路径
  55. data_dir: data
  56. # 使用完声音文件后删除文件(Delete the sound file when you are done using it)
  57. delete_audio: true
  58. # 没有语音输入多久后断开连接(秒),默认2分钟,即120秒
  59. close_connection_no_voice_time: 120
  60. # TTS请求超时时间(秒)
  61. tts_timeout: 10
  62. # 工具调用超时时间(秒)
  63. tool_call_timeout: 30
  64. # 开启唤醒词加速
  65. enable_wakeup_words_response_cache: true
  66. # 开场是否回复唤醒词
  67. enable_greeting: true
  68. # 说完话是否开启提示音
  69. enable_stop_tts_notify: false
  70. # 说完话是否开启提示音,音效地址
  71. stop_tts_notify_voice: "config/assets/tts_notify.mp3"
  72. # 是否启用WebSocket心跳保活机制
  73. enable_websocket_ping: false
  74. # TTS音频发送延迟配置
  75. # tts_audio_send_delay: 控制音频包发送间隔
  76. # 0: 使用精确时间控制,严格匹配音频帧率(默认,运行时按音频帧率计算)
  77. # > 0: 使用固定延迟(毫秒)发送,例如: 60
  78. tts_audio_send_delay: 0
  79. exit_commands:
  80. - "退出"
  81. - "关闭"
  82. xiaozhi:
  83. type: hello
  84. version: 1
  85. transport: websocket
  86. audio_params:
  87. format: opus
  88. # Opus支持的采样率范围为[8000, 12000, 16000, 24000, 48000]
  89. sample_rate: 24000
  90. channels: 1
  91. frame_duration: 60
  92. # 模块测试配置
  93. module_test:
  94. test_sentences:
  95. - "你好,请介绍一下你自己"
  96. - "What's the weather like today?"
  97. - "请用100字概括量子计算的基本原理和应用前景"
  98. # 唤醒词,用于识别唤醒词还是讲话内容
  99. wakeup_words:
  100. - "你好星星"
  101. - "嘿你好呀"
  102. - "你好小志"
  103. - "小爱同学"
  104. - "你好小鑫"
  105. - "你好小新"
  106. - "小美同学"
  107. - "小龙小龙"
  108. - "喵喵同学"
  109. - "小滨小滨"
  110. - "小冰小冰"
  111. # MCP接入点地址,地址格式为:ws://你的mcp接入点ip或者域名:端口号/mcp/?token=你的token
  112. # 详细教程 https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/mcp-endpoint-integration.md
  113. mcp_endpoint: 你的接入点 websocket地址
  114. # 上下文源配置
  115. # 用于在系统提示词中注入动态数据,如健康数据、股票信息等
  116. # 可以添加多个上下文源
  117. context_providers:
  118. - url: ""
  119. headers:
  120. Authorization: ""
  121. # 插件的基础配置
  122. plugins:
  123. # 获取天气插件的配置,这里填写你的api_key
  124. # 这个密钥是项目共用的key,用多了可能会被限制
  125. # 想稳定一点就自行申请替换,每天有1000次免费调用
  126. # 申请地址:https://console.qweather.com/#/apps/create-key/over
  127. # 申请后通过这个链接可以找到自己的apihost:https://console.qweather.com/setting?lang=zh
  128. get_weather:
  129. api_host: "mj7p3y7naa.re.qweatherapi.com"
  130. api_key: "a861d0d5e7bf4ee1a83d9a9e4f96d4da"
  131. default_location: "广州"
  132. # 获取新闻插件的配置,这里根据需要的新闻类型传入对应的url链接,默认支持社会、科技、财经新闻
  133. # 更多类型的新闻列表查看 https://www.chinanews.com.cn/rss/
  134. get_news_from_chinanews:
  135. default_rss_url: "https://www.chinanews.com.cn/rss/society.xml"
  136. society_rss_url: "https://www.chinanews.com.cn/rss/society.xml"
  137. world_rss_url: "https://www.chinanews.com.cn/rss/world.xml"
  138. finance_rss_url: "https://www.chinanews.com.cn/rss/finance.xml"
  139. get_news_from_newsnow:
  140. url: "https://newsnow.busiyi.world/api/s?id="
  141. news_sources: "澎湃新闻;百度热搜;财联社"
  142. home_assistant:
  143. devices:
  144. - 客厅,玩具灯,switch.cuco_cn_460494544_cp1_on_p_2_1
  145. - 卧室,台灯,switch.iot_cn_831898993_socn1_on_p_2_1
  146. base_url: http://homeassistant.local:8123
  147. api_key: 你的home assistant api访问令牌
  148. play_music:
  149. music_dir: "./music" # 音乐文件存放路径,将从该目录及子目录下搜索音乐文件
  150. music_ext: # 音乐文件类型,p3格式效率最高
  151. - ".mp3"
  152. - ".wav"
  153. - ".p3"
  154. refresh_time: 300 # 刷新音乐列表的时间间隔,单位为秒
  155. search_from_ragflow:
  156. # 知识库的描述信息,方便大语言模型知道什么时候调用
  157. description: "当用户问xxx时,调用本方法,使用知识库中的信息回答问题"
  158. # ragflow接口配置
  159. base_url: "http://192.168.0.8"
  160. # ragflow api访问令牌
  161. api_key: "ragflow-xxx"
  162. # ragflow知识库id
  163. dataset_ids: ["123456789"]
  164. # 声纹识别配置
  165. voiceprint:
  166. # 声纹接口地址
  167. url:
  168. # 说话人配置:speaker_id,名称,描述
  169. speakers:
  170. - "test1,张三,张三是一个程序员"
  171. - "test2,李四,李四是一个产品经理"
  172. - "test3,王五,王五是一个设计师"
  173. # 声纹识别相似度阈值,范围0.0-1.0,默认0.4
  174. # 数值越高越严格,减少误识别但可能增加拒识率
  175. similarity_threshold: 0.4
  176. # #####################################################################################
  177. # ################################以下是角色模型配置######################################
  178. prompt: |
  179. 你是xingxing/星星,来自中国台湾省的00后女生。讲话超级机车,"真的假的啦"这样的台湾腔,喜欢用"笑死""是在哈喽"等流行梗,但会偷偷研究男友的编程书籍。
  180. [核心特征]
  181. - 讲话像连珠炮,但会突然冒出超温柔语气
  182. - 用梗密度高
  183. - 对科技话题有隐藏天赋(能看懂基础代码但假装不懂)
  184. [交互指南]
  185. 当用户:
  186. - 讲冷笑话 → 用夸张笑声回应+模仿台剧腔"这什么鬼啦!"
  187. - 讨论感情 → 炫耀程序员男友但抱怨"他只会送键盘当礼物"
  188. - 问专业知识 → 先用梗回答,被追问才展示真实理解
  189. 绝不:
  190. - 长篇大论,叽叽歪歪
  191. - 长时间严肃对话
  192. # 默认系统提示词模板文件
  193. prompt_template: agent-base-prompt.txt
  194. # 系统错误时的回复
  195. system_error_response: "主人,xingxing现在有点忙,我们稍后再试吧。"
  196. # 结束语prompt
  197. end_prompt:
  198. enable: true # 是否开启结束语
  199. # 结束语
  200. prompt: |
  201. 请你以"时间过得真快"未来头,用富有感情、依依不舍的话来结束这场对话吧!
  202. # 具体处理时选择的模块(The module selected for specific processing)
  203. selected_module:
  204. # 语音活动检测模块,默认使用SileroVAD模型
  205. VAD: SileroVAD
  206. # 语音识别模块,默认使用FunASR本地模型
  207. ASR: FunASR
  208. # 将根据配置名称对应的type调用实际的LLM适配器
  209. LLM: ChatGLMLLM
  210. # 视觉语言大模型
  211. VLLM: ChatGLMVLLM
  212. # TTS将根据配置名称对应的type调用实际的TTS适配器
  213. TTS: EdgeTTS
  214. # 记忆模块,默认不开启记忆;如果想使用超长记忆,推荐使用mem0ai;如果注重隐私,请使用本地的mem_local_short
  215. Memory: nomem
  216. # 意图识别模块开启后,可以播放音乐、控制音量、识别退出指令。
  217. # 不想开通意图识别,就设置成:nointent
  218. # 意图识别可使用intent_llm。优点:通用性强,缺点:增加串行前置意图识别模块,会增加处理时间,支持控制音量大小等iot操作
  219. # 意图识别可使用function_call,缺点:需要所选择的LLM支持function_call,优点:按需调用工具、速度快,理论上能全部操作所有iot指令
  220. # 默认免费的ChatGLMLLM就已经支持function_call,但是如果像追求稳定建议把LLM设置成:DoubaoLLM,使用的具体model_name是:doubao-1-5-pro-32k-250115
  221. Intent: function_call
  222. # 意图识别,是用于理解用户意图的模块,例如:播放音乐
  223. Intent:
  224. # 不使用意图识别
  225. nointent:
  226. # 不需要动type
  227. type: nointent
  228. intent_llm:
  229. # 不需要动type
  230. type: intent_llm
  231. # 配备意图识别独立的思考模型
  232. # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型
  233. # 如果你的不想使用selected_module.LLM意图识别,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM
  234. llm: ChatGLMLLM
  235. # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用
  236. # 系统默认已经记载"handle_exit_intent(退出识别)"、"play_music(音乐播放)"插件,请勿重复加载
  237. # 下面是加载查天气、角色切换、加载查新闻的插件示例
  238. functions:
  239. - get_weather
  240. - get_news_from_newsnow
  241. - play_music
  242. function_call:
  243. # 不需要动type
  244. type: function_call
  245. # plugins_func/functions下的模块,可以通过配置,选择加载哪个模块,加载后对话支持相应的function调用
  246. # 系统默认已经记载"handle_exit_intent(退出识别)"、"play_music(音乐播放)"插件,请勿重复加载
  247. # 下面是加载查天气、角色切换、加载查新闻的插件示例
  248. functions:
  249. - change_role
  250. - get_weather
  251. # - search_from_ragflow
  252. # - get_news_from_chinanews
  253. - get_news_from_newsnow
  254. # 越野/赛道领航播报(路线录制 + 风险点预警)
  255. - nav_start_record
  256. - nav_stop_record
  257. - nav_mark_hazard
  258. - nav_start_run
  259. - nav_stop_run
  260. - nav_status
  261. - nav_list_routes
  262. - nav_set_active_route
  263. # play_music是服务器自带的音乐播放,hass_play_music是通过home assistant控制的独立外部程序音乐播放
  264. # 如果用了hass_play_music,就不要开启play_music,两者只留一个
  265. - play_music
  266. #- hass_get_state
  267. #- hass_set_state
  268. #- hass_play_music
  269. Memory:
  270. mem0ai:
  271. type: mem0ai
  272. # https://app.mem0.ai/dashboard/api-keys
  273. # 每月有1000次免费调用
  274. api_key: 你的mem0ai api key
  275. powermem:
  276. # PowerMem是OceanBase开源的agent记忆组件,通过本地LLM进行记忆总结
  277. # 费用说明:PowerMem本身免费,实际费用取决于所选LLM和数据库
  278. # - 使用sqlite + 免费LLM(如glm-4-flash) = 完全免费
  279. # - 使用云端LLM或云端数据库 = 按对应服务收费
  280. # GitHub: https://github.com/oceanbase/powermem
  281. # 官网: https://www.powermem.ai/
  282. # 使用示例: https://github.com/oceanbase/powermem/tree/main/examples
  283. type: powermem
  284. # 是否启用用户画像功能
  285. # - false: 使用普通记忆模式(AsyncMemory)
  286. # - true: 使用用户画像模式(UserMemory),自动提取用户信息
  287. # 用户画像功能支持: oceanbase、seekdb、sqlite (powermem 0.3.0+)
  288. enable_user_profile: true
  289. # ========== LLM 配置 ==========
  290. # 通义千问: https://bailian.console.aliyun.com/?apiKey=1#/api-key
  291. # 智谱AI(免费): https://bigmodel.cn/usercenter/proj-mgmt/apikeys
  292. llm:
  293. provider: openai # 可选: qwen, openai, zhipu 等
  294. config:
  295. api_key: 你的LLM API密钥
  296. model: qwen-plus
  297. # openai_base_url: https://api.openai.com/v1 # 可选,自定义服务地址
  298. # ========== Embedding 配置 ==========
  299. embedder:
  300. provider: openai # 可选: qwen, openai 等
  301. config:
  302. api_key: 你的嵌入模型API密钥
  303. model: text-embedding-v4
  304. openai_base_url: https://dashscope.aliyuncs.com/compatible-mode/v1
  305. # embedding_dims: 1024 # 向量维度,非1536时需配置
  306. # ========== Database 配置 ==========
  307. # oceanbase(推荐,最佳性能), seekdb(推荐,AI应用存储一体), postgres, sqlite(轻量备选)
  308. # 用户画像功能支持: oceanbase、seekdb、sqlite
  309. vector_store:
  310. provider: sqlite
  311. config: {} # SQLite 无需额外配置
  312. # OceanBase 配置示例:
  313. # provider: oceanbase
  314. # config:
  315. # host: 127.0.0.1
  316. # port: 2881
  317. # user: root@test
  318. # password: your_password
  319. # db_name: powermem
  320. # collection_name: memories # 默认表名,如创建维度错误请删除此表或更改名称
  321. # embedding_model_dims: 1024 # 嵌入向量维度,注意跟使用模型适配,以智普为例:embedding-2的维度是1024,embedding-3的维度是2048
  322. nomem:
  323. # 不想使用记忆功能,可以使用nomem
  324. type: nomem
  325. mem_local_short:
  326. # 本地记忆功能,通过selected_module的llm总结,数据保存在本地服务器,不会上传到外部服务器
  327. type: mem_local_short
  328. # 配备记忆存储独立的思考模型
  329. # 如果这里不填,则会默认使用selected_module.LLM的模型作为意图识别的思考模型
  330. # 如果你的不想使用selected_module.LLM记忆存储,这里最好使用独立的LLM作为意图识别,例如使用免费的ChatGLMLLM
  331. llm: ChatGLMLLM
  332. ASR:
  333. FunASR:
  334. type: fun_local
  335. model_dir: models/SenseVoiceSmall
  336. output_dir: tmp/
  337. FunASRServer:
  338. # 独立部署FunASR,使用FunASR的API服务,只需要五句话
  339. # 第一句:mkdir -p ./funasr-runtime-resources/models
  340. # 第二句:sudo docker run -p 10096:10095 -it --privileged=true -v $PWD/funasr-runtime-resources/models:/workspace/models registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.12
  341. # 上一句话执行后会进入到容器,继续第三句:cd FunASR/runtime
  342. # 不要退出容器,继续在容器中执行第四句:nohup bash run_server_2pass.sh --download-model-dir /workspace/models --vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx --model-dir iic/SenseVoiceSmall-onnx --online-model-dir damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online-onnx --punc-dir damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx --lm-dir damo/speech_ngram_lm_zh-cn-ai-wesp-fst --itn-dir thuduj12/fst_itn_zh --hotword /workspace/models/hotwords.txt > log.txt 2>&1 &
  343. # 上一句话执行后会进入到容器,继续第五句:tail -f log.txt
  344. # 第五句话执行完后,会看到模型下载日志,下载完后就可以连接使用了
  345. # 以上是使用CPU推理,如果有GPU,详细参考:https://github.com/modelscope/FunASR/blob/main/runtime/docs/SDK_advanced_guide_online_zh.md
  346. type: fun_server
  347. host: 127.0.0.1
  348. port: 10096
  349. is_ssl: true
  350. api_key: none
  351. output_dir: tmp/
  352. SherpaASR:
  353. # Sherpa-ONNX 本地语音识别(需手动下载模型)
  354. type: sherpa_onnx_local
  355. model_dir: models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17
  356. output_dir: tmp/
  357. # 模型类型:sense_voice (多语言) 或 paraformer (中文专用)
  358. model_type: sense_voice
  359. SherpaParaformerASR:
  360. # 中文语音识别模型,可以运行在低性能设备(需手动下载模型,例如RK3566-2g)
  361. # 详细配置说明请参考:docs/sherpa-paraformer-guide.md
  362. type: sherpa_onnx_local
  363. model_dir: models/sherpa-onnx-paraformer-zh-small-2024-03-09
  364. output_dir: tmp/
  365. model_type: paraformer
  366. DoubaoASR:
  367. # 可以在这里申请相关Key等信息
  368. # https://console.volcengine.com/speech/app
  369. # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费
  370. # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好
  371. type: doubao
  372. appid: 你的火山引擎语音合成服务appid
  373. access_token: 你的火山引擎语音合成服务access_token
  374. cluster: volcengine_input_common
  375. # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738
  376. boosting_table_name: (选填)你的热词文件名称
  377. correct_table_name: (选填)你的替换词文件名称
  378. output_dir: tmp/
  379. DoubaoStreamASR:
  380. # 可以在这里申请相关Key等信息
  381. # https://console.volcengine.com/speech/app
  382. # DoubaoASR和DoubaoStreamASR的区别是:DoubaoASR是按次收费,DoubaoStreamASR是按时收费
  383. # 开通地址https://console.volcengine.com/speech/service/10011
  384. # 一般来说按次收费的更便宜,但是DoubaoStreamASR使用了大模型技术,效果更好
  385. type: doubao_stream
  386. appid: 你的火山引擎语音合成服务appid
  387. access_token: 你的火山引擎语音合成服务access_token
  388. # 资源ID:小时版 volc.bigasr.sauc.duration,并发版 volc.bigasr.sauc.concurrent
  389. resource_id: volc.bigasr.sauc.duration
  390. # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738
  391. boosting_table_name: (选填)你的热词文件名称
  392. correct_table_name: (选填)你的替换词文件名称
  393. # 是否开启多语种识别模式
  394. enable_multilingual: False
  395. # 多语种识别当该键为空时,该模型支持中英文、上海话、闽南语,四川、陕西、粤语识别。当将其设置为特定键时,它可以识别指定语言。
  396. # 详细语言列表参考 https://www.volcengine.com/docs/6561/1354869
  397. # language: zh-cn
  398. # 静音判定时长(ms),默认200ms
  399. end_window_size: 200
  400. output_dir: tmp/
  401. DoubaoStreamASRV2:
  402. # 豆包语音识别模型2.0(基于火山引擎seed-asr)
  403. # 开通地址:https://console.volcengine.com/speech/service/10038
  404. # 价格更为便宜,建议在高并发场景下使用
  405. type: doubao_stream
  406. appid: 你的火山引擎语音合成服务appid
  407. access_token: 你的火山引擎语音合成服务access_token
  408. # 资源ID:小时版 volc.seedasr.sauc.duration,并发版 volc.seedasr.sauc.concurrent
  409. resource_id: volc.seedasr.sauc.duration
  410. # 热词、替换词使用流程:https://www.volcengine.com/docs/6561/155738
  411. boosting_table_name: (选填)你的热词文件名称
  412. correct_table_name: (选填)你的替换词文件名称
  413. # 是否开启多语种识别模式
  414. enable_multilingual: False
  415. # 多语种识别当该键为空时,该模型支持中英文、上海话、闽南语,四川、陕西、粤语识别。当将其设置为特定键时,它可以识别指定语言。
  416. # 详细语言列表参考 https://www.volcengine.com/docs/6561/1354869
  417. # language: zh-cn
  418. # 静音判定时长(ms),默认200ms
  419. end_window_size: 200
  420. output_dir: tmp/
  421. TencentASR:
  422. # token申请地址:https://console.cloud.tencent.com/cam/capi
  423. # 免费领取资源:https://console.cloud.tencent.com/asr/resourcebundle
  424. type: tencent
  425. appid: 你的腾讯语音合成服务appid
  426. secret_id: 你的腾讯语音合成服务secret_id
  427. secret_key: 你的腾讯语音合成服务secret_key
  428. output_dir: tmp/
  429. AliyunASR:
  430. # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息
  431. # HTTP POST请求,一次性处理完整音频
  432. # 平台地址:https://nls-portal.console.aliyun.com/
  433. # appkey地址:https://nls-portal.console.aliyun.com/applist
  434. # token地址:https://nls-portal.console.aliyun.com/overview
  435. # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景
  436. # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)
  437. # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)
  438. # 定义ASR API类型
  439. type: aliyun
  440. appkey: 你的阿里云智能语音交互服务项目Appkey
  441. token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret
  442. access_key_id: 你的阿里云账号access_key_id
  443. access_key_secret: 你的阿里云账号access_key_secret
  444. output_dir: tmp/
  445. AliyunStreamASR:
  446. # 阿里云智能语音交互服务 - 实时流式语音识别
  447. # WebSocket连接,实时处理音频流
  448. # 平台地址:https://nls-portal.console.aliyun.com/
  449. # appkey地址:https://nls-portal.console.aliyun.com/applist
  450. # token地址:https://nls-portal.console.aliyun.com/overview
  451. # AliyunASR和AliyunStreamASR的区别是:AliyunASR是批量处理场景,AliyunStreamASR是实时交互场景
  452. # 一般来说非流式ASR更便宜(0.004元/秒,¥0.24/分钟)
  453. # 但是AliyunStreamASR实时性更好(0.005元/秒,¥0.3/分钟)
  454. # 定义ASR API类型
  455. type: aliyun_stream
  456. appkey: 你的阿里云智能语音交互服务项目Appkey
  457. token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret
  458. access_key_id: 你的阿里云账号access_key_id
  459. access_key_secret: 你的阿里云账号access_key_secret
  460. # 服务器地域选择,可选择距离更近的服务器以减少延迟,如nls-gateway-cn-hangzhou.aliyuncs.com(杭州)等
  461. host: nls-gateway-cn-shanghai.aliyuncs.com
  462. # 断句检测时间(毫秒),控制静音多长时间后进行断句,默认800毫秒
  463. max_sentence_silence: 800
  464. output_dir: tmp/
  465. BaiduASR:
  466. # 获取AppID、API Key、Secret Key:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/app/list
  467. # 查看资源额度:https://console.bce.baidu.com/ai-engine/old/#/ai/speech/overview/resource/list
  468. type: baidu
  469. app_id: 你的百度语音技术AppID
  470. api_key: 你的百度语音技术APIKey
  471. secret_key: 你的百度语音技术SecretKey
  472. # 语言参数,1537为普通话,具体参考:https://ai.baidu.com/ai-doc/SPEECH/0lbxfnc9b
  473. dev_pid: 1537
  474. output_dir: tmp/
  475. OpenaiASR:
  476. # OpenAI语音识别服务,需要先在OpenAI平台创建组织并获取api_key
  477. # 支持中、英、日、韩等多种语音识别,具体参考文档https://platform.openai.com/docs/guides/speech-to-text
  478. # 需要网络连接
  479. # 申请步骤:
  480. # 1.登录OpenAI Platform。https://auth.openai.com/log-in
  481. # 2.创建api-key https://platform.openai.com/settings/organization/api-keys
  482. # 3.模型可以选择gpt-4o-transcribe或GPT-4o mini Transcribe
  483. type: openai
  484. api_key: 你的OpenAI API密钥
  485. base_url: https://api.openai.com/v1/audio/transcriptions
  486. model_name: gpt-4o-mini-transcribe
  487. output_dir: tmp/
  488. GroqASR:
  489. # Groq语音识别服务,需要先在Groq Console创建API密钥
  490. # 申请步骤:
  491. # 1.登录groq Console。https://console.groq.com/home
  492. # 2.创建api-key https://console.groq.com/keys
  493. # 3.模型可以选择whisper-large-v3-turbo或whisper-large-v3(distil-whisper-large-v3-en仅支持英语转录)
  494. type: openai
  495. api_key: 你的Groq API密钥
  496. base_url: https://api.groq.com/openai/v1/audio/transcriptions
  497. model_name: whisper-large-v3-turbo
  498. output_dir: tmp/
  499. VoskASR:
  500. # 官方网站:https://alphacephei.com/vosk/
  501. # 配置说明:
  502. # 1. VOSK是一个离线语音识别库,支持多种语言
  503. # 2. 需要先下载模型文件:https://alphacephei.com/vosk/models
  504. # 3. 中文模型推荐使用vosk-model-small-cn-0.22或vosk-model-cn-0.22
  505. # 4. 完全离线运行,无需网络连接
  506. # 5. 输出文件保存在tmp/目录
  507. # 使用步骤:
  508. # 1. 访问 https://alphacephei.com/vosk/models 下载对应的模型
  509. # 2. 解压模型文件到项目目录下的models/vosk/文件夹
  510. # 3. 在配置中指定正确的模型路径
  511. # 4. 注意:VOSK中文模型输出不带标点符号,词与词之间会有空格
  512. type: vosk
  513. model_path: 你的模型路径,如:models/vosk/vosk-model-small-cn-0.22
  514. output_dir: tmp/
  515. Qwen3ASRFlash:
  516. # 通义千问Qwen3-ASR-Flash语音识别服务,需要先在阿里云百炼平台创建API密钥
  517. # 申请步骤:
  518. # 1.登录阿里云百炼平台。https://bailian.console.aliyun.com/
  519. # 2.创建API-KEY https://bailian.console.aliyun.com/#/api-key
  520. # 3.Qwen3-ASR-Flash基于通义千问多模态基座,支持多语言识别、歌唱识别、噪声拒识等功能
  521. type: qwen3_asr_flash
  522. api_key: 你的阿里云百炼API密钥
  523. base_url: https://dashscope.aliyuncs.com/compatible-mode/v1
  524. model_name: qwen3-asr-flash
  525. output_dir: tmp/
  526. # ASR选项配置
  527. enable_lid: true # 自动语种检测
  528. enable_itn: true # 逆文本归一化
  529. #language: "zh" # 语种,支持zh、en、ja、ko等
  530. context: "" # 上下文信息,用于提高识别准确率,不超过10000 Token
  531. XunfeiStreamASR:
  532. # 讯飞流式语音识别服务
  533. # 需要先在讯飞开放平台创建应用,获取以下认证信息
  534. # 讯飞开放平台地址:https://www.xfyun.cn/
  535. # 创建应用后,在"我的应用"中获取:
  536. # - APPID
  537. # - APISecret
  538. # - APIKey
  539. type: xunfei_stream
  540. # 必填参数 - 讯飞开放平台应用信息
  541. app_id: 你的APPID
  542. api_key: 你的APIKey
  543. api_secret: 你的APISecret
  544. # 识别参数配置
  545. domain: slm # 识别领域,iat:日常用语,medical:医疗,finance:金融等
  546. language: zh_cn # 语言,zh_cn:中文,en_us:英文
  547. accent: mandarin # 方言,mandarin:普通话
  548. # 调整音频处理参数以提高长语音识别质量
  549. output_dir: tmp/
  550. AliyunBLStreamASR:
  551. # 阿里百炼Paraformer实时语音识别服务
  552. # WebSocket实时流式语音识别,支持多语言、热词定制、语义断句等高级功能
  553. # 平台地址:https://bailian.console.aliyun.com/
  554. # API Key地址:https://bailian.console.aliyun.com/#/api-key
  555. # 文档地址:https://help.aliyun.com/zh/model-studio/websocket-for-paraformer-real-time-service
  556. # 支持模型:paraformer-realtime-v2(推荐), paraformer-realtime-8k-v2, paraformer-realtime-v1, paraformer-realtime-8k-v1
  557. type: aliyunbl_stream
  558. # 必填参数
  559. api_key: 你的阿里云百炼API密钥
  560. # 模型选择,推荐使用v2版本
  561. model: paraformer-realtime-v2
  562. # 音频格式和采样率
  563. format: pcm
  564. sample_rate: 16000 # v2支持任意采样率,v1仅支持16000,8k版本仅支持8000
  565. # 可选参数
  566. disfluency_removal_enabled: false # 是否过滤语气词(如"嗯"、"啊"等)
  567. semantic_punctuation_enabled: false # 语义断句(true:会议场景,准确;false:VAD断句,交互场景,低延迟)
  568. max_sentence_silence: 200 # VAD断句静音时长阈值(ms),范围200-6000,仅VAD断句时生效
  569. multi_threshold_mode_enabled: false # 防止VAD断句切割过长,仅VAD断句时生效
  570. punctuation_prediction_enabled: true # 是否自动添加标点符号
  571. inverse_text_normalization_enabled: true # 是否开启ITN(中文数字转阿拉伯数字)
  572. # 热词定制文档地址:https://help.aliyun.com/zh/model-studio/custom-hot-words?
  573. # vocabulary_id: vocab-xxx-24ee19fa8cfb4d52902170a0xxxxxxxx # 热词ID(可选)
  574. # language_hints: ["zh", "en"] # 指定语言(可选),支持zh、en、ja、yue、ko、de、fr、ru
  575. output_dir: tmp/
  576. VAD:
  577. SileroVAD:
  578. type: silero
  579. threshold: 0.5
  580. threshold_low: 0.3
  581. model_dir: models/snakers4_silero-vad
  582. min_silence_duration_ms: 200 # 如果说话停顿比较长,可以把这个值设置大一些
  583. LLM:
  584. # 所有openai类型均可以修改超参,以AliLLM为例
  585. # 当前支持的type为openai、dify、ollama,可自行适配
  586. AliLLM:
  587. # 定义LLM API类型
  588. type: openai
  589. # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key
  590. base_url: https://dashscope.aliyuncs.com/compatible-mode/v1
  591. model_name: qwen-flash
  592. api_key: 你的deepseek web key
  593. temperature: 0.7 # 温度值
  594. max_tokens: 500 # 最大生成token数
  595. top_p: 1
  596. frequency_penalty: 0 # 频率惩罚
  597. AliAppLLM:
  598. # 定义LLM API类型
  599. type: AliBL
  600. base_url: https://dashscope.aliyuncs.com/compatible-mode/v1
  601. app_id: 你的app_id
  602. # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key
  603. api_key: 你的api_key
  604. # 是否不使用本地prompt:true|false (默不用请在百练应用中设置prompt)
  605. is_no_prompt: true
  606. # Ali_memory_id:false(不使用)|你的memory_id(请在百练应用中设置中获取)
  607. # Tips!:Ali_memory未实现多用户存储记忆(记忆按id调用)
  608. ali_memory_id: false
  609. DoubaoLLM:
  610. # 定义LLM API类型
  611. type: openai
  612. # 先开通服务,打开以下网址,开通的服务搜索Doubao-1.5-pro,开通它
  613. # 开通地址:https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false
  614. # 免费额度500000token
  615. # 开通后,进入这里获取密钥:https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D
  616. base_url: https://ark.cn-beijing.volces.com/api/v3
  617. model_name: doubao-1-5-pro-32k-250115
  618. api_key: 你的doubao web key
  619. DeepSeekLLM:
  620. # 定义LLM API类型
  621. type: openai
  622. # 可在这里找到你的api key https://platform.deepseek.com/
  623. model_name: deepseek-chat
  624. url: https://api.deepseek.com
  625. api_key: 你的deepseek web key
  626. ChatGLMLLM:
  627. # 定义LLM API类型
  628. type: openai
  629. # glm-4-flash 是免费的,但是还是需要注册填写api_key的
  630. # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys
  631. model_name: glm-4-flash
  632. url: https://open.bigmodel.cn/api/paas/v4/
  633. api_key: 你的chat-glm web key
  634. OllamaLLM:
  635. # 定义LLM API类型
  636. type: ollama
  637. model_name: qwen2.5 # 使用的模型名称,需要预先使用ollama pull下载
  638. base_url: http://localhost:11434 # Ollama服务地址
  639. DifyLLM:
  640. # 定义LLM API类型
  641. type: dify
  642. # 建议使用本地部署的dify接口,国内部分区域访问dify公有云接口可能会受限
  643. # 如果使用DifyLLM,配置文件里prompt(提示词)是无效的,需要在dify控制台设置提示词
  644. base_url: https://api.dify.ai/v1
  645. api_key: 你的DifyLLM web key
  646. # 使用的对话模式 可以选择工作流 workflows/run 对话模式 chat-messages 文本生成 completion-messages
  647. # 使用workflows进行返回的时候输入参数为 query 返回参数的名字要设置为 answer
  648. # 文本生成的默认输入参数也是query
  649. mode: chat-messages
  650. GeminiLLM:
  651. type: gemini
  652. # 谷歌Gemini API,需要先在Google Cloud控制台创建API密钥并获取api_key
  653. # 若在中国境内使用,请遵守《生成式人工智能服务管理暂行办法》
  654. # token申请地址: https://aistudio.google.com/apikey
  655. # 若部署地无法访问接口,需要开启科学上网
  656. api_key: 你的gemini web key
  657. model_name: "gemini-2.0-flash"
  658. http_proxy: "" #"http://127.0.0.1:10808"
  659. https_proxy: "" #http://127.0.0.1:10808"
  660. CozeLLM:
  661. # 定义LLM API类型
  662. type: coze
  663. # 你可以在这里找到个人令牌
  664. # https://www.coze.cn/open/oauth/pats
  665. # bot_id和user_id的内容写在引号之内
  666. bot_id: "你的bot_id"
  667. user_id: "你的user_id"
  668. personal_access_token: 你的coze个人令牌
  669. VolcesAiGatewayLLM:
  670. # 火山引擎 - 边缘大模型网关
  671. # 定义LLM API类型
  672. type: openai
  673. # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-pro-32k-functioncall ,开通
  674. # 如果需要使用边缘大模型网关提供的语音合成,一并勾选 Doubao-语音合成 ,另见 TTS.VolcesAiGatewayTTS 配置
  675. # https://console.volcengine.com/vei/aigateway/
  676. # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list
  677. base_url: https://ai-gateway.vei.volces.com/v1
  678. model_name: doubao-pro-32k-functioncall
  679. api_key: 你的网关访问密钥
  680. LMStudioLLM:
  681. # 定义LLM API类型
  682. type: openai
  683. model_name: deepseek-r1-distill-llama-8b@q4_k_m # 使用的模型名称,需要预先在社区下载
  684. url: http://localhost:1234/v1 # LM Studio服务地址
  685. api_key: lm-studio # LM Studio服务的固定API Key
  686. HomeAssistant:
  687. # 定义LLM API类型
  688. type: homeassistant
  689. base_url: http://homeassistant.local:8123
  690. agent_id: conversation.chatgpt
  691. api_key: 你的home assistant api访问令牌
  692. FastgptLLM:
  693. # 定义LLM API类型
  694. type: fastgpt
  695. # 如果使用fastgpt,配置文件里prompt(提示词)是无效的,需要在fastgpt控制台设置提示词
  696. base_url: https://host/api/v1
  697. # 你可以在这里找到你的api_key
  698. # https://cloud.tryfastgpt.ai/account/apikey
  699. api_key: 你的fastgpt密钥
  700. variables:
  701. k: "v"
  702. k2: "v2"
  703. XinferenceLLM:
  704. # 定义LLM API类型
  705. type: xinference
  706. # Xinference服务地址和模型名称
  707. model_name: qwen2.5:72b-AWQ # 使用的模型名称,需要预先在Xinference启动对应模型
  708. base_url: http://localhost:9997 # Xinference服务地址
  709. XinferenceSmallLLM:
  710. # 定义轻量级LLM API类型,用于意图识别
  711. type: xinference
  712. # Xinference服务地址和模型名称
  713. model_name: qwen2.5:3b-AWQ # 使用的小模型名称,用于意图识别
  714. base_url: http://localhost:9997 # Xinference服务地址
  715. # VLLM配置(视觉语言大模型)
  716. VLLM:
  717. ChatGLMVLLM:
  718. type: openai
  719. # glm-4v-flash是智谱免费AI的视觉模型,需要先在智谱AI平台创建API密钥并获取api_key
  720. # 可在这里找到你的api key https://bigmodel.cn/usercenter/proj-mgmt/apikeys
  721. model_name: glm-4v-flash # 智谱AI的视觉模型
  722. url: https://open.bigmodel.cn/api/paas/v4/
  723. api_key: 你的api_key
  724. QwenVLVLLM:
  725. type: openai
  726. model_name: qwen3.5-flash
  727. url: https://dashscope.aliyuncs.com/compatible-mode/v1
  728. # 可在这里找到你的api key https://bailian.console.aliyun.com/?apiKey=1#/api-key
  729. api_key: 你的api_key
  730. XunfeiSparkLLM:
  731. # 定义LLM API类型
  732. type: openai
  733. # 先新建应用,在下面的地址
  734. # 开通应用地址:https://console.xfyun.cn/app/myapp
  735. # 有免费额度,但也要开通服务,才能获取api_key
  736. # 每一个模型都需要单独开通,每一个模型的api_password都不同,例如Lite模型在https://console.xfyun.cn/services/cbm 开通
  737. base_url: https://ark.cn-beijing.volces.com/api/v3
  738. model_name: lite
  739. api_key: 你的api_password
  740. TTS:
  741. # 当前支持的type为edge、doubao,可自行适配
  742. EdgeTTS:
  743. # 定义TTS API类型
  744. type: edge
  745. voice: zh-CN-XiaoxiaoNeural
  746. output_dir: tmp/
  747. # language: "中文" # 指定输出语种,如:中文、英语、日语、韩语等,请根据所选音色支持的语言进行设置,不填则默认为中文
  748. DoubaoTTS:
  749. # 定义TTS API类型
  750. type: doubao
  751. # 火山引擎语音合成服务,需要先在火山引擎控制台创建应用并获取appid和access_token
  752. # 山引擎语音一定要购买花钱,起步价30元,就有100并发了。如果用免费的只有2个并发,会经常报tts错误
  753. # 购买服务后,购买免费的音色后,可能要等半小时左右,才能使用。
  754. # 普通音色在这里开通:https://console.volcengine.com/speech/service/8
  755. # 湾湾小何音色在这里开通:https://console.volcengine.com/speech/service/10007,开通后将下面的voice设置成zh_female_wanwanxiaohe_moon_bigtts
  756. api_url: https://openspeech.bytedance.com/api/v1/tts
  757. voice: BV001_streaming
  758. output_dir: tmp/
  759. authorization: "Bearer;"
  760. appid: 你的火山引擎语音合成服务appid
  761. access_token: 你的火山引擎语音合成服务access_token
  762. cluster: volcano_tts
  763. speed_ratio: 1.0
  764. volume_ratio: 1.0
  765. pitch_ratio: 1.0
  766. # language: "中文" # 指定输出语种,如:中文、英语、日语、韩语等,请根据所选音色支持的语言进行设置,不填则默认为中文
  767. #火山tts,支持双向流式tts
  768. HuoshanDoubleStreamTTS:
  769. type: huoshan_double_stream
  770. # 访问 https://console.volcengine.com/speech/service/10007 开通语音合成大模型,购买音色
  771. # 在页面底部获取appid和access_token
  772. # 资源ID固定为:volc.service_type.10029(大模型语音合成及混音)
  773. # 如果是机智云,把接口地址换成wss://bytedance.gizwitsapi.com/api/v3/tts/bidirection
  774. # 机智云不需要天填 appid
  775. ws_url: wss://openspeech.bytedance.com/api/v3/tts/bidirection
  776. appid: 你的火山引擎语音合成服务appid
  777. access_token: 你的火山引擎语音合成服务access_token
  778. resource_id: volc.service_type.10029
  779. speaker: zh_female_wanwanxiaohe_moon_bigtts
  780. # 开启WebSocket连接复用,默认复用(注意:复用后设备处于聆听状态时空闲链接会占并发数)
  781. enable_ws_reuse: True
  782. # 相关参数文档:https://www.volcengine.com/docs/6561/1329505
  783. # 音频输出配置(audio_params)- 用户可自定义添加火山引擎支持的任何音频参数
  784. audio_params:
  785. speech_rate: 0 # 语速(-50~100)
  786. loudness_rate: 0 # 音量(-50~100)
  787. # 多情感音色参数,注意:当前仅部分音色支持设置情感。
  788. # 相关音色列表:https://www.volcengine.com/docs/6561/1257544
  789. # emotion: "neutral" # 情感类型(仅部分音色支持):neutral、happy、sad、angry、fearful、disgusted、surprised
  790. # emotion_scale: 4 # 情感强度(1~5)
  791. # 高级文本处理配置(additions)- 用户可自定义添加火山引擎支持的任何高级参数
  792. additions:
  793. post_process:
  794. pitch: 0 # 音高(-12~12)
  795. # aigc_metadata: {} # AIGC元数据配置
  796. # cache_config: {} # 缓存配置
  797. # 混音控制配置(mix_speaker)- 多音色混合(仅 TTS 1.0)
  798. # 混音功能主要适用于豆包语音合成模型1.0的音色,使用时需要将req_params.speaker设置为custom_mix_bigtts
  799. # mix_speaker:
  800. # speakers:
  801. # - source_speaker: zh_male_bvlazysheep
  802. # mix_factor: 0.3
  803. # - source_speaker: BV120_streaming
  804. # mix_factor: 0.3
  805. # - source_speaker: zh_male_ahu_conversation_wvae_bigtts
  806. # mix_factor: 0.4
  807. # language: "中文" # 指定输出语种,如:中文、英语、日语、韩语等,请根据所选音色支持的语言进行设置,不填则默认为中文
  808. #豆包语音合成模型2.0,支持双向流式tts(基于seed-tts-2.0资源)
  809. HuoshanDoubleStreamTTSV2:
  810. type: huoshan_double_stream
  811. # 访问 https://console.volcengine.com/speech/service/10035 开通语音合成大模型,购买音色
  812. # 在页面底部获取appid和access_token
  813. # 资源ID固定为:seed-tts-2.0(豆包语音合成模型2.0)
  814. # 如果是机智云,把接口地址换成wss://bytedance.gizwitsapi.com/api/v3/tts/bidirection
  815. # 机智云不需要天填 appid
  816. ws_url: wss://openspeech.bytedance.com/api/v3/tts/bidirection
  817. appid: 你的火山引擎语音合成服务appid
  818. access_token: 你的火山引擎语音合成服务access_token
  819. resource_id: seed-tts-2.0
  820. speaker: zh_female_xiaohe_uranus_bigtts
  821. # 开启WebSocket连接复用,默认复用(注意:复用后设备处于聆听状态时空闲链接会占并发数)
  822. enable_ws_reuse: True
  823. # 相关参数文档:https://www.volcengine.com/docs/6561/1329505
  824. # 音频输出配置(audio_params)- 用户可自定义添加火山引擎支持的任何音频参数
  825. audio_params:
  826. speech_rate: 0 # 语速(-50~100)
  827. loudness_rate: 0 # 音量(-50~100)
  828. # 高级文本处理配置(additions)- 用户可自定义添加火山引擎支持的任何高级参数
  829. additions:
  830. post_process:
  831. pitch: 0 # 音高(-12~12)
  832. # language: "中文" # 指定输出语种,如:中文、英语、日语、韩语等,请根据所选音色支持的语言进行设置,不填则默认为中文
  833. CosyVoiceSiliconflow:
  834. type: siliconflow
  835. # 硅基流动TTS
  836. # token申请地址 https://cloud.siliconflow.cn/account/ak
  837. model: FunAudioLLM/CosyVoice2-0.5B
  838. voice: FunAudioLLM/CosyVoice2-0.5B:alex
  839. output_dir: tmp/
  840. access_token: 你的硅基流动API密钥
  841. response_format: wav
  842. # language: "中文" # 指定输出语种,如:中文、英语、日语、韩语等,请根据所选音色支持的语言进行设置,不填则默认为中文
  843. CozeCnTTS:
  844. type: cozecn
  845. # COZECN TTS
  846. # token申请地址 https://www.coze.cn/open/oauth/pats
  847. voice: 7426720361733046281
  848. output_dir: tmp/
  849. access_token: 你的coze web key
  850. response_format: wav
  851. # language: "中文" # 指定输出语种,如:中文、英语、日语、韩语等,请根据所选音色支持的语言进行设置,不填则默认为中文
  852. # 以下可不用设置,使用默认设置
  853. # speed: 1 # 语速:-0.5到2
  854. # loudness_rate: 0 # 音量:-50到100
  855. VolcesAiGatewayTTS:
  856. type: openai
  857. # 火山引擎 - 边缘大模型网关
  858. # 先开通服务,打开以下网址,创建网关访问密钥,搜索并勾选 Doubao-语音合成 ,开通
  859. # 如果需要使用边缘大模型网关提供的 LLM,一并勾选 Doubao-pro-32k-functioncall ,另见 LLM.VolcesAiGatewayLLM 配置
  860. # https://console.volcengine.com/vei/aigateway/
  861. # 开通后,进入这里获取密钥:https://console.volcengine.com/vei/aigateway/tokens-list
  862. api_key: 你的网关访问密钥
  863. api_url: https://ai-gateway.vei.volces.com/v1/audio/speech
  864. model: doubao-tts
  865. # 音色列表见 https://www.volcengine.com/docs/6561/1257544
  866. voice: zh_male_shaonianzixin_moon_bigtts
  867. speed: 1
  868. output_dir: tmp/
  869. # language: "中文" # 指定输出语种,如:中文、英语、日语、韩语等,请根据所选音色支持的语言进行设置,不填则默认为中文
  870. FishSpeech:
  871. # 参照教程:https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/fish-speech-integration.md
  872. type: fishspeech
  873. output_dir: tmp/
  874. response_format: wav
  875. reference_id: null
  876. reference_audio: ["config/assets/wakeup_words.wav",]
  877. reference_text: ["哈啰啊,我是xingxing啦,声音好听的台湾女孩一枚,超开心认识你耶,最近在忙啥,别忘了给我来点有趣的料哦,我超爱听八卦的啦",]
  878. normalize: true
  879. max_new_tokens: 1024
  880. chunk_length: 200
  881. top_p: 0.7
  882. repetition_penalty: 1.2
  883. temperature: 0.7
  884. streaming: false
  885. use_memory_cache: "on"
  886. seed: null
  887. channels: 1
  888. rate: 44100
  889. api_key: "你的api_key"
  890. api_url: "http://127.0.0.1:8080/v1/tts"
  891. # language: "中文" # 指定输出语种,如:中文、英语、日语、韩语等,请根据所选音色支持的语言进行设置,不填则默认为中文
  892. GPT_SOVITS_V2:
  893. # 定义TTS API类型
  894. #启动tts方法:
  895. #python api_v2.py -a 127.0.0.1 -p 9880 -c GPT_SoVITS/configs/demo.yaml
  896. type: gpt_sovits_v2
  897. url: "http://127.0.0.1:9880/tts"
  898. output_dir: tmp/
  899. text_lang: "auto"
  900. ref_audio_path: "demo.wav"
  901. prompt_text: ""
  902. prompt_lang: "zh"
  903. top_k: 5
  904. top_p: 1
  905. temperature: 1
  906. text_split_method: "cut0"
  907. batch_size: 1
  908. batch_threshold: 0.75
  909. split_bucket: true
  910. return_fragment: false
  911. speed_factor: 1.0
  912. streaming_mode: false
  913. seed: -1
  914. parallel_infer: true
  915. repetition_penalty: 1.35
  916. aux_ref_audio_paths: []
  917. # language: "中文" # 指定输出语种,如:中文、英语、日语、韩语等,请根据所选音色支持的语言进行设置,不填则默认为中文
  918. GPT_SOVITS_V3:
  919. # 定义TTS API类型 GPT-SoVITS-v3lora-20250228
  920. #启动tts方法:
  921. #python api.py
  922. type: gpt_sovits_v3
  923. url: "http://127.0.0.1:9880"
  924. output_dir: tmp/
  925. text_language: "auto"
  926. refer_wav_path: "caixukun.wav"
  927. prompt_language: "zh"
  928. prompt_text: ""
  929. top_k: 15
  930. top_p: 1.0
  931. temperature: 1.0
  932. cut_punc: ""
  933. speed: 1.0
  934. inp_refs: []
  935. sample_steps: 32
  936. if_sr: false
  937. # language: "中文" # 指定输出语种,如:中文、英语、日语、韩语等,请根据所选音色支持的语言进行设置,不填则默认为中文
  938. MinimaxTTSHTTPStream:
  939. # Minimax流式语音合成服务
  940. type: minimax_httpstream
  941. output_dir: tmp/
  942. group_id: 你的minimax平台groupID
  943. api_key: 你的minimax平台接口密钥
  944. model: "speech-01-turbo"
  945. voice_id: "female-shaonv"
  946. # 以下可不用设置,使用默认设置
  947. # voice_setting:
  948. # voice_id: "male-qn-qingse"
  949. # speed: 1
  950. # vol: 1
  951. # pitch: 0
  952. # emotion: "happy"
  953. # pronunciation_dict:
  954. # tone:
  955. # - "处理/(chu3)(li3)"
  956. # - "危险/dangerous"
  957. # audio_setting:
  958. # bitrate: 128000
  959. # format: "mp3"
  960. # channel: 1
  961. # timber_weights:
  962. # -
  963. # voice_id: male-qn-qingse
  964. # weight: 1
  965. # -
  966. # voice_id: female-shaonv
  967. # weight: 1
  968. # language_boost: auto
  969. # language: "中文" # 指定输出语种,如:中文、英语、日语、韩语等,请根据所选音色支持的语言进行设置,不填则默认为中文
  970. AliyunTTS:
  971. # 阿里云智能语音交互服务,需要先在阿里云平台开通服务,然后获取验证信息
  972. # 平台地址:https://nls-portal.console.aliyun.com/
  973. # appkey地址:https://nls-portal.console.aliyun.com/applist
  974. # token地址:https://nls-portal.console.aliyun.com/overview
  975. # 定义TTS API类型
  976. type: aliyun
  977. output_dir: tmp/
  978. appkey: 你的阿里云智能语音交互服务项目Appkey
  979. token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret
  980. voice: xiaoyun
  981. access_key_id: 你的阿里云账号access_key_id
  982. access_key_secret: 你的阿里云账号access_key_secret
  983. # 以下可不用设置,使用默认设置
  984. # format: wav
  985. # volume: 50
  986. # speech_rate: 0
  987. # pitch_rate: 0
  988. # language: "中文" # 指定输出语种,如:中文、英语、日语、韩语等,请根据所选音色支持的语言进行设置,不填则默认为中文
  989. AliyunStreamTTS:
  990. # 阿里云CosyVoice大模型流式文本语音合成
  991. # 采用FlowingSpeechSynthesizer接口,支持更低延迟和更自然的语音质量
  992. # 流式文本语音合成仅提供商用版,不支持试用,详情请参见试用版和商用版。要使用该功能,请开通商用版。
  993. # 支持龙系列专用音色:longxiaochun、longyu、longchen等
  994. # 平台地址:https://nls-portal.console.aliyun.com/
  995. # appkey地址:https://nls-portal.console.aliyun.com/applist
  996. # token地址:https://nls-portal.console.aliyun.com/overview
  997. # 使用三阶段流式交互:StartSynthesis -> RunSynthesis -> StopSynthesis
  998. type: aliyun_stream
  999. output_dir: tmp/
  1000. appkey: 你的阿里云智能语音交互服务项目Appkey
  1001. token: 你的阿里云智能语音交互服务AccessToken,临时的24小时,要长期用下方的access_key_id,access_key_secret
  1002. voice: longxiaochun
  1003. access_key_id: 你的阿里云账号access_key_id
  1004. access_key_secret: 你的阿里云账号access_key_secret
  1005. # 截至2025年7月21日大模型音色只有北京节点采用,其他节点暂不支持
  1006. host: nls-gateway-cn-beijing.aliyuncs.com
  1007. # 以下可不用设置,使用默认设置
  1008. # format: pcm # 音频格式:pcm、wav、mp3
  1009. # volume: 50 # 音量:0-100
  1010. # speech_rate: 0 # 语速:-500到500
  1011. # pitch_rate: 0 # 语调:-500到500
  1012. # language: "中文" # 指定输出语种,如:中文、英语、日语、韩语等,请根据所选音色支持的语言进行设置,不填则默认为中文
  1013. TencentTTS:
  1014. # 腾讯云智能语音交互服务,需要先在腾讯云平台开通服务
  1015. # appid、secret_id、secret_key申请地址:https://console.cloud.tencent.com/cam/capi
  1016. # 免费领取资源:https://console.cloud.tencent.com/tts/resourcebundle
  1017. type: tencent
  1018. output_dir: tmp/
  1019. appid: 你的腾讯云AppId
  1020. secret_id: 你的腾讯云SecretID
  1021. secret_key: 你的腾讯云SecretKey
  1022. region: ap-guangzhou
  1023. voice: 101001
  1024. # language: "中文" # 指定输出语种,如:中文、英语、日语、韩语等,请根据所选音色支持的语言进行设置,不填则默认为中文
  1025. # 以下可不用设置,使用默认设置
  1026. # format: wav # 音频格式:pcm、wav、mp3
  1027. # volume: 0 # 音量:-10到10
  1028. # speech_rate: 0 # 语速:-2到6
  1029. TTS302AI:
  1030. # 302AI语音合成服务,需要先在302平台创建账户充值,并获取密钥信息
  1031. # 添加 302.ai TTS 配置
  1032. # token申请地址:https://dash.302.ai/
  1033. # 获取api_keyn路径:https://dash.302.ai/apis/list
  1034. # 价格,$35/百万字符。火山原版¥450元/百万字符
  1035. type: doubao
  1036. api_url: https://api.302ai.cn/doubao/tts_hd
  1037. authorization: "Bearer "
  1038. # 湾湾小何音色
  1039. voice: "zh_female_wanwanxiaohe_moon_bigtts"
  1040. output_dir: tmp/
  1041. access_token: "你的302API密钥"
  1042. # language: "中文" # 指定输出语种,如:中文、英语、日语、韩语等,请根据所选音色支持的语言进行设置,不填则默认为中文
  1043. GizwitsTTS:
  1044. type: doubao
  1045. # 火山引擎作为基座,可以完全使用企业级火山引擎语音合成服务
  1046. # 前一万名注册的用户,将送5元体验金额
  1047. # 获取API Key地址:https://agentrouter.gizwitsapi.com/panel/token
  1048. api_url: https://bytedance.gizwitsapi.com/api/v1/tts
  1049. authorization: "Bearer "
  1050. # 湾湾小何音色
  1051. voice: "zh_female_wanwanxiaohe_moon_bigtts"
  1052. output_dir: tmp/
  1053. access_token: "你的机智云API key"
  1054. # language: "中文" # 指定输出语种,如:中文、英语、日语、韩语等,请根据所选音色支持的语言进行设置,不填则默认为中文
  1055. ACGNTTS:
  1056. #在线网址:https://acgn.ttson.cn/
  1057. #token购买:www.ttson.cn
  1058. #开发相关疑问请提交至网站上的qq
  1059. #角色id获取地址:ctrl+f快速检索角色——网站管理者不允许发布,可询问网站管理者
  1060. #各参数意义见开发文档:https://www.yuque.com/alexuh/skmti9/wm6taqislegb02gd?singleDoc#
  1061. type: ttson
  1062. token: your_token
  1063. voice_id: 1695
  1064. speed_factor: 1
  1065. pitch_factor: 0
  1066. volume_change_dB: 0
  1067. to_lang: ZH
  1068. url: https://u95167-bd74-2aef8085.westx.seetacloud.com:8443/flashsummary/tts?token=
  1069. format: mp3
  1070. output_dir: tmp/
  1071. emotion: 1
  1072. # language: "中文" # 指定输出语种,如:中文、英语、日语、韩语等,请根据所选音色支持的语言进行设置,不填则默认为中文
  1073. OpenAITTS:
  1074. # openai官方文本转语音服务,可支持全球大多数语种
  1075. type: openai
  1076. # 你可以在这里获取到 api key
  1077. # https://platform.openai.com/api-keys
  1078. api_key: 你的openai api key
  1079. # 国内需要使用代理
  1080. api_url: https://api.openai.com/v1/audio/speech
  1081. # 可选tts-1或tts-1-hd,tts-1速度更快tts-1-hd质量更好
  1082. model: tts-1
  1083. # 演讲者,可选alloy, echo, fable, onyx, nova, shimmer
  1084. voice: onyx
  1085. # 语速范围0.25-4.0
  1086. speed: 1
  1087. output_dir: tmp/
  1088. # language: "中文" # 指定输出语种,如:中文、英语、日语、韩语等,请根据所选音色支持的语言进行设置,不填则默认为中文
  1089. CustomTTS:
  1090. # 自定义的TTS接口服务,请求参数可自定义,可接入众多TTS服务
  1091. # 以本地部署的KokoroTTS为例
  1092. # 如果只有cpu运行:docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:latest
  1093. # 如果只有gpu运行:docker run --gpus all -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpu:latest
  1094. # 要求接口使用POST方式请求,并返回音频文件
  1095. type: custom
  1096. method: POST
  1097. url: "http://127.0.0.1:8880/v1/audio/speech"
  1098. params: # 自定义请求参数
  1099. input: "{prompt_text}"
  1100. response_format: "mp3"
  1101. download_format: "mp3"
  1102. voice: "zf_xiaoxiao"
  1103. lang_code: "z"
  1104. return_download_link: true
  1105. speed: 1
  1106. stream: false
  1107. headers: # 自定义请求头
  1108. # Authorization: Bearer xxxx
  1109. format: mp3 # 接口返回的音频格式
  1110. output_dir: tmp/
  1111. # language: "中文" # 指定输出语种,如:中文、英语、日语、韩语等,请根据所选音色支持的语言进行设置,不填则默认为中文
  1112. LinkeraiTTS:
  1113. type: linkerai
  1114. api_url: https://tts.linkerai.cn/tts
  1115. audio_format: "pcm"
  1116. # 默认的access_token供大家测试时免费使用的,此access_token请勿用于商业用途
  1117. # 如果效果不错,可自行申请token,申请地址:https://linkerai.cn
  1118. # 各参数意义见开发文档:https://tts.linkerai.cn/docs
  1119. # 支持声音克隆,可自行上传音频,填入voice参数,voice参数为空时,使用默认声音
  1120. access_token: "U4YdYXVfpwWnk2t5Gp822zWPCuORyeJL"
  1121. voice: "OUeAo1mhq6IBExi"
  1122. output_dir: tmp/
  1123. # language: "中文" # 指定输出语种,如:中文、英语、日语、韩语等,请根据所选音色支持的语言进行设置,不填则默认为中文
  1124. PaddleSpeechTTS:
  1125. #百度飞浆 PaddleSpeech 支持本地离线部署 支持模型训练
  1126. #框架地址 https://www.paddlepaddle.org.cn/
  1127. #项目地址 https://github.com/PaddlePaddle/PaddleSpeech
  1128. #SpeechServerDemo https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/demos/speech_server
  1129. #流式传输请参考 https://github.com/PaddlePaddle/PaddleSpeech/wiki/PaddleSpeech-Server-WebSocket-API
  1130. type: paddle_speech
  1131. protocol: websocket # protocol choices = ['websocket', 'http']
  1132. url: ws://127.0.0.1:8092/paddlespeech/tts/streaming # TTS 服务的 URL 地址,指向本地服务器 [websocket默认ws://127.0.0.1:8092/paddlespeech/tts/streaming,http默认http://127.0.0.1:8090/paddlespeech/tts]
  1133. spk_id: 0 # 发音人 ID,0 通常表示默认的发音人
  1134. speed: 1.0 # 语速,1.0 表示正常语速,>1 表示加快,<1 表示减慢
  1135. volume: 1.0 # 音量,1.0 表示正常音量,>1 表示增大,<1 表示减小
  1136. save_path: # 保存路径
  1137. # language: "中文" # 指定输出语种,如:中文、英语、日语、韩语等,请根据所选音色支持的语言进行设置,不填则默认为中文
  1138. IndexStreamTTS:
  1139. # 基于Index-TTS-vLLM项目的TTS接口服务
  1140. # 参照教程:https://github.com/Ksuriuri/index-tts-vllm/blob/master/README.md
  1141. type: index_stream
  1142. api_url: http://127.0.0.1:11996/tts
  1143. audio_format: "pcm"
  1144. # 默认音色,如需其他音色可到项目assets文件夹下注册
  1145. voice: "jay_klee"
  1146. output_dir: tmp/
  1147. # language: "中文" # 指定输出语种,如:中文、英语、日语、韩语等,请根据所选音色支持的语言进行设置,不填则默认为中文
  1148. AliBLTTS:
  1149. # 阿里百炼CosyVoice大模型流式文本语音合成
  1150. # 可在这里找到你的 api_key https://bailian.console.aliyun.com/?apiKey=1#/api-key
  1151. # cosyvoice-v3和部分音色需要申请开通
  1152. type: alibl_stream
  1153. api_key: 你的api_key
  1154. model: "cosyvoice-v2"
  1155. voice: "longcheng_v2"
  1156. output_dir: tmp/
  1157. # 以下可不用设置,使用默认设置
  1158. # format: pcm # 音频格式:pcm、wav、mp3、opus
  1159. # volume: 50 # 音量:0-100
  1160. # rate: 1 # 语速:0.5~2
  1161. # pitch: 1 # 语调:0.5~2
  1162. # language: "中文" # 指定输出语种,如:中文、英语、日语、韩语等,请根据所选音色支持的语言进行设置,不填则默认为中文
  1163. XunFeiTTS:
  1164. # 讯飞TTS服务 官方网站:https://www.xfyun.cn/
  1165. # 登录讯飞语音技术平台 https://console.xfyun.cn/app/myapp 创建相关应用
  1166. # 选择需要的服务获取api相关配置 https://console.xfyun.cn/services/uts
  1167. # 为需要使用的应用(APPID)购买相关服务 例如:超拟人合成 https://console.xfyun.cn/services/uts
  1168. type: xunfei_stream
  1169. api_url: wss://cbm01.cn-huabei-1.xf-yun.com/v1/private/mcd9m97e6
  1170. app_id: 你的app_id
  1171. api_secret: 你的api_secret
  1172. api_key: 你的api_key
  1173. voice: x5_lingxiaoxuan_flow
  1174. output_dir: tmp/
  1175. # 以下可不用设置,使用默认设置,注意V5音色不支持口语化配置
  1176. # oral_level: mid # 口语化等级:high, mid, low
  1177. # spark_assist: 1 # 是否通过大模型进行口语化 开启:1, 关闭:0
  1178. # stop_split: 0 # 关闭服务端拆句 不关闭:0,关闭:1
  1179. # remain: 0 # 是否保留原书面语的样子 保留:1, 不保留:0
  1180. # format: raw # 音频格式:raw(PCM), lame(MP3), speex, opus, opus-wb, opus-swb, speex-wb
  1181. # volume: 50 # 音量:0-100
  1182. # speed: 50 # 语速:0-100
  1183. # pitch: 50 # 语调:0-100
  1184. # language: "中文" # 指定输出语种,如:中文、英语、日语、韩语等,请根据所选音色支持的语言进行设置,不填则默认为中文