5.2 KiB
声纹识别启用指南
本教程包含2个部分
- 1、如何部署声纹识别这个服务
- 2、全模块部署时,怎么配置声纹识别接口
1、如何部署声纹识别这个服务
第一步,下载声纹识别项目源码
浏览器打开声纹识别项目地址
打开完,找到页面中一个绿色的按钮,写着Code的按钮,点开它,然后你就看到Download ZIP的按钮。
点击它,下载本项目源码压缩包。下载到你电脑后,解压它,此时它的名字可能叫voiceprint-api-main
你需要把它重命名成voiceprint-api。
第二步, 创建数据库和表
如果你之前已经部署智控台,说明你已经安装了mysql,那么需要在原来的mysql上创建一个名字为voiceprint_db的数据库和voiceprints表。
CREATE DATABASE voiceprint_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE voiceprint_db;
CREATE TABLE voiceprints (
id INT AUTO_INCREMENT PRIMARY KEY,
speaker_id VARCHAR(255) NOT NULL UNIQUE,
feature_vector LONGBLOB NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
INDEX idx_speaker_id (speaker_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
第三步, 配置数据库连接
进入voiceprint-api文件夹,创建名字为data的文件夹。
把voiceprint-api根目录里的voiceprint.yaml,复制到data的文件夹,将它重命名为.voiceprint.yaml
接下来,你需要重点配置一下.voiceprint.yaml里的数据库连接。
mysql:
host: "127.0.0.1"
port: 3306
user: "root"
password: "your_password"
database: "voiceprint_db"
注意!由于你是docker部署,host需要填写成你mysql所在机器的局域网ip。
注意!由于你是docker部署,host需要填写成你mysql所在机器的局域网ip。
注意!由于你是docker部署,host需要填写成你mysql所在机器的局域网ip。
第四步,启动程序
这个项目是一个很简单的项目,建议使用docker运行。不过如果你不想使用docker运行,你可以参考这个页面使用源码运行。以下是docker运行的方法
# 进入本项目源码根目录
cd voiceprint-api
# 清除缓存
docker compose -f docker-compose.yml down
docker stop voiceprint-api
docker rm voiceprint-api
docker rmi ghcr.nju.edu.cn/xinnan-tech/voiceprint-api:latest
# 启动docker容器
docker compose -f docker-compose.yml up -d
# 查看日志
docker logs -f voiceprint-api
此时,日志里会输出类似以下的日志
250711 INFO-🚀 开始: 生产环境服务启动(Uvicorn),监听地址: 0.0.0.0:8005
250711 INFO-============================================================
250711 INFO-声纹接口地址: http://127.0.0.1:8005/voiceprint/health?key=abcd
250711 INFO-============================================================
请你把声纹接口地址复制出来:
由于你是docker部署,切不可直接使用上面的地址!
由于你是docker部署,切不可直接使用上面的地址!
由于你是docker部署,切不可直接使用上面的地址!
你先把地址复制出来,放在一个草稿里,你要知道你的电脑的局域网ip是什么,例如我的电脑局域网ip是192.168.1.25,那么
原来我的接口地址
http://127.0.0.1:8005/voiceprint/health?key=abcd
就要改成
http://192.168.1.25:8005/voiceprint/health?key=abcd
改好后,请使用浏览器直接访问声纹接口地址。当浏览器出现类似这样的代码,说明是成功了。
{"total_voiceprints":0,"status":"healthy"}
请你保留好修改后的声纹接口地址,下一步要用到。
2、全模块部署时,怎么配置声纹识别
第一步 配置接口
如果你是全模块部署,使用管理员账号,登录智控台,点击顶部参数字典,选择参数管理功能。
然后搜索参数server.voice_print,此时,它的值应该是null值。
点击修改按钮,把上一步得来的声纹接口地址粘贴到参数值里。然后保存。
如果能保存成功,说明一切顺利,你可以去智能体查看效果了。如果不成功,说明智控台无法访问声纹识别,很大概率是网络防火墙,或者没有填写正确的局域网ip。
第二步 设置智能体记忆模式
进入你的智能体的角色配置里,将记忆设置成本地短期记忆,一定要开启上报文字+语音。
第三步 和你的智能体聊天
将你的设备通电,然后和他用正常的语速和音调聊天。
第四步 设置声纹
在智控台,智能体管理页面,在智能体的面板里,有一个声纹识别按钮,点击它。在底部有一个新增按钮。就可以对某个人说的话进行声纹注册。
在弹出的框里,描述这个属性建议填写上,可以是这个人的职业、性格、爱好。方便智能体对说话人进行分析和了解。
第三步 和你的智能体聊天
将你的设备通电,问它,你知道我是谁吗?如果他能回答得出,说明声纹识别功能正常。