这可能适合具有一定音乐理论知识的人。人类可以识别声音的某些特征,例如音调、频率等。基于这些属性,我们可以将一种声音与另一种声音进行比较并获得可能性的度量。例如,区分钢琴和吉他的声音相当容易,即使两者弹奏相同的音符。
如果我们以编程方式进行相同的过程,从两个音频样本开始,我们可以计算声音的哪些属性并用于比较?从更技术的角度来看,是否有任何流行的 API 可以完成此类操作?
P.S.:如果我在问题中犯了任何基本错误,或者我听起来像个十足的音乐菜鸟,请原谅我。这是因为我是一个十足的音乐菜鸟。
最佳答案
有两组属性。
“频域”——特定样本中泛音的幅度。这是每个泛音的幅度。
“时域”——随时间变化的幅度样本序列。
您可以使用Fourier Transforms ,两者之间进行转换。
时域就是声音的“本质”——一系列振幅。频域是我们“听到”的——一组决定乐器、和声和不和谐音的泛音和音高。
两者的混合——频率随时间变化——就是旋律的感知。
关于audio - 声音的哪些属性可以用代码表示/计算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3365934/