Đăng ký Đăng nhập
Trang chủ Xây dựng chương trình xử lý âm thanh số...

Tài liệu Xây dựng chương trình xử lý âm thanh số

.PDF
90
200
83

Mô tả:

Xây dựng chương trình xử lý âm thanh số
§å ¸n tèt nghiÖp X©y dùng ch−¬ng tr×nh xö lý ©m thanh sè Giíi thiÖu chung 1. Giíi thiÖu chung Cïng víi sù ph¸t triÓn cña cuéc c¸ch m¹ng khoa häc vµ c«ng nghÖ ®ang diÔn ra mét c¸ch s«i ®éng, chóng ta ®ang tiÕn dÇn tíi thÕ giíi cña sù sè ho¸. Víi c¸c −u ®iÓm cña xö lý sè, nhanh gän, chÝnh x¸c víi chÊt l−îng cao, mäi lÜnh vùc ho¹t ®éng cña x· héi loµi ng−êi, nhÊt lµ c¸c ngµnh trong c¸c lÜnh vùc th«ng tin liªn l¹c, ph¸t thanh truyÒn h×nh ... ®Òu tiÕn tíi viÖc ¸p dông mét c¸ch ®ång bé vµ cã hiÖu qu¶ c¸c c«ng cô còng nh− c¸c phÐp xö lý sè. Trong ®ã, ©m thanh lµ mét lÜnh vùc ®Æc biÖt quan träng, ®©y lµ mét ph−¬ng thøc dïng ®Ó trao ®æi còng nh− c¶m nhËn tin, kh«ng chØ lµ tiÕng nãi, b¶n nh¹c mµ ®ã lµ tÊt c¶ c¸c ©m mµ ta c¶m nhËn ®−îc trong cuéc sèng hµng ngµy, do ®ã, lÜnh vùc vÒ ©m thanh kh«ng thÓ n»m ngoµi xu h−íng ph¸t triÓn chung mµ cßn cÇn sù nghiªn cøu s©u h¬n n÷a. 2. §Æt vÊn ®Ò Víi ©m thanh sè, b»ng viÖc l−u tr÷ ©m thanh d−íi d¹ng c¸c d·y sè, chóng ta ®¹t ®−îc yªu cÇu vÒ tèc ®é truyÒn còng nh− vÒ khèi l−îng l−u tr÷ vµ ®é trung thùc trong c¸c phÐp xö lý nh− khö nhiÔu, so¹n th¶o hay c¸c hiÖu qu¶ t¹o ®é vang, trÔ ... Do vËy, ngoµi c¸c ph−¬ng tiÖn sö dông kü thuËt sè, nh− camera sè, thiÕt bÞ ghi sè, ®iÖn tho¹i sè... víi chÊt l−îng cao, th× nh÷ng ©m thanh t−¬ng tù ®−îc ghi tõ micro víi c¸c nh¹c cô truyÒn thèng ®Òu ®−îc chuyÓn ®æi sang d¹ng sè ho¸. H¬n n÷a, víi ©m thanh, chóng ta kh«ng chØ quan t©m tíi kh¶ n¨ng c¶m nhËn mét c¸ch trung thùc nhÊt ©m thanh tù nhiªn, mµ ta cßn h−íng tíi viÖc t¹o ra (hay tæng hîp) ®−îc nh÷ng ©m thanh mµ ta mong muèn. Do ®ã, khi nãi ®Õn ©m thanh sè th× cÇn thiÕt ph¶i xÐt tíi 3 khÝa c¹nh: • C¸c khu«n d¹ng l−u tr÷ ©m thanh víi c¸c ®Æc tÝnh riªng biÖt. §©y lµ yªu cÇu tr−íc tiªn cña bÊt kú qu¸ tr×nh thu thanh hay khi cÇn ®äc d÷ liÖu ®Ó ph©n tÝch. CÇn ph¶i hiÓu râ c¸c ®Æc tÝnh c¶ tõng khu«n d¹ng th× míi cã thÓ l−u tr÷ mét c¸ch hiÖu qu¶ nhÊt. • Thao t¸c víi c¸c tÖp ©m thanh qua mét tr×nh so¹n th¶o ©m thanh víi c¸c phÐp sao chÐp, c¾t, d¸n, läc, trén ©m hay chuyÓn ®æi khu«n d¹ng tÖp l−u tr÷ còng nh− ph−¬ng thøc l−u tr÷ d÷ liÖu. §©y lµ c¸ch ®Ó chóng ta cã thÓ c¶m nhËn ®−îc ©m thanh mét c¸ch râ nÐt. 1 §å ¸n tèt nghiÖp X©y dùng ch−¬ng tr×nh xö lý ©m thanh sè • Ph©n tÝch tÝn hiÖu cña ©m thanh b»ng c¸ch biÓu diÔn d÷ liÖu ©m thanh d−íi d¹ng tÝn hiÖu tuú theo môc ®Ých ph©n tÝch. D÷ liÖu ®äc tõ tÖp, sau ®ã qua c¸c phÐp xö lý tÝn hiÖu sè nh− läc, hµm cöa sæ, biÕn ®æi FFT, Cepstrum ... ®Ó cã thÓ rót ra c¸c tham sè ®Æc tr−ng, c¸c th«ng tin cÇn thiÕt cho c¸c qu¸ tr×nh nhËn d¹ng hay tæng hîp ©m sau ®ã. 3. Chñ ®Ò cña luËn ¸n ChÝnh v× vËy, víi ®Ò tµi “X©y dùng ch−¬ng tr×nh xö lý ©m thanh sè” th× nhiÖm vô tr−íc tiªn sÏ ph¶i nghiªn cøu, t×m hiÓu c¸c khu«n d¹ng l−u tr÷ d÷ liÖu, sau ®ã x©y dùng mét ch−¬ng tr×nh (xö dông ng«n ng÷ lËp tr×nh Delphi) ®Ó thao t¸c víi c¸c tÖp ©m thanh vµ ph©n tÝch tÝn hiÖu cña c¸c ©m thanh ®ã. 2 §å ¸n tèt nghiÖp X©y dùng ch−¬ng tr×nh xö lý ©m thanh sè Ch−¬ng 1 lý thuyÕt xö lý tÝn hiÖu sè 1. TÝn hiÖu sè TÝn hiÖu lµ biÓu hiÖn vËt lý cña th«ng tin. VÒ mÆt to¸n häc, tÝn hiÖu ®−îc coi lµ mét hµm cña mét hay vµi biÕn ®éc lËp. §Ó ph©n lo¹i tÝn hiÖu, ta cã thÓ xÐt ®Õn tÝnh chÊt cña biÕn ®éc lËp thêi gian hay ph©n lo¹i theo biªn ®é tÝn hiÖu (liªn tôc hay rêi r¹c). Tõ ®ã ta cã ®Þnh nghÜa: TÝn hiÖu sè (Digital Signal) lµ tÝn hiÖu rêi r¹c (theo biÕn ®éc lËp thêi gian) ®ång thêi cã biªn ®é còng rêi r¹c ho¸ (l−îng tö ho¸). x 3 2 1 0 t -1 -2 -3 H×nh 2.1: TÝn hiÖu sè Theo ®Þnh nghÜa trªn, tÝn hiÖu cã vai trß lµ vËt mang th«ng tin. Nªn tÝn hiÖu cÇn ph¶i ®−îc xö lý sao cho cã thÓ dÔ dµng rót ra c¸c th«ng tin mong muèn hay l−u tr÷ th«ng tin mét c¸ch tèi −u. Cho nªn viÖc ph¸t triÓn c¸c kü thuËt còng nh− c¸c hÖ thèng xö lý tÝn hiÖu ®ãng vai trß hÕt søc quan träng. Th«ng th−êng c¸c phÐp xö lý tÝn hiÖu lµ c¸c phÐp biÕn ®æi tÝn hiÖu thµnh d¹ng kh¸c mong muèn, tuú theo yªu cÇu thu nhËn th«ng tin tõ tÝn hiÖu ®ã. VÝ dô nh− viÖc läc bá nhiÔu ra khái tÝn hiÖu cã Ých, hay x¸c ®Þnh th«ng sè mang tin nµo ®ã. 3 §å ¸n tèt nghiÖp X©y dùng ch−¬ng tr×nh xö lý ©m thanh sè 2. Xö lý tÝn hiÖu sè (DSP - Digital Signal Processing) Xö lý tÝn hiÖu ®−îc sö dông trong rÊt nhiÒu lÜnh vùc khoa häc kh¸c nhau, vµ xö lý ©m thanh lµ mét trong sè ®ã. Trong qu¸ tr×nh xö lý, c¸c phÐp xö lý DSP chuÈn c¬ b¶n lµ: FFT, läc, thiÕt kÕ c¸c bé läc thêi gian, decimation, interpolation (néi suy), tÝch chËp (convolution), ... C¸c chøc n¨ng DSP (Digital Signal Processing) ®−îc thùc hiÖn bëi soundcard t−¬ng ®−¬ng víi mét tËp c¸c kh¶ n¨ng cña phÇn cøng tæng hîp ©m nh¹c ®iÖn tö analog: trén, läc, ®iÒu chÕ tÇn sè, biªn ®é... vµ nÐn. TÊt c¶ c¸c hiÖu qu¶ ®−îc t¹o ra b»ng c¸ch dïng bé trÔ tÝn hiÖu nh−: vang, lÆp.... ®Òu cã thÓ sö lý b»ng DSP. Sù kh¸c nhau lµ DSP (c¶ phÇn cøng vµ phÇn mÒm) cã thÓ thùc hiÖn c¸c chøc n¨ng trªn d¹ng sãng sè hãa. NhiÒu soundcard cã tÝch hîp DSP ®Ó t¨ng tèc ®é xö lý. ViÖc ph©n tÝch vµ thiÕt kÕ cña c¸c hÖ thèng tuyÕn tÝnh ®· ®−îc thùc sù ®¬n gi¶n ho¸ bëi c¸c phÐp biÓu diÔn trong miÒn tÇn sè cña c¶ tÝn hiÖu vµ hÖ thèng. Trong ®ã biÕn ®æi Fourier vµ biÕn ®æi Z ®ãng vai trß quan träng trong viÖc biÓu diÔn c¸c tÝn hiÖu vµ hÖ thèng rêi r¹c theo thêi gian. 2.1. PhÐp biÕn ®æi Z Nãi chung, phÐp biÕn ®æi Fourier lµ mét c«ng cô m¹nh ®Ó nghiªn cøu tÝn hiÖu sè vµ t−¬ng tù vÒ c¶ mÆt lý thuyÕt vµ thùc hµnh. Nh−ng ®èi víi tÝn hiÖu rêi r¹c, phÐp biÕn ®æi Z ®−îc sö dông réng r·i h¬n bëi ®©y lµ phÐp biÕn ®æi m¹nh vÒ ph−¬ng diÖn lý thuyÕt. §Þnh nghÜa ∞ PhÐp biÕn ®æi z cña tÝn hiÖu x(n) lµ: X(z) = ∑ x(n).z-n (1.1) n = −∞ Trong ®ã X(z) lµ hµm biÕn phøc cña biÕn phøc z. Chuçi X(z) cßn ®−îc gäi lµ chuçi Laurent. X(z) vµ c¸c ®¹o hµm cña nã ®Òu lµ liªn tôc trong miÒn héi tô. §©y lµ phÐp biÕn ®æi z hai bªn (n ch¹y tõ -∞ tíi ∞), ®−îc dïng ®Ó nghiªn cøu hÖ thèng x¸c lËp cña hÖ thèng. Víi tÝn hiÖu nh©n qu¶, ta dïng phÐp biÕn ®æi z mét phÝa: ∞ X(z) = ∑ x ( n) z −n (1.2) n=0 PhÐp biÕn ®æi z mét phÝa dïng ®Ó nghiªn cøu chÕ ®é qu¸ ®é cña hÖ thèng. PhÐp biÕn ®æi z ng−îc VÒ mÆt lý thuyÕt, phÐp biÕn ®æi z ng−îc cã thÓ thiÕt lËp sau khi dïng ®Þnh lý C«si (Cauchy) vÒ tÝch ph©n trªn ®−êng cong khÐp kÝn trªn mÆt ph¼ng phøc: I= 1 z l −1 dz 2πj ∫Γ (1.3) 4 §å ¸n tèt nghiÖp X©y dùng ch−¬ng tr×nh xö lý ©m thanh sè trong ®ã Γ lµ ®−êng cong khÐp kÝn bao quanh gèc to¹ ®é trªn mÆt ph¼ng z. KÕt qu¶ lµ: víi l = 0 víi l ≠ 0 1 0 I= B»ng c¸ch nh©n hai vÕ cña biÕn ®æi z víi zl-1/2πj, lÊy tÝch ph©n quanh gèc to¹ ®é vµ n»m trong vïng héi tô, vµ sau ®ã can thiÖp tÝch ph©n vµ tæng, ta cã biÓu thøc biÕn ®æi z ng−îc nh− sau: x(l) = 1 2πj ∫ X ( z) z l −1 (1.4) dz Γ BiÓu thøc tho¶ m·n víi mäi l, ®−êng cong Γ lµ ®−êng cong khÐp kÝn, n»m trong miÒn héi tô vµ ch¹y theo chiÒu d−¬ng (ng−îc chiÒu kim ®ång hå). PhÐp biÕn ®æi z ®−îc ¸p dông trong qu¸ tr×nh gi¶i c¸c ph−¬ng tr×nh sai ph©n tuyÕn tÝnh hÖ sè h»ng. Vµ c¸c tÝnh chÊt cña biÕn ®æi z t¹o nhiÒu thuËn lîi trong c¸c vÊn ®Ò xö lý tÝn hiÖu sè. Nh− tÝnh tuyÕn tÝnh cho ta c¸ch tÝnh biÕn ®æi z ng−îc th«ng qua viÖc ph©n tÝch mét hµm phøc t¹p thµnh c¸c hµm ®¬n gi¶n. Quan hÖ cña phÐp biÕn ®æi Z víi phÐp biÕn ®æi Fourier Tõ c«ng thøc ®Þnh nghÜa phÐp biÕn ®æi z (1.1), thay z=ejθ, tøc lµ biÓu diÔn trong to¹ ®é cùc, vµ víi θ = 2πf. ∞ X(z) = ∑ x(n).r-n.e-j2πfn n = −∞ Qua c«ng thøc trªn, ta thÊy phÐp biÕn ®æi z lµ phÐp biÕn ®æi Fourier cña tÝch tÝn hiÖu nµy víi mét tÝn hiÖu hµm sè mò r-n. H¬n n÷a, phÐp biÕn ®æi Fourier cña tÝn hiÖu rêi r¹c lµ phÐp biÕn ®æi z tÝnh trªn ®−êng trßn ®¬n vÞ (|z| = 1 hay r = 1), víi ®iÒu kiÖn miÒn héi tô cña phÐp biÕn ®æi z ph¶i chøa ®−êng trßn ®¬n vÞ. Hay nãi c¸ch kh¸c, trªn ®−êng trßn ®¬n vÞ phÐp biÕn ®æi z vµ Fourier lµ ®ång nhÊt. ∞ X(f) = X(z) = ∑ x(n).e-2jπfn víi |z| = 1 (1.5) n = −∞ So víi phÐp biÕn ®æi Laplace XÐt tÝn hiÖu t−¬ng tù Xa(t), phÐp biÕn ®æi Laplace cña tÝn hiÖu nµy lµ: ∞ Xa(t) = ∫ xa(t).e-stdt −∞ NÕu tÝn hiÖu Xa(t) ®−îc lÊy mÉu ®Òu víi chu kú Ts vµ δ(t) lµ hµm xung Dirac, th× phÐp biÕn ®æi Laplace cña tÝn hiÖu lÊy mÉu lµ: 5 §å ¸n tèt nghiÖp X©y dùng ch−¬ng tr×nh xö lý ©m thanh sè ∞ Xe(s) = ∞ ∫ ∑ xa(t).σ(t-n.Ts).e-stdt − ∞ n = −∞ ∞ Xe(s) = ∑x n = −∞ a (n.Ts ).e − n.Ts .s (1.6) So s¸nh biÓu thøc nµy víi biÕn ®æi z cña tÝn hiÖu x(n) = xa(nTs), ta thÊy biÕn ®æi Laplace cña tÝn hiÖu lÊy mÉu lµ biÕn ®æi z cña tÝn hiÖu sè t−¬ng øng vµ ®−îc tÝnh víi z = exp(s.Ts). Cã nghÜa lµ: X(z) = Xe(s) víi z = e s.T . s 2.2. BiÕn ®æi Fourier rêi r¹c (DFT - Discrete Fourier Transform) DFT ®−îc sö dông réng r·i trong qu¸ tr×nh tÝnh to¸n sù ®¸nh gi¸ phæ, c¸c hµm tù t−¬ng quan vµ viÖc cµi ®Æt c¸c bé läc sè. §©y lµ phÐp biÕn ®æi Fourier rêi r¹c cña tÝn hiÖu x(n) cã ®é dµi h÷u h¹n vµ cã trôc tÇn sè còng ®−îc rêi r¹c ho¸. Trong ®ã, tÝn hiÖu x(n) cã ®é dµi h÷u h¹n lµ tÝn hiÖu cã gi¸ trÞ kh¸c 0 trong mét kho¶ng h÷u h¹n thêi gian nµo ®ã vµ chóng b»ng 0 trong kho¶ng cßn l¹i. Víi x(n) ®−îc dïng nh− lµ mét chu tr×nh cña tÝn hiÖu, ta cã thÓ x©y dùng tÝn hiÖu xp(n) tuÇn hoµn víi chu kú N b»ng c¸ch xÕp chång tuÇn hoµn x(n): ∞ Xp(n) = ∑ x(n + iN ) (1.7) i = −∞ Khi xÕp chång tuÇn hoµn, nÕu M ≤ N (víi M = N2 - N1 +1, trong ®ã N1 vµ N2 lµ thêi ®iÓm mµ trong ®ã tÝn hiÖu tån t¹i), th× hiÖn t−îng trïm thêi gian gi÷a c¸c phÇn cña xp(n) sÏ kh«ng x¶y ra, nghÜa lµ cã thÓ dÔ dµng lÊy ra x(n) ban ®Çu. Lóc nµy tÝn hiÖu x(n) cã ®é dµi lµ N víi c¸c mÉu tõ M tíi N-1 cã gi¸ trÞ b»ng 0. Vµ ta quy −íc: xp(n) = x((n))N. Ta cã c¸c c«ng thøc biÕn ®æi Fourier nh− sau: ⎡ N −1 x(n).W Nnk X(k) = ⎢⎢∑ n=0 ⎣⎢0 ⎡1 x(n) = ⎢⎢ N ⎢⎣0 N −1 ∑ X (k ).W k =0 0 ≤ k ≤ N −1 (1.8) víi k cßn l¹i − nk N 0 ≤ n ≤ N −1 (1.9) víi n cßn l¹i Trong ®ã X(k) lµ mét chu kú cña Xp(k), víi Xp(k) lµ c¸c mÉu trªn ®−êng trßn ®¬n vÞ cña biÕn ®æi z mét chu kú cña xp(n), hay biÕn ®æi Fourier X(f) cña mét chu kú cña xp(n). 6 §å ¸n tèt nghiÖp X©y dùng ch−¬ng tr×nh xö lý ©m thanh sè 2.3. Läc tÝn hiÖu C¸c bé läc ®−îc sö dông ®Ó thay ®æi gi¸ trÞ tÇn sè cña ©m thanh. §©y lµ kh©u xö lý c¬ b¶n cho mét chuçi c¸c b−íc xö lý ©m thanh tiÕp theo. VÝ dô nh−, qu¸ tr×nh läc cã thÓ lµ gì bá nhiÔu ra khái qu¸ tr×nh thu thanh hay t¸ch biÖt mét ©m, giäng nµo ®ã b»ng c¸ch chØ cho c¸c tÇn sè x¸c ®Þnh nµo ®ã ®i qua. ChÝnh v× vËy, läc sè lµ mét øng dông quan träng nhÊt cña xö lý tÝn hiÖu. C¸c bé läc sè ®· dÇn dÇn thay thÕ c¸c bé läc t−¬ng tù. ViÖc thiÕt kÕ c¸c bé läc sè thùc tÕ ®Òu ®i tõ lý thuyÕt c¸c bé läc sè lý t−ëng. C¸c bé läc sè tiªu biÓu lµ: • Bé läc sè th«ng thÊp (Low pass filter) • Bé läc sè th«ng cao (High pass filter) • Bé läc sè th«ng d¶i (Band pass filter) • Bé läc sè ch¾n d¶i (Band stop filter) Trong ®ã, c¸c bé läc ®−îc sö dông ®Ó läc tÇn sè chÝnh, nªn tÊt c¶ c¸c ®Æc tr−ng cña läc tÇn sè ®Òu ®−îc cho theo ®¸p øng biªn ®é. 2.4. Hµm cöa sæ Nh− ta ®· biÕt, phÐp biÕn ®æi Fourier rêi r¹c DFT t¸c ®éng trªn tÝn hiÖu cã ®é dµi h÷u h¹n, nªn cÇn thiÕt ph¶i h¹n chÕ ®é dµi ®èi víi c¸c tÝn hiÖu cã ®é dµi v« cïng hoÆc qu¸ lín ®Ó cã thÓ nghiªn cøu phæ cña chóng. §Ó lµm ®iÒu nµy ta th−êng dïng hµm cöa sæ, tøc lµ nh©n tÝn hiÖu x(n) víi cöa sæ w(n-n0) ®Ó nhËn ®−îc mét ®o¹n xN(n) trong kho¶ng n0 tíi n0+N-1 ®Ó ph©n tÝch. ⎡ x ( n) n 0 ≤ n ≤ n 0 + N − 1 víi n cßn l¹i xN(n) = x(n). w(n- n0) = ⎢ ⎣0 (1.10) ViÖc nh©n tÝn hiÖu víi hµm cöa sæ theo thêi gian t−¬ng ®−¬ng víi viÖc nh©n chËp phæ cña tÝn hiÖu x(n) víi phæ cña cöa sæ: f0 +1 XN(f) = ∫ X(g)W(f-g)dg = X(f)*W(f) (1.11) f0 Trong ®ã XN(f), X(f), vµ W(f) lµ biÕn ®æi Fourier t−¬ng øng cña xN(n), x(n), vµ w(n). KÕt qu¶ nhËn ®−îc tõ tÝn hiÖu sau khi ®· cho qua cöa sæ kh«ng nh÷ng phô thuéc vµo d¹ng cöa sæ mµ cßn phô thuéc vµo sè ®iÓm tÝn hiÖu ph©n tÝch N, còng nh− vÞ trÝ cöa sæ ®−îc ®Æt ë ®©u, tøc lµ t×m n0 phï hîp. Ta ph¶i chän vÞ trÝ cöa sæ sao cho cöa sæ bao trïm lªn phÇn quan träng cña tÝn hiÖu vµ bá qua nh÷ng chç cã biªn ®é nhá, vµ ph¶i chän N sao cho mét chu kú xp(n) lµ xÊp xØ cña x(n) víi sai sè cho phÐp vµ kh«ng ®Ó x¶y ra hiÖn t−îng trïm thêi gian. Nh− vËy, víi nh÷ng tÝn hiÖu bÊt kú, do kh«ng cã ®ñ th«ng tin ®Ó cã thÓ chän n0 vµ 7 §å ¸n tèt nghiÖp X©y dùng ch−¬ng tr×nh xö lý ©m thanh sè N mét c¸ch hîp lý th× sÏ kh«ng thÓ nhËn ®−îc mét kÕt qu¶ ph©n tÝch tèi −u. Khi ®ã tèt nhÊt ta nªn xem xÐt ë khÝa c¹nh tÇn sè ®Ó x¸c ®Þnh N. 2.5. PhÐp biÕn ®æi nhanh Fourier (FFT - Fast Fourier Transform) §©y thùc chÊt lµ DFT nh−ng víi mét thuËt to¸n nhanh, gän vµ hiÖu qu¶. FFT ®· t¹o ra mét b−íc ngoÆt míi vµ thùc sù ®ãng vai trß hÕt søc quan träng trong viÖc ph©n tÝch, thiÕt kÕ vµ thùc hiÖn c¸c thuËt to¸n xö lý tÝn hiÖu sè còng nh− tÝn hiÖu t−¬ng tù. Tuy cã nhiÒu thuËt to¸n tÝnh FFT kh¸c nhau, nh−ng nguyªn t¾c chung cña tÊt c¶ c¸c thuËt to¸n nµy lµ dùa trªn viÖc ph©n tÝch c¸ch tÝnh DFT cu¶ mét d·y N sè (gäi t¾t lµ DFT N ®iÓm) thµnh c¸c phÐp tÝnh DFT cña c¸c d·y nhá h¬n, trong ®ã sè phÐp tÝnh tû lÖ víi N.log(N). Trong c¸c c¸ch tÝnh nµy, FFT cã 2 líp c¬ b¶n: thuËt to¸n FFT ®−îc ph©n chia theo thêi gian vµ ph©n chia theo tÇn sè. C¶ hai thuËt to¸n ®Òu sö dông phÐp tÝnh to¸n t¹i chç (in place), vµ sè phÐp nh©n phøc trong c¶ hai thuËt gi¶i lµ nh− nhau. Sù kh¸c nhau c¬ b¶n gi÷a hai c¸ch tÝnh lµ thø tù x¾p xÕp d÷ liÖu ®Çu vµo vµ ®Çu ra. Th«ng th−êng, ta xÐt tíi 2 c¸ch tÝnh FFT: tÝnh FFT thuËn vµ FFT ng−îc. B¾t ®Çu tõ cÆp c«ng thøc biÕn ®æi Fourier rêi r¹c thuËn vµ ng−îc: N −1 X(k) = ∑ x(n).WNkn 1 N ∑ víi k = 0, 1, .., N-1 k =0 x(n) = N −1 X(k).WN-kn víi n = 0, 1, .., N-1 k =0 CÆp c«ng thøc trªn lµ t−¬ng tù nhau, chØ kh¸c ë hÖ sè tû lÖ 1 vµ dÊu N cña mò cña hÖ sè W. Nh− vËy, ta cã thÓ dïng c«ng thøc tÝnh FFT thuËn ®Ó tÝnh FFT ng−îc b»ng c¸ch lÊy liªn hîp phøc cña c¶ hai vÕ c«ng thøc * vµ chuyÓn hÖ sè tû lÖ N sang tr¸i: N.x∗(n) = N −1 ∑ X∗(k).WknN (1.12) k =0 VÕ ph¶i chÝnh lµ DFT cña dÉy X*(k) nªn cã thÓ tÝnh ®−îc b»ng bÊt kú ch−¬ng tr×nh tÝnh FFT nµo. Cßn d·y x(n) cã thÓ tÝnh b»ng c¸ch lÊy liªn hîp phøc hai vÕ c«ng thøc * vµ chia cho n: ⎤ 1 ⎡ N −1 ∗ X (k ).W Nkn ⎥ x(n) = ∑ ⎢ N ⎣ k =0 ⎦ ∗ (1.13) Tãm l¹i, ®Ó tÝnh FFT ng−îc tõ ch−¬ng tr×nh tÝnh FFT thuËn ta thùc hiÖn c¸c b−íc sau: • LÊy liªn hîp phøc cña X(k) b»ng c¸ch ®æi dÊu phÇn ¶o cña X(k). 8 §å ¸n tèt nghiÖp X©y dùng ch−¬ng tr×nh xö lý ©m thanh sè • TÝnh FFT cña d·y X(k) ®· ®æi dÊu. • §æi dÊu phÇn ¶o cña kÕt qu¶ thu ®−îc, sau ®ã chia d·y cho hÖ sè tû lÖ N ®Ó cã kÕt qu¶ cuèi cïng. 2.6. Cepstrum PhÐp biÕn ®æi tÝn hiÖu sang d¹ng Cepstrum t−¬ng øng lµ mét phÐp biÕn ®æi homomorphic, phÐp gi¶i c¸c bµi to¸n kh«ng tuyÕn tÝnh b»ng c¸c c«ng cô to¸n tuyÕn tÝnh ®· biÕt. Cepstrum lµ tõ ®¶o cña tõ Spectrum (phæ) cã nghÜa lµ chóng ta ®ang tiÕp tôc thùc hiÖn viÖc ph©n tÝch phæ nµo ®ã trªn mét phæ tÇn sè. Kh¸i niÖm vÒ Cepstrum lµ mét phÇn c¬ b¶n cña lý thuyÕt trong c¸c hÖ thèng homomorphic cho qu¸ tr×nh xö lý tÝn hiÖu. Ngoµi ra, ta cã kh¸i niÖm: Cepstrum phøc cã nghÜa lµ biÕn ®æi ng−îc Fourier (hay Z) cña logarit tù nhiªn phøc cña phæ phøc; vµ Cepstrum thùc lµ phÐp biÕn ®æi cña Fourier ng−îc cña logarit thùc cña biÕn ®æi Fourier cña hµm ®ã. x(n) HÖ thèng homomorphic y(n) x(n) A F A -1 y(n) H×nh 2.2: HÖ thèng xö lý Homomorphic ¦u ®iÓm cña hÖ thèng xö lý nµy lµ thuËt to¸n cã thÓ ®−îc t¸ch thµnh c¸c thuËt to¸n m¾c d©y chuyÒn nh− trªn. Trong ®ã, c¸c khèi A vµ A-1 lµ c¸c khèi nghÞch ®¶o cña nhau. Cßn khèi F lµ hÖ thèng tuyÕn tÝnh, bÊt biÕn, hay nãi chung ®ã lµ mét bé läc tuyÕn tÝnh ®¬n gi¶n. 9 §å ¸n tèt nghiÖp X©y dùng ch−¬ng tr×nh xö lý ©m thanh sè Ch−¬ng 2 giíi thiÖu chung vÒ ©m thanh sè 1. ¢m thanh vµ ®Æc tÝnh cña ©m thanh 1.1. Sãng ©m vµ c¶m gi¸c ©m Khi mét vËt dao ®éng vÒ mét phÝa nµo ®ã, nã lµm cho c¸c líp kh«ng khÝ liÒn tr−íc bÞ nÐn l¹i, vµ líp kh«ng liÒn sau d·n ra. Sù nÐn vµ d·n kh«ng khÝ nh− vËy lÆp ®i lÆp l¹i mét c¸ch tuÇn hoµn nªn ®· t¹o ra trong kh«ng khÝ mét sãng ®µn håi. Sãng nµy truyÒn tíi tai, nÐn vµo mµng nhÜ khiÕn cho mµng nhÜ còng dao ®éng víi cïng tÇn sè. Khi mµng nhÜ dao ®éng, c¸c vÞ trÝ ph©n biÖt cña mµng nhÜ trªn bÒ mÆt gièng nh− nã chuyÓn ®éng vÒ tr−íc hay sau ®¸p øng víi c¸c sãng ©m vµo. Khi cïng mét thêi ®iÓm, ta nghe thÊy nhiÒu ©m, th× mäi ©m thanh ph©n biÖt nµy ®−îc trén víi nhau mét c¸ch tù nhiªn trong tai gièng nh− mét h×nh mÉu ®¬n cña ¸p suÊt kh«ng khÝ thay ®æi. Tai vµ ãc lµm viÖc cïng nhau ®Ó ph©n tÝch tÝn hiÖu nµy ng−îc l¹i thµnh nh÷ng c¶m gi¸c vÒ ©m riªng biÖt. 1.2. §é cao cña ©m §é cao cña ©m lµ mét ®Æc tÝnh sinh lý cña ©m vµ nã phô thuéc vµo mét ®Æc tÝnh cña ©m lµ tÇn sè. Nh÷ng ©m cã tÇn sè kh¸c nhau, t¹o nªn c¶m gi¸c vÒ c¸c ©m kh¸c nhau: ©m cã tÇn sè lín gäi lµ ©m cao hay ©m thanh; ©m cã tÇn sè nhá gäi lµ ©m thÊp hay ©m trÇm. Sù c¶m nhËn vÒ møc ®é to nhá cña ©m thanh ®−îc gäi lµ c−êng ®é (pitch). Vµ c−êng ®é cã liªn quan rÊt gÇn víi mét thuéc tÝnh vÒ mÆt vËt lý gäi lµ tÇn sè (frequency). 1.3. ¢m l−îng cña ©m (®é to cña ©m) N¨ng l−îng cña ©m Gièng nh− c¸c sãng c¬ häc, sãng ©m còng mang n¨ng l−îng sãng tû lÖ víi b×nh ph−¬ng biªn ®é sãng. Vµ c−êng ®é ©m chÝnh lµ n¨ng l−îng ®−îc sãng ©m truyÒn trong mét ®¬n vÞ thêi gian qua mét ®¬n vÞ diÖn tÝch ®Æt vu«ng gãc víi ph−¬ng truyÒn (®¬n vÞ W/m2). 10 §å ¸n tèt nghiÖp X©y dùng ch−¬ng tr×nh xö lý ©m thanh sè Tuy nhiªn, ®Ó c¶m nhËn mét ©m, ta kh«ng ®¸nh gi¸ qua gi¸ trÞ tuyÖt ®èi cña c−êng ®é ©m I, mµ xÐt theo møc c−êng ®é ©m L. Tøc lµ: L(B) = lg(I/I0) , víi I0 lµ mét gi¸ trÞ chuÈn nµo ®ã. Th«ng th−êng, L lÊy ®¬n vÞ lµ deciben (ký hiÖu lµ dB). Víi L=1dB (I lín gÊp 1,26 lÇn I0) lµ møc c−êng ®é nhá nhÊt mµ tai ta cã thÓ ph©n biÖt ®−îc. ¢m l−îng cña ©m §Ó cã thÓ t¹o ra c¶m gi¸c ©m, c−êng ®é ©m ph¶i lín h¬n mét ng−ìng nµo ®ã. Víi c¸c tÇn sè trong kho¶ng 1000-5000Hz, ng−ìng nghe kho¶ng 1012W/m2. Víi tÇn sè 50Hz th× ng−ìng nghe lín gÊp 105 lÇn. Vµ møc ©m l−îng cña ©m phô thuéc vµo c¶ c−êng ®é ©m vµ tÇn sè. 1.4. ¢m s¾c cña ©m ¢m s¾c lµ mét ®Æc tÝnh sinh lý cña ©m vµ nã ®−îc cÊu thµnh trªn c¬ së c¸c ®Æc tÝnh vËt lý cña ©m lµ tÇn sè vµ biªn ®é. §©y lµ mét ®Æc tr−ng riªng cña tõng nguån ph¸t ©m. Khi mét nguån ph¸t ra mét ©m cã tÇn sè f1, th× ®ång thêi còng ph¸t ra c¸c ©m cã tÇn sè f2=2* f1, f3=3* f1 ... ¢m cã tÇn sè f1 gäi lµ ©m c¬ b¶n hay ho¹ ©m thø nhÊt. C¸c ©m cã tÇn sè f2, f3, ... gäi lµ c¸c ho¹ ©m thø hai, thø ba ... Tuú theo ®Æc tÝnh cña tõng nguån ph¸t ©m mµ t¹o ra c¸c ho¹ ©m kh¸c nhau víi biªn ®é hay kho¶ng kÐo dµi kh¸c nhau. Do ®ã ©m do mét nguån ©m ph¸t ra lµ sù tæng hîp ©m c¬ b¶n vµ c¸c ho¹ ©m. Nªn, mÆc dï cã cïng tÇn sè f1 cña ©m c¬ b¶n nh−ng ®−êng biÓu diÔn kh«ng cßn lµ mét ®−êng h×nh sin ®¬n thuÇn mµ lµ mét ®−êng phøc t¹p cã chu kú. 2. ¢m thanh sè D¹ng chung nhÊt cña c¸c qu¸ tr×nh thu ©m thanh sè lµ d¹ng ®iÒu biÕn m· xung (PCM - Pulse Code Modulation). §©y lµ d¹ng mµ phÇn lín c¸c ®Üa compact vµ c¸c tÖp Wave sö dông. Trong phÇn cøng thu thanh d¹ng PCM, mét microphone chuyÓn d¹ng biÕn ®æi ¸p suÊt kh«ng khÝ (c¸c sãng ©m thanh) thµnh d¹ng biÕn ®æi ®iÖn ¸p. Sau ®ã mét bé chuyÓn ®æi t−¬ng tù-sè ®o (mÉu ho¸) dßng ®iÖn ¸p t¹i c¸c qu·ng thêi gian ®Òu nhau. VÝ dô nh−, trong mét ®Üa compact cã tíi 44,100 mÉu ®−îc lÊy mçi gi©y. Mçi ®iÖn ¸p mÉu ho¸ nhËn ®−îc sÏ ®−îc chuyÓn ®æi sang d¹ng sè nguyªn 16-bit. Mét ®Üa CD chøa 2 kªnh d÷ liÖu: mét cho tai tr¸i, vµ mét cho tai ph¶i (®èi víi ©m thanh d¹ng stereo). Hai kªnh ®−îc thu thanh ®éc lËp, ®−îc ®Æt theo c¹nh (side) trªn ®Üa compact (d÷ liÖu cho c¸c kªnh tr¸i vµ ph¶i lu©n phiªn nhau...tr¸i, ph¶i, tr¸i, ph¶i, ...). D÷ liÖu nhËn ®−îc tõ qu¸ tr×nh thu thanh PCM lµ mét hµm theo thêi gian. 2.1. Nguyªn lý VÒ c¬ b¶n, ©m thanh t−¬ng tù vµ sè lµ kh¸c nhau, nªn ta lu«n bÞ mÊt th«ng tin khi lµm phÐp chuyÓn ®æi gi÷a chóng. Khi ®−îc sè ho¸, sãng ©m thanh ®−îc biÓu diÔn nh− lµ mét chuçi c¸c sè (®−îc gäi lµ c¸c mÉu), mµ chóng biÓu diÔn ¸p suÊt kh«ng khÝ hay tÝn hiÖu ®iÖn t¹i c¸c thêi ®iÓm kÕ tiÕp nhau 11 §å ¸n tèt nghiÖp X©y dùng ch−¬ng tr×nh xö lý ©m thanh sè theo thêi gian. Khi mÉu ho¸ mét tÝn hiÖu t−¬ng tù, ta lu«n gÆp ph¶i 2 vÊn ®Ò: thø nhÊt, mçi gi¸ trÞ kÕ tiÕp trong d¹ng biÓu diÔn d¹ng sè lµ mét qu·ng x¸c ®Þnh nµo ®ã cña thêi gian, vµ mçi khèi cã mét ®é réng x¸c ®Þnh; thø hai lµ c¸c sè sè ho¸ lµ rêi r¹c. ChØ cã mét sè x¸c ®Þnh c¸c ®é cao cã thÓ cho mçi khèi. Theo h×nh vÏ, ta thÊy ®é cao c¸c khèi kh«ng ¨n khíp víi ®−êng tÝn hiÖu gèc. TÝn hiÖu t−¬ng tù TÝn hiÖu sè H×nh 2.3: ChuyÓn ®æi tÝn hiÖu sang d¹ng c¸c mÉu sè §©y lµ hai lçi c¬ b¶n trong tÝn hiÖu ©m thanh sè. Lçi nµy cã thÓ ®−îc kiÓm so¸t b»ng c¸ch thay ®æi khu«n d¹ng chi tiÕt cña d¹ng biÓu diÔn ©m thanh, nh−ng kh«ng thÓ lo¹i bá ®−îc hoµn toµn. ChÝnh v× vËy, tuú theo øng dông ta sÏ ph¶i chÊp nhËn mét sè lçi nhÊt ®Þnh. Vµ c¸c hÖ sè kh¸c nh− kÝch th−íc d÷ liÖu hay tÇn sè xö lý yªu cÇu ta ph¶i chÊp nhËn mét sai sè lín h¬n tõ mét sè nguån ®Ó cã thÓ gi¶m h¬n n÷a c¸c sai sè kh¸c. 2.2. TÇn sè vµ c−êng ®é TÇn sè cña mét sãng h×nh sin lµ kho¶ng thêi gian mµ nã dïng cho mét chu kú hoµn chØnh. TÇn sè ®−îc tÝnh theo hertz (Hz), lµ sè c¸c chu kú hoµn chØnh mµ chóng xuÊt hiÖn trong mét gi©y. Tai ng−êi cã thÓ nghe thÊy c¸c sãng h×nh sin cã tÇn sè dao ®éng trong kho¶ng 30 Hz tíi 20.000 Hz. Nh÷ng dao ®éng trong miÒn tÇn sè nµy gäi lµ dao ®éng ©m hay ©m thanh. Chu kú (periodic) lµ nghÞch ®¶o cña tÇn sè, lµ kho¶ng thêi gian mµ tÝn hiÖu lÆp l¹i mét c¸ch chÝnh x¸c. MÆc dï rÊt nhiÒu hµm to¸n häc ®−îc sö dông ®Ó lµm viÖc víi ©m thanh dùa trªn c¸c tÝn hiÖu lÆp mét c¸ch lý t−ëng, ®Æc biÖt lµ phÐp biÕn ®æi Fourier, nh−ng l¹i cã rÊt Ýt c¸c ©m thanh thùc lµ thùc sù tuÇn hoµn. Trong thùc tÕ, tÇn sè chØ cã ý nghÜa trùc tiÕp cho c¸c sãng h×nh sin. Tuy nhiªn, mäi ©m thanh ®Òu cã thÓ lµm vì thµnh mét tËp c¸c sãng h×nh sin. Ta cã thÓ t¹o bÊt cø ©m thanh nµo b»ng c¸ch thªm vµo mét tËp c¸c sãng h×nh sin phï hîp, còng nh− cã thÓ chia c¸c ©m thanh phøc t¹p thµnh c¸c sãng h×nh sin riªng biÖt, ®¬n gi¶n. Ngoµi ra, trong qu¸ tr×nh thu thanh sè ho¸, cÇn chó ý tíi biªn ®é ®Ønh ®Ó 12 §å ¸n tèt nghiÖp X©y dùng ch−¬ng tr×nh xö lý ©m thanh sè cã thÓ tr¸nh sù mÐo c¾t (mµ nã xuÊt hiÖn khi biªn ®é ®Ønh v−ît qu¸ khu«n d¹ng l−u tr÷) trong khi gi÷ tû lÖ tÝn hiÖu/nhiÔu ë møc cao nhÊt cã thÓ. 3. §Þnh d¹ng d÷ liÖu Qu¸ tr×nh chuyÓn ®æi ©m thanh t−¬ng tù sang d¹ng ©m thanh sè còng nh− viÖc l−u tr÷ ©m thanh sè liªn quan tíi 2 vÊn ®Ò: • LÊy mÉu (sampling): Qu¸ tr×nh lÊy mÉu liªn quan tíi viÖc tÝnh to¸n mét c¸ch tuÇn hoµn tÝn hiÖu t−¬ng tù, vµ sö dông c¸c mÉu nµy thay cho tÝn hiÖu gèc trong qu¸ tr×nh xö lý. • L−îng tö ho¸ (quantization): Qu¸ tr×nh xö lý c¸c mÉu t−¬ng tù víi ®é chÝnh x¸c kh«ng x¸c ®Þnh vµ lµm trßn chóng. 3.1. PAM (Pulse Amplitude Modulation) Trong thùc tÕ, c¸c bé chuyÓn ®æi DAC vµ ADC th−êng xuyªn sö dông d¹ng PAM (Pulse Amplitude Modulation) nh− mét khu«n d¹ng trung gian, trong ®ã ©m thanh ®−îc coi nh− mét chuçi c¸c xung, vµ biªn ®é cña mçi xung (®é cao) biÓu diÔn ®é m¹nh cña ©m thanh t¹i ®iÓm ®ã. TÝn hiÖu t−¬ng tù Xung PAM H×nh 2.4: PAM 3.2. PWM (Pulse Width Modulation) Ngoµi ra, ta cßn d¹ng biÓu diÔn kh¸c lµ PWM (Pulse Width Modulation), còng gièng nh− PAM, ®©y lµ d¹ng biÓu diÔn mçi mÉu nh− mét xung, nh−ng nã sö dông ®é réng hay kho¶ng kÐo dµi cña xung (thay cho biªn ®é) ®Ó biÓu diÔn ®é m¹nh cña ©m thanh. 13 §å ¸n tèt nghiÖp X©y dùng ch−¬ng tr×nh xö lý ©m thanh sè TÝn hiÖu t−¬ng tù Xung PWM H×nh 2.5: PWM 3.3. PCM (Pulse Code Modulation) §©y lµ d¹ng biÓu diÔn mçi mÉu nh− mét chuçi c¸c xung, mµ c¸c xung ®ã biÓu diÔn m· nhÞ ph©n (code binary) cña nã. Nh−ng biÓu diÔn d¹ng nµy rÊt khã x¸c ®Þnh ®©u lµ ®iÓm b¾t ®Çu vµ kÕt thóc cña mçi m·. Tuy nhiªn, kh«ng khã kh¨n ®Ó cã thÓ kh¾c phôc ®iÒu nµy, vÝ dô nh− ta cã thÓ x©y dùng c¸c m· theo mét d¹ng riªng ®Ó kh«ng cã m· nµo chøa 3 sè 1 liªn tiÕp (111) vµ sau ®ã chÌn 111 vµo tÝn hiÖu t¹i ®iÓm b¾t ®Çu cña mçi m·. Trong bé nhí m¸y tÝnh, c¸c m· nhÞ ph©n liªn tiÕp ®−îc l−u tr÷ nh− c¸c sè. Th«ng th−êng, d÷ liÖu ©m thanh d¹ng PCM ®−îc l−u tr÷ víi 8 hay 16 bits (1 hay 2 bytes) mçi mÉu. TÝn hiÖu t−¬ng tù Xung PCM H×nh 2.6: PCM 3.4. TÇn sè lÊy mÉu Nãi chung, c¸c hÖ thèng lÊy mÉu ©m thanh ®Òu ®−îc ®Æc tr−ng bëi tÇn sè lÊy mÉu (®¬n vÞ: mÉu/gi©y hay Hz) (sampling rate), ®©y lµ sè c¸c mÉu ®−îc sö dông ®Ó biÓu diÔn mét gi©y cña ©m thanh. Vµ Harry Nyquist (1889-1976) ®· kh¸m ph¸ ra r»ng, mét tÝn hiÖu ©m thanh ®· ®−îc lÊy mÉu cã thÓ t¹o l¹i mét 14 §å ¸n tèt nghiÖp X©y dùng ch−¬ng tr×nh xö lý ©m thanh sè c¸ch chÝnh x¸c bÊt cø ©m thanh nµo mµ tÇn sè cña nã nhá h¬n mét nöa tÇn sè lÊy mÉu. Do ®ã, mét nöa tÇn sè lÊy mÉu th−êng xuyªn ®−îc tham chiÕu nh− mét giíi h¹n Nyquist (Nyquist limit). Khi xÐt tíi ©m thanh sè, ta ph¶i xÐt tíi hiÖu øng “aliasing” bëi cã thÓ cã nhiÒu sãng h×nh sin cã thÓ ph¸t sinh ra c¸c mÉu nh− nhau nªn cã kh¶ n¨ng chän nhÇm tÝn hiÖu. §èi víi qu¸ tr×nh thu thanh th× ®iÒu ®ã kh«ng quan träng bëi mét bé läc th«ng thÊp ®−îc kÌm vµo qu¸ tr×nh chuyÓn ®æi sè-t−¬ng tù sÏ gì bá c¸c thµnh phÇn tÇn sè cao. Tuy nhiªn, ®ã thùc sù lµ mét vÊn ®Ò trong qu¸ tr×nh tæng hîp ©m thanh sè. Th«ng th−êng, nªn lµm viÖc trªn c¸c tÖp ©m thanh víi d¹ng d÷ liÖu kh«ng nÐn. Mét khi ®· nÐn, ch−¬ng tr×nh xö lý sÏ ph¶i gi¶i nÐn mçi khi sö dông, vµ víi bÊt cø l−u ®å (gi¶i thuËt) nÐn nµo còng ®Òu g©y nguy hiÓm tíi chÊt l−îng ©m thanh, kh«ng kÓ ®Õn thêi gian dïng ®Ó gi¶i nÐn. V× thÕ c¸c tÖp ©m thanh sè dïng ®Ó ph¸t l¹i (playback) kh«ng nªn sö dông d¹ng nÐn. 4. Khu«n d¹ng l−u tr÷ 4.1. Khu«n d¹ng chung Khi ghi ©m, ©m thanh cã thÓ ®−îc l−u d−íi d¹ng tÖp. Cã nhiÒu khu«n d¹ng tÖp ©m thanh kh¸c nhau. Vµ 3 d¹ng chÝnh lµ: • D¹ng tù nhiªn: nh− c¸c tÖp cã ®u«i WAV, AIF... c¸c tÖp nµy cho ©m thanh tèt song thêi gian truyÒn l©u. • D¹ng nÐn: c¸c tÖp Shock wave, Quick Time, MPEG... ®Ó ph¸t l¹i cÇn cã phÇn mÒm ®Æc biÖt. ¦u ®iÓm lµ kÝch th−íc nhá, nh−ng mÊt thêi gian gi¶i nÐn, vµ chÊt l−îng gi¶m. • D¹ng MIDI: khu«n d¹ng ®¬n gi¶n, kÝch th−íc nhá, thuËn lîi trong viÖc so¹n th¶o ©m thanh, nh−ng chÊt l−îng phô thuéc vµo thiÕt bÞ. Nãi chung, c¸c tÖp ©m thanh sè ®−îc l−u tr÷ trong mét khu«n d¹ng t−¬ng øng víi header cña lo¹i ®ã. Mét sè khu«n d¹ng nh− sau: AU: lµ c¸c tÖp cã ®u«i .au. Hç trî c¸c tÖp d¹ng mono vµ stereo víi ®é ph©n gi¶i tõ 8bit tíi 16bit, tÇn sè lÊy mÉu trong kho¶ng 8KHz tíi 48KHz. Nguyªn gèc trªn nÒn UNIX, song còng hç trî bëi c¸c øng dông PC vµ MAC. AIFF: lµ c¸c tÖp cã ®u«i .aif (Audio Interchange File Format). Hç trî tÖp ©m thanh kh«ng nÐn d¹ng mono, stereo hoÆc khu«n d¹ng ®a kªnh (multichannel). §é ph©n gi¶i vµ tÇn sè lÊy mÉu trong ph¹m vi rÊt réng, ®¹t tíi chÊt l−îng CD (16bit, lÊy mÉu 44KHz). Nguyªn gèc trªn nÒn Macintosh nh−ng còng hç trî trªn PC vµ UNIX. WAV: lµ c¸c tÖp cã ®u«i .wav (Waveform Audio). Hç trî d¹ng mono, stereo, hoÆc khu«n d¹ng ®a kªnh víi tÇn sè lÊy mÉu 44KHz, 16bit mÉu. Khu«n d¹ng WAV nguyªn gèc trªn nÒn Windows, hiÖn nay ®©y lµ d¹ng tÖp ©m thanh phæ biÕn trªn Internet. WAV t−¬ng tù cÊu tróc .aif nh−ng kh¸c phÇn ®Çu th«ng 15 §å ¸n tèt nghiÖp X©y dùng ch−¬ng tr×nh xö lý ©m thanh sè tin (header). MID: lµ c¸c tÖp cã ®u«i .mid (Musical Instrument Data Interchange). Hç trî d÷ liÖu Standar MIDI File (SMF) trªn hÖ thèng trang bÞ MIDI playback (víi mét sè khu«n d¹ng ©m thanh tæng hîp). Kh«ng cã yªu cÇu thiÕt lËp ®Æc biÖt nµo ®èi víi c¸c bé duyÖt (browser) c¸c tÖp ©m thanh ®−îc l−u tr÷ trong mét khu«n d¹ng ®Æc biÖt víi tÇn sè lÊy mÉu vµ ®é ph©n gi¶i riªng biÖt. PhÇn ®u«i (phÇn më réng cña tÖp) vµ header cña tÖp ®−îc chÌn vµo mét c¸ch tù ®éng khi thùc hiÖn l−u tÖp, ngoµi ra cßn cã c¸c th«ng tin bé duyÖt cÇn thiÕt ®Ó khëi ®Çu khi ph¸t l¹i. 4.2. ChuyÓn ®æi khu«n d¹ng Cã nhiÒu tr×nh øng dông cã thÓ chuyÓn ®æi c¸c tÖp ©m thanh sè tõ kiÓu nµy sang kiÓu kh¸c. HÇu hÕt c¸c ch−¬ng tr×nh x¸c ®Þnh khu«n d¹ng tÖp ©m thanh qua phÇn më réng cña tÖp. Tuy nhiªn, nªn x¸c ®Þnh qua c¸c khu«n d¹ng tÖp. C¸c c«ng cô chuyÓn ®æi cã AWave vµ SoX. AWave Víi mét m¸y PC ch¹y Windows 95, AWave lµ mét bé chuyÓn ®æi tÖp ©m thanh. Nã kh«ng ch¹y trªn Win 3.1 thËm chÝ víi m· më réng win32. NÕu chØ cã mét m¸y tÝnh cò vµ bé so¹n th¶o d¹ng sãng ©m thanh kh«ng cho phÐp l−u tÖp ©m thanh trong mét khu«n d¹ng ®Æc biÖt, tèt nhÊt nªn dïng SoX. SoX SoX lµ viÕt t¾t cña Sound Exchange, bé dÞch tÖp tæng hîp chÊp nhËn nhiÒu khu«n d¹ng tÖp kh¸c nhau, bao gåm .au, .hcom, .raw, .st, .voc, .auto, .cdr, .dat, .wav, .aif, .snd vµ c¸c d¹ng kh¸c. C¸c phiªn b¶n cña SoX t−¬ng thÝch trªn Unix vµ Dos. Nã x¸c ®Þnh khu«n d¹ng tÖp tõ ®u«i tÖp song nã còng tù ®éng x¸c ®Þnh c¸c ®Æc ®iÓm. SoX còng cã thÓ chuyÓn ®æi tÇn sè lÊy mÉu vµ c¸c phÐp xö lý hiÖu øng ©m thanh. VÝ dô nh− chuyÓn tÖp .au thµnh .wav víi dßng lÖnh sau: sox filename.au filename.wav 16 §å ¸n tèt nghiÖp X©y dùng ch−¬ng tr×nh xö lý ©m thanh sè Ch−¬ng 3 khu«n d¹ng tÖp ©m thanh 1. Khu«n d¹ng l−u tr÷ 1.1. Au/ Snd D¹ng tÖp Au lµ ®¬n gi¶n vµ hiÖn nay ®−îc sö dông kh¸ réng r·i cho sù ph©n t¸n trªn m¹ng Internet, vµ cho sù tÝch hîp vµo c¸c øng dông Java vµ Apples. §©y lµ d¹ng chuÈn ®−îc sö dông trong c¸c m¸y tÝnh NeXT vµ Sun, vµ cã rÊt nhiÒu kiÓu d÷ liÖu. Nã tæ chøc trªn c¸c m¸y tÝnh Sun gièng nh− sù kÕt xuÊt (dump) cña d÷ liÖu ©m thanh μ-Law. Sau ®ã c¸c header c¬ së ®−îc thªm vµo ®Ó lµm cho viÖc ®Þnh danh c¸c tÖp nµy ®−îc dÔ dµng h¬n vµ ®Ó cho viÖc chØ ®Þnh d¹ng ©m thanh mét c¸ch râ rµng. D¹ng ®−îc biÕt ®Õn nh− SND trªn c¸c m¸y tÝnh NeXT. ThuËn lîi c¬ b¶n cña Au lµ tÝnh ®¬n gi¶n. Header ®Þnh danh mäi tham sè quan träng, vµ d÷ liÖu ©m ®−îc l−u gi÷ nh− mét khóc ®¬n. Nªn viÖc viÕt m· lÖnh ®Ó ®äc header cña tÖp Au lµ ®¬n gi¶n. BÊt lîi duy nhÊt lµ header kÌm vµo ®é dµi tæng thÓ cña d÷ liÖu ©m thanh, mµ ®é dµi d÷ liÖu nµy th−êng kh«ng ®−îc biÕt tr−íc. §Ó gi¶i quyÕt vÊn ®Ò nµy, trong ch−¬ng tr×nh ®äc d÷ liÖu tÖp Au, ta thiÕt lËp mét ®é dµi gi¶ t¹o ë møc cao, vµ thªm mét biÕn kiÓm tra ®Ó dõng ch−¬ng tr×nh khi ®· ®äc ®Õn cuèi tÖp hay khi võa ®äc hÕt ®é dµi giµnh riªng. Th«ng th−êng, kh«ng nªn thiÕt lËp ®é dµi d÷ liÖu ©m thanh vÒ 0. Sau ®©y lµ khu«n d¹ng cña Au header: §é dµi 4 4 4 4 4 4 N N M« t¶ Magic string: .snd §Þnh vÞ cña d÷ liÖu ©m thanh tõ ®Çu tÖp (Ýt nhÊt lµ 28) Sè bytes cña d÷ liÖu ©m thanh D¹ng ©m thanh Tèc ®é mÉu (mÉu/gi©y) Sè c¸c kªnh truyÒn M« t¶ v¨n b¶n tuú chän (Ýt nhÊt 4 bytes) D÷ liÖu ©m thanh 17 §å ¸n tèt nghiÖp X©y dùng ch−¬ng tr×nh xö lý ©m thanh sè PhÇn lín c¸c tÖp Au chøa header nh− minh ho¹ trªn. §Æc biÖt 4 bytes ®Çu lµ “.snd”. Cã nhiÒu tÖp cò h¬n mµ b¶n th©n chóng ®Þnh danh nh− d¹ng Au (chóng sö dông phÇn më réng .au), nh−ng chóng kh«ng cã phÇn header nµy. Sau ®©y lµ mét vµi m· ho¸ d¹ng ©m thanh ®−îc dïng cho c¸c tÖp Au. M· ho¸ 1 2 3 4 5 6 7 8 10 11 12 13 14 18 19 20 21 23 24 25 26 27 M« t¶ 8-bit μ-Law G.711 8-bit linear 16-bit linear 24-bit linear 32-bit linear Floating-point sampled Double-precision float sampled Fragmented sampled data DSP program 8-bit fixed-point samples 16-bit fixed-point samples 24-bit fixed-point samples 32-bit fixed-point samples 16-bit linear with emphasis 16-bit linear compressed 16-bit linear with emphasis and compression Music kit DSP commands ADPCM G.721 ADPCM G.722 ADPCM G.723.3 ADPCM G.723.5 8-bit A-Law G.711 Trong ®ã 3 d¹ng ®−îc sö dông réng r·i lµ: 8-bit μ-Law (th−êng ®−îc lÊy mÉu t¹i tÇn sè 8,000Hz), 8-bit linear, vµ 16-bit linear. C¸c d¹ng cßn l¹i th−êng ®−îc sö dông trªn c¸c hÖ thèng NeXT vµ Sun. §Æc biÖt, c¸c d¹ng DSP lµ c¸c d¹ng NeXT riªng, vµ c¸c phiªn b¶n d¹ng dÊu phÈy ®éng (floating-point) nãi chung nªn ®−îc tr¸nh, bëi chóng rÊt hiÕm khi cã thÓ cµi ®Æt ®−îc gi÷a c¸c hÖ thèng (dÜ nhiªn d¹ng μ-Law G.711 lµ rÊt gän nhÑ, chñ yÕu chóng lµ d¹ng 8bit dÊu phÈy ®éng). Nãi chung, d¹ng Au lµ d¹ng tÖp l−u tr÷ rÊt ®¬n gi¶n nªn ta th−êng chuyÓn ®æi c¸c tÖp ©m thanh sang d¹ng Au vµ sau ®ã sö dông nã nh− mét d¹ng c¬ së cho c¸c qu¸ tr×nh xö lý tiÕp theo. 18 §å ¸n tèt nghiÖp X©y dùng ch−¬ng tr×nh xö lý ©m thanh sè 1.2. Voc D¹ng cña Sound Blaster vµ Sound Blaster Pro. §©y lµ d¹ng chØ ®¸p øng c¸c ©m 8-bit; d¹ng ®¬n (mono) cho 44.1 kHz, vµ c¸c ©m næi (stereo) cho 22 kHz. C¸c tÖp .Voc cã thÓ chøa th«ng tin cho sù lÆp l¹i vµ tÝnh trÇm (silence). TÖp Voc bao gåm mét header víi c¸c khèi d÷ liÖu theo sau. Mét vµi khèi d÷ liÖu chøa d÷ liÖu ©m thanh hiÖn thêi; nh÷ng khèi kh¸c chøa c¸c th«ng tin vÒ ®Þnh d¹ng hay d÷ liÖu trî gióp kh¸c. Khëi ®Çu tÖp Voc ®−îc thiÕt kÕ cho c¸c bé xö lý hä Intel, mäi sè d¹ng “multi-byte” ®−îc l−u tr÷ khëi ®Çu víi byte thÓ hiÖn Ýt nhÊt. §Þnh danh tÖp Voc Mäi tÖp Voc b¾t ®Çu víi mét ký hiÖu dµi 20-byte, chøa c¸c tõ “Creative Voice File” vµ ®Æc tÝnh Control-Z. §Æc tÝnh Control-Z lµ dÊu hiÖu cuèi tÖp (end-of-file) cho MS-DOS; sù hiÓn diÖn cña nã ®¶m b¶o r»ng toµn bé tÖp kh«ng thÓ ®−îc in hay so¹n th¶o mét c¸ch ngÉu nhiªn trªn hÖ thèng ®ã. Voc Header Header chøa mét gi¸ trÞ ký hiÖu (signature value) vµ mét phiªn b¶n tÖp. Chó ý r»ng gi¸ trÞ 26 (hex 1A), lµ mét dÊu hiÖu kÕt thóc tÖp trong c¸c hÖ thèng MS-DOS. Th«ng th−êng, m· ho¸ phiªn b¶n tÖp lµ 266 (phiªn b¶n 1.10) hay 267 (phiªn b¶n 1.20). Sau ®©y lµ Voc Header: §é dµi 19 1 2 2 2 M« t¶ X©u ký tù ®Þnh danh: Creative Voice File Byte value 26 (MS-DOS end-of-file) KÝch th−íc tæng cña header, th−êng lµ 26 M· ho¸ phiªn b¶n tÖp: phÇn chÝnh*256+phÇn phô Check value: 4,659 - phiªn b¶n tÖp Khi cµi ®Æt, do header cã thÓ ®−îc më réng nªn cÇn thiÕt bá qua bÊt cø d÷ liÖu nµo mµ nã cã thÓ theo sau c¸c th«ng tin chuÈn. C¸c khèi d÷ liÖu §Ó xö lý mét tÖp Voc, cÇn ph¶i ®äc vµ xö lý c¸c khèi d÷ liÖu theo tr×nh tù mµ chóng xuÊt hiÖn trong tÖp. Cã mét vµi tr−êng hîp mµ trong ®ã c¸c khèi kh¸c nhau cã thÓ chØ ®Þnh cïng mét d÷ liÖu; sù chØ ®Þnh ®Çu tiªn th−êng gèi lªn c¸c phÇn tiÕp theo. 19 §å ¸n tèt nghiÖp X©y dùng ch−¬ng tr×nh xö lý ©m thanh sè Sau ®©y lµ khu«n d¹ng cña mét khèi d÷ liÖu cña tÖp Voc: §é dµi 1 3 n M« t¶ D¹ng khèi §é dµi d÷ liÖu: n D÷ liÖu C¸c d¹ng khèi quan träng nhÊt lµ khèi kÕt thóc (d¹ng 0), c¸c khèi më réng (d¹ng 8 vµ 9), vµ khèi d÷ liÖu ©m thanh (d¹ng 1). Khèi kÕt thóc (d¹ng 0) Khèi kÕt thóc lµ mét sù ngo¹i lÖ cho khu«n d¹ng khèi. Nã gåm mét byte 0 ®¬n, kh«ng g¾n thªm tr−êng ®é dµi. Khèi nµy ®¸nh dÊu sù kÕt thóc cña tÖp Voc. Khèi d÷ liÖu ©m thanh (d¹ng 1) Khèi d÷ liÖu ©m thanh b¾t ®Çu víi 2 bytes chØ ®Þnh tÇn sè lÊy mÉu vµ ph−¬ng thøc nÐn. TiÕp theo ®ã lµ d÷ liÖu ©m thanh thùc sù. M· ho¸ tÇn sè lÊy mÉu ®−îc tÝnh to¸n tõ tÇn sè lÊy mÉu víi c«ng thøc: 256 - (1,000,000/tÇn sè lÊy mÉu). Sau ®©y lµ c¸c m· ho¸ ph−¬ng thøc nÐn: M· ho¸ 0 1 2 3 4 6 7 512 M« t¶ D÷ liÖu d¹ng PMC unsigned 8-bit NÐn, 4 bits/mÉu NÐn, 2.6 bits/mÉu NÐn, 2 bits/mÉu D÷ liÖu d¹ng PCM signed 16-bit CCITT A-Law CCITT μ-Law Creative Labs 16-bit to 4-bit ADPCM Chó ý r»ng, c¸c gi¸ trÞ trªn 3 lµ chØ sö dông cho c¸c khèi më réng d¹ng 9. Vµ, mét tÖp Voc cã thÓ chØ chøa duy nhÊt mét khèi d÷ liÖu ©m thanh. D÷ liÖu ©m thanh thªm vµo cã thÓ ®−îc l−u tr÷ trong mét khèi ©m liªn tiÕp. Khi ®äc d÷ liÖu, cÇn quan t©m tíi d÷ liÖu ©m thanh gèc (©m thanh ch−a ®−îc xö lý) tõ tÖp, cÇn ph¶i biÕt sè bytes d÷ liÖu gèc d÷ l¹i trong khèi hiÖn thêi. D¹ng Voc ®· ®−îc ph¸t triÓn thªm b»ng c¸ch thªm vµo c¸c d¹ng khèi míi 20
- Xem thêm -

Tài liệu liên quan