audio - 声音的哪些属性可以用代码表示/计算?

标签 audio

这可能适合具有一定音乐理论知识的人。人类可以识别声音的某些特征,例如音调、频率等。基于这些属性,我们可以将一种声音与另一种声音进行比较并获得可能性的度量。例如,区分钢琴和吉他的声音相当容易,即使两者弹奏相同的音符。

如果我们以编程方式进行相同的过程,从两个音频样本开始,我们可以计算声音的哪些属性并用于比较?从更技术的角度来看,是否有任何流行的 API 可以完成此类操作?

P.S.:如果我在问题中犯了任何基本错误,或者我听起来像个十足的音乐菜鸟,请原谅我。这是因为我一个十足的音乐菜鸟。

最佳答案

有两组属性。

“频域”——特定样本中泛音的幅度。这是每个泛音的幅度。

“时域”——随时间变化的幅度样本序列。

您可以使用Fourier Transforms ,两者之间进行转换。

时域就是声音的“本质”——一系列振幅。频域是我们“听到”的——一组决定乐器、和声和不和谐音的泛音和音高。

两者的混合——频率随时间变化——就是旋律的感知。

关于audio - 声音的哪些属性可以用代码表示/计算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3365934/

相关文章:

audio - 当 msgbox 出现时从 VBScript 中播放声音文件

ios - 使用音频队列 iOS api 将最后 30 秒的音频保存在文件中

android - Android Audio Project中未处理的异常

iphone - iOS 实时音频 I/O

javascript - 创建一个缓冲区并通过管道数据来播放javascript

android gdx 声音性能问题

ios - iPhone上的系统声音无法播放

.net - 用于音频演示的GUI控件

html - Web应用程序的背景音频

Android,控制背景音的音量