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)

86 501 0
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)

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Trang Mục lục 1 Lời nói đầu. 4 Thuật ngữ. 5 PHẦN I . LÝ THUYẾT. 7 Mở đầu. 8 CHƯƠNG 1. Các kiến thức cơ bản về âm thanh . 9 I.1 Những khái niệm cơ bản sóng cơ. 9 1. Sự hình thành sóng trong môi trường đàn hồi. 9 2. Các đặc trưng của sóng. 10 3. Phương trình sóng. 11 I.2 Sóng âm và đặc tính âm thanh. 11 I.2.1. Dao động âm và sự truyền dao động. 11 I.2.2. Đơn vị vật lý của âm thanh. 12 I.2.3. Đặc tính sinh lý về sự cảm thụ âm. 15 CHƯƠNG 2. WAVE file. 19 II.1 Multimedia Windows. 19 II.2 Cấu trúc Wave File. 20 II.2.1 RIFF file. 20 II.2.2 Cấu trúc Wave File. 21 2. Đáp ứng xung trong hệ TTBB 28 3. Tính chất của tổng chập của hệ TTBB 29 4. Hệ nhân quả 30 5. Tính ổn định 30 6. Phương trình sai phân tuyến tính hệ số hằng 31 7. Biểu diễn các hệ rời rạc trong miền tần số 31 8. Định lý lấy mẫu Shannon 33 III.2 Phép biến đổi Fourier rời rạc 33 1. Chuỗi Fourier rời rạc của tín hiệu rời rạc tuần hoàn 33 2. Biến đổi Fourier rời rạc của tín hiệu có độ dài hữu hạn 34 3. Phép biến đổi nhanh Fourier (FFT) 34 CHƯƠNG 4. Giới thiệu về MPEG. 36 IV.1 Giới thiệu. 36 1. MPEG là gì? 36 2. So sánh các chuẩn MPEG 36 3. Am thanh MPEG. 37 4. Các khái niệm cơ bản 38 IV.2 Các khái niệm trong âm thanh MPEG 42 1. Lược đồ mã hóa Perceptual Subband. 42 2. Giải thích hiệu qủa che (masking efficiency) 43 3. Các lớp của âm thanh MPEG 45 IV.3 Các thông số. 47 CHƯƠNG 5. Các giải thuật nén âm thanh 51 V.1 Lý thuyết thông tin 51 V.2 Các giải thuật nén không có tổn thất 52 1. Mã hóa Huffman 52 2. Mã hóa Huffman sửa đổi 53 3. Mã hóa số học 55 4. Giải thuật LempelZivWelch (LZW) 57 V.3 Các giải thuật nén có tổn thất 59 1. Các phương pháp nén âm thanh đơn giản 59 2. Nén âm thanh dùng mô hình âm tâm lý 59 3. Nén âm thanh theo chuẩn MPEG 60 PHẦN II. XÂY DỰNG PHẦN MỀM 63 CHƯƠNG 6. Lưu đồ giải thuật cấu trúc dữ liệu. 64 6.1 Sơ đồ khối 64 6.2 Các cấu trúc dữ liệu và định nghĩa 65 6.3 Lưu đồ 74 6.4 Bản đồ hàm 78 CHƯƠNG 7. Giao diện và thuyết minh chương trình 82 7.1 Giới thiệu 82 7.2 Giao diện 82 7.3 Chương trình 86 PHẦN III. CHƯƠNG TRÌNH NGUỒN 96 II.3 Đọc RIFF files 24 CHƯƠNG 3. Lý thuyết xử lý tín hiệu số 28 III. 1 Tín hiệu và hệ thống rời rạc 28 1. Giới thiệu 28 {PAGE } 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) Chuan nen am thanh va bien doi file duoi Wave sang file duoi MP3 (co ma nguon chuong trinh bang VB)

{PAGE } Trang Mục lục 1 Lời nói đầu. 4 Thuật ngữ. 5 PHẦN I . LÝ THUYẾT. 7 Mở đầu. 8 CHƯƠNG 1. Các kiến thức cơ bản về âm thanh . 9 I.1 Những khái niệm cơ bản - sóng cơ. 9 1. Sự hình thành sóng trong môi trường đàn hồi. 9 2. Các đặc trưng của sóng. 10 3. Phương trình sóng. 11 I.2 Sóng âm và đặc tính âm thanh. 11 I.2.1. Dao động âm và sự truyền dao động. 11 I.2.2. Đơn vò vật lý của âm thanh. 12 I.2.3. Đặc tính sinh lý về sự cảm thụ âm. 15 CHƯƠNG 2. WAVE file. 19 II.1 Multimedia Windows. 19 II.2 Cấu trúc Wave File. 20 II.2.1 RIFF file. 20 II.2.2 Cấu trúc Wave File. 21 II.3 Đọc RIFF files 24 CHƯƠNG 3. Lý thuyết xử lý tín hiệu số 28 III. 1 Tín hiệu và hệ thống rời rạc 28 1. Giới thiệu 28 {PAGE } 2. Đáp ứng xung trong hệ TTBB 28 3. Tính chất của tổng chập của hệ TTBB 29 4. Hệ nhân quả 30 5. Tính ổn đònh 30 6. Phương trình sai phân tuyến tính hệ số hằng 31 7. Biểu diễn các hệ rời rạc trong miền tần số 31 8. Đònh lý lấy mẫu Shannon 33 III.2 Phép biến đổi Fourier rời rạc 33 1. Chuỗi Fourier rời rạc của tín hiệu rời rạc tuần hoàn 33 2. Biến đổi Fourier rời rạc của tín hiệu có độ dài hữu hạn 34 3. Phép biến đổi nhanh Fourier (FFT) 34 CHƯƠNG 4. Giới thiệu về MPEG. 36 IV.1 Giới thiệu. 36 1. MPEG là gì? 36 2. So sánh các chuẩn MPEG 36 3. m thanh MPEG. 37 4. Các khái niệm cơ bản 38 IV.2 Các khái niệm trong âm thanh MPEG 42 1. Lược đồ mã hóa Perceptual Sub-band. 42 2. Giải thích hiệu qủa che (masking efficiency) 43 3. Các lớp của âm thanh MPEG 45 IV.3 Các thông số. 47 CHƯƠNG 5. Các giải thuật nén âm thanh 51 V.1 Lý thuyết thông tin 51 {PAGE } V.2 Các giải thuật nén không có tổn thất 52 1. Mã hóa Huffman 52 2. Mã hóa Huffman sửa đổi 53 3. Mã hóa số học 55 4. Giải thuật Lempel-Ziv-Welch (LZW) 57 V.3 Các giải thuật nén có tổn thất 59 1. Các phương pháp nén âm thanh đơn giản 59 2. Nén âm thanh dùng mô hình âm tâm lý 59 3. Nén âm thanh theo chuẩn MPEG 60 PHẦN II. XÂY DỰNG PHẦN MỀM 63 CHƯƠNG 6. Lưu đồ giải thuật - cấu trúc dữ liệu. 64 6.1 Sơ đồ khối 64 6.2 Các cấu trúc dữ liệu và đònh nghóa 65 6.3 Lưu đồ 74 6.4 Bản đồ hàm 78 CHƯƠNG 7. Giao diện và thuyết minh chương trình 82 7.1 Giới thiệu 82 7.2 Giao diện 82 7.3 Chương trình 86 PHẦN III. CHƯƠNG TRÌNH NGUỒN 96 {PAGE } THUẬT NGỮ. - MPEG : Moving Picture Experts Group. - JPEG : Joint Photographic Experts Group. - Bitdepth : Số bit lấy mẫu, ảnh hưởng đến độ phân giải của tín hiệu - Sample rate : Tốc độ lấy mẫu - PCM : Pulse Code Modulation - ADPCM : Adaptive Difference Pulse Code Modulation. - FFT : Fast Fourier Transform. - Psychoacoustic: Âm-tâm lý. - Perceptual coding : Mã hoá theo nhận thức, cảm giác. - Masking : Che. - Frequency masking : Che tần số - Temporal masking : Che thời gian - Masking threshold : Ngưỡng che. - Sub-band : Dải phổ nhỏ, chia bởi dải tần số - Spectrum : Phổ tần số - Tone : Âm - SBC : Sub Band Coding, Là cách mã hoá dựa trên các subband - Quantizer : bộ lượng tử hóa. - LPC : Linear Predictive Coding. - CELP : Code Excited Linear Predictor. - Lossless : Nén không tổn thất. - Lossy : Nén có tổn thất. {PAGE } - Threshold of hearing : Ngưỡng nghe. - Sensitive : Nhạy cảm. - Layer : Lớp, càng cao thì mức độ phức tạp càng tăng - Bitstream : Dòng bit - Signal-to-noise (s/n) : Tỉ số giữa tín hiệu và nhiễu - CD audio : m thanh CD - Mpeg audio : m thanh nén theo chuẩn Mpeg {PAGE } PHAÀN I LYÙ THUYEÁT CÔ BAÛN {PAGE } MỞ ĐẦU - GIỚI THIỆU ĐỀ TÀI Sự ra đời của chuẩn MPEG. Vào cuối thập niên 80, ngành công nghiệp âm thanh (audio) và hình ảnh (vidéo) phải đương đầu với một thực trạng qúa tải và bảo hòa của thò trường. Yêu cầu về những sản phẩm và dòch vụ mới là rất cần thiết cho nhu cầu phong phú và ngày càng gia tăng của người tiêu dùng. Khả năng lưu trữ dữ liệu của các thiết bò lưu trữ cùng các đường truyền giữa chúng không thể đáp ứng cho một sự bùng nổ thông tin trong tương lai nếu như không có một phương cách mới, một lược đồ mã hoá mới cho hình ảnh và âm thanh kết hợp. 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. Để tránh một cuộc chiến giữa các tiêu chuẩn bộc phát do 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, CD-i, Multi-session CD, Vidéo CD Một cuộc họp giữa Tổ chức Tiêu chuẩn Quốc tế (ISO) và y ban Kỹ thuật điện Quốc tế (IEC) vào năm 1992 đã thống nhất một tiêu chuẩn về mã hóa âm thanh và hình ảnh, gọi là chuẩn MPEG 1 (ISO/IEC 11172). MPEG 2 (ISO/IEC 13818) là chuẩn tiếp theo về âm thanh và hình ảnh vào 11- 11-1994 sau một cuộc họp kéo dài 5 ngày giữa ISO và ITC ở Singapore. MPEG 2 có một số khác biệt cơ bản với MPEG 1 như sau: - Chọn tốc độ lấy mẫu thấp hơn (16, 22.5 và 24 kHz). - m-tâm lý trong việc mã hóa đa kênh. Phần trình bày của luận văn chỉ nằm trong khuôn khổ "m 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ó 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. Kiến thức về Mpeg nằm rải rác và mênh mông trên mạng nên công việc tìm hiểu đề tài không thể tránh khỏi những thiếu sót, trong khi tài liệu về chuẩn này là vô cùng hạn chế, nếu không muốn nói là không có trên thò trường. {PAGE } CHNG 1. CÁC KIẾN THỨC CƠ BẢN VỀ ÂM THANH. I.1. NHỮNG KHÁI NIỆM CƠ BẢN - SÓNG CƠ 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ó 1 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ì trong đó không có môi trường đàn hồi. • 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. • Trường sóng: 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 1 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 {PAGE } 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 loãng 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. Nói chung vật rắn là 1 môi trường có tính chất đó. - 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ả 2 loại sóng. 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 đơn vò thời gian. b. Bước sóng λ: {PAGE } Là quãng đường mà sóng truyền được sau 1 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) 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) • 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) I.2. SÓNG ÂM. I.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 [...]... 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... bel b Mức cường độ âm (LI): Nếu gọi I làcường độ âm của âm đang xét và Io là cường độ âm của mức zê-rô qui ước của âm chuẩn thi mức cường độ âm LI bằng : LI = 10lg(I/Io) db I tính bằng W/m2 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/Po) db Trong đó: P :áp suất âm có ích của âm đang xét (N/m2) Po:áp suất âm của âm chuẩn ở ngưỡng nghe Thực tế áp suất âm là đại lượng cơ... 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... 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 gía trò 1 byte(có gía 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ó gía trò từ –32768 đến 32767) Điều này không có nghóa là file wave 16 bits sẽ nghe to hơn 256 lần file wave 8 bits, mà nó có nghóa là âm thanh được... 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... 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... 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ó... {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... 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...• 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 I.2.2 Đơn vò vật lý của âm thanh • Âm thanh hay tiếng động mà con người

Ngày đăng: 26/02/2015, 14:56

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan