首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在matlab中使用mapreduce编程技术

在matlab中使用mapreduce编程技术
EN

Stack Overflow用户
提问于 2015-03-15 00:06:48
回答 1查看 431关注 0票数 1

我正在研究大鼠的超声波发声(它们在超声波中的发音)。我有几个老鼠演讲的音频wav文件。理想情况下,我会将整个文件导入matlab并进行处理,但即使是最小的70mb文件也会出现内存问题。这就是我需要帮助的地方。

y,Fs,nbits = audioread('T0000201.wav');

S F T=语谱图(y,100,[],256,Fs,'yaxis');..。。程序的..rest

我可以考虑将音频(在一个文件中)分成块,然后在考虑下一个块之前对块进行处理,但我不确定如果rat调用在块的末尾中途被切断的情况下该怎么办(这可能会对STFT频谱图产生负面影响)。

我遇到了另一种名为"Mapreduce“的技术,它似乎允许我在不实际读取数据的情况下使用整个数据。虽然这似乎是最理想的,但我不太明白它是如何工作的或可以实现的。"Hadoop“也被提及。有谁能提供帮助吗?

我目前正在使用这个(http://uk.mathworks.com/help/matlab/import_export/find-maximum-value-with-mapreduce.html)作为参考。我的第一步是尝试使用wav文件作为数据存储(就像示例中的csv文件一样),但这不起作用。

EN

回答 1

Stack Overflow用户

发布于 2015-07-02 12:13:09

由于您主要使用音频(.wav)文件存储库,因此mapreduce可能不是您的最佳选择。数据存储函数仅适用于文本文件或键值文件。

使用memory函数来探索MATLAB的内存限制,并尝试按照您所提到的在较小的块中处理音频文件。通过组合使用audio break ()、audio of ()和audio audiowrite(),您可以将音频文件集合分解为较大的较小文件集合,然后可以单独处理这些文件。

如果要处理的文件数量很少,则可以手动检查较小的块,以确保块之间没有重要的rat调用被切断。当然,如果您有数千个文件要处理,那么这种方法将不可行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29051055

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档