annotate toolboxes/MIRtoolbox1.3.2/MIRToolbox/@mirenvelope/mirsave.m @ 0:cc4b1211e677 tip

initial commit to HG from Changeset: 646 (e263d8a21543) added further path and more save "camirversion.m"
author Daniel Wolff
date Fri, 19 Aug 2016 13:07:06 +0200
parents
children
rev   line source
Daniel@0 1 function mirsave(e,f)
Daniel@0 2
Daniel@0 3 ext = 0; % Specified new extension
Daniel@0 4 if nargin == 1
Daniel@0 5 f = '.envelope.mir';
Daniel@0 6 elseif length(f)>3 && strcmpi(f(end-3:end),'.wav')
Daniel@0 7 ext = '.wav';
Daniel@0 8 if length(f)==4
Daniel@0 9 f = '.mir';
Daniel@0 10 end
Daniel@0 11 elseif length(f)>2 && strcmpi(f(end-2:end),'.au')
Daniel@0 12 ext = '.au';
Daniel@0 13 if length(f)==3
Daniel@0 14 f = '.mir';
Daniel@0 15 end
Daniel@0 16 end
Daniel@0 17
Daniel@0 18 d = get(e,'Data');
Daniel@0 19 nf = length(d);
Daniel@0 20 fs = get(e,'Sampling');
Daniel@0 21 nm = get(e,'Name');
Daniel@0 22 for i = 1:nf
Daniel@0 23 di = d{i}{1};
Daniel@0 24 fsi = fs{i};
Daniel@0 25 nmi = nm{i};
Daniel@0 26 di = resample(di,11025,round(fs{i}));
Daniel@0 27 di = rand(size(di)).*di;
Daniel@0 28 di = di/max(max(max(abs(di))))*.9999;
Daniel@0 29 di = reshape(di,[],1);
Daniel@0 30
Daniel@0 31 %Let's remove the extension from the original files
Daniel@0 32 if length(nmi)>3 && strcmpi(nmi(end-3:end),'.wav')
Daniel@0 33 nmi(end-3:end) = [];
Daniel@0 34 elseif length(nmi)>2 && strcmpi(nmi(end-2:end),'.au')
Daniel@0 35 nmi(end-2:end) = [];
Daniel@0 36 end
Daniel@0 37
Daniel@0 38 if nf>1 || strcmp(f(1),'.')
Daniel@0 39 %Let's add the new suffix
Daniel@0 40 n = [nmi f];
Daniel@0 41 else
Daniel@0 42 n = f;
Daniel@0 43 end
Daniel@0 44
Daniel@0 45 if not(ischar(ext)) || strcmp(ext,'.wav')
Daniel@0 46 if length(n)<4 || not(strcmpi(n(end-3:end),'.wav'))
Daniel@0 47 n = [n '.wav'];
Daniel@0 48 end
Daniel@0 49 wavwrite(di,11025,32,n)
Daniel@0 50 elseif strcmp(ext,'.au')
Daniel@0 51 if length(n)<3 || not(strcmpi(n(end-2:end),'.au'))
Daniel@0 52 n = [n '.au'];
Daniel@0 53 end
Daniel@0 54 auwrite(di,11025,32,'linear',n)
Daniel@0 55 end
Daniel@0 56 disp([n,' saved.']);
Daniel@0 57 end