录音 – AnalyserNode的getFloatFrequencyData与getFloatTimeDomainData

录音 – AnalyserNode的getFloatFrequencyData与getFloatTimeDomainData,第1张

概述所以我觉得我很了解getFloatFrequencyData.如果getFloatFrequencyData返回1024个值的数组,则每个值表示频率仓/范围的体积.在采样率为44.1的1024个值的情况下,每个值将表示约20赫兹的频率范围的音量. 那么getFloatTimeDomainData呢?假设我有2048个值,每个值代表什么? 与understanding getByteTimeDoma 所以我觉得我很了解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%音调(双播放速度)

总结

以上是内存溢出为你收集整理的录音 – AnalyserNode的getFloatFrequencyData与getFloatTimeDomainData全部内容,希望文章能够帮你解决录音 – AnalyserNode的getFloatFrequencyData与getFloatTimeDomainData所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1045889.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存