Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 在MP3文件中查找主数据_Matlab_Mp3_Decoder - Fatal编程技术网

Matlab 在MP3文件中查找主数据

Matlab 在MP3文件中查找主数据,matlab,mp3,decoder,Matlab,Mp3,Decoder,我想解码一个MP3文件。我设法在报头中找到32位(同步字、ID、层、比特率等)。问题是我不知道如何找到主数据的起始位置。在这种情况下,我使用MATLAB 我知道这可能是个简单的问题,但我真的需要你的帮助。请 谢谢。MPEG1/2第三层使用主数据作为颗粒头和数据上的伪VBR。最简单的方法是实现一个循环缓冲区,该缓冲区在side info之后接收所有物理帧数据,并在开始帧解码之前丢弃缓冲区开头未使用的字节(如main_data_begin所示) 最好的办法是读取现有解码器的源代码。该规范在这方面也非

我想解码一个MP3文件。我设法在报头中找到32位(同步字、ID、层、比特率等)。问题是我不知道如何找到主数据的起始位置。在这种情况下,我使用MATLAB

我知道这可能是个简单的问题,但我真的需要你的帮助。请
谢谢。

MPEG1/2第三层使用主数据作为颗粒头和数据上的伪VBR。最简单的方法是实现一个循环缓冲区,该缓冲区在side info之后接收所有物理帧数据,并在开始帧解码之前丢弃缓冲区开头未使用的字节(如main_data_begin所示)


最好的办法是读取现有解码器的源代码。该规范在这方面也非常好,但主要数据在公开版本中被错误地记录(尽我所能找到)。

谢谢@ioctILR:-)顺便问一下,你有什么书可以推荐给MP3解码器吗?没有。我使用Fluendo gstreamer解码器从规范中拼凑了一个解码器来“检查”我的逻辑。如果您想了解主数据在该解码器中的工作方式,请尝试读取nlayer.codeplex.com中的bitRepositor.cs(尤其是AddBits方法)。