java 音高_java – 音频分析:频率与音调

Frequency只是波每秒经过的振荡次数.任何周期性的波都有一个频率.但通常在音乐中,使用该术语仅限于谈论正弦波,所以如果你听到有关频率x的波动,它通常意味着每秒钟有很多振荡的正弦波.

任何波,无论是周期性的还是非周期性的,都可以通过将不同频率的不同频率的正弦波(即具有不同幅度)相加来构造.傅立叶变换的作用是告诉您使用哪些频率以及使用哪些幅度来创建任何给定的波.快速傅立叶变换(FFT)是计算波的傅里叶变换的特定算法,给定表示波的幅度的数据作为时间的函数.

当您听到乐器演奏的音符时,它不仅包含一个频率.相反,你得到的是不同数量的基频不同倍数的组合.例如,演奏特定音符的长笛可能会产生组合

> 440 Hz,幅度为1

> 1320 Hz,幅度1/2

> 2200 Hz,幅度为1/3

等等.另一方面,演奏相同音符的小号可能会产生组合

> 440 Hz,幅度为1

> 880 Hz,幅度1/2

> 1320 Hz,幅度为1/4

> 1760 Hz,幅度为1/8

等等. (那些不是这些乐器的实际相对振幅;我只是编写了一些示例数字)所以在您的调谐器应用中,当您对输入数据运行FFT时,您会在不同频率的输出中找到多个峰值,具体取决于哪个仪器正在调整.关键是FFT的输出不仅仅是一个数字;它不会只是告诉你“这个乐器正在以440赫兹的速度播放音符”.

现在我们到了pitch,这是一个稍微模糊的概念.音符的音高基本上是一个人在接触到音符时实际听到的音符.对于许多乐器,音高与乐器发出的基频相关.但是,根据较高频率的相对幅度,一个人可能会感觉到两个乐器具有不同的音高,即使它们实际上正在播放相同音符.

幸运的是,如果你只是制作一个简单的调音器,你根本不必担心音调.调谐器的要点是最小化不同乐器之间的节拍,并且节拍是由实际频率引起的,而不是由感知到的音高引起的.一个以440赫兹基频播放的小号和长笛不会出现节拍,因为它们所有频率之间的差异是440赫兹的倍数,即使未经训练的耳朵可能认为其中一个比另一个更高音.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值