
19 thg 3, 2016
Chuẩn nén âm thanh và biến đổi file đuôi Wave sang file đuôi MP3 (có mã nguồn chương trình bằng VB)
đạ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 1 â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ề gía 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ề gía 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 1 â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 gía 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:
Số lượng Sôn biểu thò số lần mạnh hơn của 1 âm nào đó so với âm chuẩn
mà tai người có thể phân biệt được.
- Độ to là 1 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.
{PAGE }
2. m đ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):
• 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.
{PAGE }
• 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.
{PAGE }
CHƯƠNG 2.
TẬP TIN DẠNG SÓNG (WAVE FILE).
II.1. MULTIMEDIA WINDOWS
• Từ 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” (m 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.
• 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.2. CẤU TRÚC WAVE FILE.
{PAGE }
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 Wave File 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ược 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 Wave File,
trường này có gía 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.
Chunk có thể chứa các subchunks. Subchunk cũa 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.
{PAGE }
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ó gía trò là WAVE_FORMAT_PCM được
đònh nghóa trong tập tin MMSYSTEM.H nhu sau :
#define WAVE_FORMAT_PCM 1
Gía 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.
- nChannels: có hai gía trò: bằng 1 cho âm thanh mono và bằng 2
cho âm thanh steréo.
- nSamplesPerSec: cho biết tốc đọ lấy mẫu, có các gía 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.
{PAGE }

Đăng ký:
Đăng Nhận xét (Atom)
Không có nhận xét nào:
Đăng nhận xét