python - 从标准泰国舞蹈 wav 歌曲中检测钹(泰国乐器)节奏

标签 python audio thai

关闭。这个问题需要更多 focused .它目前不接受答案。












想改进这个问题?更新问题,使其仅关注一个问题 editing this post .

8年前关闭。




Improve this question




我有一首标准的泰国舞曲,里面有很多乐器和歌词。我必须将其转换为只有 cymbal rythm 的 wav 。我只知道我必须使用python。这该怎么做?谢谢你。

最佳答案

铙钹节奏可能主要在该特定混音的高频中。我以前从未听过这首歌,所以我不知道它是否会与那个特定的乐器相比有任何明显的低频内容。然而,凭直觉,这是我最好的猜测......

您将需要滤除没有任何镲片部分声音内容的较低频率,例如低音鼓或人声(通常是中音重的乐器)。如果你看一下频谱分析仪,典型的钹的频率会在幅度上缓慢上升,从 500Hz 到 5KHz,幅度大约保持在 5k-15k 的水平,直到在 15-20k 后下降(在这种情况下)高音在原始音轨中被过滤掉了)。过滤掉任何低于 500Hz(或者可能稍高的频率)的东西。如果您想要更精确的过滤,您可能想为自己找到一个包络跟随器,它将在钹击中过滤更多的声音内容。您过滤的越多,您可能听到的其他乐器就越少。

您将需要一个高通滤波器来完成这项工作。您可以自己用 Python 编写一个,但从以下网址移植 DSP 算法会更容易:musicdsp.org

或使用 Python DSP 库:
code.google.com/p/pyo/。

在音乐 DSP 网站上,我想您也可以找到一个不错的包络跟踪算法。

Python 有一个很棒的库,可以在这里读写 wav:http://docs.python.org/2/library/wave.html

此外,如果您需要实时测试过滤作业,请考虑使用 PyAudio:http://people.csail.mit.edu/hubert/pyaudio/

这个过程不会没有扭结,因为过滤器可能不会过滤掉除了钹之外的所有东西。由于混合音频是永久混合的,因此几乎不可能将混合中的各个部分和乐器分开。唯一能做到这一点的就是 Melodyne。

关于python - 从标准泰国舞蹈 wav 歌曲中检测钹(泰国乐器)节奏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17686523/

相关文章:

csv - 将带有非拉丁字符的 csv 转储到 mysql 表中

python - 右对齐包含泰语字符的字符串

python - 按字符拆分泰语文本

python - 如何查找固定字符串周围的匹配项

python - 为什么我在 Gensim word2vec 中得到单字母词汇表?

python - 如何检查requirements.txt文件中包含哪些包?

batch-file - 通过子目录将.wav文件批量转换为.mp3文件,然后删除其余的.wav文件

python - 使用 Tensorflow 2.0 进行逻辑回归?

javascript - 如何重叠变量?

性能测试音频 jmeter