Khoa CNTT – HBKHN Đ GVHD th y: D Thanh ầ ư
Bình
M c l cụ ụ 1
L i nói uờ đầ 3
PH N I . LÝ THUY TẦ Ế 4
CH NG 1. CÁC KI N TH C C B N V ÂM THANHƯƠ Ế Ứ Ơ Ả Ề 5
I. NH NG KHÁI NI M C B N - SÓNG CỮ Ệ Ơ Ả Ơ 6
1.1. S hình thành sóng trong môi tr ng àn h iự ườ đ ồ 6
1.2. Các c tr ng c a sóng.đặ ư ủ 7
1.3. Ph ng trình sóng.ươ 8
II. SÓNG ÂM VÀ C TÍNH ÂM THANH.ĐẶ 8
2.1 Dao ng âm và s truy n dao ng.độ ự ề độ 8
2.2 n v v t lý c a âm thanh.Đơ ị ậ ủ 9
2.3. c tính sinh lý v s c m th âm.Đặ ề ự ả ụ 12
CH NG 2. WAVE FILE.ƯƠ 16
I. MULTIMEDIA WINDOWS 16
II. C U TRÚC WAVE FILE.Ấ 17
2.1 RIFF file 17
2.2 C u trúc File Wave.ấ 17
III. C RIFF FILESĐỌ 21
CH NG 3. LÝ THUY T X LÝ TÍN HI U SƯƠ Ế Ử Ệ Ố 25
I. TÍN HI U VÀ H TH NG R I R CỆ Ệ Ố Ờ Ạ 25
1. Gi i thi uớ ệ 25
2. áp ng xung trong h TTBBĐ ứ ệ 25
3. Tính ch t c a t ng ch p c a h TTBBấ ủ ổ ậ ủ ệ 26
4. H nhân quệ ả 27
5. Tính n nhổ đị 27
6. Ph ng trình sai phân tuy n tính h s h ngươ ế ệ ố ằ 28
7. Bi u di n các h r i r c trong mi n t n sể ễ ệ ờ ạ ề ầ ố 28
8. nh lý l y m u ShannonĐị ấ ẫ 30
II. PHÉP BI N I FOURIER R I R CẾ ĐỔ Ờ Ạ 30
1. Chu i Fourier r i r c c a tín hi u r i r c tu n hoànỗ ờ ạ ủ ệ ờ ạ ầ 30
2. Bi n i Fourier r i r c c a tín hi u có dài h u h nế đổ ờ ạ ủ ệ độ ữ ạ 31
3. Phép bi n i nhanh Fourier (FFT)ế đổ 32
CH NG 4. GI I THI U V MPEG.ƯƠ Ớ Ệ Ề 33
I. GI I THI U.Ớ Ệ 33
1. MPEG là gì? 33
2. So sánh các chu n MPEGẩ 33
3. Am thanh MPEG 34
4. Các khái ni m c b nệ ơ ả 35
5. Ho t ngạ độ 38
SVTH: V n Tu nĐỗ ă ấ Trang
1
Khoa CNTT – HBKHN Đ GVHD th y: D Thanh ầ ư
Bình
II. CÁC KHÁI NI M TRONG ÂM THANH MPEGỆ 40
1. L c mã hóa Perceptual Sub-bandượ đồ 40
2. Gi i thích hi u q a che (masking efficiency)ả ệ ủ 41
3. Các l p c a âm thanh MPEGớ ủ 43
III. CÁC THÔNG S .Ố 45
CH NG 5. CÁC GI I THU T NÉN ÂM THANHƯƠ Ả Ậ 50
I. LÝ THUY T THÔNG TINẾ 50
II. CÁC GI I THU T NÉN KHÔNG CÓ T N TH TẢ Ậ Ổ Ấ 51
1. Mã hóa Huffman 51
2. Mã hóa Huffman s a iử đổ 53
3. Mã hóa s h cố ọ 54
4. Gi i thu t Lempel-Ziv-Welch (LZW)ả ậ 55
III. CÁC GI I THU T NÉN CÓ T N TH TẢ Ậ Ổ Ấ 57
1. Các ph ng pháp nén âm thanh n gi nươ đơ ả 57
2. Nén âm thanh dùng mô hình âm tâm lý 57
3. Nén âm thanh theo chu n MPEGẩ 58
PH N II. THI T K CH NG TRÌNHẦ Ế Ế ƯƠ 60
CH NG 6. L U GI I THU T VÀ C U TRÚC D LI UƯƠ Ư ĐỒ Ả Ậ Ấ Ữ Ệ 61
I. S KH I.Ơ ĐỒ Ố 61
II. C U TRÚC D LI U VÀ NH NGH AẤ Ữ Ệ ĐỊ Ĩ 62
A. C U TRÚC D LI UẤ Ữ Ệ 62
1. Các c u trúc v fileấ ề 62
2. Các c u trúc v dòng bít d li uấ ề ữ ệ 63
3. Các c u trúc nh d ng dòng bít d li uấ để đị ạ ữ ệ 63
4. Các c u trúc huffmancodetab.ấ 67
5. Các c u trúc tính MDCTấ 67
6. Các c u trúc scalefac_structấ 67
B. CÁC NH NGH AĐỊ Ĩ 68
1. Các nh ngh a dùng trong truy xu t d li uđị ĩ ấ ữ ệ 68
2. Các nh ngh a dùng trong tính toán FFTđị ĩ 68
3. Các nh ngh a dùng trong nh d ng dòng d li uđị ĩ đị ạ ữ ệ 68
4. Các nh ngh a dùng trong b mã hoá Huffmanđị ĩ ộ 68
5. Các nh ngh a dùng trong phân tích d li uđị ĩ ữ ệ 69
6. Các nh ngh a dùng trong mô hình âm tâm lýđị ĩ 69
7. Các nh ngh a dùng trong truy xu t nh p d li uđị ĩ ấ ậ ữ ệ 69
8. Các nh ngh a dùng trong c u trúc file Wave và file Mpegđị ĩ ấ 69
III. L U Ư ĐỒ 71
CH NG 7: GIAO DI N VÀ THUY T MINH CH NG TRÌNHƯƠ Ệ Ế ƯƠ 75
I. GI I THI UỚ Ệ 75
II.GIAO DI NỆ 75
SVTH: V n Tu nĐỗ ă ấ Trang
2
Khoa CNTT – HBKHN Đ GVHD th y: D Thanh ầ ư
Bình
III.CH NG TRÌNHƯƠ 77
TÀI LI U THAM KH OỆ Ả 87
SVTH: V n Tu nĐỗ ă ấ Trang
3
Khoa CNTT – HBKHN Đ GVHD th y: D Thanh ầ ư
Bình
L i nói đ uờ ầ
Công ngh thông tin là ngành công nghi p m i nh n c a th gi i nóiệ ệ ũ ọ ủ ế ớ
chung và c a vi t nam nói riêng, nó đã phát tri n m nh m không ng ng trongủ ệ ể ạ ẽ ừ
nh ng n m g n đây. Khi đ i s ng đ c nâng lên khoa h c k thu t phát tri n nhuữ ă ầ ờ ố ượ ọ ỹ ậ ể
c u v gi i trí c ng đa d ng lên, các lo i hình gi i trí không ng ng gia t ng vàầ ề ả ũ ạ ạ ả ừ ă
ngày càng phong phú, đa d ng các lo i hình gi i trí nh : trò ch i đi n t , nghe nh cạ ạ ả ư ơ ệ ử ạ
xem phim, xem ca nh c (video), và đ c bi t là nh ng trong ch i d ng khôngạ ặ ệ ữ ơ ạ
gian ba chi u. S phát tri n t này đã d n t i ngành công ngh ph n c ng đãề ự ể ồ ạ ẫ ớ ệ ầ ứ
không th đáp ng đ c nh ng đòi h i v l u tr , đ ng hành v i s phát tri n này làể ứ ượ ữ ỏ ề ư ữ ồ ớ ự ể
m ng máy tính đó chính là Internet ngày càng phát tri n s l ng ng i tham giaạ ể ố ượ ườ
truy c p ngày càng l n và nhu c u c a h thì ngày càng phong phú và đa d ng v t tậ ớ ầ ủ ọ ạ ề ấ
c các lo i hình nói trên. Do đó t c đ truy c p, t c đ truy n t i trên m ng đ cả ạ ố ộ ậ ố ộ ề ả ạ ượ
quan tâm h n đ cho ng i dùng không ph i s t ru t ng i ch nh ng trang webơ ể ườ ả ố ộ ồ ờ ữ
mà mình truy c p, h không ph i b c mình khi download nh ng file âm thanh vàậ ọ ả ự ữ
nh ng bài hát mà h a thích vì đ ng truy n quá ch m trong khi công ngh ph nữ ọ ư ườ ề ậ ệ ầ
c ng đã phát tri n m nh. Chính vì v y các nhà nghiên c u ph n m m đã chú ý đ nứ ể ạ ậ ứ ầ ề ế
vi c phát tri n ph n m m đ h tr ph n c ng. H đã t o ra nh ng ch ngệ ể ầ ề ể ỗ ợ ầ ứ ọ ạ ữ ươ
trình ph n m m h tr tích c c ph n c ng, t đó đã ra đ i nh ng ph n m m nénầ ề ỗ ợ ự ầ ứ ừ ờ ữ ầ ề
âm thanh, hình nh, nén video, tách âm thanh t nh ng file video…đ t o ra nh ngả ừ ữ ể ạ ữ
d ng âm thanh, hình nh, video nh mindi, mpeg, mp3, mp4… nh ng file nhạ ả ư ữ ả
d ng gif, jpeg…v i dung l ng l u tr vô cùng nh m c dù ch t l ng có gi mạ ớ ượ ư ữ ỏ ặ ấ ượ ả
đi đôi chút nh ng không đáng k so v i nh ng gì nó đ t đ c đ truy n t i, truyư ể ớ ữ ạ ượ ể ề ả
c p nhanh h n. ậ ơ
S t n t i c a chu n JPEG (Joint Photographic Experts Group) ch đự ồ ạ ủ ẩ ỉ ể
gi m t c đ bit và ch y u ph c v cho hình nh, rõ ràng là không đ đáp ng choả ố ộ ủ ế ụ ụ ả ủ ứ
hình nh đ ng có kèm âm thanh. đáp ng nhu c u c a th tr ng, m t nhóm cácả ộ Để ứ ầ ủ ị ườ ộ
chuyên gia v hình nh đ ng (Moving Picture Experts Group), g i t t là MPEG,ề ả ộ ọ ắ
đ c thành l p đ nghiên c u đ a ra nh ng l c đ mã hóa phù h p cho vi cượ ậ ể ứ ư ữ ượ ồ ợ ệ
truy n hình nh đ ng và ghi l i chúng theo tiêu chu n trong các thi t b l u tr sề ả ộ ạ ẩ ế ị ư ữ ố
nh CD-ROM, Video CD ư
Ph n trình bày c a lu n v n ch n m trong khuôn kh "Am thanh". Do đóầ ủ ậ ă ỉ ằ ổ
m i v n đ liên quan t i hình nh s không đ c đ c p t i, dù chu n MPEG làọ ấ ề ớ ả ẽ ượ ề ậ ớ ẩ
dùng cho c âm thanh và hình nh.ả ả
M c tiêu c a đ tài ch y u ch đ tìm hi u v các ph ng pháp mã hoá và nénụ ủ ề ủ ế ỉ ể ể ề ươ
âm thanh theo chu n Mpeg, t đó d a trên m t s source code (vi t b ng C) đã cóẩ ừ ự ộ ố ế ằ
SVTH: V n Tu nĐỗ ă ấ Trang
4
Khoa CNTT – HBKHN Đ GVHD th y: D Thanh ầ ư
Bình
trên m ng Internet vi t l i b ng ngôn ng Visual C++, nh m hi u sâu h n vạ ế ạ ằ ữ ằ ể ơ ề
gi i thu t, đ ng th i t o ra m t giao di n thân thi n h n.ả ậ ồ ờ ạ ộ ệ ệ ơ
Do trình đ và ki n th c có h n nên không tránh kh i nh ng thi u sót, emộ ế ứ ạ ỏ ữ ế
kính mong th y tham gia và giúp đ em đ em hoàn thành đ c t t h n.ầ ỡ ể ượ ố ơ
Em xin chân thành cám n th y đã t o đi u ki n thuân l i nh t giúp em hoànơ ầ ạ ề ệ ợ ấ
thành báo cáo này.
PH N IẦ
LÝ THUY T C B NẾ Ơ Ả
CHU NG 1. Ơ CÁC KI N TH C C B N V ÂM THANH.Ế Ứ Ơ Ả Ề
I. NH NG KHÁI NI M C B N - SÓNG CỮ Ệ Ơ Ả Ơ
1.1. S hình thành sóng trong môi tr ng đàn h i.ự ườ ồ
a. nh ngh a:Đị ĩ
Các môi tr ng ch t khí, ch t l ng, ch t r n là môi tr ng đàn h i.ườ ấ ấ ỏ ấ ắ ườ ồ
Môi tr ng đàn h i có th coi là nh ng môi tr ng liên t c g m nh ng phânườ ồ ể ữ ườ ụ ồ ữ
t liên k t ch t ch v i nhau, lúc bình th ng m i phân t có m t v trí cânử ế ặ ẽ ớ ườ ỗ ử ộ ị
b ng b n.ằ ề
b. S hình thành sóng trong môi tr ng đàn h i:ự ườ ồ
Do tính ch t c a môi tr ng đàn h i, cho nên n u tác d ng lênấ ủ ườ ồ ế ụ
phân t nào đó c a môi tr ng thì phân t này r i kh i v trí cân b ng b n.ử ủ ườ ử ờ ỏ ị ằ ề
Do t ng tác, các phân t lân c n m t m t kéo phân t A v vươ ử ậ ộ ặ ử ề ị
trí cân b ng, m t khác nh n m t ph n n ng l ng do phân t A truy nằ ặ ậ ộ ầ ă ượ ử ề
sang, do đó c ng dao đ ng theo, hi n t ng này x y ra liên ti p t o thànhũ ộ ệ ượ ả ế ạ
sóng. Sóng đàn h i (sóng c ) là s lan truy n dao đ ng trong môi tr ng đànồ ơ ự ề ộ ườ
h i. Sóng c không th truy n đ c trong chân không, vì chân khôngồ ơ ể ề ượ
không ph i là môi tr ng đàn h i.ả ườ ồ
SVTH: V n Tu nĐỗ ă ấ Trang
5
Khoa CNTT – HBKHN Đ GVHD th y: D Thanh ầ ư
Bình
C n l u ý trong khi truy n dao đ ng, các phân t c a môiầ ư ề ộ ử ủ
tr ng không di chuy n theo các dao đ ng đ c lan truy n mà ch daoườ ể ộ ượ ề ỉ
đ ng quanh v trí cân b ng c a nó.ộ ị ằ ủ
c. M t s khái ni m v sóngộ ố ệ ề :
Ngu n sóng: là ngo i v t gây ra kích đ ng sóng.ồ ạ ậ ộ
Tia sóng: là ph ng truy n sóng.ươ ề
Môi tr ng sóng: là không gian mà sóng truy n qua.ườ ề
M t sóng: là m t ch a nh ng đi m (phân t ) có cùng tr ng tháiặ ặ ứ ữ ể ử ạ
dao đ ng t i m t th i đi m nào đó. Tia sóng luôn vuông góc v i m t sóng.ộ ạ ộ ờ ể ớ ặ
Sóng c u: m t sóng là nh ng m t c u phân b đ u trongầ ặ ữ ặ ầ ố ề
không gian, tâm là ngu n sóng. Trong môi tr ng đ ng ch t và đ ng h ngồ ườ ồ ấ ẳ ướ
s có sóng c u. i v i sóng c u tia sóng trùng v i bán kính c a m t c u.ẽ ầ Đố ớ ầ ớ ủ ặ ầ
Sóng ph ng: m t sóng là nh ng m t ph ng song song nhau,ẳ ặ ữ ặ ẳ
tia sóng vuông góc v i m t sóng. N u ngu n sóng r t xa môi tr ngớ ặ ế ồ ở ấ ườ
đang xét thì m t sóng có th coi là nh ng m t ph ng song song.ặ ể ữ ặ ẳ
Sóng d c: là sóng trong đó các phân t c a môi tr ng dao đ ngọ ử ủ ườ ộ
quanh v trí cân b ng trên ph ng trùng v i tia sóng. Khi có sóng d c, trênị ằ ươ ớ ọ
ph ng c a tia sóng các phân t c a môi tr ng khi thì b nén ch t, khi thìươ ủ ử ủ ườ ị ặ
giãn ra làm cho các phân t c a môi tr ng có ch dày ch th a.ử ủ ườ ỗ ỗ ư
Sóng ngang: là sóng trong đó các phân t c a môi tr ng daoử ủ ườ
đ ng quanh v trí cân b ng trên ph ng vuông góc v i tia sóng.ộ ị ằ ươ ớ
d. Nguyên nhân gây ra sóng ngang và sóng d c:ọ
Tùy tính ch t c a môi tr ng đàn h i mà trong đó có th xu tấ ủ ườ ồ ể ấ
hi n sóng ngang hay sóng d c.ệ ọ
- Khi m t l p c a môi tr ng b l ch đ i v i l p khác làm xu t hi n cácộ ớ ủ ườ ị ệ ố ớ ớ ấ ệ
l c đàn h i có xu h ng kéo l p b l ch v v trí cân b ng thì trong môiự ồ ướ ớ ị ệ ề ị ằ
tr ng đó có th truy n đ c sóng ngang. V y v t r n là m t môi tr ngườ ể ề ượ ậ ậ ắ ộ ườ
có tính ch t đó.ấ
SVTH: V n Tu nĐỗ ă ấ Trang
6
Khoa CNTT – HBKHN Đ GVHD th y: D Thanh ầ ư
Bình
- N u trong môi tr ng không có các l c đàn h i khi các l p song song bế ườ ự ồ ớ ị
l ch đ i v i nhau thì sóng ngang không th hình thành đ c. Ch t l ng vàệ ố ớ ể ượ ấ ỏ
ch t khí là nh ng môi tr ng đó.ấ ữ ườ
- Khi b bi n d ng nén hay c ng mà trong môi tr ng có các l c đàn h iị ế ạ ă ườ ự ồ
xu t hi n thì trong môi tr ng đó có th truy n đ c sóng d c. Ch ngấ ệ ườ ể ề ượ ọ ẳ
h n khi b nén, ch t l ng hay ch t khí s t ng áp su t, l c nén gi vai tròạ ị ấ ỏ ấ ẽ ă ấ ự ữ
l c đàn h i.ự ồ
Nh v y trong ch t l ng và ch t khí ch có sóng d c truy nư ậ ấ ỏ ấ ỉ ọ ề
đ c, còn trong ch t r n có th truy n đ c c hai lo i sóng.ượ ấ ắ ể ề ượ ả ạ
1.2. Các đ c tr ng c a sóngặ ư ủ .
a. V n t c truy n sóng (C)ậ ố ề :
Là quãng đ ng mà sóng truy n đ c trong m t đ n v th i gian.ườ ề ượ ộ ơ ị ờ
b. B c sóng ướ λ :
Là quãng đ ng mà sóng truy n đ c sau m t th i gian b ng 1 chu k T.ườ ề ượ ộ ờ ằ ỳ
Nh v y ư ậ λ là kho ng cách bé nh t gi a các phân t dao đ ng cùng pha. Theoả ấ ữ ử ộ
đ nh ngh a ta có : ị ĩ λ = CT.
c. Chu k và t n sỳ ầ ố:
Chu k T là th i gian c n thi t đ sóng truy n đ c 1 b c sóng ỳ ờ ầ ế ể ề ượ ướ λ.
T n s f là s chu k th c hi n đ c trong 1 giây :ầ ố ố ỳ ự ệ ượ
F = 1/T (Hz)
1.3. Ph ng trình sóngươ .
• Sóng ph ng truy n d c theo ph ng OY v i v n t c C thì ph ngẳ ề ọ ươ ớ ậ ố ươ
trình sóng bi u th m i quan h gi a đ chuy n d i X c a phân t daoể ị ố ệ ữ ộ ể ờ ủ ử
đ ng k t v trí cân b ng v i th i gian t và kho ng cách y đ n các v trí cânộ ể ừ ị ằ ớ ờ ả ế ị
b ng các phân t dao đ ng trên ph ng truy n sóng nh sau :ằ ử ộ ươ ề ư
X = asinω(t – y/c)
SVTH: V n Tu nĐỗ ă ấ Trang
7
Khoa CNTT – HBKHN Đ GVHD th y: D Thanh ầ ư
Bình
N u sóng ph ng truy n theo h ng ng c v i h ng tínhế ẳ ề ướ ượ ớ ướ
kho ng cách y thì :ả
X = asinω(t + y/c)
i v i sóng c u thì biên đ a c a dao đ ng sóng t i v trí cáchĐố ớ ầ ộ ủ ộ ạ ị
ngu n b ng bán kính r, t l ngh ch v i r, ph ng trình sóng có d ng:ồ ằ ỉ ệ ị ớ ươ ạ
X =
a
/
r
sinω(t – r/c)
II. SÓNG ÂM.
2.1. Dao đ ng âm và s truy n dao đ ng.ộ ự ề ộ
• Sóng âm là m t lo i sóng c có biên đ dao đ ng nh mà thính giác nh nộ ạ ơ ộ ộ ỏ ậ
bi t đ c. Thí d dao đ ng phát ra t dây đàn, m t tr ng đang rung đ ng.ế ượ ụ ộ ừ ặ ố ộ
Sóng âm là m t lo i sóng c nên m i khái ni m và hi n t ng v dao đ ng vàộ ạ ơ ọ ệ ệ ượ ề ộ
sóng c trên đây đ u áp d ng cho sóng âm.ơ ề ụ
Trong không khí c ng nh trong m i ch t khí khác, nh ng daoũ ư ọ ấ ữ
đ ng truy n đi d i d ng sóng d c, khi đ n tai ng i nh ng dao đ ng cóộ ề ướ ạ ọ ế ườ ữ ộ
t n s t 16 đ n 20000 Hz s gây c m giác đ c bi t v âm.ầ ố ừ ế ẽ ả ặ ệ ề
Các dao đ ng đàn h i có t n s f>20.000 Hz là sóng siêu âm.ộ ồ ầ ố
Các dao đ ng đàn h i có t n s f<16 Hz là sóng h âmộ ồ ầ ố ạ
M i âm có m t t n s riêng, đ n v c a t n s là héc (Hz) v i đ nhỗ ộ ầ ố ơ ị ủ ầ ố ớ ị
ngh a:”Héc là t n s c a m t qúa trình dao đ ng âm trong đó m i giây th cĩ ầ ố ủ ộ ộ ỗ ự
hi n đ c m t dao đ ng”.ệ ượ ộ ộ
1 Héc (Hz) = 1 dao đ ng / 1 giâyộ
Vi c phân chia sóng h âm, sóng siêu âm và sóng âm (âm thanh) liên quanệ ạ
t i kh n ng sinh lý c a thính giácớ ả ă ủ
2.2. n v v t lý c a âm thanh.Đơ ị ậ ủ
Âm thanh hay ti ng đ ng mà con ng i nh n bi t đ c do tác đ ngế ộ ườ ậ ế ượ ộ
c a sóng âm lên màng nh tai.ủ ĩ
SVTH: V n Tu nĐỗ ă ấ Trang
8
Khoa CNTT – HBKHN Đ GVHD th y: D Thanh ầ ư
Bình
Các dao đ ng âm phát ra t ngu n lan truy n trong môi tr ng đànộ ừ ồ ề ườ
h i nh không khí d i d ng sóng đàn h i g i là sóng âm. Sóng âm đ n kíchồ ư ướ ạ ồ ọ ế
đ ng màng nh tai gây c m giác v âm, do đó c n phân bi t hai lo i đ i l ngộ ĩ ả ề ầ ệ ạ ạ ượ
v âm:ề
- i l ng âm khách quan: nh ng đ i l ng thu n túy v t lý, không phĐạ ượ ữ ạ ượ ầ ậ ụ
thu c vào tai ng i.ộ ườ
- i l ng âm ch quan: nh ng đ i l ng tâm lý v t lý ph thu c vào taiĐạ ượ ủ ữ ạ ượ ậ ụ ộ
ng i.ườ
2.2.1. n v âm khách quan:Đơ ị
a. Ap su t âm:ấ
Khi sóng âm t i m t m t nào đó, do các phân t môi tr ng dao đ ngớ ộ ặ ử ườ ộ
tác d ng lên m t đó m t l c gây ra áp su t. Ap su t đây là áp su t d do sóngụ ặ ộ ự ấ ấ ở ấ ư
âm gây ra ngoài áp su t khí quy n.ấ ể
Trong ph m vi nghe đ c, áp su t âm trong kho ng t 2.10ạ ượ ấ ả ừ
-4
đ nế
2.10
2
µbar, chênh l ch 10ệ
6
l n, đó là m t ph m vi r t r ng.ầ ộ ạ ấ ộ
b. C ng đ âm (I):ườ ộ
- C ng đ âm m t đi m nào đó trên ph ng đã cho trong tr ng âm là sườ ộ ở ộ ể ươ ườ ố
n ng l ng âm đi qua đ n v di n tích c a m t S vuông góc v i ph ngă ượ ơ ị ệ ủ ặ ớ ươ
truy n âm, t i đi m đó trong đ n v th i gian.ề ạ ể ơ ị ờ
- M t vài c ng đ âm đáng chú ý:ộ ườ ộ
Ng i nói th ngườ ườ I = 2.10
-3
W/m
2
Còi ô-tô I = 5 W/m
2
Còi báo đ ngộ I = 3.000 W/m
2
- Trong đi u ki n chu n (tề ệ ẩ
o
= 20
o
C, áp su t 760mmHg):ấ
V n t c âm trong không khí : C = 340 m/sậ ố
ρ = 0,00121 gr/cm
3
.
γ = C
p
/C
v
= 1,4
SVTH: V n Tu nĐỗ ă ấ Trang
9
Khoa CNTT – HBKHN Đ GVHD th y: D Thanh ầ ư
Bình
- Trong tính toán ng i ta quy c l y âm đ n t n s f = 1000 Hz làmườ ướ ấ ơ ầ ố
chu n đ so sánh (g i là âm chu n).ẩ ể ọ ẩ
- i v i âm chu n, trong ph m vi nghe đ cĐố ớ ẩ ạ ượ
Áp su t âm nh nh t ấ ỏ ấ P
min
= 2.10
-4
µbar
C ng đ âm nh nh tườ ộ ỏ ấ I
min
= 10
-16
W/cm
2
.
- Ap su t âm và c ng đ âm l n nh t mà tai ng i có th ch u đ c là:ấ ườ ộ ớ ấ ườ ể ị ượ
P
max
= 2.10
2
µbar
I
max
= 10
-4
W/cm
2
.
- Công su t âm nh nh t có th nghe th y đ c Wấ ỏ ấ ể ấ ượ
min
= 10
-12
Watt.
2.2.2. n v âm ch quan:Đơ ị ủ
Tai ng i trung bình có th nh n đ c nh ng sóng âm có t n s tườ ể ậ ượ ữ ầ ố ừ
16 đ n 20000 Hz, hi u q a này có liên quan t i kh n ng sinh lý c a taiế ệ ủ ớ ả ă ủ
ng i.ườ
Nh v y, âm thanh là m t hi n t ng tâm lý v t lý, không ph i b tư ậ ộ ệ ượ ậ ả ấ
c sóng âm nào t i tai c ng gây ra c m giác âm thanh nh nhau. Am có t nứ ớ ũ ả ư ầ
s khác nhau gây ra c m giác khác nhau.ố ả
C ng đ âm nh nh t c a m t sóng âm xác đ nh mà tai ng i ngheườ ộ ỏ ấ ủ ộ ị ườ
th y đ c g i là “Ng ng nghe”. Am có t n s khác nhau giá tr ng ngấ ượ ọ ưỡ ầ ố ị ưỡ
nghe c ng khác nhau. Tai ng i thính nh t v i âm có t n s trong kho ngũ ườ ấ ớ ầ ố ả
t 1000 đ n 3000 Hz, trong ph m vi này c ng đ âm ng ng nghe nhừ ế ạ ườ ộ ưỡ ỏ
nh t. Nh ng t n s khác, tai kém thính h n, ng ng nghe có giá tr l nấ ữ ầ ố ơ ưỡ ị ớ
h n.ơ
i v i âm chu n, c ng đ và áp su t ng ng nghe b ng:Đố ớ ẩ ườ ộ ấ ở ưỡ ằ
P
o
= 2.10
-5
N/ m
2
.
I
o
= 10
-12
W/m
2
.
Do c m giác âm thanh ph thu c vào đ c tính sinh lý c a tai ng i,ả ụ ộ ặ ủ ườ
cho nên ph i có m t s đ i l ng đ c tr ng cho c m giác âm thanh phả ộ ố ạ ượ ặ ư ả ụ
SVTH: V n Tu nĐỗ ă ấ Trang
10
Khoa CNTT – HBKHN Đ GVHD th y: D Thanh ầ ư
Bình
thu c vào tai ng i, nh ng đ i l ng nh v y g i là đ i l ng âm chộ ườ ữ ạ ượ ư ậ ọ ạ ượ ủ
quan.
a. Bel và decibel (db):
Theo đ nh lý sinh lý c a Vebe-Fécne, c m giác nghe to đ i v i m t âmị ủ ả ố ớ ộ
không t l thu n v i c ng đ âm c a âm đó. Khi c ng đ âm t ng t Iỉ ệ ậ ớ ườ ộ ủ ườ ộ ă ừ
o
t i I thì c m giác nghe to t ng t l v i lg(I/Iớ ả ă ỉ ệ ớ
o
). Do đó ng i ta dùng thangườ
lô-ga-rít c s 10 đ đo m c c m giác so v i m c ng ng.ơ ố ể ứ ả ớ ứ ưỡ
M c ng ng g i là m c zero qui c : ứ ưỡ ọ ứ ướ
lg(I/I
o
) = lg(10
-12
/ 10
-12
) = 0 bel.
n v là Bel hay db. 10db = 1 bel.Đơ ị
b. M c c ng đ âm (Lứ ườ ộ
I
):
N u g i I là c ng đ âm c a âm đang xét và Iế ọ ườ ộ ủ
o
là c ng đ âm c a m c zeroườ ộ ủ ứ
qui c c a âm chu n thì m c c ng đ âm Lướ ủ ẩ ứ ườ ộ
I
b ng :ằ
L
I
= 10lg(I/I
o
) db
I tính b ng W/mằ
2
.
c. M c áp su t âm (Lp):ứ ấ
M c áp su t âm suy d n t m c c ng đ âm Lp = 20lg(P/Pứ ấ ẫ ừ ứ ườ ộ
o
) db.
Trong đó:
P :áp su t âm có ích c a âm đang xét (N/m2)ấ ủ
P
o
:áp su t âm c a âm chu n ng ng nghe.ấ ủ ẩ ở ưỡ
Th c t áp su t âm là đ i l ng c b n h n c ng đ âm, nên th ng dùngự ế ấ ạ ượ ơ ả ơ ườ ộ ườ
m c áp su t âm sau đó suy ra m c c ng đ âm. n v chung là bel hay db.ứ ấ ứ ườ ộ Đơ ị
n v này c ng dùng đ đo m c công su t, m c n ng l ng âm.Đơ ị ũ ể ứ ấ ứ ă ượ
Vài m c áp su t âm đáng chú ý :ứ ấ
Nói chuy n th ng ệ ườ : 30db.
SVTH: V n Tu nĐỗ ă ấ Trang
11
Khoa CNTT – HBKHN Đ GVHD th y: D Thanh ầ ư
Bình
Nói chuy n toệ : 70db.
2.2.3. Quãng đ cao (quãng t n s ):ộ ầ ố
• Quãng t n s c a hai âm là kho ng cách t n s c a hai âm đó. N u m t âmầ ố ủ ả ầ ố ủ ế ộ
t n s là fầ ố
1
, m t âm khác t n s là fộ ầ ố
2
(f
2
> f
1
) thì f
2
/ f
1
= 2
x
.
Khi x=1 t c fứ
2
/ f
1
= 2 g i là 1 quãng t n s (hay 1 c-ta).ọ ầ ố ố
Khi x=1/2 t c fứ
2
/ f
1
= 1.41 g i là n a c-ta.ọ ử ố
Khi x=1/3 t c fứ
2
/ f
1
= 1.26 g i là 1/3 c-ta.ọ ố
- M c áp su t âm c a 1 c-ta b ng m c áp su t âm c a 1/2 c-ta c ng thêmứ ấ ủ ố ằ ứ ấ ủ ố ộ
3db.
- M c áp su t âm c a 1 c-ta b ng m c áp su t âm c a 1/3 c-ta c ng thêmứ ấ ủ ố ằ ứ ấ ủ ố ộ
5db.
Vì quãng t n s c a m t âm qui đ nh đ cao c a âm đó nên còn g i làầ ố ủ ộ ị ộ ủ ọ
quãng đ cao. Theo t p quán âm nh c thì quãng đ cao g i là quãng 8 (bát đ ).ộ ậ ạ ộ ọ ộ
Ch ng h n âm LA, t n s f=440 Hz t ng 1 bát đ là t ng g p đôiẳ ạ ầ ố ă ộ ă ấ
t n s , t c là 880 Hz.ầ ố ứ
Trong th c t th ng g p nh ng âm ph c t p bao g m nhi u t nự ế ườ ặ ữ ứ ạ ồ ề ầ
s . T p h p t t c nh ng t n s c u t o trong m t âm thanh g i là “t nố ậ ợ ấ ả ữ ầ ố ấ ạ ộ ọ ầ
ph ” c a âm đó, t n ph có th gián đo n hay liên t c. M t âm có t n ph liênổ ủ ầ ổ ể ạ ụ ộ ầ ổ
t c đ c đ c tr ng b ng “M c t n ph B” v i đ nh ngh a:ụ ượ ặ ư ằ ứ ầ ổ ớ ị ĩ
- M c t n ph là m c áp su t âm trong chi u r ng c a d i t n s b ng 1.ứ ầ ổ ứ ấ ề ộ ủ ả ầ ố ằ
- M t âm có m c t n ph B không đ i v i m i t n s g i là ti ng nộ ứ ầ ổ ổ ớ ọ ầ ố ọ ế ồ
tr ng.ắ
- M t âm có t n ph gián đo n đ c đ c tr ng b ng “m c d i t n s ” v iộ ầ ổ ạ ượ ặ ư ằ ứ ả ầ ố ớ
đ nh ngh a: m c d i t n s là m c áp su t âm trong chi u r ng c a d i t nị ĩ ứ ả ầ ố ứ ấ ề ộ ủ ả ầ
s l n h n 1 Hz.ố ớ ơ
2.3. c tính sinh lý v s c m th âm thanh.Đặ ề ự ả ụ
2.3.1. M c to, đ to, m c âm c m giác:ứ ộ ứ ả
SVTH: V n Tu nĐỗ ă ấ Trang
12
Khoa CNTT – HBKHN Đ GVHD th y: D Thanh ầ ư
Bình
M c áp su t âm, m c c ng đ âm trên đây v a mang tính ch t chứ ấ ứ ườ ộ ừ ấ ủ
quan v a mang tính ch t khách quan vì nh ng đ i l ng này xác đ nh từ ấ ữ ạ ượ ị ừ
nh ng đ i l ng thu n túy v t lý. V n đ có ý ngh a to l n trong th c t làữ ạ ượ ầ ậ ấ ề ĩ ớ ự ế
c n bi t đ c s c m nh c a âm thanh đo b ng tai ng i.ầ ế ượ ứ ạ ủ ằ ườ
M c to, đ to c a m t âm là s c m nh c m giác do âm thanh gây nênứ ộ ủ ộ ứ ạ ả
trong tai ng i, nó không nh ng ph thu c vào áp su t âm mà còn ph thu cườ ữ ụ ộ ấ ụ ộ
vào t n s c a âm đó. Thí d 2 âm có t n s 100 Hz và 1000 Hz áp su t âm đ uầ ố ủ ụ ầ ố ấ ề
b ng 0,02 ằ µbar nh ng nghe to nh khác nhau, âm 1000 Hz nghe to h n âmư ỏ ơ
100 Hz. Mu n nghe to b ng âm 1000 Hz thì âm 100 Hz ph i có áp su tố ằ ả ấ
b ng 0,25 ằ µbar. Nh v y tai ng i không nh y đ i v i âm 100 Hz b ngư ậ ườ ạ ố ớ ằ
âm 1000 Hz. T n s càng th p tai ng i càng kém nh y.ầ ố ấ ườ ạ
a. M c to:ứ
- bi u th m c to trên c m giác ch quan, ta dùng đ i l ng “m c to”,Để ể ị ứ ả ủ ạ ượ ứ
đ n v là “Fôn” v i đ nh ngh a nh sau : ơ ị ớ ị ĩ ư
Fôn là m c to c a âm chu n, v giá tr b ng m c áp su t âm c a âm chu nứ ủ ẩ ề ị ằ ứ ấ ủ ẩ
t c là :ứ
L = 20lg P/Po (Fôn).
- V y m c to c a m t âm b t k đo b ng Fôn, v giá tr b ng m c áp su tậ ứ ủ ộ ấ ỳ ằ ề ị ằ ứ ấ
âm c a âm chu n đo b ng db có cùng m c to v i âm đó. Thí d : âm có t n sủ ẩ ằ ứ ớ ụ ầ ố
500 Hz m c áp su t âm b ng 25 db và âm có t n s 50 Hz m c áp su t âmứ ấ ằ ầ ố ứ ấ
b ng 64 db s có cùng m c to b ng 20 Fôn, b ng m c to c a âm 1000 Hzằ ẽ ứ ằ ằ ứ ủ
m c áp su t b ng 20 db.ứ ấ ằ
- Mu n bi t m c to c a m t âm b t k ph i so sánh v i âm chu n.ố ế ứ ủ ộ ấ ỳ ả ớ ẩ
- i v i âm chu n, m c to ng ng nghe là 0 Fôn, ng ng chói tai làĐố ớ ẩ ứ ở ưỡ ưỡ
120 Fôn.
- Cùng m t giá tr áp su t, âm t n s càng cao, m c to càng l n.ộ ị ấ ầ ố ứ ớ
b. to:Độ
- Khi so sánh âm này to h n âm kia bao nhiêu l n, dùng khái ni m “đ to” đ nơ ầ ệ ộ ơ
v là “Sôn” v i đ nh ngh a nh sau:ị ớ ị ĩ ư
SVTH: V n Tu nĐỗ ă ấ Trang
13
Khoa CNTT – HBKHN Đ GVHD th y: D Thanh ầ ư
Bình
S l ng Sôn bi u th s l n m nh h n c a m t âm nào đó so v i âmố ượ ể ị ố ầ ạ ơ ủ ộ ớ
chu n mà tai ng i có th phân bi t đ c.ẩ ườ ể ệ ượ
- to là m t thu c tính c a thính giác, cho phép phán đoán tính ch t m nhĐộ ộ ộ ủ ấ ạ
y u c a âm thanh. C n c vào đ to mà s p x p âm t nh t i to.ế ủ ă ứ ộ ắ ế ừ ỏ ớ
- M c to t ng 10 Fôn thì đ to t ng g p đôi và ng c l i.ứ ă ộ ă ấ ượ ạ
2.3.2. Am đi u và âm s c:ệ ắ
Âm đi u ch âm cao hay th p, tr m hay b ng. Âm đi u ch y u phệ ỉ ấ ầ ổ ệ ủ ế ụ
thu c vào t n s c a âm, t n s càng cao, âm nghe càng cao, t n s càngộ ầ ố ủ ầ ố ầ ố
th p âm nghe càng tr m.ấ ầ
Âm s c ch s c thái c a âm du d ng hay thô k ch, thanh hay rè,ắ ỉ ắ ủ ươ ệ
trong hay đ c. Âm s c ph thu c vào c u t o c a sóng âm đi u hòa, bi u thụ ắ ụ ộ ấ ạ ủ ề ể ị
b ng s l ng các lo i t n s , c ng đ và s phân b c a chúng quanh âmằ ố ượ ạ ầ ố ườ ộ ự ố ủ
c b n. Âm s c có quan h m t thi t v i c ng đ , âm đi u và th i gian âmơ ả ắ ệ ậ ế ớ ườ ộ ệ ờ
vang, s tr ng thành và t t d n c a tr ng âm.ự ưở ắ ầ ủ ườ
Khi hai ca s cùng hát m t câu cùng m t đ cao, ta v n phân bi tĩ ộ ở ộ ộ ẫ ệ
đ c gi ng hát c a t ng ng i. Khi đàn ghi-ta, sáo, kèn cùng t u lên m tượ ọ ủ ừ ườ ấ ộ
đo n nh c cùng m t đ cao, ta v n phân bi t đ c ti ng c a t ng nh cạ ạ ở ộ ộ ẫ ệ ượ ế ủ ừ ạ
c . M i ng i, m i nh c c phát ra nh ng âm có s c thái khác nhau mà taiụ ỗ ườ ỗ ạ ụ ữ ắ
ta phân bi t đ c. c tính đó c a âm chính là âm s c.ệ ượ Đặ ủ ắ
Âm s c là m t đ c tính sinh lý c a âm, đ c hình thành trên c s cácắ ộ ặ ủ ượ ơ ở
đ c tính v t lý c a âm là t n s và biên đ . Th c nghi m ch ng t r ng khiặ ậ ủ ầ ố ộ ự ệ ứ ỏ ằ
m t nh c c 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=2f1, f3=3f1 ầ ố
Âm có t n s f1 g i là âm c b n hay h a âm th nh t, các âm có t n sầ ố ọ ơ ả ọ ứ ấ ầ ố
f2 , f3 g i là các h a âm th hai, th ba Âm c b n bao gi c ng m nhọ ọ ứ ứ ơ ả ờ ũ ạ
nh t, các h a âm có tác d ng quy t đ nh âm s c c a âm c b n, giúp ta phânấ ọ ụ ế ị ắ ủ ơ ả
bi t các ngu n âm khác nhau. Ch ng h n ti ng đàn Pi-a-nô và ti ng sáo tuyệ ồ ẳ ạ ế ế
cùng m t âm c b n nh ng l i r t d phân bi t, nguyên nhân là do s l ng,ộ ơ ả ư ạ ấ ễ ệ ố ượ
c u trúc nh ng h a âm quanh âm c b n c a chúng khác nhau. H a âm càngấ ữ ọ ơ ả ủ ọ
nhi u âm nghe càng du d ng phong phú.ề ươ
3. Thính giác đ nh v (hi u ng Stereo):ị ị ệ ứ
SVTH: V n Tu nĐỗ ă ấ Trang
14
Khoa CNTT – HBKHN Đ GVHD th y: D Thanh ầ ư
Bình
Khi nghe âm tuy m t không nhìn th y ngu n âm nh ng có th xácắ ấ ồ ư ể
đ nh chính xác v trí c a ngu n âm. c đi m này là k t q a c a hai tácị ị ủ ồ Đặ ể ế ủ ủ
d ng:ụ
- Do cường độ, độ to, âm sắc của âm đến hai tai không giống nhau.
- Do âm đ n hai tai l ch pha nhau, vì th i gian đ n hai tai không gi ngế ệ ờ ế ố
nhau.
C ng đ , đ to c a âm đ n hai tai chênh l ch nhau là do nhi u xườ ộ ộ ủ ế ệ ễ ạ
gây ra. Âm có t n s f < 1000 Hz s chênh l ch c ng đ do nhi u x gây raầ ố ự ệ ườ ộ ễ ạ
r t bé nh ng nh ng t n s cao, s chênh l ch này có th đ t t i 20 - 30ấ ư ở ữ ầ ố ự ệ ể ạ ớ
db.
Do kh n ng đ nh v c a tai nh v y cho nên khi nghe âm có thả ă ị ị ủ ư ậ ể
t p trung chú ý vào ngu n âm c n nghe, b qua m t cách t nhiên nh ng âmậ ồ ầ ỏ ộ ự ữ
không c n nghe. Nh hi u q a này mà ti ng n b ph l p ho c gi mầ ờ ệ ủ ế ồ ị ủ ấ ặ ả
nh m t cách t nhiên. N u ch nghe âm m t tai thì hi u q a này m t.ỏ ộ ự ế ỉ ộ ệ ủ ấ
4. Nghe âm và chênh l ch th i gianệ ờ :
T ng t nh tác d ng l u nh c a m t, tai ng i c ng có tácươ ự ư ụ ư ả ủ ắ ườ ũ
d ng l u âm.ụ ư
Thí nghi m v i nhi u thính giác bình th ng cho th y r ng, n uệ ớ ề ườ ấ ằ ế
hai âm nh nhau đ n tai ng i cách nhau < 50 ms thì tai ng i không phânư ế ườ ườ
bi t đ c, nghe nh m t âm duy nh t.ệ ượ ư ộ ấ
SVTH: V n Tu nĐỗ ă ấ Trang
15
Khoa CNTT – HBKHN Đ GVHD th y: D Thanh ầ ư
Bình
CH NG 2.ƯƠ T P TIN D NG SÓNG (WAVE FILE).Ậ Ạ
I. MULTIMEDIA WINDOWS
T phiên b n Windows 3.1, Multimedia đã tr thành m t tính n ngừ ả ở ộ ă
c a Windows. Multimedia Windows đã b sung m t tính n ng m i: đó làủ ổ ộ ă ớ
s đ c l p thi t b trong vi c x lý âm thanh. S đ c l p thi t b này thự ộ ậ ế ị ệ ử ự ộ ậ ế ị ể
hi n qua b API (Applycation Program Interface – B giao di n l pệ ộ ộ ệ ậ
trình ng d ng). B API đ c l p v thi t b đ i v i ph n c ng và đó là m tứ ụ ộ ộ ậ ề ế ị ố ớ ầ ứ ộ
ch c n ng quan tr ng c a Windows. Ng i l p trình s l p trình đi uứ ă ọ ủ ườ ậ ẽ ậ ề
khi n ph n c ng trên Windows d a trên ch c n ng c a ph n c ng h n làể ầ ứ ự ứ ă ủ ầ ứ ơ
các chi ti t c th c a nó. Các nhà cung c p ph n c ng ch c n cung c pế ụ ể ủ ấ ầ ứ ỉ ầ ấ
m t b đi u khi n thi t b (device driver) cho Windows, nh đó m t ngộ ộ ề ể ế ị ờ ộ ứ
d ng trên Windows có th đi u khi n ph n c ng thông qua Windowsụ ể ề ể ầ ứ
API.
• V i Multimedia Windows, hãng Microsoft đã th c hi n đ c ba đi u :ớ ự ệ ượ ề
• nh ngh a m t tiêu chu n ph n c ng t i thi u cho lo i máyĐị ĩ ộ ẩ ầ ứ ố ể ạ
Multimedia PC (vi t t t là MPC). Tiêu chu n này d a trên ch c n ng t ngế ắ ẩ ự ứ ă ổ
quát h n là s n ph m c th . Ví d n u PC có thêm đ a CD-ROM và m tơ ả ẩ ụ ể ụ ế ổ ĩ ộ
card âm thanh thì tr thành MPC c p 1.ở ấ
• Microsoft đã cung c p ph n m m Multimedia Extension cho Windowsấ ầ ề
3.0 và đã đ c ghép luôn vào h đi u hành Windows t phiên b n 3.1. Ph nượ ệ ề ừ ả ầ
m m này bao g m các b đi u khi n thi t b dành cho vi c truy xu t đ nề ồ ộ ề ể ế ị ệ ấ ế
các ph n c ng g n thêm vào MPC.ầ ứ ắ
• Microsoft đ a ra công c phát tri n Multimedia Development Kitư ụ ể
(MDK). L p trình viên k t h p công c trên v i b Windows Softwareậ ế ợ ụ ớ ộ
Development Kit (SDK) đ vi t các ng d ng v Multimedia.ể ế ứ ụ ề
Có hai d ng x lý âm thanh s hóa trên Windows. Lo i th nh tạ ử ố ạ ứ ấ
microsoft g i là “Wave Form Audio” (Am thanh d ng sóng), d a trênọ ạ ự
nguyên t c s hóa sóng âm, MPC l u chúng trên b nh hay t p tin .WAVắ ố ư ộ ớ ậ
trên đ a. Các d li u s này có th thông qua ph n c ng bi n đ i l i thành âmĩ ữ ệ ố ể ầ ứ ế ổ ạ
thanh.
SVTH: V n Tu nĐỗ ă ấ Trang
16
Khoa CNTT – HBKHN Đ GVHD th y: D Thanh ầ ư
Bình
D ng th hai là MIDI. Khác v i âm thanh d ng sóng, MIDI ch l uạ ứ ớ ạ ỉ ư
l i nh ng thông đi p đi u khi n b t ng h p phát ra âm thanh. Do đó kíchạ ữ ệ ề ể ộ ổ ợ
th c c a t p tin .MID nh h n nhi u so v i t p tin.WAV.ướ ủ ậ ỏ ơ ề ớ ậ
II. C U TRÚC WAVE FILE.Ấ
1. RIFF file.
Wave File là t p tin ch a các d li u c a m u âm thanh đã đ c sậ ứ ữ ệ ủ ẫ ượ ố
hóa. Ph ng pháp s hóa âm thanh hi n nay là ph ng pháp PCM. Ph ngươ ố ệ ươ ươ
pháp này s l y m u âm thanh v i t n s kho ng 11.025 kHz cho đ n 44.1ẽ ấ ẫ ớ ầ ố ả ế
kHz. M i l n l y m u, s li u này l i đ c l ng t hóa b ng m t hayỗ ầ ấ ẫ ố ệ ạ ượ ượ ử ằ ộ
hai byte cho m t m u âm thanh. Nh v y t n s l y m u càng cao, sộ ẫ ư ậ ầ ố ấ ẫ ố
byte dùng l ng t hóa càng nhi u thì âm thanh phát l i càng trung th c,ượ ử ề ạ ự
nh ng l i t ng s byte c n l u tr . V i m t m u âm thanh phát ra trongư ạ ă ố ầ ư ữ ớ ộ ẫ
m t phút c n ph i l u tr ít nh t 660 kB. ó là lý do t i sao các File Waveộ ầ ả ư ữ ấ Đ ạ
luôn có kích th c khá l n so v i MIDI File.ướ ớ ớ
C u trúc c a Wave File thu c vào l p file đ c s d ng b i các hàmấ ủ ộ ớ ượ ử ụ ở
Multimedia c a Windows: đó là RIFF FILE. RIFF là ch vi t t t c aủ ũ ế ắ ủ
Resource Interchange File Format (d ng file trao đ i tài nguyên). M tạ ổ ộ
RIFF file g m m t ho c nhi u lo i chunks, trong m i chunk l i ch aồ ộ ặ ề ạ ỗ ạ ứ
con tr ch đ n chunk k ti p. M i chunk bao g m lo i chunk và d li uỏ ỉ ế ế ế ỗ ồ ạ ữ ệ
theo sau lo i chunk đó. M t ng d ng mu n đ c RIFF file có th đi quaạ ộ ứ ụ ố ọ ể
l n l t t ng chunk, đ c d li u chunk nó quan tâm và có th b qua cácầ ượ ừ ọ ữ ệ ở ể ỏ
chunk mà nó không quan tâm, m t chunk c a RIFF file luôn b t đ u b iộ ủ ắ ầ ở
m t header có c u trúc nh sau:ộ ấ ư
Typedef struct
{
FOURCC ckid;
DWORD ckSize;
} CK;
Tr ng FOURCC có 4 bytes ch ra lo i chunk. i v i Fileườ ỉ ạ Đố ớ
Wave, tr ng này có giá tr là “WAVE”. N u lo i chunk ít h n 4 ký t thìườ ị ế ạ ơ ự
các ký t còn l i bên ph i s đ c đ m thêm vào các kho ng tr ng. C n chú ý làự ạ ả ẽ ượ ệ ả ắ ầ
các ký t trong FOURCC có phân bi t ch hoa và ch th ng.ự ệ ữ ữ ườ
Tr ng DWORD ch a kích th c vùng d li u c a chunk, vùngườ ứ ướ ữ ệ ủ
d li u này n m ngay sau header và có kích th c là ckSize bytes.ữ ệ ằ ướ
SVTH: V n Tu nĐỗ ă ấ Trang
17
Khoa CNTT – HBKHN Đ GVHD th y: D Thanh ầ ư
Bình
Chunk có th ch a các subchunks. Subchunk c ng là m t chunk.ể ứ ũ ộ
M t RIFF file luôn b t đ u b ng m t chunk lo i “RIFF”.ộ ắ ầ ằ ộ ạ
2. C u trúc Wave fileấ .
Wave file b t đ u là chunk lo i “RIFF”.ắ ầ ạ
Hai subchunk trong wave chunk đ c t thông tin v âm thanh c a waveặ ả ề ủ
file và ti p đó là d li u c a t ng subchunk. ó là subchunk “fmt” vàế ữ ệ ủ ừ Đ
subchunk “data”.
a. subchunk “fmt”:
D li u c a “fmt” chunk là đ i t ng WAVEFORMAT có c u trúc nhữ ệ ủ ố ượ ấ ư
sau:
Typedef struct waveformat_tag
{
WORD wFormatTag;
WORD nChannels;
DWORD nSamplesPerSec;
DWORD nAvgBytesPerSec;
WORD nBlockAlign;
} WAVEFORMAT;
- wFormatTag th ng có giá tr là WAVE_FORMAT_PCM đ c đ nhườ ị ượ ị
ngh a trong t p tin MMSYSTEM.H nh sau :ĩ ậ ư
#define WAVE_FORMAT_PCM 1
Giá tr này báo cho ph n m m đang đ c Wave File bi t ki u mã hóaị ầ ề ọ ế ể
d li u âm thanh sang d li u s là ki u mã hóa PCM. Hi n nay đây là ki uữ ệ ữ ệ ố ể ệ ể
mã hóa duy nh t c a Wave file.ấ ủ
SVTH: V n Tu nĐỗ ă ấ Trang
18
Khoa CNTT – HBKHN Đ GVHD th y: D Thanh ầ ư
Bình
- nChannels: có hai giá tr b ng 1 cho âm thanh mono và b ng 2 cho âmị ằ ằ
thanh stereo.
- nSamplesPerSec: cho bi t t c đ l y m u, có các giá tr :ế ố ộ ấ ẫ ị
11025 11.025 kHz
22050 22.050 kHz
44100 44.100 kHz
- nAvgBytesPerSec: cho bi t s bytes yêu c u trung bình trong m t giâyế ố ầ ộ
đ phát l i m u d li u c a sóng âm.ể ạ ẫ ữ ệ ủ
- nBlockAlign: cho bi t s byte dùng đ ch a m t m u âm thanh. Nhế ố ể ứ ộ ẫ ư
v y m u 8 bit hay ít h n s yêu c u 1 byte, m u 9 đ n 16 bit s yêu c u 2ậ ẫ ơ ẽ ầ ẫ ế ẽ ầ
bytes. N u âm thanh là Stereo thì yêu c u g p 2 l n s byte dùng cho âmế ầ ấ ầ ố
thanh mono.
Ta th y trong WAVEFORMAT ch a có thông tin v s bit dùng đấ ư ề ố ể
l ng t hóa m t m u d li u c a sóng âm. Th c t Wave File s xácượ ử ộ ẫ ữ ệ ủ ự ế ẽ
l p s bit dùng cho m t m u d li u b ng m t tr ng g n vào cu i c uậ ố ộ ẫ ữ ệ ằ ộ ườ ắ ố ấ
trúc c a WAVEFORMAT. C u trúc đó nh sau:ủ ấ ư
Typedef struct pcmwaveformat_tag
{
WAVEFORMAT wf;
WORD wBitsPerSample;
} PCMWAVEFORMAT;
- wBitsPerSample: cho bi t s bit trong m t m u d li u. Chú ý r ng cácế ố ộ ẫ ữ ệ ằ
m u d li u v n ph i l u tr d ng byte ho c word. Do đó, n u m tẫ ữ ệ ẫ ả ư ữ ở ạ ặ ế ộ
Wave File dùng 12 bit đ l ng t hóa m t m u sóng âm thì s ph i l uể ượ ử ộ ẫ ẽ ả ư
tr 4 bit th a không dùng đ n.ữ ừ ế
b. Subchunk “data”.
D li u c a “data” subchunk c a wave file ch a các s li u c aữ ệ ủ ủ ứ ố ệ ủ
âm thanh đã đ c s hóa. i v i m u âm thanh 8 bit, d li u c a “data”ượ ố Đố ớ ẫ ữ ệ ủ
subchunk bao g m các giá tr 1 byte (có giá tr t 0 – 255) c a các m u âmồ ị ị ừ ủ ẫ
thanh. i v i m u âm thanh 16 bits, m i m u d li u g m 2 bytes (cóĐố ớ ẫ ỗ ẫ ữ ệ ồ
giá tr t – 32768 đ n 32767). i u này không có ngh a là file wave 16 bitsị ừ ế Đ ề ĩ
SVTH: V n Tu nĐỗ ă ấ Trang
19
Khoa CNTT – HBKHN Đ GVHD th y: D Thanh ầ ư
Bình
s nghe to h n 256 l n file wave 8 bits, mà nó có ngh a là âm thanh đ cẽ ơ ầ ĩ ượ
l ng t hóa chính xác h n, nghe trung th c h n.ượ ử ơ ự ơ
Trong m u mono 8 bits, d li u c a subchunk “data” g m chu iẫ ữ ệ ủ ồ ỗ
các giá tr 1 byte. V i stereo 8 bits, m i m u g m 2 bytes, d li u sị ớ ỗ ẫ ồ ữ ệ ẽ
đ c s p x p xen k (interleave), v i byte đ u (byte ch n) là m u âmượ ắ ế ẽ ớ ầ ẵ ẫ
thanh c a kênh bên trái, byte sau (byte l ) là c a kênh bên ph i.ủ ẻ ủ ả
Tóm la c u trúc c a Wave File nh sau:ị ấ ủ ư
Kích
th c (sướ ố
byte)
Giá trị Tên tr ngườ
4 “RIFF”
4 Kích th c file RIFFướ
4 “WAVE”
4 “fmt”
4 Kích th c subchunk “fmt”ướ
2 Ki u mã hóa d li u c a fileể ữ ệ ủ
wave (th ng là PCM)ườ
WORD nFormatTag
2 S kênh : 1 - monoố
2 - stereo
WORD nChannels
4 S m u/1giâyố ẫ DWORD
nSamplesPerSec
4 S bytes/1giâyố DWORD
nAvgBytesPerSec
2 S byte/1m uố ẫ DWORD
SVTH: V n Tu nĐỗ ă ấ Trang
20
Khoa CNTT – HBKHN Đ GVHD th y: D Thanh ầ ư
Bình
nBlockAlign
2 S bit/1m uố ẫ WORD
wBitsPerSample
4 “data”
4 Kích th c d li uướ ữ ệ
III. ĐỌC RIFF FILES
làm vi c v i file RIFF, ta ph i m nó và “descend” vào chunk màĐể ệ ớ ả ở
ta c n. i u này có ngh a là ta c n ph i đ nh v đ c chunk này, r i chuy nầ Đ ề ĩ ầ ả ị ị ượ ồ ể
con tr file vào đ u kh i d li u c a chunk. Khi làm vi c xong v i 1ỏ ầ ố ữ ệ ủ ệ ớ
chunk, ta ph i “ascend” ra kh i chunk và “descend” xu ng chunk khác.ả ỏ ố
Các hàm dùng x lý RIFF file đ u có ti n t là mmio và làm vi c v i fileử ề ề ố ệ ớ
handle d ng HMMIO, đ b t đ u, ta ph i m file b ng đo n mã sau:ạ ể ắ ầ ả ở ằ ạ
HMMIO h;
If ((h=mmioOpen(path,NULL,MMIO_READ))==NULL)
{
/*báo l i*/ỗ
return(0);
}
Thông s path ch a đ ng d n c a file wave. C MMIO_READố ứ ườ ẫ ủ ờ
báo cho mmioOpen m file đ đ c. Ta c ng có th m nó đ ghi b ngở ể ọ ũ ể ở ể ằ
thông s MMIO_WRITE hay c đ c và ghi b ng thông số ả ọ ằ ố
MMIO_READWRITE. N u m file thành công, mmioOpen s tr vế ở ẽ ả ề
m t handle lo i HMMIO. N u th t b i, nó s tr v tr NULL. Sau khiộ ạ ế ấ ạ ẽ ả ề ị
m file xong, ta b t đ u đ nh v WAVE chunk b ng đo n mã sau:ở ắ ầ ị ị ằ ạ
MMCKINFO mmParent;
MmParent.fccType=mmioFOURCC(‘W’,’A’,’V’,’E’);
If (mmioDescend(h,(LPMMCKINFO)&mmParent, NULL,
MMIO_FINDRIFF))
{
mmioClose(h,0);
/* báo l i */ỗ
SVTH: V n Tu nĐỗ ă ấ Trang
21
Khoa CNTT – HBKHN Đ GVHD th y: D Thanh ầ ư
Bình
return(0);
}
C u trúc c a MMCKINFO ch a các thông tin v chunk. Nó đ cấ ủ ứ ề ượ
đ nh ngh a trong MMSYSTEM.H nh sau:ị ĩ ư
Typedef struct
{
FOURCC ckid;
DWORD cksize;
FOURCC fcctype;
DWORD dwDataOffset;
DWORD dwFlags;
} MMCKINFO;
“đi vào” m t chunk, ta cho tr ng ckid c a MMCKINFO Để ộ ườ ủ ở
lo i chunk mà ta mu n đ nh v . Có m t macro th c hi n vi c này làạ ố ị ị ộ ự ệ ệ
mmioFOURCC. Sau đó g i hàm mmioDescend đ đ nh v chunk. N u đ nhọ ể ị ị ế ị
v thành công, hàm này tr v zero và đ i t ng MMCKINFO truy n choị ả ề ố ượ ề
hàm s đ c đi n vào các thông tin v chunk.ẽ ượ ề ề
Tr ng cksize đ nh ngh a kích th c tính b ng byte c a chunk.ườ ị ĩ ướ ằ ủ
i s th ba c a mmioDescend là c MMIO_FINDRIFF. C nàyĐố ố ứ ủ ờ ờ
ch th cho mmioDescend tìm m t file có ID là RIFF v i lo i chunk đ cỉ ị ộ ớ ạ ượ
xác đ nh b i ckid. N u mu n tìm m t chunk trong Wave file ta cho c nàyị ở ế ố ộ ờ
là MMIO_FINDCHUNK.
Sau khi đi vào WAVE chunk, ta b t đ u đi vào fmt subchunk c a nó:ắ ầ ủ
MMIOCKINFO mmSub;
MmSub.ckid=mmioFOURCC(‘f’,’m’,’t’);
If (mmioDescend(h,(LPMMCKINFO)& mmSub,
(LPMMCKINFO)&mmParent,MMIO_FINDCHUNK))
{
mmioClose(h,0);
/* báo l i */ỗ
return(0);
}
n đây ta đã có th b t đ u đ c d li u t Wave File. o n mã sauĐế ể ắ ầ ọ ữ ệ ừ Đ ạ
đ c đ i t ng PCMWAVEFORMAT t fmt subchunk:ọ ố ượ ừ
SVTH: V n Tu nĐỗ ă ấ Trang
22
Khoa CNTT – HBKHN Đ GVHD th y: D Thanh ầ ư
Bình
PCMWAVEFORMAT waveformat;
Int n;
n = min ((unsigned int)mmSub.cksize,
sizeof(PCMWAVEFORMAT));
if(mmioRead(h,(HPSTR)&waveformat,
(long)n) !=(long)n)
{
/* báo l i */ỗ
return(0L);
}
if(waveformat.wf.wFormatTag !=WAVE_FORMAT_PCM)
{
/* báo l i */ỗ
mmioClose(h,0);
return(0L);
}
i s đ u tiên c a mmioRead là handle c a file đang đ c. i sĐố ố ầ ủ ủ ọ Đố ố
th hai là con tr xa tr t i vùng đ m đ ch a d li u. i s th ba là sứ ỏ ỏ ớ ệ ể ứ ữ ệ Đố ố ứ ố
byte c n đ c. Hàm này s tr v s byte th c s đ c đ c.ầ ọ ẽ ả ề ố ự ự ọ ượ
Sau khi đã đ c n i dung c a chunk, ta đi ra kh i chunk đ chu n bọ ộ ủ ỏ ể ẩ ị
đ c chunk k ti p:ọ ế ế
MmAscend(h,(LPMMCKINFO)&mmSub,0);
i s th hai c a mmAscend là đ i t ng MMCKINFO c a chunk mà taĐố ố ứ ủ ố ượ ủ
“đi ra”. i s th ba là đ i s gi .Đố ố ứ ố ố ả
Công vi c còn l i là đ c d li u mã hóa m u âm thanh c a Wave fileệ ạ ọ ữ ệ ẫ ủ
vào b nh . Chú ý r ng giá tr cksize tr v b i mmioDescend đ c sộ ớ ằ ị ả ề ở ượ ử
d ng đ xác đ nh kích th c vùng đ m c n c p phát đ ch a d li u.ụ ể ị ướ ệ ầ ấ ể ứ ữ ệ
GLOBALHANDLE wavehandle;
HPSTR wavepointer;
MmSub.ckid=mmioFOURCC(‘d’,’a’,’t’,’a’);
If(mmioDescend(h,(LPMMCKINFO)&mmSub,
(LPMMCKINFO)&mmParent,MMIO_FINDCHUNK))
{
mmioClose(h,0);
SVTH: V n Tu nĐỗ ă ấ Trang
23
Khoa CNTT – HBKHN Đ GVHD th y: D Thanh ầ ư
Bình
/* báo l i */ỗ
return(0);
}
if((wavehandle=GlobalAlloc(GMEM_MOVEBLEIGMEM_
SHARE, mmSub.cksize))==NULL)
{
mmioClose(h,0);
/* báo l i */ỗ
return(0);
}
if(wavepointer=(HPSTR)GLOBALLOCK(WAVEHANDLE))
==null)
{
GlobalFree(wavehandle);
mmioClose(h,0);
/* báo l i */ỗ
return(0);
}
if(mmioRead(h,wavepointer,mSub.cksize) !=
mSub.cksize)
{
GlobalUnlock(wavehandle);
GlobalFree(wavehandle);
mmioClose(h,0);
/* báo l i */ỗ
return(0);
}
GlobalUnlock(wavehandle);
SVTH: V n Tu nĐỗ ă ấ Trang
24
Khoa CNTT – HBKHN Đ GVHD th y: D Thanh ầ ư
Bình
CH NG 3.ƯƠ LÝ THUY T X LÝ TÍN HI U S .Ế Ử Ệ Ố
I. TÍN HI U VÀ H TH NG R I R CỆ Ệ Ố Ờ Ạ
1. Gi i thi uớ ệ
Tín hi u là bi u hi n v t lý c a thông tin, th ng là thông tin vệ ể ệ ậ ủ ườ ề
tr ng thái hay hành vi c a m t h v t lý nào đó. V m t toán h c, tín hi uạ ủ ộ ệ ậ ề ặ ọ ệ
đ c coi là hàm c a c a m t hay vài bi n đ c l p. Ví d : tín hi u âm thanhượ ủ ủ ộ ế ộ ậ ụ ệ
là s thay đ i áp su t không khí theo th i gian; tín hi u hình nh là hàm đự ổ ấ ờ ệ ả ộ
sáng theo hai bi n không gian ế
Theo qui c chung, tín hi u đ c coi là hàm theo m t bi n đ cướ ệ ượ ộ ế ộ
l p và là bi n th i gian.ậ ế ờ
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 hóa (l ng t hóa).ờ ồ ờ ộ ũ ờ ạ ượ ử
2. áp ng xung trong h tuy n tính b t bi nĐ ứ ệ ế ấ ế .
Tín hi u vào x(n) đ c g i là tác đ ng, tín hi u ra y(n) đ c g i là đápệ ượ ọ ộ ệ ượ ọ
ng c a h x lý. Ta có quan h :ứ ủ ệ ử ệ
[ ]
)()( nxTny =
T : phép bi n đ i ế ổ
)()( nynx →
M t h th ng là tuy n tính n u th a nguyên lý x p ch ng: gi sộ ệ ố ế ế ỏ ế ồ ả ử
y
1
(n) và y
2
(n) là đáp ng c a h t ng ng v i tác đ ng vào là xứ ủ ệ ươ ứ ớ ộ
1
(n) và x
2
(n).
H là tuy n tính n u và ch n u :ệ ế ế ỉ ế
[ ]
)(.)(.)(.)(.
2121
nybnyanxbnxaT +=+
Nh v y, m t h tuy n tính có th x lý t ng tác đ ng nh là các tácư ậ ộ ệ ế ể ử ổ ộ ư
đ ng này đ c x lý đ c l p, sau đó các đáp ng t ng ng s đ c c ng l i.ộ ượ ử ộ ậ ứ ươ ứ ẽ ượ ộ ạ
M t tín hi u x(n) b t k có th bi u di n :ộ ệ ấ ỳ ể ể ễ
∑
∞
−∞=
−=
k
knkxnx )().()(
δ
Do v y đ i v i h tuy n tính: ậ ố ớ ệ ế
SVTH: V n Tu nĐỗ ă ấ Trang
25