目录:

http://aias.top/

音频搜索 - 声纹搜索

声纹识别

所谓声纹(Voiceprint),是用电声学仪器显示的携带言语信息的声波频谱。人类语言的产生是人体语言中枢与发音器官之间一个复杂的生理物理过程, 人在讲话时使用的发声器官--舌、牙齿、喉头、肺、鼻腔在尺寸和形态方面每个人的差异很大,所以任何两个人的声纹图谱都有差异。 声纹识别(Voiceprint Recognition, VPR),也称为说话人识别(Speaker Recognition),有两类, 即说话人辨认(Speaker Identification)和说话人确认(Speaker Verification)。前者用以判断某段语音是若干人中的哪一个所说的,是“多选一”问题;而后者用以确认某段语音是否是指定的某个人所说的,是“一对一判别”问题。不同的任务和应用会使用不同的声纹识别技术,如缩小刑侦范围时可能需要辨认技术,而银行交易时则需要确认技术。不管是辨认还是确认,都需要先对说话人的声纹进行建模,这就是所谓的“训练”或“学习”过程。

本例子提供了声纹搜索,使用了短时傅里叶变换算法,声纹特征提取算法。

主要特性

  • 底层使用特征向量相似度搜索
  • 单台服务器十亿级数据的毫秒级搜索
  • 近实时搜索,支持分布式部署
  • 随时对数据进行插入、删除、搜索、更新等操作

1. 前端部署

1.1 直接运行:

npm run dev

1.2 构建dist安装包:

npm run build:prod

1.3 nginx部署运行(mac环境为例):

cd /usr/local/etc/nginx/
vi /usr/local/etc/nginx/nginx.conf
# 编辑nginx.confserver {listen       8080;server_name  localhost;location / {root   /Users/calvin/Documents/voiceprint_search/dist/;index  index.html index.htm;}......# 重新加载配置:
sudo nginx -s reload # 部署应用后,重启:
cd /usr/local/Cellar/nginx/1.19.6/bin# 快速停止
sudo nginx -s stop# 启动
sudo nginx

2. 后端jar部署

2.1 环境要求:

  • 系统JDK 1.8+
  • application.yml
    1). 根据需要编辑图片上传根路径audio_root
# 文件存储路径
file:mac:path: ~/file/rootPath: ~/file/audio_root/ #压缩包解压缩文件夹linux:path: /home/aias/file/rootPath: /home/aias/file/audio_root/ #压缩包解压缩文件夹windows:path: file:///D:/aias/file/rootPath: file:///D:/aias/file/audio_root/ #压缩包解压缩文件夹...

2). 根据需要编辑图片baseUrl

image:#baseurl是图片的地址前缀baseUrl: http://127.0.0.1:8089/files/

2.2 运行程序:

# 运行程序java -jar voiceprint-search-0.1.0.jar

3. 后端向量引擎部署(docker)

3.1 环境要求:

  • 需要安装docker运行环境,Mac环境可以使用Docker Desktop

3.2 拉取 向量引擎 镜像(用于计算特征值向量相似度)

sudo docker pull milvusdb/milvus:0.10.0-cpu-d061620-5f3c00

3.3 下载配置文件

vector_engine.zip

3.4 启动 Docker 容器

/Users/calvin/vector_engine为主机路径,根据需要修改。conf下为引擎所需的配置文件。

docker run -d --name milvus_cpu_0.10.0 \
-p 19530:19530 \
-p 19121:19121 \
-p 9091:9091 \
-v /Users/calvin/vector_engine/db:/var/lib/milvus/db \
-v /Users/calvin/vector_engine/conf:/var/lib/milvus/conf \
-v /Users/calvin/vector_engine/logs:/var/lib/milvus/logs \
-v /Users/calvin/vector_engine/wal:/var/lib/milvus/wal \
milvusdb/milvus:0.10.0-cpu-d061620-5f3c00

3.5 编辑向量引擎连接配置信息

  • application.yml
  • 根据需要编辑向量引擎连接ip地址127.0.0.1为容器所在的主机ip
##################### 向量引擎 ###############################
search:host: 127.0.0.1port: 19530indexFileSize: 1024 # maximum size (in MB) of each index filenprobe: 256nlist: 16384faceDimension: 512 #dimension of each vectorfaceCollectionName: faces #collection namecommDimension: 512 #dimension of each vectorcommCollectionName: comm #collection name

4. 打开浏览器

  • 输入地址: http://localhost:8090
  • 视频上传 1). 点击上传按钮上传视频文件.
    测试声纹音频 2). 点击特征提取按钮. 等待音频文件解析,声音采样,短时傅里叶变换提取声音频谱,特征提取,特征存入向量引擎。通过console可以看到进度信息。

  • 视频搜索 上传图片,点击查询,可以看到返回的图片清单,根据相似度排序。

5. 帮助信息

  • swagger接口文档:
    http://localhost:8089/swagger-ui.html

  • 初始化向量引擎(清空数据): me.aias.tools.MilvusInit.java
        String host = "127.0.0.1";int port = 19530;final String collectionName = "voiceprint"; // collection nameMilvusClient client = new MilvusGrpcClient();// Connect to Milvus serverConnectParam connectParam = new ConnectParam.Builder().withHost(host).withPort(port).build();try {Response connectResponse = client.connect(connectParam);} catch (ConnectFailedException e) {e.printStackTrace();}// 检查 collection 是否存在HasCollectionResponse hasCollection = hasCollection(client, collectionName);if (hasCollection.hasCollection()) {dropIndex(client, collectionName);dropCollection(client, collectionName);}...
  • Milvus向量引擎参考链接
    Milvus向量引擎官网
    Milvus向量引擎Github

Git地址:
https://github.com/mymagicpower/AIAS/blob/main/7_engine_hub/voiceprint_search/README.md

AIAS: AIAS (AI Acceleration Suite) - 人工智能算法落地加速器套件提供:1. SDK2. 平台引擎3. 场景套件 - Gitee.com

人工智能AI系列 - 音频搜索之声纹搜索相关推荐

  1. 人工智能AI系列 - 人脸识别套件列表,包括人脸检测,人脸识别,人脸关键点,人脸比对,人脸搜索等等。

    人脸识别套件列表 打造最好的java开源人脸识别套件,包括人脸检测,人脸识别,人脸关键点,人脸比对,人脸搜索等等. 人脸检测SDK 人脸检测SDK 链接 人脸检测 (含5个人脸关键点) SDK 链接 ...

  2. 人工智能AI系列 - 以图搜图,以文搜图,以图搜文的跨模态搜索

    目录: http://aias.top/ 图像&文本的跨模态相似性比对检索[支持40种语言] 本例子提供了通过文本搜图片的能力展示(模型本身当然也支持图片搜文字,或者混合搜索). 主要特性 底 ...

  3. 全球权威声纹识别竞赛斩获双料冠军 网易AI Lab智能技术领先国际

    允中 发自 凹非寺 量子位 报道 | 公众号 QbitAI 中国力量,又双叒夺冠了. 这一次,是在全球规模最大.最全面的语音顶会INTERSPEECH 2020上. 挑战比拼内容,则是当前语音研究领域 ...

  4. AI领域「听风者」:声纹识别5大核心知识点!

    https://www.toutiao.com/a6691897670778225160/ 在移动互联网大行其道的时代,人们不用出门不用见面就可以完成很多事情,比如购物.生活缴费.投资理财等,在享受着 ...

  5. 业界首个声纹识别与音频检索系统上线,10分钟搭建产业级应用

    随着深度学习技术的升级与产业的发展,智能语音交互已成为了我们日常生活中一个重要的组成部分,并广泛应用在地图导航播报.智能客服回访.手机语音输入以及各类智能助手等应用场景中,可以说语音已成为了人与机器之 ...

  6. 业界首个声纹识别与音频检索系统,10分钟搭建产业级应用

    随着深度学习技术的升级与产业的发展,智能语音交互已成为了我们日常生活中一个重要的组成部分,并广泛应用在地图导航播报.智能客服回访.手机语音输入以及各类智能助手等应用场景中,可以说语音已成为了人与机器之 ...

  7. 声纹识别demo_声纹识别 iOS SDK 文档

    # 声纹识别 iOS SDK 文档 # 1.简介 声纹识别(Voiceprint Recognition),是一项提取说话人声音特征和说话内容信息,自动核验说话人身份的技术.MSC SDK 声纹识别( ...

  8. 同盾科技声纹识别建模大赛

    赛事简介 本次"同盾科技声纹识别建模大赛"立足于选拔出色AI人才,致力于打造"智能风控",为高潜力人才与高增长行业建立起精准对接的桥梁.此次同盾联合科赛.希尔贝 ...

  9. 探秘身份认证利器——声纹识别!

    在这个移动互联网大行其道的年代,人们不用互相见面就可以完成很多事情,比如社交.购物.网上开店.金融交易等等,但是如何验证身份变成了人和人在不见面的情况下最难的事情.传统的解决方案就是密码或者秘钥,它需 ...

  10. 声纹识别demo_声纹识别 · 科大讯飞MSC开发指南-iOS · 看云

    [TOC] 声纹识别,主要是提供基于用户声纹特征的注册.验证服务.讯飞开放平台支持2种类型的声纹密码类型,即文本密码和数字密码,在注册时需要指定声纹类型. ~~~ //创建声纹对象 isvRec=[I ...

最新文章

  1. 怎样设计出优秀的测试用例?看看下面就知道了
  2. 英媒:人工智能终于接近人类智能了吗?
  3. Gentoo - X11 forwarding request failed on channel 0
  4. 《深入C++对象模型》笔记
  5. Awesome Mac:收集的非常全面好用的Mac应用程序、软件以及工具
  6. 【转载保存】基于Lucene的近实时搜索引擎优化总结
  7. python 公众号菜单_Python脚本--微信公众号自定义菜单的创建及获取
  8. What is a TensorFlow Session?
  9. 函数接口Inside COM读书笔记-----调度接口与自动化
  10. 【随笔】一名蒟蒻的自白
  11. ESP8266-连接阿里云示例
  12. 77个提升自我的网站
  13. 什么原因导致芯片短路_PCB电路板短路的原因及解决方法-EDA/PCB-与非网
  14. ChatGPT指令大全(中文版)
  15. 主板装机测试软件,主板检测工具:PSPident v0.74.1版发布
  16. 电容式加速度传感器(你会知道的文章)
  17. 微信小程序——简单计算器
  18. chosen(下拉列表带搜索插件)和layer(弹出框插件)在一起使用会有冲突,解决办法
  19. 玩转Python的黑魔法手册
  20. 华为HCIE证大数据证书社会认可度怎么样?

热门文章

  1. nodejs+vue+elementui校园疫情防控出入登记系统python java
  2. piano+apk+android,PianOli | F-Droid - Free and Open Source Android App Repository
  3. gpio引脚介绍 树莓派3b_树莓派引脚对照表
  4. 前端开发专业实习报告
  5. DSP原理学习笔记--第十四章--DSP算法及其实现
  6. html中的日期框怎么写,HTML5日期输入框(date)
  7. 《工业设计史》第五章:设计改革
  8. 对于火灾和火焰检测的初步学习
  9. javaSE(完整版)
  10. Android GPS学习笔记—HAL实现