bleeck@3: % method of class @signal bleeck@3: % bleeck@3: % INPUT VALUES: bleeck@3: % bleeck@3: % RETURN VALUE: bleeck@3: % bleeck@3: % bleeck@3: % This external file is included as part of the 'aim-mat' distribution package bleeck@3: % (c) 2011, University of Southampton bleeck@3: % Maintained by Stefan Bleeck (bleeck@gmail.com) bleeck@3: % download of current version is on the soundsoftware site: bleeck@3: % http://code.soundsoftware.ac.uk/projects/aimmat bleeck@3: % documentation and everything is on http://www.acousticscale.org bleeck@3: bleeck@3: bleeck@3: function [sig1,sig2]=loadwavefile(sig,orgname,timestart,duration) bleeck@3: % usage: [sig1,sig2]=loadwavefile(name,time) bleeck@3: % reads in the wavefile name in the time boundaries bleeck@3: % returns two signals, if signal is stereo bleeck@3: bleeck@3: % bleeck@3: % [path,name,ext]=fileparts(name); bleeck@3: % if strcmp(ext,'.wav') bleeck@3: % bleeck@3: % [data,sr,nbits]=wavread(name); bleeck@3: % elseif strcmp(ext,'.aif') || strcmp(ext,'.aiff') bleeck@3: % error('aif import not implemented yet'); bleeck@3: % end bleeck@3: % bleeck@3: % sig=signal(data); bleeck@3: % sig=setsr(sig,sr); bleeck@3: % sig=setname(sig,name); bleeck@3: % if nargin > 2 bleeck@3: % sig=getpart(sig,timestart,timestart+duration); bleeck@3: % end bleeck@3: % bleeck@3: bleeck@3: [name,path,ext]=fileparts(orgname); bleeck@3: if strcmp(lower(ext),'.wav') bleeck@3: try bleeck@3: [data,sr,nbits]=wavread(orgname); bleeck@3: catch bleeck@3: error(sprintf('cant open file %s',orgname)) bleeck@3: end bleeck@3: nr_sig=size(data,2); bleeck@3: bleeck@3: sig1=signal(data(:,1)); bleeck@3: sig1=setsr(sig1,sr); bleeck@3: sig1=setname(sig1,orgname); bleeck@3: if nargin > 2 bleeck@3: sig1=getpart(sig1,timestart,timestart+duration); bleeck@3: end bleeck@3: if nr_sig==2 bleeck@3: sig2=signal(data(:,2)); bleeck@3: sig2=setsr(sig2,sr); bleeck@3: sig2=setname(sig2,orgname); bleeck@3: if nargin > 2 bleeck@3: sig2=getpart(sig2,timestart,timestart+duration); bleeck@3: end bleeck@3: bleeck@3: end bleeck@3: elseif strcmp(ext,'.aif') || strcmp(ext,'.aiff') bleeck@3: [data,sr]=aifread(orgname); bleeck@3: sig=signal(data); bleeck@3: sig=setsr(sig,sr); bleeck@3: sig=setname(sig,orgname); bleeck@3: if nargin > 2 bleeck@3: sig=getpart(sig,timestart,timestart+duration); bleeck@3: end tomwalters@0: end