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

  • Số trang: 90 |
  • Loại file: PDF |
  • Lượt xem: 65 |
  • Lượt tải: 0
xomthong

Tham gia: 05/05/2016

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 -