使用MARF进行说话人识别

 手机用户248覀9795477 发布于 2023-02-04 17:44

我正在使用MARF(模块化音频识别框架)识别扬声器的声音.在这里,我训练了MARF的人'A'的声音,并用'B'的声音测试了MARF.使用--train training-samples 测试使用--ident testing-samples/G.wav 在我的speakers.txt文件中训练我提到了两个人的声音样本,即A和B.

但我没有得到正确的响应意味着训练有素的语音和测试语音都不同,但MARF正在给出音频采样匹配.

我也经历过这个链接..

http://stackoverflow.com/questions/4837511/speaker-recognition

结果

    Config: [SL: WAVE, PR: NORMALIZATION (100), FE: FFT (301), CL: EUCLIDEAN_DISTANCE (503), ID: -1]
         Speaker's ID: 26
   Speaker identified: G

或者我做错了或者是否有其他说话人识别方法可用.

编辑------------------------现在我正在使用vText,它可以很容易地使用. http://basic-signalprocessing.com/voiceRecognition.php 关注此链接,vText也使用MATLAB也给出了输出.

我得到了正确的频率时域图,但我无法比较两个声音样本.我收到错误

Exception: com.mathworks.toolbox.javabuilder.MWException: Error using ==> eq
Matrix dimensions must agree.
{??? Error using ==> eq
Matrix dimensions must agree.

Error in ==> recognizePartial10k at 10


} 

任何人对此都有任何想法

1 个回答
  • 首先我要说的是,根据我的经验,使用FFT算法不会给你最好的结果:在MARF中尝试LPC

    第二:MARF假设人们称之为"封闭集合"的语音,这意味着即使系统不知道发言者,它也总会返回结果 - >你必须根据距离阈值来决定响应的可能性.

    还要确保根据文件的采样率设置滑动窗口(汉明窗口)大小:例如,对于22050 Hz的采样率,使用512个采样值的窗口会产生一个大约为110的窗口.23毫秒,根据我的经验,在500个扬声器的数据集上返回了最佳结果.

    由于22050 Hz意味着每秒钟的样本数量很多,因此任何采样率都可以找到大约25 ms的所需长度:采样率/ 1000*25

    请注意,MARF中使用的FFT算法需要一个功率为2(256/512/1024/...)的窗口.

    但这对于LPC算法来说并不是必需的(尽管对于处理器来说可能稍微有点效率,因为2的功率是它所知道的:-))

    哈,不要忘记,如果你使用立体声文件,窗口的时间是两倍......但我建议使用单声道文件:使用多声道文件进行语音处理没有任何附加价值,它是更长,更不精确.

    关于采样率的一个词:所选采样率应该是你感兴趣的最高频率的两倍.通常,人们认为语音的最高频率是4000Hz,因此选择8000Hz的采样率.请注意,这并不完全正确:"s"和"sh"声音可以达到更高的频率.确实,你不需要那些频率来理解说话者说的是什么,但是在提取声唱时,使用更广泛的频谱可能是有用的.我的偏好是22050Hz.一些人声密码包不允许你低于11000赫兹.

    关于位深度的字:8位对16位当采样率是关于时间的精度时,位深度链接到幅度的精度.8位为您提供256个值16位为您提供65536个值

    不用说为什么你应该使用16位声乐生物测量:-)

    作为参考,音频CD使用44100Hz/16位

    关于vText:正如我之前所说,傅里叶变换(FFT)并不是我发现可用于大型数据集的东西.它缺乏精确性.

    将计算委托给MathLab时,看起来出现了问题.没有代码,imho,几乎不可能给你更多的信息.

    不要犹豫要求澄清我所说的事情,我可能会把一些事情视为理所当然并没有意识到它不是那么清楚:-)

    FWIW,我刚刚用Java编写了一个名为Recognito的说话人识别工具,我相信它在识别能力方面并不比MARF好,但对于初始步骤用户来说肯定更容易,使用不需要你的许可模式软件是开源的,支持来自多个并发线程的调用.

    如果你想给Ignito一个机会:https://github.com/amaurycrickx/recognito

    2023-02-04 17:47 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有