问题标签 [audio-analysis]

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 投票
2 回答
451 浏览

machine-learning - FFT 和音乐比较

我正在尝试使用一些音乐聚类算法,并且我认为使用基本上由离散 fft 组成的特征向量(如离散频率)将是一个很好的相似性度量。这甚至会有用吗?人们是否知道一些好的音频相似性度量可能是什么?

0 投票
1 回答
1355 浏览

java - 使用java识别mp3末尾的静音

尝试在 mp3 格式的音频末尾检测静音,所有格式都会有用,但 mp3 格式是最重要的

0 投票
2 回答
3933 浏览

windows - 如何在 mp3 文件中找到 X 秒的静音?

我需要在 mp3 文件中找到静音。就那么简单。

例如:

  • 在“file.mp3”中找到大于 X 秒的静音,如果找到 X 秒的静音,则发送错误代码 0,如果未找到静音,则发送错误代码 1。

我可以在 Batch、VBS、Ruby 或 Python 中尝试它(因为我必须练习,但我只知道 Batch)。我不知道音乐库和那些东西......

无论我是否需要 3rd 方软件来完成像 CommandLine APPS 这样的工作......

注意:静音也可以在 mp3 文件的中间。例如,在名为“隐藏曲目”的文件中,即:1 首歌曲 + 1 分钟的大静音 + 另一首歌曲(全部在 1 个 mp3 文件中)所以我需要一些东西来搜索 X selince 到整个文件中,不仅接近结尾文件的...

注意 2:我需要在 Windows 中进行。

请问有什么想法吗?

0 投票
1 回答
2905 浏览

java - 如何解释音频字节?

我想写一个语音压力分析工具。我正在打开音频流以供阅读:

然后循环:

我得到一个带有字节的数组,因为 externalData 定义如下:

我想知道的是如何解释这些数据?我试图按字节值绘制它,但我想这是错误的。绘制的字节

X 轴是时间,Y 轴是字节值。

PS:我在哪里可以找到有关 McQuiston-Ford 算法的更多信息?

0 投票
4 回答
7509 浏览

matlab - Matlab:在一帧音频数据中查找主要频率

我对 Matlab 很陌生,我正在尝试编写一个简单的基于频率的语音检测算法。最终目标是在 wav 文件上运行脚本,并让它输出每个语音片段的开始/结束时间。如果使用代码:

我得到了一个有用的频率强度与时间图,如下所示:

在此处输入图像描述

通过观察它,很容易看出语音何时发生。我可以编写一个算法来自动化检测过程,方法是查看每个 x 轴帧,找出哪些频率占主导地位(具有最高强度),测试主导频率以查看它们中是否有足够的频率高于某个强度阈值(图上黄色和红色之间的差异),然后将该帧标记为语音或非语音。一旦标记了帧,就很容易获得每个语音片段的开始/结束时间。

我的问题是我不知道如何访问这些数据。我可以使用以下代码:

获取频谱图的所有功能,但该代码的结果对我来说没有任何意义。S、F、T、P 数组和矩阵的边界与我在图表上看到的任何内容都不相关。我已经查看了帮助文件和 API,但是当他们开始抛出算法名称和首字母缩略词时,我感到很困惑——我的 DSP 背景非常有限。

我怎样才能得到这个频谱图分析的每一帧的频率强度值数组?我可以从那里弄清楚其余的,我只需要知道如何获取适当的数据。

0 投票
1 回答
736 浏览

javascript - WinJS 中的音频分析

我一直在寻找我正在寻找的 API以及在线搜索(但 Windows Store 应用程序的示例非常稀缺)。我实质上要寻找的是在 Windows Store JavaScript 应用程序中分析音频的起点。例如,如果我正在创建一个简单的可视化工具,我需要检测当前播放音频中的各种“颠簸”。

有人可以在这里指出我正确的方向吗?这在 Windows 应用商店 JavaScript 应用程序中甚至是可能的吗?无论是所选歌曲的音频,还是设备当前正在播放的歌曲,还是麦克风上的音频……任何一种方式都可以满足我目前的需求。我只是在寻找从哪里开始分析音频。

0 投票
1 回答
158 浏览

python - 测量削波量

谁能指点我一个命令行工具或 Python 模块来测量音频文件中的剪辑量?例如类似于http://www.ber-sd.com/dl_clipping.html的东西。

0 投票
4 回答
4555 浏览

python - 如何将音高轨道从旋律提取算法转换为类似嗡嗡声的音频信号

作为一个有趣的家庭研究项目的一部分,我试图找到一种方法来减少/将歌曲转换为类似嗡嗡声的音频信号(我们人类在听歌曲时感知到的基本旋律)。在我进一步描述我对这个问题的尝试之前,我想提一下,尽管我在分析图像和视频方面有很多经验,但我对音频分析是完全陌生的。

谷歌搜索了一下,我发现了一堆旋律提取算法。给定一首歌曲的复音音频信号(例如:.wav 文件),它们会输出一个音高音轨 --- 在每个时间点,他们估计主要音高(来自歌手的声音或某些旋律生成乐器)并跟踪主要音高随着时间的推移。

我读了几篇论文,他们似乎计算了歌曲的短时间傅立叶变换,然后对频谱图进行了一些分析,以获取和跟踪主导音高。旋律提取只是我正在尝试开发的系统中的一个组件,所以我不介意使用任何可用的算法,只要它在我的音频文件上做得不错并且代码可用。由于我是新手,我很高兴听到任何关于哪些算法已知运行良好以及在哪里可以找到它的代码的建议。

我发现了两种算法:

  1. Yaapt 音高跟踪
  2. 旋律

我选择了 Melodia,因为不同音乐流派的结果看起来相当令人印象深刻。请检查此以查看其结果。你听到的每首音乐的嗡嗡声本质上是我感兴趣的。

“这是任何任意歌曲的嗡嗡声的产生,我希望你在这个问题上提供帮助”。

该算法(可作为 vamp 插件使用)输出音高轨道 --- [time_stamp, pitch/frequency] --- Nx2 矩阵,其中第一列是时间戳(以秒为单位),第二列是主要音高在相应的时间戳上检测到。下面显示的是从算法中获得的音高轨道的可视化效果,该算法以紫色覆盖了歌曲的时域信号(上图)及其频谱图/短时傅立叶。音高/频率的负值表示算法对非浊音/非旋律片段的主要音高估计。所以所有音高估计> = 0对应于旋律,其余的对我来说并不重要。

带有歌曲波形和频谱图的音轨叠加

现在我想将这个音高音轨转换回像嗡嗡声一样的音频信号——就像作者在他们的网站上一样。

下面是我为此编写的一个 MATLAB 函数:

该代码背后的基本逻辑如下:在每个时间戳处,我合成一个短寿命波(例如正弦波),其频率等于在该时间戳处检测到的主要音高/频率,持续时间等于它与输入旋律矩阵中的下一个时间戳的差距。我只是想知道我这样做是否正确。

然后我把从这个函数中得到的音频信号和原曲一起播放(左声道的旋律和右声道的原曲)。尽管生成的音频信号似乎很好地分割了旋律生成源(语音/主奏乐器)——它在语音所在的地方是活跃的,而在其他地方为零——信号本身远不是嗡嗡声(我得到类似的东西哔哔哔哔哔哔哔哔哔哔哔哔哔哔哔)作者在他们的网站上展示的。具体来说,下图是底部输入歌曲的时域信号和使用我的函数生成的旋律的时域信号的可视化。

在此处输入图像描述

一个主要问题是——尽管我得到了每个时间戳生成的波频率以及持续时间,但我不知道如何设置波的幅度。现在,我将幅度设置为平坦/恒定值,我怀疑这就是问题所在。

有人对此有什么建议吗?我欢迎使用任何程序语言(最好是 MATLAB、python、C++)提出建议,但我想我的问题更笼统——如何在每个时间戳处生成波形?

我脑海中的一些想法/修复:

  1. 通过从原始歌曲的时域信号中获取幅度的平均/最大估计值来设置幅度。
  2. 完全改变我的方法——计算歌曲音频信号的频谱图/短时傅立叶变换。除了我的音高轨道(或靠近我的音高轨道)中的频率之外,几乎/零输出或柔和地切断所有其他频率。然后计算逆短时傅里叶变换得到时域信号。
0 投票
1 回答
299 浏览

java - 音频识别

我正在开发一个程序,该程序应记录可识别的音频,以便以后可以轻松地将其与其他音频文件进行比较。音频文件将包含类似语音的内容,所以我想知道什么会更容易做:

  • 实现语音识别算法并保存/比较输出,
  • 或实施/创建一种算法,使用例如快速傅里叶变换创建类似音频指纹的东西并进行比较?

有人在这方面有经验吗?我想知道第二种解决方案是否会在相对较短的时间内实现。也许有一个不太难编码的解决方案,我只是没有找到它?

0 投票
2 回答
2667 浏览

linux - 在 Linux 中导出音频文件音量 dB 级别

我希望能够生成某种文件来存储音频文件的音量。我对此非常灵活,但一个例子是每秒显示音量的 csv。我不需要这个数字那么精确。

你对如何解决这个问题有什么建议吗?我会很感激。