TỔNG HỢP TIẾNG NĨI
XXVI.Chunk Data :
mẫu âm thanh đã được số hĩa. Tùy theo số kênh được chọn và số bit dùng để lượng tử hĩa mà các mẫu âm thanh này được sắp xếp khác nhau trong chunk Data. Cĩ 2 khái niệm về điểm mẫu và khung mẫu
♦ Một điểm mẫu chính là một giá trị đại diện cho một mẫu âm thanh được lấy tại một thời điểm nào đĩ. Nếu số bit dùng để lượng tử hĩa là 8 thì giá trị của một điểm mẫu dao động từ 0 đến 255. Nếu số bit dùng để lượng tử hĩa là 16 thì giá trị của một điểm mẫu dao động từ đến -32768 đến 32767. Đối với âm thanh cĩ nhiều kênh, các điểm mẫu từ mỗi kênh sẽ được xếp xen kẽ. Ví dụ với âm thanh stereo, các điểm mẫu sẽ được lưu trữ như sau : mẫu đầu tiên của kênh trái rồi tới mẫu đầu tiên của kênh phải, tiếp đĩ là mẫu thứ hai của kênh trái rồi tới mẫu thứ hai của kênh phải, ... và cứ như thế.
♦ Một khung mẫu bao gồm nhiều điểm mẫu được phát đồng thời. Ví dụ, với âm thanh stereo, 2 điểm mẫu thuộc 2 kênh sẽ tạo thành một khung mẫu
Khung mẫu 1 Khung mẫu 2 Khung mẫu N
Kênh 1 Kênh 2 Kênh 1 Kênh 2 ... Kênh 1 Kênh 2
= 1 điểm mẫu
Với âm thanh mono thì mỗi khung mẫu chỉ cĩ 1 điểm mẫu. Đối với âm thanh cĩ nhiều kênh thì tùy theo số lượng kênh mà các thứ tự của các điểm mẫu trong một khung mẫu sẽ khác nhau :
1 2
Stereo Trái Phải
1 2 3
3 kênh Trái Phải Giữa
1 2 3 4 Quad Trái - Trước Phải - Trước Trái - Sau Phải - Sau 1 2 3 4
4 kênh Trái Giữa Phải Surround
1 2 3 4 5 6
6 kênh Giữa -
Trái Trái Giữa
Giữa -
Phải Phải Surround
Tĩm lại cấu trúc file Wave được mơ tả như bảng sau :
Mơ tả Kích thước Giá trị thơng thường
Tên của chunk RIFF
(RIFF chunk ID) 4 byte “RIFF” Kích thước chunk RIFF
(RIFF chunk size) 4 byte Kích thước file RIFF - 8 Định dạng của file RIFF
(Form type) 4 byte "WAVE" Tên của chunk Format 4 byte “fmt “
(Format chunk ID)
Kích thước chunk Format
(Format chunk size) 4 byte 16 Chuẩn của file Wave
(wFormatTag) 2 byte PCM = 1 Số kênh (wChannels) 2 byte mono = 1 stereo = 2 Tốc độ lấy mẫu (dwSamplesPerSec) 4 byte 11025 Hz, 22050 Hz, 44100 Hz Số byte/1 giây (dwAvgBytesPerSec) 4 byte dwSamplesPerSec * wBlockAlign Kích thước khung mẫu
(wBlockAlign) 2 byte
wChannels * (wBitsPerSample / 8) Số bit lượng tử hĩa
(wBitsPerSample) 2 byte
8 16 Tên của chunk Data
(Data chunk ID) 4 byte "data" Kích thước chunk Data
(Data chunk size) 4 byte
wBlockAlign * Tổng số khung mẫu
Dữ liệu mẫu âm thanh ? ?
IV. Các phương pháp phát một file Wave : XXVII. Dùng hàm sndPlaySound hoặc PlaySound :