Skip to content

SenseVoice

SenseVoice是一个基于SenseVoice-Api的语音识别技能,可以将语音消息转换为文本。

特点

  • 支持多种认证方式:Basic认证、JWT认证或无认证
  • 自动处理API路径,无需手动添加extract_text路径
  • 支持自动转换用户音频格式为识别引擎支持的格式(16k单声道wav)
  • 简单易用,只需配置API地址和认证信息即可使用

代码配置

完整配置示例

typescript
const ppagent = new PPAgent({
    skills: [
        {
            name: SenseVoiceSTTSkill.params.name,
            options: {
                instanceName: "sensevoice-stt", // 实例名称,需要全局唯一
                apiHost: "https://your.domain.com", // API地址,无需带extract_text
                authType: "basic", // 认证类型:basic、jwt、none
                userName: "your_username", // Basic认证用户名
                password: "your_password", // Basic认证密码
                jwt: "your_jwt_token", // JWT认证token
                ensureAudioFormat: true, // 是否确保音频格式符合要求
            },
        },
    ],
    source: {
        // ... 消息源配置
    },
    bot: {
        // ... 机器人配置
    },
});

服务器运行请参考 install_code.md 文件。

配置项说明

配置项类型必填默认值说明
instanceNamestring-实例名称,需全局唯一
apiHoststring-API地址,如 https://your.domain.com,无需带extract_text
authTypestring"none"认证类型:"basic"、"jwt"或"none"
userNamestring-Basic认证的用户名,authType为"basic"时必填
passwordstring-Basic认证的密码,authType为"basic"时必填
jwtstring-JWT认证的token,authType为"jwt"时必填
ensureAudioFormatbooleantrue是否确保音频格式为单声道16k的wav格式

注意事项

  1. API地址(需自行额外部署,开源地址)配置时无需带extract_text路径,系统会自动添加
  2. 默认情况下系统会自动检查并转换音频格式为16k单声道wav格式,这可能会增加处理时间。如果确定您的音频来源已经是16k或8k单声道格式,可以将ensureAudioFormat设置为false
  3. 根据部署环境选择合适的认证方式:
    • 内网环境可选择无认证模式(authType: "none"),开源服务默认为无认证
    • 公网环境建议使用Basic认证或JWT认证增强安全性,可以通过nginx添加简单的基础认证
  4. 如果API地址末尾没有"/",系统会自动添加