首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么听觉反应会产生记忆错误?

为什么听觉反应会产生记忆错误?
EN

Stack Overflow用户
提问于 2015-04-15 19:32:45
回答 3查看 511关注 0票数 0

我想知道的是,如何使用另一个函数来代替audioread,或者如何扩展可用内存。下面是代码:

代码语言:javascript
复制
[y,f] = audioread('myfile.wav');

其中wav文件为60 is。有什么方法可以将我的文件解析成一堆较小的文件并在Matlab中连接它们吗?或者增加额外的内存?

我知道问题在于文件大小,但是不应该读取60 to的文件吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-04-15 19:53:42

尝试函数wavread('name.wav')而不是audioread('name.wav')。但我认为60 MB的尺寸实在太大了。我的wav文件有100个kB,我得到了长度为60000的向量(使用wavread())。

票数 0
EN

Stack Overflow用户

发布于 2015-04-16 13:42:16

这个问题可能与wav文件中的每个示例用8或16位(1或2字节)表示,而Matlab中的标准数字格式是64位浮点数( a.k.a )有关。double (8个字节),所以您需要的内存是磁盘上文件占用内存的4到8倍。可以指示wavread使用语法不使用双值输出,而使用本机输出。

代码语言:javascript
复制
y = wavread('myfile.wav', 'native')

这使得内存大小与磁盘存储大小相同。缺点是以整数数据类型(int8int16)获取“原始”值,而wavread通常将文件中的值范围缩放到-1、1。

另一方面,在今天的计算机系统中,480 MB仍然是空白,16 GB的主存已经在较低的范围内。因此,在读取文件时得到内存不足的错误是非常奇怪的。尝试关闭其他程序以获得更多的空闲内存,或者尝试使用clearclear all清除Matlab中的其他变量。使用操作系统的内存监视器查看有多少空闲内存,以及哪些进程占用了内存。重新启动操作系统或重新启动Matlab也可能有帮助。

票数 0
EN

Stack Overflow用户

发布于 2015-04-22 19:56:39

以下是我得出的结论:

*60 of通过audioread函数运行会导致内存不足错误。唯一的解决办法是将音频文件拆分为较小的文件(例如,每个文件1MB ),然后单独处理/读取它们。

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

https://stackoverflow.com/questions/29659210

复制
相关文章

相似问题

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