说话人识别和说话人性别识别SDK-通过语音判断说话人,及说话人的性别

根据语音片段进行性别判断,以及说话人识别的SDK,c/c++实现。

利用GMM-UBM算法,可以进行说话人识别,或者性别识别,可以参考<声纹识别之Alize入门教程(二):GMM-UBM>。

进行性别识别的时候,将不同的性别视为不同的说话人即可。

1.Windows 

Win10 and VS2013。

新建空项目=>选择项目,右键属性=>c/c++=>常规=>附加包含目录添加

属性=>链接器=>输入=>附加依赖项

属性=>链接器=>常规=>附加库目录:..\..\lib\Debug or ..\..\lib\Release 根据当前新建项目类型进行选择

属性=>c/c++=>代码生成=>运行库:根据当前新建项目类型进行选择,如果是Debug选择/MTd;Release选择/MT

1.1性别识别

#include <iostream>
#include "speaker_recognizer.h"
using namespace std;
int main(int argc, char *argv[])
{SpeakerRecognizer spk;bool ret = spk.Init("ubm.gmm", { "female.gmm", "male.gmm" }, { "female", "male" });if (!ret)return -1;std::string gender = spk.RecognizeSpeaker("BAC009S0002W0123.wav");std::cout << gender << std::endl;return 0;
}

1.2说话人识别

#include <iostream>
#include "speaker_recognizer.h"
using namespace std;int main(int argc, char *argv[])
{SpeakerRecognizer spk;bool ret = spk.Init("ubm.gmm");if (!ret)return -1;ret = spk.RegisterSpeaker("BAC009S0002W0123.wav", "s2");ret = spk.RegisterSpeaker("BAC009S0003W0121.wav", "s3");std::string res = spk.RecognizeSpeaker("BAC009S0003W0122.wav"); // s3std::cout << res << std::endl;return 0;}

 

2.Android

通过Android Studio 加载.so库,在项目里新建libs文件夹,拷贝目录 arm64-v8a、armeabi-v7a、x86、x86_64到libs文件夹下

在build.gradle文件里添加

android {
sourceSets{main{jniLibs.srcDirs = ['libs']}}
}

新建Package(com.spkrec),将以下文件拷贝到该package目录

SpeakerRecognizer.java
spkrec_module.java
spkrec_moduleJNI.java
SWIGTYPE_p_std__vectorT_std__string_t.java
vectors.java

 

 

2.1性别识别

整个流程以及API同windows c++版本,进行说话人识别可自行修改代码。

import com.spkrec.*;
static {// 加载so文件System.loadLibrary("spkrec");   }
String recordDir = String.format(Locale.getDefault(), "%s/Record/",Environment.getExternalStorageDirectory().getAbsolutePath());
SpeakerRecognizer SpkRec = new SpeakerRecognizer();
// 模型路径
vectors reg_path = new vectors();
reg_path.add(recordDir+"female.gmm");
reg_path.add(recordDir+"male.gmm");
// 模型对应的性别
vectors reg_names=new vectors();
reg_names.add("female");
reg_names.add("male");
boolean init_ret =  SpkRec.Init(recordDir+"ubm.gmm",reg_path,reg_names);
if(!init_ret) // fail
{
return ...
}
String recg_ret = SpkRec.RecognizeSpeaker(result.getAbsolutePath());// 传入wav文件路径

使用网友的demo简单调试了一下几个API,主要就是在MainActivity.java添加了以上部分代码,程序启动的时候将三个gmm文件拷贝到了recordDir目录,生成了识别性别的小例子,如果识别结果为空的话,退出重新再打开app应该就好了。录音时间长一点,声音大一点,应该效果好一点:(。

android代码实在不会写,感谢网友的demo:

https://www.jianshu.com/p/c0222de2faed  

https://github.com/zhaolewei/ZlwAudioRecorder

修改后的Android Studio工程,以及.so和apk文件下载地址:https://download.csdn.net/download/u012594175/11201103

https://github.com/NonDay/FreeSR

Windows完整代码下载地址  https://download.csdn.net/download/u012594175/11088482

声纹识别交流QQ群:875705987

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/22513.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

语音识别(Speech Recognition)

来源&#xff1a;Coursera吴恩达深度学习课程 现今&#xff0c;最令人振奋的发展之一就是seq2seq模型&#xff08;sequence-to-sequence models&#xff09;在语音识别&#xff08;speech recognition&#xff09;方面准确性有了很大的提升。我们来看看seq2seq模型是如何应用于…

【爬虫】利用Python爬虫爬取小麦苗itpub博客的所有文章的连接地址(1)

【爬虫】利用Python爬虫爬取小麦苗itpub博客的所有文章的连接地址&#xff08;1&#xff09; 爬取结果&#xff1a; 火狐&#xff08;Firefox&#xff09;如何移除add security exception添加的网站&#xff1a;http://blog.itpub.net/26736162/viewspace-2286064/ 如何将网页…

【云和恩墨】内外兼修:Oracle ACED熊军谈Oracle学习

原创 2016-07-07 熊军 编辑手记&#xff1a;熊军是中国西部第一位&#xff0c;也是到目前为止唯一的Oracle ACE总监&#xff0c;在这篇文章中熊军描述了他的学习过程和理念供大家参考。 ORACLE 的学习&#xff0c;就好比武侠小说中学武功。要从三方面入手&#xff1a; 1、…

快跑!传说中的GPT4真的来了!多模态,吊打旧版ChatGPT!

原文&#xff1a;快跑&#xff01;传说中的GPT4真的来了&#xff01;多模态&#xff0c;吊打旧版ChatGPT! - 知乎 目录 牛逼!!! 对不起&#xff0c;我实在没忍住说出这两个字&#xff01; 过了一遍资料&#xff0c;先说结论&#xff1a;GPT4这波OpenAI直接王炸&#xff01;…

GPT4来了?10秒钟做一个网站

GPT4来了&#xff1f;10秒钟做一个网站&#xff01; 好了&#xff0c;我可以像雪容融一样躺平了&#x1f914; 为什么雪容融都会wei gui&#xff01;&#xff01;&#x1f92c; 言归正传&#xff0c;3月15日&#xff0c;#GPT4做一个网站只要十秒#登上热搜。 根据视频中的演…

《花雕学AI》AI时代来临,互联网教父凯文·凯利给你50条生存指南:5000天后的世界会是什么样?

你知道凯文凯利吗&#xff1f;他是《连线》杂志的创始人之一&#xff0c;被誉为“世界互联网教父”&#xff0c;他的预言和观点影响了无数人的思考和行动。他曾经预言过互联网、社交媒体、区块链等技术的发展和变革&#xff0c;而现在&#xff0c;他又给我们带来了一个全新的预…

雅虎正式成立 | 历史上的今天

整理 | 王启隆 透过「历史上的今天」&#xff0c;从过去看未来&#xff0c;从现在亦可以改变未来。 今天是 2023 年 3 月 2 日&#xff0c;在 1983 年的今天&#xff0c;世界上首张数码音乐唱片上市&#xff0c;从此改变了接下来二十多年的音乐产业。从光盘存储器、可记录光盘到…

刚自愿降薪 40% 的库克,要被“踢出”苹果董事会了?

整理 | 郑丽媛 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 没想到 2 月的尾巴&#xff0c;我们还没等来苹果春季发布会的音信&#xff0c;却听到了库克要被“踢出”苹果董事会的传闻&#xff1a; 据外媒 FOX Business 报道&#xff0c;美国国家法律和政策中心…

LangChain与大型语言模型(LLMs)应用基础教程:神奇的Agent

LangChain是大型语言模型(LLM)的应用框架,LangChain可以直接与 OpenAI 的 text-davinci-003、gpt-3.5-turbo 模型以及 Hugging Face 的各种开源语言模如 Google 的 flan-t5等模型集成。通过使用LangChain可以开发出更为强大和高效的LLM的各种应用。 今天我们就来实现一个神奇的…

一文读懂大语言模型

以ChatGPT为代表的大语言模型被很多人认为是新一轮科技革命的起点&#xff0c;本文旨在通过概念性介绍&#xff0c;让普通人能够尽可能理解人工智能以及大语言模型的基本概念&#xff0c;从而了解这些技术能做以及不能做什么。原文: A Very Gentle Introduction to Large Langu…

新手小白教程之 圈X-QuantumultX 某青极速版自动签到阅读

自动签到阅读功能 今天给大家带来QX的进阶玩法&#xff0c;实现阅读极速版的自动签到&#xff0c;自动阅读功能。我们今天的功能并不在重写或调试模块进行操作&#xff0c;直接在配置文件进行操作是最快最方便的。下面开始今天的教程。欢迎大家入群交流&#xff1a;868199154 …

0代码基础小白使用ChatGPT做出一款谷歌全屏截图插件的全过程

ChatGPT云炬学长 公众号&#xff1a;云炬网络 1 人赞同了该文章 开篇说明&#xff1a; 1、本次完全不懂代码&#xff0c;不知道什么Java、c&#xff0c;真正0基础开局&#xff1b; 2、以下是我按照时间顺序记录全过程&#xff0c;重点是记录使用ChatGPT的过程&#xff1b;…

看我用ChatGPT如何快速生成思维导图

这一节给大家分享下如何利用ChatGPT快速生成思维导图&#xff0c;先看效果图&#xff1a; 首先去ChatGPT提问题&#xff1a;如下图&#xff0c;生成MarkDown格式的内容。 把这些内容复制到支持MarkDown格式的编辑器&#xff0c;如果你没有这样的编辑器也没关系&#xff0c;你用…

用python画梵高星空-python画画梵高

广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 众多的第三方库; 解释执行,不需要编译; 跨平台,方便移植;..... 两个词总结起来就是:简单、方便。 2“不务正业”的python更可怕的是,某些实用主义者将py…

AI绘画人像promt分享

Promt Checkpoint为基础模型&#xff0c;常用chilloutmix和majicmixRealistic 在设置好checkpoint后&#xff0c;即可设置promt,按照经验来说&#xff0c; promtBase promtDescription promtlorapositive TextureStyle promt 其中的positive Texture和lora根据需求可以从c站…

教你从头到尾利用DL学梵高作画

教你从头到尾利用DL学梵高作画 作者&#xff1a;七月在线开发/市场团队三人&#xff0c;骁哲、李伟、July。本教程主要由骁哲撰写&#xff0c;李伟负责Linux命令部分。 配置&#xff1a;GTX 1070 cuda 8.0 Ubuntu 14.04 cudnn 5.1 tensorflow gpu 时间&#xff1a;二零一六年九…

【AI作画】当梵高遇上东方明珠——梵高画风迁移全纪录

【AI作画】当梵高遇上东方明珠——梵高画风迁移全纪录 视频&#xff1a; 【AI作画】当梵高遇上东方明珠——梵高画风迁移全纪录 梵高出生于1853年3月30日荷兰乡村津德尔特的一个新教牧师家庭&#xff0c;早年的他做过职员和商行经纪人&#xff0c;还当过矿区的传教士最后他投身…

手把手教你用AI画梵高的《星空》

导读&#xff1a;有人说&#xff0c;AI会导致失业&#xff1b;也有人说&#xff0c;AI创造大量工作机会&#xff0c;各行各业对AI人才的需求都将日益增加。 AI在模仿人类的学习方式&#xff0c;那么&#xff0c;人类又该怎样学习AI&#xff1f;本文就带你了解一本学习AI的神书。…

教你从头到尾利用DL学梵高作画:GTX 1070 cuda 8.0 tensorflow gpu版

教你从头到尾利用DL学梵高作画 作者&#xff1a;七月在线开发/市场团队中的三人&#xff0c;骁哲、李伟、July。本教程主要由骁哲撰写&#xff0c;李伟负责Linux命令部分。时间&#xff1a;二零一六年九月二十五日配置&#xff1a;GTX 1070 cuda 8.0 Ubuntu 14.04 cudnn 5.1 te…

没GPU也能玩梵高作画:Ubuntu tensorflow CPU版

没GPU也能玩梵高作画&#xff1a;Ubuntu tensorflow CPU版 作者&#xff1a;七月在线开发/市场团队骁哲、李伟、July时间&#xff1a;二零一六年九月二十七日交流&#xff1a;TensorFlow实战交流Q群 472899334&#xff0c;有问题可以加此群共同交流。另探究实验背后原理&#x…