这个问题在我脑海里已经存在了几年,我从来没有真正找到答案.
我想要做的是提取MP3文件的实际波形/ PCM,以便我可以使用声卡(当然)来播放它.
理想情况下,我会尝试一些DSP效果.
我的第一步是调查LAME,但我没有找到任何与程序中的MP3解码或类似内容有关的内容.
所以我问我在哪里可以找到这样的东西.
我应该用什么语言?我在想C,但也许有编程语言可以更有效地完成工作.
谢谢!
纪尧姆.
问题归结为:你想要完成什么?
从你解码MP3的问题的描述和在声卡上播放它听起来好像你正在尝试制作媒体播放器.
但是,如果您打算使用DSP效果,那么听起来问题更多的是处理声音而不是解码MP3.如果是这种情况,可能正在考虑为现有媒体播放器(如Windows Media Player和Winamp)编写插件,这将是您尝试完成的最简单的途径.
坦率地说,学习从头编写自己的解码器不仅仅是一个编程问题,而是一个数学问题,因此使用现有的库是可行的方法.与DirectSound等操作系统或库交谈以输出音频似乎是不必要的工作.除非你的目标是制作自己的媒体播放器,否则我认为为现有播放器制作插件是可行的方法.
如果您真正想要实现的是播放音频数据,那么可能使用任何MP3解码器将MP3解码为未压缩的PCM,然后使用您选择的语言对其进行操作将实现您处理声音效果的目标.
语言选择取决于您是否要直接与MP3解码库交互,或者您是否可以使用原始音频输入,这将允许您使用几乎任何您选择的语言.
前面有一个类似的问题,编程音频入门,在那里我发布了一些操作音频的基本方法的答案,例如放大,改变播放速度,以及使用FFT做一些工作.