A2B31SMS 3. PŘEDNÁŠKA 15. října 215 ADITIVNÍ SYNTÉZA Harmonická analýza Harmonická syntéza Fourierovy řady Spektrum Barva zvuku Aditivní syntéza a spektrální modelování Parciály
Fourierovy řady Jean Baptiste Fourier (francouzský matematik 1768-183) Harmonická analýza Libovolný periodický signál lze rozložit na jednotlivé harmonické složky. Harmonická syntéza Kombinací harmonických složek lze vytvořit prakticky libovolný periodický signál.
Fourierovy řady Trigonometrický tvar Fourierových řad x( t ) k 1 a [ a cos( k t) b sin( k t)] k k a a k, b k k stejnosměrná složka koeficienty Fourierovy řady pořadí harmonické složky T 1 a x( t) dt T b k 2 T T x( t)sin( k t) dt a k 2 T T x( t)cos( k t) dt
Fourierovy řady Spektrální (polární) tvar Fourierových řad x( t) k c k sin( k t ) k c k k amplituda k-té spektrální složky fáze k-té spektrální složky c k a 2 k b 2 k k arctan a b k k
Fourierovy řady Komplexní (exponenciální) tvar Fourierových řad X k k jk t x( t) e X k komplexní koeficient X k 1 2 ( a k jb k ) c 2 X k k
Fourierovy řady Obdélníkový průběh 4 1 f ( t) = bn sin n t = [ sin t + 1 3 sin 3 t + 5 n=1 sin 5 t +... ]
Fourierovy řady Trojúhelníkový průběh f 8 1 1 1 ( t) (cos( t) cos(3 t) cos(5 t) cos(7 t )...) 2 9 25 49
Fourierovy řady Pilový průběh f 2 1 1 1 ( t) (sin( t) sin(2 t ) sin(3 t) sin(4 t )... 2 3 4
Harmonická analýza v MATLABu function analyza(soubor) % funkce analyza(soubor) vykresli amplitudove % spektrum *.wav souboru. [signal,fs] = wavread(soubor); N = length(signal); c = fft(signal)/n; A = 2*abs(c(2:floor(N/2))); f = (1:floor(N/2)-1)*fs/N; plot(f,a,'r')
Aditivní syntéza II Periodický sled impulsů x ( t ) k 1 cos( k t ) Synteza periodickeho sledu impulzu f=44 Hz, T=23ms 1 8 definovana faze 6 4 2-2.2.4.6.8.1.12 4 nahodna faze x( t) k 1 cos( k t 2 rand( k)) 2-2 -4-6.2.4.6.8.1.12 ---> cas [s] >> priklad7
Aditivní syntéza III Periodický sled impulsů f=44; fs=16; doba=.5; t=:1/fs:doba; zvuk_1a(1,:)=cos(2*pi*f*t); zvuk_1b(1,:)=cos(2*pi*f*t+2*pi*rand); for k=2:1 zvuk_1a(k,:)=cos(k*2*pi*f*t); zvuk_1b(k,:)=cos(k*2*pi*f*t+2*pi*rand); subplot(211), plot(t(1:2),sum(zvuk_1a(:,1:2))), subplot(212), plot(t(1:2),sum(zvuk_1b(:,1:2))), soundsc(sum(zvuk_1a),fs), pause(1.5*doba) soundsc(sum(zvuk_1b),fs), pause(1.5*doba) end;
Aditivní syntéza IV Obdélníkový průběh Synteza periodickeho obdel. prubehu f=44 Hz, T=23ms x( t) 1 2k 1 k sin((2 k 1) t ).5 -.5 definovana faze.2.4.6.8.1.12 1 nahodna faze.5 -.5-1 x( t) 1 2k 1 k sin((2k 1) t 2 rand( k)).2.4.6.8.1.12 ---> cas [s] >> priklad8
Aditivní syntéza V Obdélníkový průběh zvuk_2a(1,:)=sin(2*pi*f*t); zvuk_2b(1,:)=sin(2*pi*f*t+2*pi*rand); for k=3:2:18 zvuk_2a(k,:)=(1/k)*sin(k*2*pi*f*t); zvuk_2b(k,:)=(1/k)*sin(k*2*pi*f*t+2*pi*rand); subplot(211), plot(t(1:2),sum(zvuk_2a(:,1:2))) subplot(212), plot(t(1:2),sum(zvuk_2b(:,1:2))) soundsc(sum(zvuk_2a),fs),pause(1.2*doba) soundsc(sum(zvuk_2b),fs),pause(1.2*doba) end;
Aditivní syntéza VI Pilový průběh Synteza periodickeho piloveho prubehu f=44 Hz, T=23ms x( t) 1 k k 1 sin( k t ) 1-1 definovana faze.2.4.6.8.1.12 x( t) 1 k k 1 sin( k t 2 rand( k)) 1.5 -.5-1 -1.5 nahodna faze.2.4.6.8.1.12 ---> cas [s] >> priklad9
Pilový průběh Aditivní syntéza VII zvuk_3a(1,:)=sin(2*pi*f*t); zvuk_3b(1,:)=sin(2*pi*f*t+2*pi*rand); for k=2:18 zvuk_3a(k,:)=(1/k)*sin(k*2*pi*f*t); zvuk_3b(k,:)=(1/k)*sin(k*2*pi*f*t+2*pi*rand); subplot(211), plot(t(1:2),sum(zvuk_3a(:,1:2))) subplot(212), plot(t(1:2),sum(zvuk_3b(:,1:2))), soundsc(sum(zvuk_3a),fs),pause(1.2*doba) soundsc(sum(zvuk_3b),fs),,pause(1.2*doba) end;
Hudební nástroje barva zvuku = obsah spektrálních složek housle - pila jasné zvuky - zdůrazněné sudé harmonické x( t),2sin( t),6sin(2 t),4sin(3 t),6sin(4 t),4sin(5 t) duté zvuky - pouze liché harmonické x( t),8sin( t),4sin(3 t ),2sin(5 t ) >> priklad11
Harmonická analýza v MATLABu >> analyza('banjo') >> [X,Y]=ginput(1)
Implementace aditivní syntézy v MATLABu % BANJO % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fs = 16; doba =.5; tau =.1; f = 4; nt = :1/fs:doba-1/fs; ampl = [.51.144.246.29.422.11.52.96.22.15]; o=exp(-nt./tau); x=o.*[ampl*sin(2*pi*[1:length(ampl)]'*f*nt)]; soundsc(x,fs) plot(nt,x), title('banjo'), axis tight, xlabel('---> cas [s]')
Aditivní syntéza
Aditivní syntéza I Spektrální tvar Fourierovy řady
Aditivní syntéza - příklady Varhany Hammondovy varhany
Časově proměnná aditivní syntéza parciál Time Varying Partial Additive Synthesis (TVPAS) - přirozené zvuky jsou složeny z parciál Řídící informace - parciály mají časově proměnné frekvence i časově proměnné amplitudy Amplitudové obálky Frekvenční trajektorie
Aditivní syntéza Barva zvuku - attack je pro určení barvy důležitější než sustain - vyšší harmonické (parciály) vstupují později a končí dříve - hraje-li nástroj hlasitěji, používá se více harmonických (parciál)
Aditivní syntéza Nevýhodu představuje velké množství dat (řídící funkce parametrů) a velké množství oscilátorů Hlavní význam aditivní syntézy dnes je v resyntéze (vytváření různých zvuků podle spektrogramu)
Aditivní syntéza Při spektrálním modelování se aditivní syntéza doplňuje vhodnými šumovými složkami Pro vytvoření neharmonických průběhů, např. které dávají kovový zvuk, se používají techniky, při nichž se sčítají harmonické průběhy (dva i více), které jsou vůči sobě relativně rozladěny (frekvenkční složky nejsou celistvým násobkem základní frekvence).
Harmonická analýza programem Cool Edit >> db =[-6-3 -1]; >> f =[1 2 5 1]; % prevod db do linearniho mer. >> amp=1.^(db./2) >> db =2.*log1(amp)
Zvonek I clear fs =441; T1 =.6; T2 =.48; f1=18; f2=181; A=[.1.1 1 1]; K=[ 5 1 2 4]; M=2; N=4; % vzorkovaci frekvence % doba mezi udery % delka posledniho uderu % zakladni frekvence 1.zvonku % zakladni frekvence 2.zvonku % amplitudy ctyr oscilatoru % nasobky zakl.frekvence % jednotlivych oscilatoru % pocet serii zvoneni % celkovy pocet uderu = 2*N+1
t=:1/fs:t2-1/fs; x=[]; for m=1:m for n=1:n Zvonek II x1=a*sin(2*pi*k'*(f1.*t)); % uder 1.zv. x1=x1.*exp(-t/t1); % 1.zvonek s obalkou x2=a*sin(2*pi*k'*(f2.*t));% uder 2.zv. x2=x2.*exp(-t/t1); % 2.zvonek s obalkou x=[x x1(1:t1*fs) x2(1:t1*fs)]; end; x=[x x1]; % pripojeni posl.uderu prvniho zvonku end;
Zvonek
---> PSD [db] ---> PSD [db] ---> PSD [db] signal signal signal ---> PSD [db] signal ---> PSD [db] ---> PSD [db] signal signal 5 TRUBKA KLARINET.5-5.5.1.15.2 ---> cas [s] 4 2-2 -4-6.1.2.3.4.5.6.7.8.9 ---> normovana frekvence Další náměty -.5.5.1.15.2 ---> cas [s] -2-4 -6.1.2.3.4.5.6.7.8.9 ---> normovana frekvence Poř.harmonické 1. 2. 3. 4. 5. 6. 7. 8. 9. 1. 11. Trubka,17,63,57,98,56,68,2,5 - - - Harmonika 8,6,45 3,4,5,42,13,13,16,4,35,2 Flétna 2,54,25,1 - - - - - - - -.5 -.5 FLETNA Klarinet 1,,,75,,5,,14,5,,12,17 Hoboj,2,2 1,,37,36,46,1,6,3,2 - Piano,32,2,8,7,6 - - - - - - Housle,39,3,17,1,11 - - - - - - Hlas,43,8,1 - - - - - - - -.5.1.15.2 ---> cas [s] -2-4 -6-8 -1.1.2.3.4.5.6.7.8.9 ---> normovana frekvence HOBOJ PIANO.5 HARMONIKA.5.5 -.5 -.5.5.1.15.2 ---> cas [s].5.1.15.2 ---> cas [s] -.5.5.1.15.2 ---> cas [s] -2-4 -6-8.1.2.3.4.5.6.7.8.9 ---> normovana frekvence -2-4 -6-8 -1.1.2.3.4.5.6.7.8.9 ---> normovana frekvence -2-4 -6-8.1.2.3.4.5.6.7.8.9 ---> normovana frekvence
Aditivní syntéza samohlásek Hemholtz 1877 f = 22 Hz; doba = 3 s ff=1; f =,7; mf =,3; p =,1; pp =,7; harm 1. 2. 3. 4. 5. 6. 8. 16. U ff mf pp O mf f mf p A p p p mf mf p p E mf mf ff I mf p p mf
Aditivní syntéza ptáků I Lesňáček žlutý - Dendroica petechia Bob L. Sturm - University of California, Santa Barbara
Aditivní syntéza ptáků II Vlhovec západní - Sturnella neglecta
Aditivní syntéza ptáků III Strnad kobylčí - Spizella passerina
Aditivní syntéza ptáků IV Tyran vidloocasý - Tyrannus forficatus
Aditivní syntéza ptáků V Pisila karibská - Himantopus Mexicanus
Aditivní syntéza ptáků VI Lesňáček žlutotemenný - Dendroica pensylvanica
Aditivní syntéza ptáků VII Výr virginský- Bubo virginianus
Aditivní syntéza ptáků VIII Strnad pustinný - Ammodramus savannarum
Aditivní syntéza ptáků IX Strnadec zlatotemenný - Zonotrichia atricapilla
Aditivní syntéza ptáků X Papažík indigový - Passerina cyanea
Aditivní syntéza ptáků XI Drozd stěhovavý - Turdus migratorius
Aditivní syntéza ptáků XII Lesňáček čevenoskvrnný - Vermivora ruficapilla
Aditivní syntéza ptáků XIII Pipilo rudooký - Pipilo erythrophthalmus
Syntézy ve cvičení % PŘÍKLAD 6: Další příklady z aditivní syntézy: % Syntetizujte následující zvuky % a zobrazte je v časové i frekvenční oblasti Analýza obálky obálka = A * t^n * exp(-t/tau)
Syntézy ve cvičení % PŘÍKLAD 6: Další příklady z aditivní syntézy: % Syntetizujte následující zvuky % a zobrazte je v časové i frekvenční oblasti frekvenční složka = k * f obálka = A * t^n * exp(-t/tau) KLARINET f = 262 Hz ------------------------------------ k A n tau ------------------------------------ 1. 1..75.7 2..75.3 3..5.75.7 4..75.7 5..2.75.7
Syntézy ve cvičení % PŘÍKLAD 6: Další příklady z aditivní syntézy: % Syntetizujte následující zvuky % a zobrazte je v časové i frekvenční oblasti frekvenční složka = k * f obálka = A * t^n * exp(-t/tau) DRNKNUTÍ STRUNY f = 262 Hz ------------------------------------ k A n tau ------------------------------------ 1. 1..1.7 2. 1..1.3 3..5.1.1 4..3.1.1 5..1.1.1
Syntézy ve cvičení % PŘÍKLAD 6: Další příklady z aditivní syntézy: % Syntetizujte následující zvuky % a zobrazte je v časové i frekvenční oblasti frekvenční složka = k * f obálka = A * t^n * exp(-t/tau) BICÍ f = 262 Hz ------------------------------------ k A n tau ------------------------------------ 1. 1..1.7 1.58 1..1.3 3. 1..1.1 2.24.3.1.4 2.55.3.1.1
Syntézy ve cvičení % PŘÍKLAD 6: Další příklady z aditivní syntézy: % Syntetizujte následující zvuky % a zobrazte je v časové i frekvenční oblasti frekvenční složka = k * f obálka = A * t^n * exp(-t/tau) ZVON f = 262 Hz ------------------------------------ k A n tau ------------------------------------ 1. 1..1.7 1.58 1..1.3 3. 1..1.1 2.24.3.1.2 2.55.3.1.1
Syntézy ve cvičení % PŘÍKLAD 7: Aditivní syntéza neharmonických signálů (parciály) % Syntetizujte tympány s parametry: TYMPÁNY f = 132 Hz T = 2 s frekvenční složky = k * f obálky = A * exp(-2.8*t) * interp1(x,y,t) X = [.2 T*.99 T] Y = [ 1.9 ]
Syntézy ve cvičení % PŘÍKLAD 7: Aditivní syntéza neharmonických signálů (parciály) % Syntetizujte zvon s parametry: ZVON f = 11 Hz T = 2 s frekvenční složky = k * f obálka = A * exp(-.8*t)
Syntézy ve cvičení % PŘÍKLAD 8: Další příklady z aditivní syntézy s obálkami typu ADSR FLÉTNY f = 44 Hz T = 1 s f1 = f*2^(3/12) Hz T = 1 s f2 = f*2^(7/12) Hz T = 1 s frekvenční složky = k * f obálky = A * interp1(x,y,t) X = [.2.9 1] Y = [ 1.9 ] ---------------------------- k A A ---------------------------- 1. 1. 1. 2..25.5 3..625.25 4..156.5 5..625.1 6..156.5
Syntézy ve cvičení % PŘÍKLAD 8: Další příklady z aditivní syntézy s obálkami typu ADSR DECHOVÉ NÁSTROJE f = 44 Hz frekvenční složky = k * f obálky = A * interp1(x,y,t) X = [.1 T*.9 T] Y = [ 1.9 ] T = 2 s
Syntézy ve cvičení % PŘÍKLAD 9: Příklad z aditivní syntézy s obálkami typu ADSR TRUBKA f = 44 Hz T = 3 s frekvenční složky = k * f obálky = A * interp1(x,y,t) obálka Y = [ 1.8