判断音频是否为音乐的算法

标签 algorithm audio

<分区>

我不完全确定这是将此问题发布到的正确堆栈交换子站点,但是...

我正在寻找一种算法,我可以使用它来相当确定地确定一段给定的音频是否是音乐。只是一个 bool 结果就可以了,我不需要知道键、bpm 或类似的东西,我只需要能够确定它是否看起来是音乐(而不是语音)。编程语言无关紧要,但我最终会将其转换为 Python。

最佳答案

一句话,Fourier analysis .查看不同频率随时间变化的功率。这是 speech ,这里是 violin playing .前者每一个音节都表现出戏剧性的变化; “流”非常不相交,可以通过将不同频带的导数作为时间函数的算法来拾取。另一方面,在范式音乐中,过渡更平滑,音调更纯净(图中的“模糊”更少)。另见 'spectrogram' wikipedia page .

关于判断音频是否为音乐的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5531949/

相关文章:

c# - 为 500,000 个航类寻找航类连通性的算法

c - C 是否在内部使用 Karatsuba 算法将两个整数相乘?

objective-c - 在缓冲区中添加2个正弦波会产生噪声

java - SoundPool 只停止一次

iphone - 音量卡在低电平,调节音量没有效果?

c - 在 O(log n) 时间内找到连续整数数组中的重复元素

algorithm - 求两个值为 2 的整数之间的 Xor 值

algorithm - 将字节转换为包含 Scala 中每个单独位的 bool 数组的最快方法是什么?

javascript - 在 ios 或 android 中使用 safari 或 chrome 播放 mp3 文件

audio - 针对小文件大小的 libav/ffmpeg 输出优化