“保存”中似乎包含一个问题,该问题阻止该程序正确迭代每个文件并创建输出。

目标是将一个充满.wav文件的文件夹并将其全部转换为.dat或ascii .txt ...

有任何想法吗?

dir_in = '/waves'; % set directory

filelist = dir(fullfile(dir_in, '*.wav')); % get file list
for i = 1 : length(filelist) % iterate over files in dir
    filename = filelist(i).name;
    disp(['Processing ' num2str(i) '/' num2str(length(filelist)) ': ' filename])
    [data, fs] = audioread(fullfile(dir_in,filename)); % Do your stuff for every file
    save ['sampleOutput_' filename(1:end-4) '.txt'] data -ASCII % add filename to output filename, but without '.wav'
end

#1楼 票数:1 已采纳

Matlab函数的“命令格式”使用空格且不使用方括号(即, save filename.mat var1 var2 )非常有限。 如果您使用动态文件名,或使用变量作为文件名,则需要使用常规的函数调用语法: save(['sampleOutput_' filename(1:end-4) '.txt'],'data','-ASCII')

#2楼 票数:0

首先,以上答案对于matlab函数的“命令形式”的局限性是正确的。 在这种情况下,您应该避免使用它。 其次,matlab中的save函数用于保存包含变量和结构的.mat文件。 根据我的经验,保存包含数据的文本文件没有用。 我可能会用以下内容替换该行:

writematrix(data,strrep(filename,'.wav','.txt'));

如果要用制表符分隔(默认情况下用逗号分隔),可以尝试:

writematrix(data,['sampleOutput_'strrep(filename,'.wav','.txt')],'Delimiter','tab');

更新:显然,您可以通过这种方式使用“保存”功能! 我不知道。 谢谢!

  ask by MrFarnham translate from so

未解决问题?本站智能推荐:

1回复

如何让程序在matlab中打开给定文件夹的文件?

我想在matlab中编写一个程序。 在选择文件夹后,程序必须打开该文件夹中的每个文件,它必须替换从用户中选择文件夹的操作。 有谁能够帮助我? 谢谢
1回复

在每次迭代中将创建的文件存储在文件夹中,MATLAB

我正在for循环的每次迭代中创建.wav文件,并且.wav文件存储在我正在使用的当前目录中。现在,我想在当前目录中创建一个文件夹,并且每个创建的文件都应该存储在创建的文件夹中在每次迭代中...
2回复

防止“我的文档”中的“MATLAB”文件夹

我将 Matlab(2009b,Windows 7)设置为在一个特殊文件夹中启动,我将所有 Matlab 文件和启动脚本保存在该文件夹中。 此文件夹不在“我的文档”中 尽管如此,Matlab 每次启动时都会在“我的文档”中创建一个名为“MATLAB”的空文件夹。 这很烦人,因为此更改会传播到共享文档
3回复

如何从Matlab中的文件夹读取图像

我有六个这样的文件夹>> 图像 ,每个文件夹包含一些图像。 我知道如何在matlab中读取图像,但我的问题是如何遍历这些文件夹并读取abc.m文件中的图像(此文件显示在此图像中 )
1回复

在文件夹中裁剪图像-Matlab

我正在尝试编写一个脚本,该脚本读取文件夹中的所有JPG图像并根据此脚本进行裁剪: 但是我得到这个错误: 如果我将循环的内部应用于单个图像,则效果很好。 知道我在做什么错吗?
1回复

在 uiputfile 中设置文件夹 - Matlab

如何让 uiputfile 打开 PathFile 文件夹? 它是在应用程序设计器中完成的 代码:
1回复

Matlab代码将转换应用于文件夹中的每个文件

我有以下代码片段将.wav输入转换为ascii .txt输出。 如何修改此代码以转换给定目录中的每个.wav文件,然后输出每个.txt文件以匹配每个唯一的输入文件名?
1回复

Matlab的多个文件夹

我有一个包含50个文件夹的目录,每个文件夹有50个文件。 我有一个脚本来读取每个文件夹中的所有文件并保存结果,但是我每次都需要输入文件夹名称。 我可以使用任何循环或批处理工具吗? 任何建议或代码,不胜感激。