gpt4 book ai didi

matlab - 在Matlab中使用memmapfile读取并表示mp3文件

转载 作者:行者123 更新时间:2023-12-03 02:05:47 31 4
gpt4 key购买 nike

我必须使用Matlab分析生物声学音频文件。最终,我希望能够发现音频中的异常。这就是我需要找到一种可以提取和比较特征的音频表示方式的原因。我正在处理最大150 mb的mp3文件。这些文件太大,matlab无法读入它的内存。因此,我想使用memmapfile()函数。我使用以下代码和一个小的mp3文件来了解其实际工作原理。

[testR, ~] = audioread('test.mp3');
testM = memmapfile('test.mp3');
disp(testM.Data);
disp(testR);

testM.Data和testR的实际值不同。 Audioread()返回一个7483391 x 2矩阵,而memmapfile()一个4113874 x 1矩阵。
我不太确定memmapfile()的工作方式,我希望这彼此相等。有没有办法使用memmapfile()读取audioread()格式相同的mp3文件?如果是音频文件,memmapfile实际上会返回什么?也许在异常检测的情况下也可以 vector 格式使用?

提前致谢!

注意:原始文件为wav IMA ADPCM格式,大小从1.5到2.5 gb。由于Matlab无法处理这种格式和文件大小,因此我将它们转换为8位mp3文件。

最佳答案

我认为问题是默认情况下mammapfile以uint8格式读取数据,而audioread函数以另一种方式读取数据。
如何查看here,当您使用memmapfile读取数据时可以指定数据格式,因此请尝试使用不同的值“播放”。从documentation中,我读到您可以读取双重格式的数据,因此请尝试修改memmapfile数据格式和audioread数据格式。
最后,memmapfile总是将数据组织为“somenumbers x 1”之类的矩阵,因此,如果要原始数据,则需要使用诸如reshape之类的东西。
无论如何,如果您使用大数据,我建议您尝试使用其他方法而不是memmapfile,因为它非常慢

关于matlab - 在Matlab中使用memmapfile读取并表示mp3文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27878190/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com