If there is one topic that has most deeply impacted audio and speech research over the past two decades or so, it is psychoacoustics. We now know that perceived sounds and speech owe just as much to psychology as they do to physiology. The state and activity of the human brain and nervous system have a profound influence on the characteristics of speech and sounds that are perceived by human listeners. This chapter explores precisely those aspects.
Who doesn't love an optical illusion? Well this chapter presents some auditory illustions! A good audio system and listening room are recommended for most of these.
ss=0.1; %short sound length in seconds ls=0.4; %long sound length in seconds Fs=8000; % sample rate short_a=tonegen(440,Fs,ss); % musical note A4 short_b=tonegen(932,Fs,ss); % musical note B5 long_a=tonegen(440,Fs,ls); long_b=tonegen(932,Fs,ls); %put alternating sounds into single matrix short_mat=[short_a, short_b]; long_mat=[long_a, long_b]; %Repeat this matrix several times long=repmat(long_mat ,1,3); short=repmat(short_mat ,1,12);
Let us compare, in turn, the long and the short vectors.
soundsc(long, Fs);
soundsc(short, Fs);
gs=0.30; %gap/noise length in seconds ls=1.50; %length of sound in seconds Fs=8000; % sample rate fr =110; to =880; gap_len=Fs*gs; au_len=Fs*ls; gap=zeros(1,gap_len); noise=rand(1,gap_len); %Make a steadily rising note note_f=[fr:(to-fr)/(au_len -1):to]; au=freqgen(note_f ,Fs); au_gap=au; au_noise=au; %Now put the gaps 1/2 way up au_gap(au_len/2+1:au_len/2+gap_len)=gap; au_noise(au_len/2+1:au_len/2+gap_len)=noise; %Now repeat several times au_gap=repmat(au_gap ,1,3); au_noise=repmat(au_noise ,1,3);
Is this continuous;
soundsc(au_noise, Fs);
What about this one;
soundsc(au_gap, Fs);
Let's try everything together;
soundsc(repmat(au,1,3)+au_noise, Fs)
dur =1.2; Fs =8000; a=220; b=a*2^(3/12); c=a*2^(7/12); sa=tonegen(a, Fs, dur); sb=tonegen(b, Fs, dur); sc=tonegen(c, Fs, dur); sa2=tonegen(a*2, Fs, dur); sb2=tonegen(b*2, Fs, dur); sc2=tonegen(c*2, Fs, dur); % sound1=sa+sb+sc; sound2=sound1+sa2+sb2+sc2; % % Now the modulation patterns mod1=tonegen(7, Fs, dur); mod2=tonegen(27, Fs, dur); mod3=tonegen(51, Fs, dur); am=mod1.*(sa+sa2); bm=mod2.*(sb+sb2); cm=mod3.*(sc+sc2); % % Let us listen to it gap=zeros(1,Fs*0.05); sound3=[am,gap,gap]+[gap,bm,gap]+[gap,gap,cm]; soundsc([sound1,sound2,sound3], Fs)
Try the following variation to the modulation, as suggested in the text;
am=mod1.*(sa+sa2); bm=mod1.*(sb+sb2); cm=mod1.*(sc+sc2);
Fs =8000; n1 =832; n2 =350; d1=0.1*Fs; dm=0.04*Fs; d2=0.1*Fs; a=[n1*ones(1,d1), zeros(1,dm), n2*ones(1,d2), zeros (1,dm)]; b=[n1*ones(1,d1), n1-[1:dm]*(n1-n2)/(dm), n2*ones(1, d2), n2+[1:dm]*(n1-n2)/(dm)]; sa=freqgen(a,Fs); sb=freqgen(b,Fs); amp=0.4+sign(a)/2; sa=sa.*amp; sb=sb.*amp;
Let's replay several repetitions of the discontinuous sound:
soundsc(repmat(sa,1,8))
and follow that with the connected sounds:
soundsc(repmat(sb,1,8))