【发布时间】:2026-01-17 00:00:01
【问题描述】:
我正在使用 alsa api 将音频输入保存在名为 sound.raw 的文件中。我认为声音幅度正在被保存(这是一个猜测,我不确定)。我使用的格式是signed 16 bit number little endian (S16_LE)。现在,如果正在保存幅度,我如何以十进制数字格式查看幅度,因为到目前为止我只看到@s 和 ^s 的集合以及各种其他没有意义的符号当我用 vi 打开 sound.raw 文件时。
【问题讨论】:
我正在使用 alsa api 将音频输入保存在名为 sound.raw 的文件中。我认为声音幅度正在被保存(这是一个猜测,我不确定)。我使用的格式是signed 16 bit number little endian (S16_LE)。现在,如果正在保存幅度,我如何以十进制数字格式查看幅度,因为到目前为止我只看到@s 和 ^s 的集合以及各种其他没有意义的符号当我用 vi 打开 sound.raw 文件时。
【问题讨论】:
您所看到的是由 vi 解释的声音数据的二进制表示(可能是 ASCII)。但是,它并不适合人类阅读,否则会浪费大量存储空间。
请参阅 Using vi as a hex editor 以了解在 hexadecimal format 中显示数据的方法,这是您在没有(编写您自己的)特定软件来显示 ALSA 格式的声音数据的情况下最接近您的问题的答案以人类可读的方式。
【讨论】: