问题标签 [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.
javascript - 用于 Node.js 的 Web Audio API 的 AnalyserNode 替代品
Web Audio API的 AnalyserNode 可以轻松地在 Web 浏览器中进行音频分析。
Node.js 有类似的东西吗?
ios - 面向初学者的 iOS 音频分析
我想开始开发一些涉及音频分析的 iOS 应用程序。我一直在阅读一些 Apple 的文档,例如Audio Session Programming Guide,但我仍然需要一个音频分析的起点。我想知道我怎么能做一些事情,例如,在Shazam
应用程序中:你怎么能“比较”两个音频文件/流?或者像其他几个应用程序一样:您如何检测音频文件或流的节奏以显示以相同节奏移动的动画?
我需要一些指导,我知道我缺少一些音频分析基础知识,我希望有一些起点来学习它们以及如何在 iOS 应用程序中应用它们。
提前致谢
javascript - 使用 createMediaElementSource 时 Web 音频分析器返回零
我正在尝试分析来自 url 的实时音频流。
我已经用麦克风输入测试了我的代码,但是当我改变时它运行良好
至
然后 getByteFrequencyData 只返回零数组(使用麦克风输入它返回真实数据而不是零)。
看起来 Firefox 具有同源策略,因此我将代码移至 Web 服务器并使用了临时音频文件,但是这在 Firefox 和 Chrome 上会产生相同的结果,因此我认为这与浏览器支持无关。 ..
示例 JSFiddle:https ://jsfiddle.net/j68fhz9x/
我在 Debian Linux 上使用 Firefox/Chrome
提前致谢
更新
在查看了 CORS 之后,我尝试在本地运行该应用程序,但是即使我在本地计算机上同时拥有脚本和音频文件,问题仍然存在。
java - 如何在大型音频文件中检测已知声音(约 10 秒的短音频)(5 分钟)
我是处理音频文件的新手。现在我想用 Java 完成以下任务。是否有任何可以执行此类任务的好工具或框架(例如用于视频和图像的 OpenCV)?
我有 5 个音频文件,每个文件大约 10 秒长,还有一个更大的音频文件,大约 5 分钟。这个大音频文件是由许多其他小音频文件混合而成的,里面可能包含上述 5 个音频文件中的一两个……。
现在我想检测这个大音频文件中包含哪些上述文件。
如果你知道,请告诉我如何检测或完成这些东西。
注意:我使用的是 Java 语言。
谢谢!
python - Python 2/3 中的 Praat 集成
我一直在为 Praat 做一些音频分析的工作。但是,我发现了一些在 Python 中使用 Praat 的库,并且想做同样的事情。
该站点提供了许多可以在使用 praat 时提取的功能。我已按照他的说明将其“集成”到 python 中。http://homepage.univie.ac.at/christian.herbst//python/index.html 但是,我无法让它工作。它返回错误:\ OSError: [Errno 2] No such file or directory
我还找到了另一个库:https ://pypi.python.org/pypi/python-praat-scripts 。这也会返回错误(当我运行下面的代码时): OSError: [Errno 13] Permission denied
如果有人可以帮助我将 praat 正确集成到 python,那就太好了。谢谢。
machine-learning - 增加训练数据并不能减少 CNN 中的过拟合
我正在研究一个 CNN 分类问题:
使用 CNN 将音频情绪分为 6 类(愤怒、厌恶、恐惧、快乐、悲伤、中性)。我正在使用 EMODB 数据集,输入特征是傅里叶变换 [256*36]。我的 CNN 网络有 3-4 个卷积层,每个卷积都有最大池化,外加一个全连接层。但是学习曲线显示训练和验证损失之间存在很大差距,表明严重的过度拟合。我能得到的最佳验证准确率始终在 75% 到 80% 之间。
学习曲线这是我得到的学习曲线之一。黑色和蓝色分别是训练准确率和损失。另外两个用于验证准确性和损失。即使训练损失为 0,验证结果也不会再改善。
我试图扩充我的数据集,将 50% 的 dropout 添加到 fc 层,将 l2 正则化添加到 fc 层,并使用学习率衰减策略(如 caffe 中的“inv”)。但差距仍然存在。
是因为我的数据集太小了吗?
我总共有大约 500 个音频,并将其扩展到大约 6,000 个样本。但是当我将数据增加到 15000 时,差距仍然很大。15,000 仍然是 CNN 的小数据集吗?
会不会是因为数据扩充过程引入了错误?
我的原始数据集包含大约 500 个不同长度的音频,从 1 秒到 6 秒不等。所以我只是随机抽取了1.2s的样本。持续时间越长,我得到的样本就越多。我现在可以有超过 15,000 个样本进行训练。我在想,对于长音频来说,1.2s的样本会丢失太多信息,可能无法代表对应情绪的特征。但这是我能想到的最好的方法,因为由于某种原因我不能使用 RNN 或 HMM 来处理数据。
我的特征计算有可能出错吗?(尽管我已经检查了好几次)我也尝试过 MFSC 特征 [120*40],但是这两个特征集有类似的过拟合问题。
还是因为我的网络不够好?我认为更复杂的网络会引入更多的过度拟合。但简单的网络并没有表现出良好的性能。
尽管我列出了许多过度拟合的原因,但我无法弄清楚哪些是影响性能的真正因素。有什么办法可以知道哪一部分出了问题?或者有什么减少过拟合的建议?
谢谢!
audio - 在没有语音识别的情况下检测多个声音
如果有多个人在说话,有没有办法实时检测?我需要一个语音识别api吗?
我不想分离音频,也不想转录它。我的方法是经常使用一个麦克风(-> 单声道)进行录音,然后分析这些录音。但是,我将如何检测和区分声音呢?我会通过只查看相关频率来缩小范围,但是...
我明白这不是一件小事。这就是为什么我确实希望有一个开箱即用的 api 能够做到这一点 - 最好是一个移动/网络友好的 api。
现在这听起来像是圣诞节的购物清单,但如前所述,我不需要了解有关内容的任何信息。所以我的猜测是,成熟的语音识别会对性能产生很大影响。
c++ - 在 C++ 中使用 ALSA 捕获默认音频流
我正在做一个有趣的项目,根据来自默认 ALSA 设备的声音更改飞利浦 Hue 灯泡的颜色。
我想编写一个小的 C++ 程序来捕获和分析默认音频流并将其拆分为 3 个低、中和高变化,然后将这些通道分配为红色、绿色和蓝色。
我正在尝试阅读如何创建 ALSA 设备,但我正在努力弄清楚 Google 如何使用 ALSA 捕获流。这是我第一次使用 Audio 和 ALSA。我现在试图避免使用 python,因为我想了解更多。
如果您认为在 C++ 上编写此内容不值得,我将在 python 中进行。
visualization - 用于音乐可视化的音频分析和特征提取
我有一个关于我应该如何进行音乐可视化工作的一般性问题。我对可视化古典音乐作品感兴趣,无论是录制的还是现场的。到目前为止,我已经使用过 Processing,但我也对其他软件或编程语言持开放态度。由于我的背景是音乐学和音乐理论,我想结合音乐理论概念或 MIR 研究提供的任何工具来分析音乐,以便我可以基于它们创建可视化。
但是,我真的不知道从哪里开始。我觉得我想研究 MIR 概念,但我觉得它可能变得非常技术性,而且我似乎不需要了解 MIR 研究的所有方面。例如,我想分析和可视化音乐,而不是合成。或者,是不是学习声音合成也可以帮助我进行可视化?到什么程度?
或者,只选择一些软件/语言并尝试其特定的库进行音频分析会更好吗?
基本上,我的困境是我应该从 MIR 理论开始,还是有另一种方法可以很好地概述可能从音乐作品中提取的所有特征,以便为可视化提供更丰富的调色板。
如果您能给我一些建议,我将不胜感激。
谢谢,伊利亚斯
java - 如何从java中的音频文件中提取数值
我需要对声音进行分析,以检查它是否受到阻碍或删除。
但我会在两种声音之间进行比较,我需要提取数值进行分析。