首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >音频到8位文本示例转换

音频到8位文本示例转换
EN

Stack Overflow用户
提问于 2009-12-07 21:33:01
回答 4查看 5.6K关注 0票数 2

我今天有一个有趣的问题。

我需要将一些口袋妖怪音频文件转换为8位示例 (0-255值)的列表。我正在MC6800芯片组上编写一个组装例程,它需要播放这些声音。我计划包含一个8位示例的数组,当调用函数时,程序将循环通过该数组。

是否有人知道如何将音频文件(wav/mp3)转换为逗号分隔的8位文本示例值的列表?或其他相关方法?

提前谢谢你!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-12-07 21:41:21

您可以使用命令行"sox“工具或Audacity音频编辑器将该文件转换为原始的、未签名的8位单音频文件。

在Audity1.3或更高版本中,打开音频,然后选择导出,选择"Wave、AIFF和其他未压缩类型“作为格式,然后单击”选项“.-然后选择“其他.”对于格式,"RAW“为报头,并将8位PCM作为编码。(对不起,现在没有签名。)

在命令行中,尝试使用-c 1作为1通道,-t raw用于无标头,-u用于无符号线性,-1用于每个示例的1字节。

然后,您可以使用像“十六进制”这样的工具,将文件的字节作为数字转储出来,并将它们粘贴到代码中。

票数 4
EN

Stack Overflow用户

发布于 2009-12-07 21:38:24

如果索克斯没有它,您将不得不使用它生成原始(无头)文件,并将原始文件转换为逗号分隔的文件。

编辑: sox有“原始文本数据”作为其格式之一,从网页。您可以让它在第一次传递时将您的声音文件转换为无符号8位线性示例,然后使用此选项进行输出,可能会精确地得到您想要的输出。

票数 0
EN

Stack Overflow用户

发布于 2009-12-07 21:39:13

对于.wav来说,这是一个非常简单的过程。通过谷歌搜索,您可以很容易地找到.wav规范。它包括一个标头,然后只是原始样本。您应该先读取标头,然后循环遍历所有示例。通常它们是16位样本,所以您希望将它们从范围-32768到32767规范化到您的0-255范围。我建议先做个简单的缩放。如果不成功,可以在样本中找到实际的最小值和最大值,并相应地调整您的比例。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1863049

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档