问题标签 [sound-recognition]

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 投票
3 回答
3404 浏览

c# - How to retrieve frame number and frame size from wav file

I'm currently doing a thesis about chord recognition with EPCP with wav file as an input, but now I'm stuck at determining number of frames and frame size of a single wav file. I need those data as the parameters for hammingwindow function in NAudio library

I've retrieved all available wav headers, but I dont know how to get number of frames and frame size. Can I calculate it from given header data? Or is there another way?

0 投票
1 回答
2146 浏览

c# - 如何将波信号分成帧

我正在做一个关于和弦识别的项目。我正在使用某人的期刊作为参考,但我对 DSP 领域的了解仍然很少。在她的参考资料中,第一件事是我需要将 wav 文件中的信号拆分为帧数。就我而言,我需要将每帧分割成 65 毫秒,每帧有 2866 个样本。

我已经搜索了如何将信号拆分为帧,但我发现它们不够清晰,我无法理解。到目前为止,这些是我在 WavProcessing 类中的一些代码:

我只是仍然不知道如何在 C# 中将信号拆分为每帧 65 毫秒。我是否需要拆分 FileStream 并将它们分成帧并将它们保存到数组中?还是别的什么?

0 投票
1 回答
2021 浏览

c# - 从 WAV 文件中检索振幅数组,不返回完整数据

我正在写一篇关于和弦检测的论文。经过努力,我发现问题的根源在于使用基于 C# 的程序获取 wav 文件的幅度。

我用这个代码来检索幅度:

代码起初运行良好,我将它与基于 delphi 的程序进行了比较,该程序也是一个和弦检测程序。但我没有注意到的是,我的代码实际上只检索了一半的振幅数组。

例如:我将 Chord C wav 文件加载到我的 C# 程序中,我得到了这样的振幅数组

你可以看到开始 361043-rd 数组,它只返回零......它大约只有完整流大小的一半(722128)

同时在某人的delphi程序中(我以此作为参考),其代码如下:

返回完整的振幅数组(相同的 wav 文件),例如:

在那个 delphi 程序中,返回完整的振幅数组,为下一次计算产生正确的值。

0 投票
1 回答
219 浏览

ruby - 用 Ruby 找出歌曲的标题和艺术家

我发现了一个有趣的宝石,可以从一个未知的文件中发现它来自返回标题和艺术家的音乐:https ://github.com/tenderlove/earworm

事实是最后一次提交是 4 年前,使用的网站不再工作......

有谁知道这个问题的另一种解决方案?另一个宝石或另一个片段?

0 投票
1 回答
1422 浏览

java - 网络声音识别

我正在构建一个网页,当麦克风捕捉到特定声音时我需要做一些事情。我搜索了很多,找到了这个链接:

编写一个识别声音并执行动作的程序

我被困在两件事上:

  1. 如何通过网页或 javascript 使用基于 java 的声音识别器
  2. 如何使用任何识别器匹配两种声音(一种来自麦克风,另一种来自保存的文件)

对于声音识别器,我使用的是Sphinx-4

0 投票
1 回答
255 浏览

phonetics - 计算机生成的声音和人类声音的声音相似性

我正在寻找一种算法来通过它们的语音来比较两个声音文件。我想评估某种分数(例如 0:没有相似性;100:相同的声音)。因此,我将计算机生成和录制的人声“你好”加载到 Audacity 中(我知道,它不是那么专业……)并观察海浪。

https://dl.dropbox.com/s/p8o8tpsayo9xr14/hello.png(不幸的是,我不允许嵌入图像)

尽管两者听起来完全一样,但波浪并没有那么匹配。

有没有办法检测这两个波之间的相似性并计算提到的分数?

0 投票
1 回答
4757 浏览

algorithm - Shazam / soundhound 是如何工作的?

我对 shazam 或 soundhound 的工作方式很感兴趣。

它如何记录声音并制作与他们的指纹数据库非常相似的指纹以找到匹配项?

我即将开始用 C/C++ 编写一些软件,但不确定要使用哪些库,看到有一些来自 Microsoft 的 Speech SDK。您是否有一些建议,从哪里开始“理解”分析语音和播放语音的过程?

我会感谢您分享的每一个提示或想法:]

0 投票
2 回答
995 浏览

matlab - 在matlab中实现元音识别的神经网络 - 输入层单元和结构?

我正在做一个元音识别项目,我需要实现一个神经网络。我是这个领域的新手,所以我不完全确定如何正确地做。我有一个包含 800 个单词和 8 种元音的训练集,我的第一步是检查我是否能够使用逻辑回归对多个类进行分类:

- 使用 Matlab,我对每个样本执行 wavread 并将结果向量存储在 800 x 48117 矩阵中,48117 是最大 wav 向量的大小。即在这一步,我有 800 个示例和 48117 个“特征”,它们是每个声音文件的频率值。当我运行逻辑回归时,它会迭代集合并将其分类为 8 个类,准确率约为 99.8%。然后我还为接收到的类生成频谱图,以便可视化每个类,并将它们与原始样本的频谱图进行比较。

- 为了区分元音的共振频率,我们有 3 个共振峰 - F1、F2、F3,可以在频谱图上看到。(例如 F1 为 500 Hz,我们可以看到频谱图在图上该区域的颜色最深)。

- 我正处于创建神经网络的阶段,我几乎不知道如何开始。我不确定有多少输入层单元和隐藏层单元。首先,我认为拥有 48117 个特征和输入单元的数量是不对的,所以我必须以某种方式最小化特征的数量。我认为正确的方法是以某种方式将它们分成对应于 3 个共振峰的 3 组。这是主要问题 -基于什么我可以概括长向量以便能够拥有 3 个输入单元?

- 另一个似乎更琐碎的问题是我应该有多少隐藏单位。我知道有多少没有特定的规则,但根据我的训练集,有经验的神经网络人员会推荐多少?

0 投票
2 回答
1985 浏览

ios - iOS 7 的声音识别?

我想构建一个应用程序来响应你吹生日蜡烛时发出的声音。这本身不是语音识别(那个声音不是英语中的一个词),OpenEars 非常友善的 Halle 告诉我,使用该框架是不可能的。(感谢您的快速回复,哈莉!)

有没有办法“教”一个应用程序一个声音,以便该应用程序随后可以识别它?

我该怎么办?它甚至可行吗?我是疯了还是在处理一个比我想象的要困难得多的问题?我的家庭作业应该是什么?

0 投票
1 回答
850 浏览

android - 音频数据字节的含义是什么?安卓

我尝试在我的 android 应用程序中创建一个尖叫和口哨检测器。现在我可以在这里使用 musicg android 库来检测用户的口哨声。我必须自己实现尖叫检测器,因为没有可用的库。

在 musicg 中,它读取音频数据并将其存储在字节缓冲区中。它使用缓冲区作为其哨声检测器的输入。我试图通过在 LogCat 中打印这些字节来查看和理解它们的外观。但是,我不知道它们是什么以及 musicg 库如何使用此输入来检测用户何时吹口哨。

音频数据字节如下所示。我使用 buffer[i] + "" 来打印它们

那么,谁能告诉我如何使用这个输入来检测用户的口哨。

请给我一些想法

谢谢