BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC QUỐC TẾ HỒNG BÀNG
--------------------
PHẠM ĐÌNH TÀI
XÂY DỰNG CHƯƠNG TRÌNH
NHẬN DIỆN BÀI HÁT DẠNG MP3
QUA ĐOẠN GHI ÂM
CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH
LUẬN VĂN THẠC SĨ
NGƯỜI HƯỚNG DẪN KHOA HỌC
TS. VŨ THANH HIỀN
TP. HỒ CHÍ MINH – NĂM 2017
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC QUỐC TẾ HỒNG BÀNG
--------------------
PHẠM ĐÌNH TÀI
XÂY DỰNG CHƯƠNG TRÌNH
NHẬN DIỆN BÀI HÁT DẠNG MP3
QUA ĐOẠN GHI ÂM
LUẬN VĂN THẠC SĨ
TP. HỒ CHÍ MINH – NĂM 2017
CHUẨN Y CỦA HỘI ĐỒNG BẢO VỆ LUẬN VĂN
Luận văn tựa đề “Xây dựng chương trình nhận diện bài hát dạng MP3 qua đoạn ghi
âm” được học viên Phạm Đình Tài thực hiện và nộp nhằm thỏa mãn một trong các
yêu cầu tốt nghiệp Thạc sĩ ngành Khoa Học Máy Tính.
Ngày bảo vệ luận văn, TPHCM, ngày … tháng … năm 2017
Viện Đào Tạo Sau Đại Học
Người Hướng Dẫn KH
TS. Thái Hữu Tuấn
TS. Vũ Thanh Hiền
Ngày … tháng … năm 2017
Đại học Công Nghệ TP Hồ Chí Minh
Ngày … tháng … năm 2017
LÝ LỊCH CÁ NHÂN
1 – SƠ YẾU LÝ LỊCH
- Họ và tên:
Phạm Đình Tài
08 tháng 01 năm 1984
- Ngày sinh:
- Nơi sinh:
Khuyến Nông – Triệu Sơn – Thanh Hoá
- Tốt nghiệp PTTH tại Trƣờng Phan Bội Châu, T.T Krông Năng, huyện
Krông Năng, tỉnh Đắk Lắk
- Địa chỉ liên lạc: 26A, HT 49, KP1, phƣờng Hiệp Thành, quận 12, Tp. HCM
- Điện thoại: 0985.73.39.39
- Email:
[email protected]
2 - QUÁ TRÌNH HỌC TẬP:
THỜI GIAN
NƠI HỌC TẬP
2003 -2006
Trƣờng CĐSP Đắk Lắk
2006 - 2008
Trƣờng Đại học Mở Thành phố Hồ Chí Minh
3 - QUÁ TRÌNH CÔNG TÁC:
THỜI GIAN
2008 - 2013
2013 - Nay
NƠI CÔNG TÁC
442, Nguyễn Thị Minh Khai,
quận 3
CHỨC VỤ
Nhân viên Lan & Hardware
CV Phần Mềm Quang Trung,
Chuyên viên Quản trị hệ
quận 12
thống hạ tầng
------------------------------------------------------------ i --------------------------------------------------------
LỜI CAM ĐOAN
Tôi xin cam đoan đề tài “Xây dựng chương trình nhận diện bài hát dạng MP3
qua đoạn ghi âm” là công trình nghiên cứu của chính tôi.
Ngoại trừ những tài liệu tham khảo đƣợc trích dẫn trong luận văn này, tôi cam
đoan rằng toàn phần hay những phần nhỏ của luận văn này chƣa từng đƣợc công bố
hoặc sử dụng để nhận bằng cấp ở những nơi khác.
Không có sản phẩm, nghiên cứu nào của ngƣời khác đƣợc sử dụng trong luận
văn này mà không đƣợc trích dẫn theo đúng quy định.
TP. Hồ Chí Minh, ngày … tháng … năm 2017
Tác giả luận văn
Phạm Đình Tài
------------------------------------------------------------ ii --------------------------------------------------------
LỜI CẢM ƠN
Để thực hiện đƣợc luận văn này, em đã nhận đƣợc rất nhiều sự hƣớng dẫn, giúp
đỡ và góp ý quý báu từ quý thầy cô, bạn bè và đồng nghiệp.
Trƣớc hết, em xin gửi lời cảm ơn chân thành đến thầy TS. Vũ Thanh Hiền đã
định hƣớng và tận tình hƣớng dẫn giúp đỡ em hoàn thành luận văn này.
Em xin chân thành cảm ơn P.CNTT thuộc Ngân Hàng TMCP Á Châu và Trung
Tâm dữ liệu Datacenter Quang Trung đã tạo mọi điều kiện về mặt thời gian để em
từng bƣớc hoàn thành đề tài.
Nhân đây, em xin tỏ lòng biết ơn sâu sắc tới quý thầy cô trƣờng ĐH Quốc tế
Hồng Bàng đã truyền cho em những kiến thức quý báu trong những năm học vừa
qua. Đồng thời, em xin cảm ơn các bạn học viên lớp KHMT K2Đ1, xin cảm ơn gia
đình, bạn bè, đồng nghiệp đã ủng hộ, góp ý và giúp đỡ em trong quá trình thực hiện
đề tài nghiên cứu của mình.
Mặc dù đã cố gắng hoàn thành luận văn với tất cả sự nỗ lực nhƣng do hạn chế về
thời gian, chắc chắn luận văn vẫn còn những thiếu sót, rất mong nhận đƣợc những
đóng góp quý báu của thầy cô và các bạn.
TP. Hồ Chí Minh, ngày … tháng … năm 2017
Tác giả luận văn
Phạm Đình Tài
------------------------------------------------------------ iii --------------------------------------------------------
TÓM TẮT
Nhận diện âm thanh nói chung và nhận diện âm thanh qua đoạn ghi âm nói riêng
là một kỹ thuật nhận diện một phần nhỏ nội dung trong toàn bộ những âm thanh
đƣợc ghi âm từ nguồn tổng hợp cho trƣớc. Nhận diện âm thanh đã đi đƣợc những
bƣớc phát triển to lớn từ những năm trƣớc đây. Có nhiều nhiều công trình nghiên cứu
đƣợc đƣa ra nhằm tăng tính hiệu quả, kết quả ngày càng đƣợc hoàn thiện và có độ
chính xác cao.
Trong luận văn chủ yếu tập trong tìm hiểu quá trình chuyển đổi âm thanh, biến
đổi âm thanh, cách thức xử lý dữ liệu âm thanh, phân tích quá trình so khớp nguồn âm
thanh ghi âm với dữ liệu đƣợc lấy mẫu. Phân tích nhằm đƣa ra thuật toán nhận diện
những tần số ít âm thanh đặc trƣng, tiến hành lƣu trữ, so khớp và đánh giá quá trình
trả về kết quả.
------------------------------------------------------------ iv --------------------------------------------------------
ABSTRACT
An audio fingerprint in general and an audio fingerprint through the recording in
particular is the technique which identifies a small portion of all sounds that
recorded from a given source. An audio fingerprint had many tremendous
development steps from previous years. Many studies were published to increase
effectiveness and result is more perfect and accurate.
The thesis primarily focuses on understanding the process of sound converting,
sound modifying, the way to process sound data, analyzing the process which
compares recorded sound sources to sampled data. The analysis aims to provide an
algorithm that identifies low sound characteristic frequencies, conducts storage,
compares, and evaluates the result return process.
------------------------------------------------------------ v --------------------------------------------------------
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
TP. Hồ Chí Minh, ngày …. tháng …. năm 2017
------------------------------------------------------------ vi --------------------------------------------------------
NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN 1
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
TP. Hồ Chí Minh, ngày …. tháng …. năm 2017
------------------------------------------------------------ vii --------------------------------------------------------
NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN 2
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
TP. Hồ Chí Minh, ngày …. tháng …. năm 2017
------------------------------------------------------------ viii --------------------------------------------------------
NHẬN XÉT CỦA HỘI ĐỒNG PHẢN BIỆN
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
TP. Hồ Chí Minh, ngày …. tháng …. năm 2017
------------------------------------------------------------ ix --------------------------------------------------------
MỤC LỤC
CHƯƠNG 1: TỔNG QUAN .................................................................................. 1
1.1. TÌNH HÌNH NGHIÊN CỨU CÁC CHƢƠNG TRÌNH TÌM KIẾM BÀI HÁT
QUA ĐOẠN GHI ÂM HIỆN NAY ............................................................................ 1
1.2. CÁC VẤN ĐỀ CẦN GIẢI QUYẾT CỦA LUẬN VĂN ..................................... 1
1.3. CÁC PHƢƠNG PHÁP NGHIÊN CỨU CỦA LUẬN VĂN ................................ 2
1.4. NHỮNG ĐÓNG GÓP CHÍNH CỦA LUẬN VĂN ............................................. 3
1.5. BỐ CỤC LUẬN VĂN .......................................................................................... 3
CHƯƠNG 2: CƠ SỞ NGHIÊN CỨU ................................................................... 5
2.1. TỔNG QUAN VỀ ÂM THANH VÀ XỬ LÝ ÂM THANH ............................... 5
2.1.1. Tổng quan về âm thanh .................................................................................. 5
2.1.2. Các thuộc tính của âm thanh .......................................................................... 5
2.1.3. Đơn âm thuần và đa âm ( âm thanh thực ) ..................................................... 7
2.1.4. Nốt nhạc trong bài hát .................................................................................... 8
2.1.5. Các định dạng của âm thanh ......................................................................... 10
2.2. BÀI HÁT DẠNG MP3 ....................................................................................... 12
2.2.1. Tổng quan về định dạng MP3 ...................................................................... 12
2.2.2. Đặc tính của MP3 ......................................................................................... 13
2.2.3. Ứng dụng ...................................................................................................... 15
2.3. HỆ THỐNG NHẬN DIỆN BÀI HÁT ................................................................ 15
2.3.1 Kiến trúc chung hệ thống nhận diện bài hát .................................................. 15
2.3.2 Hệ thống nhận diện của luận văn .................................................................. 17
2.4. LỊCH SỬ PHÁT TRIỂN VÀ CÁC ỨNG DỤNG CỦA CHƢƠNG TRÌNH
TÌM KIẾM BÀI HÁT QUA ĐOẠN GHI ÂM HIỆN NAY...................................... 17
2.4.1. Chƣơng trình Shazam .................................................................................. 17
2.4.2. Chƣơng trình Soundhound .......................................................................... 19
2.4.3. MusicID ........................................................................................................ 19
2.4.4. Các công trình nghiên cứu trong nƣớc ......................................................... 20
2.5. ƢU, NHƢỢC ĐIỂM CỦA CHƢƠNG TRÌNH TÌM KIẾM BÀI HÁT QUA
ĐOẠN GHI ÂM. ....................................................................................................... 21
2.5.1. Ƣu điểm ........................................................................................................ 21
------------------------------------------------------------ x --------------------------------------------------------
2.5.2. Nhƣợc điểm .................................................................................................. 21
CHƯƠNG 3: PHƯƠNG PHÁP THỰC HIỆN .................................................. 22
3.1. HỆ THỐNG XỬ LÝ TÍN HIỆU SỐ .................................................................. 22
3.1.1. Khái niệm cơ bản trong một hệ thống xử lý số tín hiệu ............................... 22
3.1.2. Ƣu điểm của xử lý số so với xử lý tƣơng tự................................................. 23
3.1.3. Khái niệm tần số trong tín hiệu liên tục và tín hiệu rời rạc .......................... 24
3.1.4. Tín hiệu sin liên tục ...................................................................................... 24
3.1.5. Tín hiệu sin rời rạc ....................................................................................... 25
3.2 XỬ LÝ QUÁ TRÌNH LẤY MẪU ...................................................................... 26
3.2.1 Khái niệm quá trình lấy mẫu ......................................................................... 26
3.2.2. Sự lƣợng tử hóa ( quantization ) ................................................................. 30
3.2.3. Chuyển đổi miền thời gian và miền tần số................................................... 32
3.2.4. Kỹ thuật điều chế xung mã (PCM)............................................................... 34
3.2.5. Phép biến đổi Fourier (DFT) ........................................................................ 34
3.2.6. Phép biến đổi nhanh Fourier (FFT) ............................................................. 36
3.3. LƢU TRỮ DỮ LIỆU BÀI HÁT ........................................................................ 40
3.3.1. Xác định CSDL ............................................................................................ 40
3.3.2. Lƣu trữ tập hợp các bài hát lấy mẫu ............................................................. 40
3.4. ÁP DỤNG THAM BIẾN ĐỂ CHỐNG NHIỄU VÀ TẠP ÂM ......................... 42
3.5. SO TRÙNG ........................................................................................................ 44
3.5.1 CSDL nhận diện bài hát ................................................................................ 44
3.5.2. Kết quả so trùng ........................................................................................... 50
CHƯƠNG 4: THỰC NGHIỆM VÀ ĐÁNH GIÁ .............................................. 53
4.1. CHUẨN BỊ CHƢƠNG TRÌNH ......................................................................... 53
4.1.1. Cở sở dữ liệu thực nghiệm ........................................................................... 53
4.1.2. Ngôn ngữ lập trình chƣơng trình thực nghiệm............................................. 53
4.2. XÂY DỰNG CHƢƠNG TRÌNH TÌM KIẾM BÀI HÁT MP3 QUA ĐOẠN
GHI ÂM ..................................................................................................................... 53
4.2.1. Giao diện chính ............................................................................................ 53
4.2.2. Modun lấy mẫu, thêm bài hát vào trong CSDL ........................................... 55
4.2.3. Phân tích và tìm kiếm bài hát ....................................................................... 55
4.3. So trùng ...............................................................................................................58
------------------------------------------------------------ xi --------------------------------------------------------
4.3.1 Kết quả thực nghiệm chƣơng trình ................................................................58
4.3.2. So sánh thời gian xử lý lấy mẫu ....................................................................59
4.3.3. So sánh cách thức thực hiện các chƣơng trình trƣớc đây .............................61
4.4. ĐÁNH GIÁ .........................................................................................................62
4.4.1. Kết quả đạt đƣợc của luận văn ......................................................................62
4.4.2. Những hạn chế của luận văn .........................................................................63
4.4.3. Kiến nghị hƣớng phát triển tiếp theo ............................................................64
TÀI LIỆU THAM KHẢO .................................................................................... 65
------------------------------------------------------------ xii --------------------------------------------------------
DANH SÁCH CÁC KÝ HIỆU VÀ CHỮ VIẾT
*.XML
Định dạng file xml (Ngôn ngữ đánh dấu mở rộng)
A#
Nốt La thăng
A, B, C, D, E, F, G, H
Các ký tự dại diện nốt nhạc Đồ, Rê, Mi, Fa, Son
AAC
Định dạng âm thanh nén (A/D Advanced Audio Coding)
ABS
Giá trị tính trị tuyệt đối
Analog
Tín hiệu tƣơng tự
CBR, ABR, VBR
Các loại nén bittrate
CD
Đĩa CD (Compact Disc)
CNTT
Công nghệ thông tin
CSDL
Cơ sở dữ liệu
DFT
Biến đổi Fourier rời rạc (Dicrete Fourier Transform)
DSP
Bộ xử lý tín hiệu số (Digital Signal Processor)
DVD
Lƣu trữ đĩa quang (Digital Versatile Disc )
FFT
Biến đổi nhanh Fourier (Fast Fourier transform )
Hash
Mảng hash
IFT
Phép biến đổi ngƣợc Fourier
KEY
Khoá
MP3
Định dạng file nén (Move Picture Group -1 Audio
Layer III)
NoSQL
Ngôn ngữ truy vấn không có cấu trúc
O
Thời gian tính toán xử lý chƣơng trình
P/S
Bộ chuyển đổi từ song song
PAL, NTSC
Hệ máy tính tỷ lệ video 25 khung hình/s
PC
Máy tính cá nhân
PCM
Điều chế xung mã (Pulse Code Modulation)
Sample
Lấy mẫu
SQL
Ngôn ngữ truy vấn có cấu trúc
T/h
Tín hiệu
------------------------------------------------------------ xiii --------------------------------------------------------
WAV
Định dang âm thanh (Waveform)
MPEG
Move Picture Expert Group
------------------------------------------------------------ xiv --------------------------------------------------------
DANH MỤC CÁC BẢNG
Bảng 3.1: Thông số tham biến đƣa vào mảng Hash .................................................... 43
Bảng 3.2: Bảng so khớp tìm bài hát có thiên hƣớng giống nhau. ................................ 51
Bảng 4.1: Thông số thực nghiệm chƣơng trình lấy mẫu theo thời gian ...................... 60
Bảng 4.2: So sánh các chƣơng trình với Luận văn thực hiện ...................................... 62
------------------------------------------------------------ xv --------------------------------------------------------
DANH MỤC CÁC HÌNH VẼ VÀ ĐỒ THỊ
Hình 1.1: Minh họa các phƣơng pháp thực hiện trong luận văn ................................. 2
Hình 2.1: Các tần số âm thanh – các tầng tƣơng ứng ................................................. 5
Hình 2.2: Mô tả tần số âm thanh ................................................................................. 6
Hình 2.3: Mô tả đơn âm hình Sin 20 Hz ..................................................................... 7
Hình 2.4: Âm thanh thực đƣợc kết hợp nhiều hình Sin .............................................. 8
Hình 2.5: Sheet của bài hát ......................................................................................... 9
Hình 2.6: Các nốt nhạc cơ bản .................................................................................... 10
Hình 2.7: Kiến trúc cơ bản của hệ thống nhận diện bài hát ........................................ 16
Hình 2.8: Hệ thống nhận diện chƣơng trình ............................................................... 17
Hình 2.9: Mô hình của Shazam về hệ thống nhận diện bài hát qua đoạn ghi âm ....... 17
Hình 2.10: Giao diện trang web Shazam .................................................................... 18
Hình 2.11: Giao diện download chƣơng trình ............................................................ 18
Hình 2.12: Giao diện chƣơng trình SoundHound ....................................................... 19
Hình 2.13: Giao diện chƣơng trình MusicID .............................................................. 20
Hình 3.1: Xử lý tín hiệu tƣơng tự................................................................................ 22
Hình 3.2: Xử lý số tín hiệu .......................................................................................... 22
Hình 3.3: Tín hiệu sin liên tục..................................................................................... 25
Hình 3.4: Tín hiệu sin rời rạc ...................................................................................... 26
Hình 3.5: Lấy mẫu tín hiệu Analog............................................................................. 26
Hình 3.6: Bộ chuyển đổi A/D cơ bản .......................................................................... 27
Hình 3.7: Minh họa tín hiệu Analog – Digital ............................................................ 28
Hình 3.8: Mô hình số hóa sóng sin có tần số 20 Hz lấy mẫu tốt nhất......................... 29
Hình 3.9: Mô hình số hóa sóng sin có tần số 20 Hz lấy mẫu xấu ............................... 30
Hình 3.10: Lƣợng tử hóa 8 bit..................................................................................... 31
Hình 3.11: Lƣợng tử hóa 64 bit................................................................................... 31
Hình 3.12: Miền thời gian và miền tần số ................................................................... 33
Hình 3.13: Chuỗi Fourier của một sóng hình vuông có tần số 1 Hz........................... 33
Hình 3.14: PCM mẫu 16 bit strereo ............................................................................ 34
Hình 3.15: Điều chế xung lấy mẫu 16 bit, 2 kênh stereo ............................................ 38
Hình 3.16: Mô tả trƣớc và sau khi biến đổi chuỗi Fourier nhanh ............................... 40
------------------------------------------------------------ xvi --------------------------------------------------------
Hình 3.17: Mô hình quang phổ khi so trùng giai đoạn đầu ........................................ 45
Hình 3.18: Mô hình quang phổ khi so trùng giai đoạn giữa ....................................... 46
Hình 3.19: Mô hình quang phổ khi so trùng trả về trùng............................................ 46
Hình 3.20: Lƣợc đồ tần số đã đƣợc tinh giảm trong CSDL và đoạn ghi âm .............. 47
Hình 3.21: Tạo vùng lân cận theo quy ƣớc ................................................................. 48
Hình 3.22: Tạo điểm gắn kết từ vùng lân cận ............................................................. 49
Hình 4.1: Giao diện chính chƣơng trình ..................................................................... 54
Hình 4.2: Quá trình lấy mẫu bài hát mới vào trong CSDL ......................................... 55
Hình 4.3: Phân tích quá trình nhận diện bài hát .......................................................... 56
Hình 4.4: Kết quả hiển thị theo list danh sách ............................................................ 56
Hình 4.5: Kết quả trả về khi kết thúc quá trình nhận diện ............................................ 57
Hình 4.6: Hoán chuyển trạng thái 2 nút để kết thúc quá trình lấy mẫu ........................ 57
Hình 4.7: Kết quả tốt nhất ............................................................................................. 57
Hình 4.8: Đồ thị mô tả tần số trong CSDL ................................................................... 58
Hình 4.9: Đồ thị so trùng dữ liệu lấy mẫu và dữ liệu trong CSDL ............................... 58
Hình 4.10: Đồ thị thiên hƣớng trùng lắp đoạn lấy mẫu và dữ liệu trong CSDL........... 59
Hình 4.11: Biểu đồ kết quả kiểm tra độ chính xác........................................................ 61
------------------------------------------------------------ xvii --------------------------------------------------------