我正在构建一个可播放高质量声音样本的设备,并在应用信号时在> 5ms内切换样本。
我在微控制器之后允许这样做 - 我需要4个I / O引脚来触发声音之间的转换,以及音频的输出引脚。音频文件的持续时间将是50ms左右,但理想情况下将有足够的存储空间来允许文件为1秒或更长时间。它将循环当前文件,直到被告知要更改。在切换文件或运行其他命令时,我不想要可听见的流行音乐等等 - 但是不应该在它旁边运行任何复杂的东西,它纯粹是音频播放和切换。
我已经看过arduino系列中的各种微控制器,但它们似乎并不是最佳目的 - (例如试用了moduino的mozzi库,但它并不是很棒的质量)。理想情况下,我可以在芯片上完成所有工作(不管它是什么,不需要arduino) - 无需外部存储或RAM模块。但如果这是必要的,我会这样做。解决方案是安装在一个2厘米宽的圆柱体(但没有长度限制),所以理想情况下是这样 - 所以没有SD卡模块或其他什么。语言明智 - 我对他们都很陌生 - 但可以学到最好的东西。
音频 - (44.1kHz CD质量WAV,但如果需要,显然可以切换到不同的格式)。如果完全不可能播放如此高质量的声音 - 那么声音质量就会降低。
感谢您的帮助
答案 0 :(得分:2)
对于像这样的简单应用程序,您最好只使用连接到外部SPI FLASH芯片的小型ARM Cortex M设备。大多数微控制器通过FLASH存储扩展处理能力和RAM,因此将其全部保存在一个芯片上将导致一个奇怪的过度供电解决方案。串行FLASH存储器非常便宜,易于使用,如果您需要添加更多样品,可以在将来更改尺寸。
对于音频方面,如果你真的想要CD质量,你必须考虑获得外部音频DAC,因为我不知道任何集成CD质量编解码器的微控制器。外部DAC使用起来既不昂贵也不复杂,但只会增加物理尺寸和BOM成本。许多Cortex芯片都内置了12位DAC,但如果音频具有相当小的动态范围,您可能会发现它非常适合您的需求。
在最大限度地减少弹出和点击方面,Cortex设备将有足够的功率进行一些基本的过滤来处理这个问题。我建议不要使用Arduino,因为你会很快遇到处理能力限制,我怀疑你会想要深入到汇编器优化中。