problem with fread,matrix arguments
4 views (last 30 days)
Show older comments
i'll need some help here...well i have a folder who's inside there are 8 subfolders with names ('aa','ah','ax' 'eh' 'ih' 'ix' 'ow' 'ux')each subfolder has 60 .pcm files..and i want to read them..here's my code for phoneme 'aa'..the problem is when i write sig(k,i) as a matrix there's an error and i can't fix it..
%mycode
TrainFile=cd('C:\Users\panagiotis\Documents\MATLAB\patreco_project\training');
phonemes={'aa' 'ah' 'ax' 'eh' 'ih' 'ix' 'ow' 'ux' };
cd(phonemes{1});
data=dir('*.pcm');
for k=1:60
for i=1:length(data)
fid=fopen(data(i).name,'r');
sig(k,i)=fread(fid,inf,'int16'); %error
fclose(fid);
end
%note:each .pcm file has different length of data( the 1st pcm is 1x1298,the 2nd 1x890, etc..) namely for each phoneme i want to create a 2-dim matrix for each phoneme with 60 rows and different columns's length..
any help/ideas??
thx in advance
0 Comments
Accepted Answer
More Answers (2)
Jan
on 12 Feb 2012
The command fread(fid,inf,'int16') replies a vector, but you try to assign it to the scalar sig(k,i). Please post a copy of the error message, whenever you mention the error in the forum.
Do all files contain the same number of elements? If not, you can use a cell, e.g. sig = cell(1, 60).
There are further problems in the code, e.g. you use the first phonemes only and the contents of sig(k, i) does not depend on k.
0 Comments
See Also
Categories
Find more on PCM in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!