iphone - extAudioFile 数据...我得到正确的东西了吗?

标签 iphone audio core-audio waveform

我正在使用 Core Audio SDK 文档中提供的 EXTAudioFileReadTest 应用程序,我正在尝试从 mData 缓冲区中获取所有浮点值,以便我可以用它们绘制波形。

目前,我正在打印单 channel 的浮点值,这就是我在控制台中得到的:

2010-09-10 19:22:43.360 ExtAudioFileReadTest[71828:a0f] 0.127136
2010-09-10 19:22:43.360 ExtAudioFileReadTest[71828:a0f] -0.057033
2010-09-10 19:22:43.360 ExtAudioFileReadTest[71828:a0f] -0.146455
2010-09-10 19:22:43.360 ExtAudioFileReadTest[71828:a0f] 0.090759
2010-09-10 19:22:43.360 ExtAudioFileReadTest[71828:a0f] 0.240837
2010-09-10 19:22:43.360 ExtAudioFileReadTest[71828:a0f] -0.072719
2010-09-10 19:22:43.361 ExtAudioFileReadTest[71828:a0f] -0.258782
2010-09-10 19:22:43.361 ExtAudioFileReadTest[71828:a0f] -0.063972
2010-09-10 19:22:43.361 ExtAudioFileReadTest[71828:a0f] 0.088692
2010-09-10 19:22:43.361 ExtAudioFileReadTest[71828:a0f] 0.153571
2010-09-10 19:22:43.361 ExtAudioFileReadTest[71828:a0f] 0.080644
2010-09-10 19:22:43.383 ExtAudioFileReadTest[71828:a0f] -0.087060
2010-09-10 19:22:43.383 ExtAudioFileReadTest[71828:a0f] 0.196455
2010-09-10 19:22:43.383 ExtAudioFileReadTest[71828:a0f] 0.167777
2010-09-10 19:22:43.383 ExtAudioFileReadTest[71828:a0f] -0.192430
2010-09-10 19:22:43.383 ExtAudioFileReadTest[71828:a0f] -0.209936
2010-09-10 19:22:43.383 ExtAudioFileReadTest[71828:a0f] 0.012049
2010-09-10 19:22:43.383 ExtAudioFileReadTest[71828:a0f] 0.110493
2010-09-10 19:22:43.384 ExtAudioFileReadTest[71828:a0f] 0.150715
2010-09-10 19:22:43.384 ExtAudioFileReadTest[71828:a0f] 0.016413
2010-09-10 19:22:43.384 ExtAudioFileReadTest[71828:a0f] -0.056843
2010-09-10 19:22:43.384 ExtAudioFileReadTest[71828:a0f] 0.206117
2010-09-10 19:22:43.384 ExtAudioFileReadTest[71828:a0f] 0.020673
2010-09-10 19:22:43.384 ExtAudioFileReadTest[71828:a0f] -0.561129
2010-09-10 19:22:43.384 ExtAudioFileReadTest[71828:a0f] -0.184265
2010-09-10 19:22:43.384 ExtAudioFileReadTest[71828:a0f] 0.620910
2010-09-10 19:22:43.385 ExtAudioFileReadTest[71828:a0f] 0.309018
2010-09-10 19:22:43.385 ExtAudioFileReadTest[71828:a0f] -0.371634
2010-09-10 19:22:43.385 ExtAudioFileReadTest[71828:a0f] -0.238362
2010-09-10 19:22:43.385 ExtAudioFileReadTest[71828:a0f] 0.125136
2010-09-10 19:22:43.385 ExtAudioFileReadTest[71828:a0f] 0.139757
2010-09-10 19:22:43.385 ExtAudioFileReadTest[71828:a0f] -0.023419
2010-09-10 19:22:43.385 ExtAudioFileReadTest[71828:a0f] -0.142903
2010-09-10 19:22:43.385 ExtAudioFileReadTest[71828:a0f] 0.041068
2010-09-10 19:22:43.386 ExtAudioFileReadTest[71828:a0f] 0.252621
2010-09-10 19:22:43.386 ExtAudioFileReadTest[71828:a0f] -0.002240
2010-09-10 19:22:43.386 ExtAudioFileReadTest[71828:a0f] -0.261686
2010-09-10 19:22:43.386 ExtAudioFileReadTest[71828:a0f] -0.105053
2010-09-10 19:22:43.386 ExtAudioFileReadTest[71828:a0f] 0.072798
2010-09-10 19:22:43.386 ExtAudioFileReadTest[71828:a0f] 0.141572
2010-09-10 19:22:43.386 ExtAudioFileReadTest[71828:a0f] 0.110190

我想我很困惑......因为我期待找到某种类型的电压样本而不是 -1 和 1 之间的数字。这些值实际上意味着什么?将这些值转换为介于 0 和 1 之间的某个上限/下限的好公式是什么?

提前致谢。我一直在到处搜索,在任何地方都找不到这些信息……尤其是在文档中。

最佳答案

这很正常。

从 [-1...1] 调制的音频样本的通用浮点表示;其中值 -1 和 1 代表 0 dBFS 的一个样本。

浮点值“0.0”的连续流表示无声信号。

没有 DC 偏移的信号在正域和负域中的权重相同。

如果您想将这些值转换为 [0...1],请使用以下公式:

result = (0.5 * inputSample) + 0.5;

但如果信号超出 [-1...1],您可能必须使用更复杂的算法。

在大多数情况下,如果要将其存储为浮点数,则应将其保持为 [-1...1]。

关于iphone - extAudioFile 数据...我得到正确的东西了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3689058/

相关文章:

html - HTML 表格中的文本未在 iPhone 邮件中呈现/减少

audio - 播放自定义音频

java - 如何在 setoncompletionlistener 之后使用相同的按钮?

iphone - AudioQueue 在修改后搞砸了输出

ios - setValue:forKey总是 swift 崩溃

iphone - 向 OpenEars 添加新语言

ios - 如何在iOS中拖动图像时将图像重叠在另一个图像上?

php - Twilio 可以实现这种情况吗?

core-audio - 如何混合音频文件并上传到服务器

ios - 删除 AVAudioSessionPortBuiltInMic 作为选项