Nhận dạng bản nhạc dựa trên việc phân tích ký âm

80 494 0
Nhận dạng bản nhạc dựa trên việc phân tích ký âm

Đ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

ĐỒ ÁN TỐT NGHIỆP NHẬN DẠNG BẢN NHẠC DỰA TRÊN PHÂN TÍCH KÝ ÂM 1 LỜI CẢM ƠN Đầu tiên em xin chân thành cảm ơn thầy Trần Minh Văn là giáo viên trực tiếp hướng dẫn và tận tình giúp đỡ tạo mọi điều kiện để em hoàn thành tốt đồ án tốt nghiệp này. Xin chân thành cảm ơn đến tất cả quý thầy cô trong bộ môn, cũng như khoa Khoa Nghệ Thông Tin và trường Đại học Nha Trang đã tận tình đào tạo trong những năm qua. Xin chân thành cảm ơn! Nha trang, ngày 7 tháng 6 năm 2011 Sinh viên thực hiện Trần Trung Triều. ĐỒ ÁN TỐT NGHIỆP NHẬN DẠNG BẢN NHẠC DỰA TRÊN PHÂN TÍCH KÝ ÂM 2 MỤC LỤC Contents PHẦN I : GIỚI THIỆU CHUNG 4 1. Giới thiệu chung 4 2. Đặt vấn đề 4 3. Chủ đề luận án 4 4. Phạm vi luận án Error! Bookmark not defined. PHẦN II : CƠ SỞ LÝ THUYẾT 7 CHƯƠNG 1. LÝ THUYẾT XỬ LÝ TÍN HIỆU SỐ 7 1.1. Tín hiệu số 7 1.2. Xử lý tín hiệu số (DSP- Digital signal processing) 8 Chương 2. GIỚI THIỆU CHUNG VỀ ÂM THANH SỐ 18 2.1. Âm thanh và đặc tính của âm thanh 18 2.2. Âm thanh số 19 2.3. Định dạng dữ liệu 21 2.4. Khuôn dạng lưu trữ 23 Chương 3. KHUÔN DẠNG LƯU TRỮ TỆP ÂM THANH 29 3.1. File định dạng Wave (*.wav) 29 3.2. File định dạng MIDI (*.mid) 33 PHẦN III : GIẢI PHÁP XỬ LÝ 39 Chương 4. XÂY DỰNG CƠ SỞ DỮ LIỆU 39 4.1. Cơ sở lý thuyết 39 4.2. Cấu trúc file *.3t 40 4.3. Xây dựng cơ sở dữ liệu 41 Chương 5. BIẾN ĐỔI FFT VÀ PHÂN TÍCH PHỔ 44 5.1. Biến đổi FFT 44 ĐỒ ÁN TỐT NGHIỆP NHẬN DẠNG BẢN NHẠC DỰA TRÊN PHÂN TÍCH KÝ ÂM 3 5.2. Phân tích phổ 46 Chương 6. RÚT TRÍCH KÍ ÂM VÀ NHẬN DẠNG TÊN BÀI HÁT 48 6.1. Rút trích kí âm 48 6.2. Nhận dạng tên bài hát 50 PHẦN IV: THIẾT KẾ VÀ CÀI ĐẶT CHƯƠNG TRÌNH 56 Chương 7 . PHƯƠNG PHÁP THIẾT KẾ 56 7.1. Khái quát chức năng 56 7.2. Cơ chế thực hiện 56 Chương 8. CÀI ĐẶT CHƯƠNG TRÌNH 59 8.1. Truy cập file wave 59 8.2. Truy cập file midi 61 8.3. Cài đặt thuật toán FFT Cooley-Tookey 63 8.4. Phân tích phổ tần số 66 8.5. Nhận dạng bài hát 69 Chương 9. HƯỚNG DẪN SỬ DỤNG 71 9.1. Giao diện chương trình 71 9.2. Tùy chọn chức năng 74 ĐÁNH GIÁ CHƯƠNG TRÌNH 75 1. Đánh giá chương trình 75 2. Hướng phát triển 76 3. Kết luận 77 Phụ lục A. GIẢI THÍCH THUẬT NGỮ 79 Phụ lục B. TÀI LIỆU THAM KHẢO 80 ĐỒ ÁN TỐT NGHIỆP NHẬN DẠNG BẢN NHẠC DỰA TRÊN PHÂN TÍCH KÝ ÂM 4 PHẦN I : 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 giải trí, 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 khi nó được phát lại. 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á. Về xử lý tín hiệu số, ngày nay các kỹ thuật xử lý tín hiệu số gần như đã được hoàn thiện, cả về lý thuyết và ứng dụng thực tiễn, xử lý tín hiệu số ứng dụng của nó là hầu như ở rất nhiều lĩnh vực, trong âm nhạc, quốc phòng an ninh, địa chất dự đoán động đất, … Trước những nền tảng đã có, thì việc xây dựng các ứng dụng áp dụng kỹ thuật xử lý tín hiệu số tác động lên file âm thanh số không phải là hiếm, nó đã được nhiều tổ chức, cá nhân nghiên cứu và cũng đã cho ra trên thị trường nhiều phần mềm hữu ích phục vụ cho một số công việc, chức năng cụ thể. 3. Chủ đề luận văn ĐỒ ÁN TỐT NGHIỆP NHẬN DẠNG BẢN NHẠC DỰA TRÊN PHÂN TÍCH KÝ ÂM 5 Trên cơ sở lý thuyết đã có, nhận xét rằng nội dung một bản nhạc là bao gồm tập các nốt nhạc (ký âm) được bố trí theo trật tự trong khuôn nhạc, kèm theo là những ký hiệu mô tả cho giai điệu, nhịp, phách, của bản nhạc đó. Hình minh họa: một bản nhạc gồm tập các nốt nhạc. Dựa trên tập nốt nhạc trong bản nhạc, các nhạc cụ được dùng khi phát một bản nhạc sẽ tạo thành một sóng âm thanh trong không khí mà tai người cảm nhận được, các thiết bị điện tử dùng kỹ thuật lấy mẫu và lượng tử hóa lưu sóng âm đó vào trong máy tính. Hình minh họa: file nhạc mô tả sóng âm của bản nhạc được phát. Âm thanh đã được số hóa, bằng cách áp dụng các kỹ thuật xử lý tín hiệu số trên file âm thanh này, phân tích ngược tìm lại các nốt nhạc của bản nhạc gốc ban đầu. Kết quả được đem so sánh với cơ sở dữ liệu gồm các bản nhạc để tìm ra tên bài hát. Đây chính là nội dung mà luận văn sẽ trình bày. Vậy với đề tài: “Nhận dạng bản nhạc dựa trên việc phân tích ký âm” thì nhiệm vụ chính là đi tìm hiểu lại các kỹ thuật xử lý tín hiệu số, và cấu trúc định dạng của một vài định ĐỒ ÁN TỐT NGHIỆP NHẬN DẠNG BẢN NHẠC DỰA TRÊN PHÂN TÍCH KÝ ÂM 6 dạng âm thanh số được lưu trữ trong máy tính, ưu nhược điểm của chúng. Sau đó sẽ xây dựng một chương trình sử dụng ngôn ngữ lập trình C#) nhận dạng một bản nhạc cụ thể. Nội dung chính sẽ đề cập đến những phần sau: - Xây dựng cơ sở dữ liệu bao gồm các file 3t từ file midi. - Áp dụng kỹ thuật xử lý tín hiệu số (DFT), cụ thể dùng thuật toán biến đổi nhanh FFT, tác động lên dữ liệu đầu vào là file thu âm, phân tích phổ đầu ra tìm tần số cơ bản. - Nhận dạng tìm tên bài hát dựa trên cơ sở dữ liệu và mảng các tần số cơ bản thu được. ĐỒ ÁN TỐT NGHIỆP NHẬN DẠNG BẢN NHẠC DỰA TRÊN PHÂN TÍCH KÝ ÂM 7 PHẦN II : CƠ SỞ LÝ THUYẾT CHƯƠNG 1. LÝ THUYẾT XỬ LÝ TÍN HIỆU SỐ 1.1. Tín hiệu số 1.1.1. Định nghĩa tín hiệu 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à hàm của một hay nhiều biến độc lập. Ví dụ: Tín hiệu âm thanh là sự biến thiên của áp suất theo thời gian P(t) hoặc cũng có thể coi tín hiệu âm thanh là sự biến thiên áp suất theo không gian P(x,y,z). 1.1.2. Phân loại tín hiệu a. Phân loại theo biến độc lập: - Tín hiệu liên tục theo thời gian: là tín hiệu có biến thời gian liên tục (nhận mọi giá trị trong một khoảng giá trị nào đó). - Tín hiệu rời rạc: là tín hiệu có biến độc lập thời gian chỉ nhận một số giá trị(Ví dụ: Các chỉ số thị trường chứng khoán, các số liệu khí tượng…). Nghĩa là tín hiệu có thể biểu diễn bằng một dãy số, hàm tín hiệu chỉ có giá trị xác định ở những thời điểm nhất định. Tín hiệu rời rạc (còn được gọi là tín hiệu lấy mẫu) thu được bằng cách lấy mẫu tín hiệu liên tục. b. Phân loại theo biên độ: - Tín hiệu liên tục theo biên độ: là tín hiệu mà hàm biên độ nhận bất kỳ giá trị nào. Ví dụ: Hàm x(t) = sin(t) nhận mọi giá trị trong khoảng [-1,1]. - Tín hiệu rời rạc theo biên độ hay còn gọi là tín hiệu được lượng tử hoá: là tín hiệu mà hàm biên độ chỉ nhận các giá trị nhất định. Ví dụ: x(t) = 0 với t < 0 và x(t) = 1 với t ≥ 0. 1.1.3. Định nghĩa tín hiệu số Từ đó ta có định nghĩa tín hiệu số: Tín hiệu số (Digital Signal) là tín hiệu có biên độ và thời gian rời rạc ĐỒ ÁN TỐT NGHIỆP NHẬN DẠNG BẢN NHẠC DỰA TRÊN PHÂN TÍCH KÝ ÂM 8 t x 3 2 -1 0 1 -2 -3 Hình 1.1 –Tín hiệu số 1.1.4. Hệ xử lý tín hiệu − Một hệ thống xử lý tín hiệu sẽ xác lập mối quan hệ giữa tín hiệu vào và tín hiệu ra: y = T[x]. Hình 1.2 –Mô hình một hệ xử lý − Phân loại hệ xử lý theo tín hiệu vào và tín hiệu ra: + Hệ rời rạc: là hệ xử lý tín hiệu rời rạc. + Hệ tương tự: là hệ xử lý tín hiệu tương tự. 1.2. Xử lý tín hiệu số (DSP- Digital signal processing) Xử lý tín hiệu số là việc xử lý trên những tín hiệu đã được biểu diễn dưới dạng chuỗi số. Các phép xử lý DSP chuẩn cơ bản là : FFT, lọc, decimation, interpolation (nội suy), convolution (tích chập),… 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 hóa 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 đó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. ĐỒ ÁN TỐT NGHIỆP NHẬN DẠNG BẢN NHẠC DỰA TRÊN PHÂN TÍCH KÝ ÂM 9 1.2.1. Phép biến đổi Fourier với tín hiệu liên tục Một tín hiệu liên tục được xây dựng trên cơ sở là tập hợp của các sóng hình sin có tần số, và chu kỳ khác nhau. Phép biến đổi Fourier với tín hiệu liên tục là đi phân tích tín hiệu tổng hợp này thành các thành phần tín hiệu cơ bản cấu thành nên chúng. Vì vậy với tín hiệu liên tục tuần hoàn theo thời gian thì kết quả của phép biến đổi Fourier sẽ cho ra một sóng hình sin có tần số tương ứng với tần số của tín hiệu đầu vào. Với tín hiệu liên tục không tuần hoàn thì ta có thể xếp chồng tín hiệu không tuần hoàn để tạo thành một tín hiệu liên tục tuần hoàn với chu kỳ là vô cùng lớn, vì thế kết quả của phép biến đổi Fourier bao gồm nhiều các thành phần con, mỗi thành phần mang một tần số cơ sở, và khi ta kết hợp tập các tần số cơ sở này sẽ cho ra lại tín liệu liên tục như ban đầu. Hình 1.1: Kết quả phép biến đổi Fourier với tín liệu liên tục được biểu diễn sang miền tần số Như vậy một tín hiệu liên tục bất kì có thể được phân tích thành những thành phần tần số cơ bản cấu thành nên chúng, với tín hiệu số được lấy mẫu và lượng tử hóa từ tín hiệu liên tục đó, thì cũng với phương pháp biến đổi Fourier trên tín hiệu số này ta cũng tìm được những thành phàn cơ sở, sau đây sẽ nói cụ thể hơn về phép biến đổi Fourier tác động lên tín liệu rời rạc 1.2.2. Biến đổi Fourier rời rạc (DFT - Discrete Fourier Transform) Như ta đã biết thì 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 ĐỒ ÁN TỐT NGHIỆP NHẬN DẠNG BẢN NHẠC DỰA TRÊN PHÂN TÍCH KÝ ÂM 10 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 hóa. 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 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 x p (n) tuần hoàn với chu kỳ N bằng cách xếp chồng tuần hoàn x(n): X p (n) = ∑ ∞ −∞= + i iNnx )( Ta có các công thức biến đổi Fourier như sau:  DFT: X(k) =      −≤≤ ∑ − = l¹i cßn k víi0 10).( 1 0 N n nk N NkWnx (1.1)  IDFT: x(n) =      −≤≤ ∑ − = − l¹i cßn nvíi0 10).( 1 1 0 N k nk N NnWkX N (1.2) Trong đó: Ví dụ minh họa phép biến đổi Fourier rời rạc: - Đầu vào phép biến đổi là tín hiệu rời rạc: - Kết quả sau khi biến đổi Fourier được mô tả dưới dạng tập các sóng sin và cosin, mỗi sóng sin, cosin đều có một tần số cụ thể: [...]... 2.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 v t lý c a âm là t n s và biên ây là m t m t ngu n phát ra m t âm có t n s f1, thì c tính c trưng riêng c a t ng ngu n phát âm Khi 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 âm khác... A TRÊN PHÂN TÍCH KÝ ÂM 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 10-12W/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. .. 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) 2.1.3 Âm lư ng c a âm. .. 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) Vì ph m vi tài ch c p n 2 khuôn d ng là wav và mid nên sau ây ch trình bày chi ti t v c u trúc c a 2 khuôn d ng trên 27 ÁN T T NGHI P NH N D NG B N NH C D A TRÊN PHÂN TÍCH KÝ ÂM 28 ÁN T T NGHI P NH N D NG B N NH C D A TRÊN PHÂN TÍCH KÝ ÂM Chương 3 KHUÔN D NG LƯU TR 3.1 File T P ÂM THANH nh d ng Wave (*.wav)... chơi riêng r t o ra nh ng sóng âm như sau: - Sóng âm ư c t o ra b i àn ghi ta: Ph t n s tương ng: - Sóng âm ư c t o b i kèn Hermonica: 24 ÁN T T NGHI P NH N D NG B N NH C D A TRÊN PHÂN TÍCH KÝ ÂM Ph t n s tương ng: -Sóng t ng h p khi c hai thi t b àn ghi ta và kèn Hermonica phát n t La như sau: Và ph t n s tương ng: 25 ÁN T T NGHI P NH N D NG B N NH C D A TRÊN PHÂN TÍCH KÝ ÂM Như v y vi c t ng h p nh... Cu i cùng, ta tính DFT c a tín hi u r i r c L m u Mu n tăng phân gi i c a ph r i r c, ta tăng chi u dài c a DFT b ng cách bù thêm s 0 vào cu i tín hi u r i r c trư c khi tính DFT 17 ÁN T T NGHI P NH N D NG B N NH C D A TRÊN PHÂN TÍCH KÝ ÂM Chương 2 GI I THI U CHUNG V ÂM THANH S 2.1 Âm thanh và c tính c a âm thanh 2.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... trí phân bi t c a màng nhĩ trên b m t gi ng như nó chuy n ng, 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 2.1.2 Đ cao c a âm. .. ng h p ra m t tín hi u tương ương i Fourier 16 ÁN T T NGHI P NH N D NG B N NH C D A TRÊN PHÂN TÍCH KÝ ÂM Xét cho cùng ph là m t công c toán h c như tích phân, dùng o hàm ây là công c gi i quy t m t s bài toán mà các công c truy n th ng khó khăn trong vi c s d ng Ch ng h n như trong bài toán phân tích ph c a tín hi u âm thanh ta có th rút trích ư c biên , t n s cơ b n c a m t n t nh c ư c phát Như v... nguy hi m t i ch t lư ng âm thanh, không k gi i nén Và ph m vi (gi i n th i gian tài ch x lý trên nh ng file âm thanh d ng không nén 2.4 Nh c s Nh c s là m t ph n nh n m trong ph m vi nh nghĩa c a âm thanh s , nói n âm thanh s là c p n t t c các lo i âm thanh trong t nhiên mà ã ư c lưu tr thành m t dãy s trong máy tính, còn nh c s ch c p n m t lo i âm thanh ó là âm nh c, vì th âm thanh s có nh ng tính... ng tính ch t thu c tính y, như ã c p ph n trên M t b n nh c có th ư c chơi b i nhi u nh c c t i cùng m t th i i m, tùy m i nh c c s cho ra nh ng âm thanh khác nhau, và các sóng âm thanh này xu t hi n t i cùng 23 ÁN T T NGHI P NH N D NG B N NH C D A TRÊN PHÂN TÍCH KÝ ÂM m t th i i m trong m t không gian gi ng nhau nên ư c t ng h p l i v i nhau t o thành sóng âm c a b n nh c hoàn ch nh Ví d m t b n nh . BIẾN ĐỔI FFT VÀ PHÂN TÍCH PHỔ 44 5.1. Biến đổi FFT 44 ĐỒ ÁN TỐT NGHIỆP NHẬN DẠNG BẢN NHẠC DỰA TRÊN PHÂN TÍCH KÝ ÂM 3 5.2. Phân tích phổ 46 Chương 6. RÚT TRÍCH KÍ ÂM VÀ NHẬN DẠNG TÊN BÀI. Nhận dạng bản nhạc dựa trên việc phân tích ký âm thì nhiệm vụ chính là đi tìm hiểu lại các kỹ thuật xử lý tín hiệu số, và cấu trúc định dạng của một vài định ĐỒ ÁN TỐT NGHIỆP NHẬN DẠNG BẢN. họa: một bản nhạc gồm tập các nốt nhạc. Dựa trên tập nốt nhạc trong bản nhạc, các nhạc cụ được dùng khi phát một bản nhạc sẽ tạo thành một sóng âm thanh trong không khí mà tai người cảm nhận được,

Ngày đăng: 15/08/2014, 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