如何用 32 位浮点数据编写 wav 文件?

Posted

技术标签:

【中文标题】如何用 32 位浮点数据编写 wav 文件?【英文标题】:How to write wav file with 32-bit float data? 【发布时间】:2011-01-04 23:29:30 【问题描述】:

我希望能够使用 32 位浮点样本编写 PCM wav 文件。这似乎是一种有效的格式,因为 libsndfile 声称支持它。

但是,如果我在标题中指定 32 位的样本大小,我打开它的任何程序都会假定它是 32 位整数数据。需要在wav文件头中设置哪些flags等来指定浮点数据?

谁能告诉我一些解释如何做到这一点的文档?

【问题讨论】:

嘿,我遇到了同样的问题。我正在到处寻找解决方案,这是我能得到的最接近的解决方案。如果你能解决你的问题,你介意帮忙吗? 【参考方案1】:

您需要将“fmt”块中的 wFormat 标签设置为 WAVE_FORMAT_IEEE_FLOAT (3)。

WAVE 格式规范的一个很好的来源是this page。

【讨论】:

以上是关于如何用 32 位浮点数据编写 wav 文件?的主要内容,如果未能解决你的问题,请参考以下文章

Python 模拟32bit 浮点数运算

STM32 M0和M3内核单片机做浮点除法运算和整型除法运算,分别的用时。希望能给大概数据参考。

浮点数存储方式

将 32 位浮点数转换为 16 位 PCM 范围

python中的16位浮点共享内存数组

如何在 x86(32 位)程序集中将无符号整数转换为浮点数?