问题标签 [mfcc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5961 浏览

algorithm - How do Mel Frequency Cepstrum Coefficients work?

I allready have FFT and pitch + absolute frequency calculated in real-time from input of microphone. Now I want to calculate the timbre.

I saw Mel Frequency Cepstrum Coefficients - MFCCs but I didn't understand it very well. Can someone give me some tips on this..

0 投票
2 回答
4317 浏览

java - 如何生成MFCC算法的三角窗以及如何使用它们?

我正在用 Java 实现 MFCC 算法。

这里有一个示例代码:http ://www.ee.columbia.edu/~dpwe/muscontent/practical/mfcc.m at Matlab。但是,我在 mel 过滤器存储过程中遇到了一些问题。如何生成三角形窗口以及如何使用它们?

PS1:一篇文章,其中有描述 MFCC 的部分:http: //arxiv.org/pdf/1003.4083

PS2:如果基本有MFCC算法步骤的文档就好了。

PS3: 我的主要问题与此有关:MFCC with Java Linear and Logarithmic Filters一些实现同时使用线性和对数滤波器,而其中一些不使用。什么是过滤器和什么是中心频繁的概念。我遵循该代码:MFCC Java,该代码之间有什么区别:MFCC Matlab

0 投票
1 回答
1526 浏览

java - MFCC with Java Linear and Logarithmic Filters

I am implementing MFCC algorithm with Java. There is a sample code for triangular filters and MFCC at Java. Here is the link: MFCC Java However I should follow that code written in Matlab: MFCC Matlab

My question is that at Matlab code it talks about linear and logarithmic filters however there is nothing about that at Java code. I should measure the performance of logarithmic and linear filters but I implemented that Java code and there is nothing about that. Also I didn't understand what these fbins and cbins at Java code?

0 投票
2 回答
1994 浏览

java - MFCC和BFCC有什么区别?

我已经实现了 MFCC 算法并想实现 BFCC。它们之间有什么区别,仅使用另一个函数而不是频率来 mel (2595 * Math.log10(1 + frequency / 700) ) 和 mel 到频率函数 (700 * (Math.pow(10, mel / 2595) - 1) ) 我遵循该代码:MFCC

PS:三角滤镜需要改代码吗?

0 投票
1 回答
1765 浏览

signal-processing - 从一种 MFCC 类型转换为另一种 - HTK

我正在使用该HTK工具包进行单词识别任务,并且有经典的训练和测试数据不匹配。训练数据仅包含“干净”(通过麦克风记录)数据。数据被转换为MFCC_E_D_A参数,然后由 HMM(电话级别)建模。我的测试数据已通过固定电话和手机渠道记录(引起失真等)。将MFCC_E_D_A参数与HVite结果一起使用会导致输出不正确。我想使用cepstral mean normalizationwithMFCC_E_D_A_Z参数,但它没有多大用处,因为 HMM 不是用这些数据建模的。我的问题如下:

  1. 有什么办法可以转换 MFCC_E_D_A_ZMFCC_E_D_A? 这样我就按照这种方式:input -> MFCC_E_D_A_Z -> MFCC_E_D_A -> HMM log likelihood computation
  2. 有什么方法可以将现有的 HMM 模型MFCC_E_D_A参数转换为MFCC_E_D_A_Z?

如果有办法从上面做(1),配置文件HCopy会是什么样子?我编写了以下HCopy配置文件进行转换:
SOURCEFORMAT = MFCC_E_D_A_Z
TARGETKIND = MFCC_E_D_A
TARGETRATE = 100000.0
SAVECOMPRESSED = T
SAVEWITHCRC = T
WINDOWSIZE = 250000.0
USEHAMMING = T
PREEMCOEF = 0.97
NUMCHANS = 26
CEPLIFTER = 22
NUMCEPS = 12
ENORMALISE = T

这不起作用。我该如何改进呢?

0 投票
4 回答
4919 浏览

matlab - 匹配两个系列的 Mfcc 系数

我从包含相同语音内容的两个大约 30 秒的音频文件中提取了两个系列 MFCC 系数。音频文件从不同来源录制在同一位置。应该估计音频是否包含相同的对话或不同的对话。目前我已经测试了两个Mfcc系列的相关性计算,但结果不是很合理。这种情况是否有最佳实践?

0 投票
1 回答
1326 浏览

audio - 确定声学相似性的方法(但不是指纹识别)

我正在寻找可以在实践中确定不同歌曲之间某种声学相似性的方法。

到目前为止,我看到的大多数方法(MFCC 等)似乎实际上只针对查找相同的歌曲(即指纹识别,用于音乐识别而不是推荐)。虽然大多数推荐系统似乎都适用于网络数据(共同收听的歌曲)和标签。

大多数 Mpeg-7 音频描述符似乎也符合这条线。另外,它们中的大多数是在“提取这个和那个”级别定义的,但似乎没有人真正使用这些功能并使用它们来计算一些歌曲相似度。然而,即使是对相似项目的有效搜索......

诸如http://gjay.sourceforge.net/http://imms.luminal.org/之类的工具似乎使用了一些简单的光谱分析、文件系统位置、标签,以及诸如“颜色”和手动评级之类的用户输入由用户指定或歌曲被收听和跳过的频率。

那么:对于常见的音乐收藏,哪些音频特征的计算速度相当快,并且可以用来生成有趣的播放列表并找到相似的歌曲?理想情况下,我想输入一个现有的播放列表,并获得一些与该播放列表匹配的歌曲。

所以我真的对声学相似性感兴趣,而不是识别/指纹识别。实际上,我只想从结果中删除相同的歌曲,因为我不希望它们重复。而且我也不是通过哼唱来寻找查询。我什至没有连接麦克风。

哦,我不是在寻找在线服务。首先,我不想将所有数据发送给 Apple 等,其次我只想从我拥有的歌曲中获得推荐(我现在不想购买额外的音乐,而我还没有探索我所有的音乐。我什至还没有将我所有的 CD 转换成 mp3 ......)其次,我的音乐品味不是主流;我不希望系统一直推荐玛丽亚凯莉。

另外,当然,我真的很感兴趣哪些技术行之有效,哪些技术不行……感谢您对相关文献和方法的任何建议。

0 投票
2 回答
866 浏览

c# - 使用 Bass 库将 libmfcc 移植到 C#

我目前正在使用低音库进行音频分析,它可以计算 FFT 并将其作为数组返回,libmfcc 使用此数据来计算我需要的 MFCC 系数的值。(信息:MFCC 就像一个音频频谱,但它更适合人类听觉和频率缩放的工作方式)低音库返回从 0 到 1 的值作为 FFT 值。

现在我遇到了几个问题和疑问:

  • 他们的 FFT 示例数据似乎具有不同的格式,值非常高,并且 8192 个 FFT 值的总和为 10739.24 ,这怎么可能?[/li]
  • 在他们的示例应用程序中,他们调用函数,如下所示。如果他们只加载 8192 个值,为什么他们使用 128 作为 FFT 数组大小?
  • 使用我复制和编辑的他们的 MFCC 类以匹配 C# 语法/函数我得到一些系数的负值,我不认为应该是这种情况。

谁能帮我解释为什么它返回负值或我做错了什么?我做了一个简单的示例 Ready to Try Program,它完成了上述操作,对调试很有用。
链接:http ://www.xup.in/dl,17603935/MFCC_Test.rar/

我的 C# 应用程序的输出(很可能不正确)

Coeff 16 = 0,017919318626506 Coeff 17 = -0,155580763009355 Coeff 18 = -0,76072865841987 Coeff 19 = 0,108961510335727 Coeff 20 = 0,819025783804398 Coeff 21 = -0,660508603974514 Coeff 22 = -0,951623924906163 Coeff 23 = 0 ,424922129906254 Coeff 24 = 0,0129727009313168 Coeff 25 = -0,388796833267654 Coeff 26 = 0,270839393161931 Coeff 27 = -0,138515788828431 Coeff 28 = -0,454837674981149 Coeff 29 = -0,448629344922371 Coeff 30 = -0,11908663618393 Coeff 31 = 0,237500036702818 Coeff 32 = 0,114874386870208 Coeff 33 = -0,100822381384326 Coeff 34 = 0,144242143551012 Coeff 35 = 0,209338502838453 Coeff 36 = 0,247588420953066 Coeff 37 = -0,451654204112441 Coeff 38 = 0,0346927542067229 Coeff 39 = 0,180816031061584

他们的示例 FFT 数据(不同格式?)

14.524506 38.176063 10.673860 3.705076 2.102398 1.461585 1.145616 0.974108 0.878079 0.825304 0.798959 0.789067 0.789914 0.797102 0.808576 0.822048 0.836592 0.851101 0.864869 0.877625 0.888780 0.897852 0.905033 0.910054 0.912214 0.912414 0.909593 0.904497

0 投票
0 回答
414 浏览

c# - 如何编译 libmpg123 以在 Mono for Android 项目中使用

我是 Mono for Android 开发的新手,但它似乎是我项目框架的最佳选择。我正在开发的应用程序需要非常快速的音频处理:

  • 将 mp3 文件转换为 PCM
  • 应用 FFT
  • 提取文件的 MFCC
  • 做进一步的计算

由于 mp3 解码器在频域中工作,因此在解码器中进行重新合成之前,很容易提取 MFCC,因此无需对 PCM 信号应用 FFT。所以我修改了mpg123 layer3.c文件,得到了mp3文件帧的原始数据。

现在我想在我的单声道项目中使用这个修改后的库。我如何编译(ARM 的交叉编译)它以及如何从那里使用它?

0 投票
3 回答
2817 浏览

mfcc - 使用 mfcc 和动态时间规整 (dtw) 进行声音分类

我的目标是对我在 java 中使用 mfcc 和 dtw 的非语音信号进行分类。但是我被困在中间。我将不胜感激任何帮助。我已经为每一帧评估了 13 个 mfcc 值,但是有些值是负数,我很困惑我所遵循的过程是对还是错。目前我正在使用 JAudio 提供的代码。我也尝试过其他代码,它们也给了我负值。

其次,我每帧得到 13 个系数,考虑到一定长度的样本有 157 帧,我得到 157 组 13 mfcc。我很难如何使用 DTW 中的所有系数,因为 dtw 只给出两个时间信号之间的最近距离。我确实有 DTW 代码来比较两个时间信号。我不确定如何将信号的所有 mfccs 值用作特征。

我缺少一些关键的分类步骤吗?请帮我。