从MP3中提取原始音频/波形

从MP3中提取原始音频/波形,mp3,decode,pcm,waveform,Mp3,Decode,Pcm,Waveform,这个问题在我脑子里已经想了好几年了,但我从来没有真正找到这个问题的答案 我想做的是提取MP3文件的实际波形/PCM,这样我就可以使用声卡播放它(当然) 理想情况下,我会尝试一些DSP效果 我的第一步是研究LAME,但我没有发现任何与MP3解码相关的程序或类似的东西 所以我问在哪里可以找到这样的东西 我应该使用什么语言?我在考虑C语言,但也许有一些编程语言可以更有效地完成这项工作 谢谢 Guillaume。应该可以做到。应该可以做到。我一直在使用Windows Media SDK,不是为了这个目的

这个问题在我脑子里已经想了好几年了,但我从来没有真正找到这个问题的答案

我想做的是提取MP3文件的实际波形/PCM,这样我就可以使用声卡播放它(当然)

理想情况下,我会尝试一些DSP效果

我的第一步是研究LAME,但我没有发现任何与MP3解码相关的程序或类似的东西

所以我问在哪里可以找到这样的东西

我应该使用什么语言?我在考虑C语言,但也许有一些编程语言可以更有效地完成这项工作

谢谢


Guillaume。

应该可以做到。

应该可以做到。

我一直在使用Windows Media SDK,不是为了这个目的,但我非常确定有一些钩子可以让你截取音频流,或者将MP4转换为未压缩的WAV。我使用C++。

我一直使用Windows Media SDK,不是为了这个目的,但是我很确定有钩子让你拦截音频流,或者把MP4转换成未压缩的wav。我使用C++。

批量:

选择你的毒药

此外,LAME确实解码MP3(请查看--decode选项),因此您可能会在该源代码中发现一些有趣的内容

-亚当

地段:

选择你的毒药

此外,LAME确实解码MP3(请查看--decode选项),因此您可能会在该源代码中发现一些有趣的内容


-Adam

这实际上取决于您在哪个平台上编程,以及您想对代码做什么。如果您在Windows上,则应查看或。他们都应该有能力将mp3文件解码成原始波形。在Mac上,我希望Quicktime也有同样的能力。其他人已经建议使用Linux/开源代码的源代码。

这实际上取决于您在哪个平台上编程以及您想对代码做什么。如果您在Windows上,则应查看或。他们都应该有能力将mp3文件解码成原始波形。在Mac上,我希望Quicktime也有同样的能力。其他人已经建议使用Linux/开源代码的源代码。

问题归结为:您想要实现什么

根据您对MP3解码并在声卡上播放的问题的描述,听起来好像您正在尝试制作媒体播放器

然而,如果你的目的是玩DSP特效,那么听起来问题更多的是处理声音,而不是解码MP3。如果是这样的话,那么为现有媒体播放器(如和)编写插件可能是实现目标的最简单途径

坦率地说,从头开始学习编写自己的解码器不仅是一个编程问题,而且是一个数学问题,因此使用现有库是一条可行之路。与操作系统或库(如DirectSound)对话以输出音频似乎是不必要的工作。我觉得为现有播放器开发插件将是一条可行之路,除非你的目标是制作自己的媒体播放器

如果您真正想要完成的是播放音频数据,那么可能需要使用任何MP3解码器将MP3解码为未压缩的PCM,然后使用您选择的语言对其进行操作,从而实现处理声音效果的目标

语言的选择将取决于您是否要直接与MP3解码库交互,或者您是否可以只使用原始音频输入,这将允许您使用几乎任何您选择的语言


不久前有一个类似的问题,我在那里发布了一个关于操纵音频的一些基本方法的答案,例如放大、改变播放速度以及使用FFT进行一些工作。

问题归结为:你想实现什么

根据您对MP3解码并在声卡上播放的问题的描述,听起来好像您正在尝试制作媒体播放器

然而,如果你的目的是玩DSP特效,那么听起来问题更多的是处理声音,而不是解码MP3。如果是这样的话,那么为现有媒体播放器(如和)编写插件可能是实现目标的最简单途径

坦率地说,从头开始学习编写自己的解码器不仅是一个编程问题,而且是一个数学问题,因此使用现有库是一条可行之路。与操作系统或库(如DirectSound)对话以输出音频似乎是不必要的工作。我觉得为现有播放器开发插件将是一条可行之路,除非你的目标是制作自己的媒体播放器

如果您真正想要完成的是播放音频数据,那么可能需要使用任何MP3解码器将MP3解码为未压缩的PCM,然后使用您选择的语言对其进行操作,从而实现处理声音效果的目标

语言的选择将取决于您是否要直接与MP3解码库交互,或者您是否可以只使用原始音频输入,这将允许您使用几乎任何您选择的语言


不久前也有一个类似的问题,我发布了一个关于操纵音频的一些基本方法的答案,比如放大,改变播放速度,并且使用FFT做一些工作。

我建议查看Cubase和Wavelab,因为这两种方法都将MP3转换成WAV等,允许您使用波形进行播放

我建议查看Cubase和Wavelab,因为这两种方法都将MP3转换成WAV等,并允许您使用波形进行播放

是否将转换为WAV/PCM/其他波形原始格式需要编程,或者一个实用程序/程序从外部执行就足够了?我认为前者是