微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

录音 – AnalyserNode的getFloatFrequencyData与getFloatTimeDomainData

所以我觉得我很了解getFloatFrequencyData.如果getFloatFrequencyData返回1024个值的数组,则每个值表示频率仓/范围的体积.在采样率为44.1的1024个值的情况下,每个值将表示约20赫兹的频率范围的音量.

那么getFloatTimeDomainData呢?假设我有2048个值,每个值代表什么?

understanding getByteTimeDomainData and getByteFrequencyData in web audio不一样.或者至少,这个问题的答案并没有回答我的问题.

解决方法

使用getFloatTimeDomainData获得的 Float32Array将包含一个样本值数组,每个值定义采样位置的幅度,通常在[-1,1]域中.样本位置是唯一分布的,获得的数据基本上等于原始 PCM.

对于正弦波,它将在以下近似曲线中产生逐渐变化的连续值:

0 ... 0.7 ... 1.0 ... 0.7 ... 0 ... -0.7 ... -1.0 ... -0.7 ... 0 ...

可以把它想象成一系列后续值,它们共同定义了音频波的形状;如果您要在画布上可视化获得的值,使用样本值作为y坐标(幅度)和随后增加的x坐标值(时间),您将获得oscilloscope,例如:

注意这个正弦波形如何与上面的示例值相关联.以下是您可以对此数据执行的一些示例操作,以便更好地理解:

>如果你要将每个值乘以2,你可以将音量放大100%(双音量)>如果你要用0替换每个值,你就会沉>如果您要跳过每一秒的值,您将获得100%音调(双播放速度)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐