tomwalters@0: % tool tomwalters@0: % tomwalters@0: % INPUT VALUES: tomwalters@0: % tomwalters@0: % RETURN VALUE: tomwalters@0: % tomwalters@0: % 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: tomwalters@0: tomwalters@0: function sig=ymca() tomwalters@0: tomwalters@0: f1=494; tomwalters@0: f2=587.3; tomwalters@0: f3=659.25; tomwalters@0: d1=0.25; tomwalters@0: d2=0.5; tomwalters@0: d3=1; tomwalters@0: sr=16000; tomwalters@0: tomwalters@0: tomwalters@0: tune='ccdec'; tomwalters@0: tomwalters@0: tomwalters@0: tomwalters@0: % clicktrain tomwalters@0: % c1=clicktrain(d1,sr,f1); tomwalters@0: % c2=clicktrain(d1,sr,f2); tomwalters@0: % c3=clicktrain(d2,sr,f2); tomwalters@0: % c4=clicktrain(d3,sr,f3); tomwalters@0: % c5=clicktrain(d1,sr,f3); tomwalters@0: tomwalters@0: % sinus tomwalters@0: % c1=sinus(d1,sr,f1); tomwalters@0: % c2=sinus(d1,sr,f2); tomwalters@0: % c3=sinus(d2,sr,f2); tomwalters@0: % c4=sinus(d3,sr,f3); tomwalters@0: % c5=sinus(d1,sr,f3); tomwalters@0: tomwalters@0: % harmonic tomwalters@0: c1=signal(d1,sr); tomwalters@0: c2=signal(d1,sr); tomwalters@0: c3=signal(d2,sr); tomwalters@0: c4=signal(d3,sr); tomwalters@0: c5=signal(d1,sr); tomwalters@0: tomwalters@0: tomwalters@0: bandwidth=1000; %fixed tomwalters@0: df1=256; tomwalters@0: df2=512; tomwalters@0: fc=1000; tomwalters@0: % tomwalters@0: % s=sprintf('genharmonics(signal(%f,%f),''fundamental'',''%f'',''filterprop'',[%f %f %f %f]);',d1,sr,f1,fc,df1,bandwidth,df2); tomwalters@0: % eval(sprintf('c1=%s;',s)); tomwalters@0: % s=sprintf('genharmonics(signal(%f,%f),''fundamental'',''%f'',''filterprop'',[%f %f %f %f]);',d1,sr,f2,fc,df1,bandwidth,df2); tomwalters@0: % eval(sprintf('c2=%s;',s)); tomwalters@0: % s=sprintf('genharmonics(signal(%f,%f),''fundamental'',''%f'',''filterprop'',[%f %f %f %f]);',d2,sr,f2,fc,df1,bandwidth,df2); tomwalters@0: % eval(sprintf('c3=%s;',s)); tomwalters@0: % s=sprintf('genharmonics(signal(%f,%f),''fundamental'',''%f'',''filterprop'',[%f %f %f %f]);',d3,sr,f3,fc,df1,bandwidth,df2); tomwalters@0: % eval(sprintf('c4=%s;',s)); tomwalters@0: % s=sprintf('genharmonics(signal(%f,%f),''fundamental'',''%f'',''filterprop'',[%f %f %f %f]);',d1,sr,f3,fc,df1,bandwidth,df2); tomwalters@0: % eval(sprintf('c5=%s;',s)); tomwalters@0: tomwalters@0: f0=125; tomwalters@0: a=3; tomwalters@0: s=sprintf('genharmonics(signal(%f,%f),''fundamental'',''%f'',''filterprop'',[%f %f %f %f]);',d1,sr,f0,a*f1,df1,bandwidth,df2); tomwalters@0: eval(sprintf('c1=%s;',s)); tomwalters@0: s=sprintf('genharmonics(signal(%f,%f),''fundamental'',''%f'',''filterprop'',[%f %f %f %f]);',d1,sr,f0,a*f2,df1,bandwidth,df2); tomwalters@0: eval(sprintf('c2=%s;',s)); tomwalters@0: s=sprintf('genharmonics(signal(%f,%f),''fundamental'',''%f'',''filterprop'',[%f %f %f %f]);',d2,sr,f0,a*f2,df1,bandwidth,df2); tomwalters@0: eval(sprintf('c3=%s;',s)); tomwalters@0: s=sprintf('genharmonics(signal(%f,%f),''fundamental'',''%f'',''filterprop'',[%f %f %f %f]);',d3,sr,f0,a*f3,df1,bandwidth,df2); tomwalters@0: eval(sprintf('c4=%s;',s)); tomwalters@0: s=sprintf('genharmonics(signal(%f,%f),''fundamental'',''%f'',''filterprop'',[%f %f %f %f]);',d1,sr,f0,a*f3,df1,bandwidth,df2); tomwalters@0: eval(sprintf('c5=%s;',s)); tomwalters@0: tomwalters@0: % f0=125; tomwalters@0: % a=3; tomwalters@0: % type='decreaseoddamplitude'; tomwalters@0: % amp1=0; tomwalters@0: % amp2=-4; tomwalters@0: % amp3=-8; tomwalters@0: % s=sprintf('genharmonics(signal(%f,%f),''fundamental'',''%f'',''filterprop'',[%f %f %f %f],''type'',''%s'',''changeby'',''%f'');',d1,sr,f0,fc,df1,bandwidth,df2,type,amp1); tomwalters@0: % eval(sprintf('c1=%s;',s)); tomwalters@0: % s=sprintf('genharmonics(signal(%f,%f),''fundamental'',''%f'',''filterprop'',[%f %f %f %f],''type'',''%s'',''changeby'',''%f'');',d1,sr,f0,fc,df1,bandwidth,df2,type,amp2); tomwalters@0: % eval(sprintf('c2=%s;',s)); tomwalters@0: % s=sprintf('genharmonics(signal(%f,%f),''fundamental'',''%f'',''filterprop'',[%f %f %f %f],''type'',''%s'',''changeby'',''%f'');',d2,sr,f0,fc,df1,bandwidth,df2,type,amp2); tomwalters@0: % eval(sprintf('c3=%s;',s)); tomwalters@0: % s=sprintf('genharmonics(signal(%f,%f),''fundamental'',''%f'',''filterprop'',[%f %f %f %f],''type'',''%s'',''changeby'',''%f'');',d3,sr,f0,fc,df1,bandwidth,df2,type,amp3); tomwalters@0: % eval(sprintf('c4=%s;',s)); tomwalters@0: % s=sprintf('genharmonics(signal(%f,%f),''fundamental'',''%f'',''filterprop'',[%f %f %f %f],''type'',''%s'',''changeby'',''%f'');',d1,sr,f0,fc,df1,bandwidth,df2,type,amp3); tomwalters@0: % eval(sprintf('c5=%s;',s)); tomwalters@0: tomwalters@0: % f0=125; tomwalters@0: % a=3; tomwalters@0: % type='decreaseoddphase'; tomwalters@0: % phase1=0; tomwalters@0: % phase2=40; tomwalters@0: % phase3=70; tomwalters@0: % s=sprintf('genharmonics(signal(%f,%f),''fundamental'',''%f'',''filterprop'',[%f %f %f %f],''type'',''%s'',''changeby'',''%f'');',d1,sr,f0,fc,df1,bandwidth,df2,type,phase1); tomwalters@0: % eval(sprintf('c1=%s;',s)); tomwalters@0: % s=sprintf('genharmonics(signal(%f,%f),''fundamental'',''%f'',''filterprop'',[%f %f %f %f],''type'',''%s'',''changeby'',''%f'');',d1,sr,f0,fc,df1,bandwidth,df2,type,phase2); tomwalters@0: % eval(sprintf('c2=%s;',s)); tomwalters@0: % s=sprintf('genharmonics(signal(%f,%f),''fundamental'',''%f'',''filterprop'',[%f %f %f %f],''type'',''%s'',''changeby'',''%f'');',d2,sr,f0,fc,df1,bandwidth,df2,type,phase2); tomwalters@0: % eval(sprintf('c3=%s;',s)); tomwalters@0: % s=sprintf('genharmonics(signal(%f,%f),''fundamental'',''%f'',''filterprop'',[%f %f %f %f],''type'',''%s'',''changeby'',''%f'');',d3,sr,f0,fc,df1,bandwidth,df2,type,phase3); tomwalters@0: % eval(sprintf('c4=%s;',s)); tomwalters@0: % s=sprintf('genharmonics(signal(%f,%f),''fundamental'',''%f'',''filterprop'',[%f %f %f %f],''type'',''%s'',''changeby'',''%f'');',d1,sr,f0,fc,df1,bandwidth,df2,type,phase3); tomwalters@0: % eval(sprintf('c5=%s;',s)); tomwalters@0: tomwalters@0: tomwalters@0: tomwalters@0: c1=rampamplitude(c1,0.02); tomwalters@0: c2=rampamplitude(c2,0.02); tomwalters@0: c3=rampamplitude(c3,0.02); tomwalters@0: c4=rampamplitude(c4,0.02); tomwalters@0: c5=rampamplitude(c5,0.02); tomwalters@0: sig=c1; tomwalters@0: sig=append(sig,c2); tomwalters@0: sig=append(sig,c1); tomwalters@0: sig=append(sig,c2); tomwalters@0: sig=append(sig,c1); tomwalters@0: sig=append(sig,c3); tomwalters@0: sig=append(sig,c4); tomwalters@0: sig=append(sig,c3); tomwalters@0: sig=append(sig,c5); tomwalters@0: sig=append(sig,c2);