我今天有一个有趣的问题。
我需要将一些 Pokemon 音频文件转换为 8 位样本列表(0-255 值)。我正在 MC6800 芯片组上编写一个汇编例程,需要播放这些声音。我计划包含一个包含 8 位样本的数组,程序在调用函数时将循环遍历该数组。
有人知道将音频文件(wav/mp3)转换为逗号分隔的 8 位文本样本值列表的方法吗?或者这种相对方法的任何方法?
提前非常感谢您!
最佳答案
您可以使用命令行“sox”工具或 Audacity 音频编辑器将文件转换为原始、未签名的 8 位单声道音频文件。
在 Audacity 1.3 或更高版本中,打开音频,然后选择“导出”,选择“Wave、AIFF 和其他未压缩类型”作为格式,然后单击“选项...”- 然后选择“其他...”作为格式, header 为“RAW”,编码为 Signed 8 位 PCM。 (抱歉,未签名不可用。)
从命令行,尝试使用 sox -c 1 表示 1 个 channel ,-t raw 表示无 header ,-u 表示无符号线性,-1 表示每个样本 1 个字节。
然后您可以使用“hexdump”等工具将文件的字节转储为数字并将它们粘贴到您的代码中。
关于c - 音频到 8 位文本样本转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1863049/