Mé dau Lido chon dé tai Âm nhạc là một hình thức nghệ thuật không thể thiều trong đời sống của con ngư Một trong những cách mã các nhạc sĩ thường sảng tác nhạc là ghỉ âm hoặc ghỉ hình k
Trang 1
TRUONG DAI HỌC SƯ PHẠM TPHCM
KHOA CÔNG NGHỆ THÔNG TIN
DUONG TIEN
DOAN MINH NHAT
UNG DUNG THUAT TOAN THEO DOI CAO DO DON AM DE TU DONG HOA Ki AM NHAC
KHOA LUAN TOT NGHIEP
TP.HO CHi MINH - NAM 2023
Trang 2
TRƯỜNG ĐẠI HỌC SƯ PHẠM TPHCM
KHOA CÔNG NGHỆ THÔNG TIN
DƯƠNG TIÊN
ĐOÀN MINH NHẬT
UNG DUNG THUAT TOAN THEO DOI CAO DO DON AM DE TY DONG HOA ki AM NHAC
CHUYEN NGANH: KHOA HỌC MÁY TÍNH
KHÓA LUẬN TÓT NGHIỆP
NGƯỜI HƯỚNG DÁN KHOA HỌC: TS NGUYEN VIET HUNG
TP.HCM - NĂM 2023
Trang 3
Đầu tiên, chúng tôi bày tỏ lòng biết ơn đến TS Nguyễn Viết Hưng đã hướng dẫn, động
suốt quá trình nghiên cứu, Qua đó, chúng tôi được học hỏi, tích lũy nhiều kiến thức,
kinh nghiệm chuyên môn để phục vụ cho nghiên cứu nảy
Chúng tôi xin chân thành cảm ơn các quí Thầy, Cô trong khoa Công nghệ Thông tin
truyền đạt kiến thức trong những năm chúng tôi học tập ở trường Được tham gia học
tập, tích lầy kiến thức tại Khoa Công nghệ Thông tin trường Đại học Sư Phạm TPHCM
là một trải nghiệm tuyệt vời và vinh dự của chúng tôi
Chúng tôi cũng xin phép gửi lời cảm ơn đến TS Phan Lê Sơn, một đồng nghiệp đã giúp
đỡ chúng tôi rat nhiều về chuyên môn
Cuối cùng, chúng tôi xin dành lời cảm ơn đến gia đình, bạn bè đã động viên chúng tôi hoàn thành khóa luận tốt nghiệp nảy
Xin chân thành cảm ơn!
Tp Hồ Chí Minh, ngày 11 tháng 3 năm 2023
Trang 4
Y nghia khoa hge va thye tiễn
Ý nghĩa thực tiễn
Cấu trúc khóa luận
Chương 1: Cơ sở lí thuyết
1.1 Các khái niệm liên quan trong âm nhạc
1.1.1 Lí thuyết âm nhạc
1.1.2 Dinh dang MIDI
1.1.3 Chuẩn kí hiệu cao độ khoa học và A440.,
Trang 51.2 Xử lí tín hiệu sô
1.2.1 Các khái niệm chung
1.2.2 Phép biến đổi Fourier rời rạc
1.2.3 Thuật toán biến đôi Fourier ngắn hạn
1.2.4 Spectrogram và Mel-Spectrogram
1.3 Học máy và Học sâu
1.3.1 Học máy
1.3.2 Học sâu
1.4 Mạng nơ-ron nhân tạo và các mô hình Học sâu
1.4.1 Convolutional Neural Networks
1.4.2 Recurrent Neural Networks va Gated Recurrent Unit: 1.4.3 Co lutional-R‹ Neural Network: 31
1.5 Ngôn ngữ lập trình Python và các thư viện hỗ trợ
1.5.2 PyTorch
1.5.3 Mido 3 1.5.4 Các thư viện xử lí tín hiệu số
Chương 2: Tổng quan và tình hình nghiên cứu
2.1 Tổng quan về lĩnh vực Truy hồi Thông tin Âm nhạc
Trang 62.3 Một số thành tựu trong lĩnh vực Truy hồi Thong tin am nhac 2.3.1 Google MusicLM
3.5.3 Raw pitch accuracy
3.5.4 Raw chroma accuracy
3.5.5 Overall accuracy
Chương 4: Thiết lập ứng dụng kí âm tự động
4.1 Hậu xử lí kết quả từ mô hình rút trích giai điệu
Trang 7Chương 5: Thực nghiệm và kết quả
5.1 Môi trường thực nghiệm
Trang 8Convolutional-Recurrent Neural Network Discrete Fourier Transform Fast Fourier Transform
Gated Recurrent Units
International Society of Music Information Retrieval
Long Short-term Memory
Musical Instrument Digital Interface Music Information Retrieval Music Information Retrieval Evaluation eXchange
Overall Accuracy
Raw Chroma Accuracy
Recurrent Neural Networks
Raw Pitch Accuracy
Scientific Pitch Notation
Short-time Fourier Transform
Voicing False Alarm
Voicing Recall
Trang 9Bang:
Bang 3.1: Thống kê các bộ dữ liệu thu thập được
Bảng 5.1: Các tham số huấn luyện mô hìnl
Bảng 5.2: Các tham số huấn luyện
Bảng 5.3: So sánh kết quả mô hình rút trích giai điệu của chúng tôi (Thesis2023) đối với các nghiên cứu khác
Biểu đồ:
Biểu đỏ 3.: Sự phân bố thể loại của MedleyDB [5]
Biểu đồ 3.2: Sự phân bố dữ liệu MedleyDB của các tập train, validation va test
Hình ảnh:
Hình 1.1: Các thông số điện tử trên đản piano 88 phim [39
Hình 1.2: Một ban nhac “Cake walk from the Follies of 1911” trén dain piano [1] L5
Hinh 1.3: Signal, m6t phin mém mi nguén mé dé chinh sira MIDI [2] 16
Hình 1.4: Các chú thích theo các định nghĩa giai điệu 1 (trên cùng), giai điệu 2 (chính giữa) và giai điệu 3 (đưới cing), phin mém sir dung li Sonic Visualizer (4)
Hình 1.5: Dạng sóng của các tín hiệu
Hình 1.6: Các thông số của Short-time Fourier Transform (chinh sửa từ [6])
Hình 1.7: Ap dung ham cửa số Hann (chính giữa) đẻ làm cho hai đầu của tín hiệu mang cùng một giá trị 0 [6]
Trang 10Transform 24 Hình 1.9: Spectrogram (a) và Mel-spectrogram (b) của một của tệp âm thanh trong bộ
dữ liệu MedleyDB
Hình 1.10: Minh hoạ một mạng nơ-ron nhân tạo [ 10]
Hình 1.11: Minh họa một mạng nơ-ron tích chập [12]
Hình 1.12: Kiến trúc của mạng nơ-ron hồi qui [13]
Hinh 1.13: Co ché Gated Recurrent Units [17]
Hình 1.14; Minh hoạ một mang no-ron tích chập hồi qui (18)
Hình 2.1: Các nhiệm vụ của lĩnh vực Truy hồi Thông tin Âm nhạc Hình 2.2: MusieLM, một mô hình sinh ra âm nhạc dựa vào nội dung văn bản Hình 2.3: Giao diện của Basic Pitch
Hình 3.1: Sơ đồ luồng các thành phần của ứng dụng kí âm tự động
Hình 3.2: Các bước tiền xử lí dữ liệu
Hình 3.3: Cấu trúc một patch gồm 210 khung hình phân tích, mỗi khung hình phân tích
có thời lượng 0.058s
Hình 3.4: Mô hình rút trích giai điệu đề xuất
Hình 3.5: Kết quả sau mỗi khối CNN,
Hình 3.6: Minh họa cách tính voicing recall
Hình 3.7: Minh họa cách tính voicing recall
Hình 3.8: Minh hoa raw pitch accuracy trên bản phim piano
Trang 11với đản piano 88 phím
Hình 3.10: Minh họa cách tính overall accuracy
Hình 4.1: Minh họa gộp các khung hình phân tích có giá trị giống nhau sau khi đã kéo
dan cdc khung hình phân tích thành mảng một chiều
Hình 4.2: Loại bỏ các khung hình phân tích không có giai điệu
Hình 4.3: audio2midi, chương trình kỉ âm tự động của chủng tôi Hình 4.4: Kết quả kí âm (màu xanh lá) so với chú thích (màu trắng) của bải hát
Auetioneer_OurFutureFaces, được biểu diễn trên Sonic Visualizer .60
Hình 4.5: Kết quả kí âm của bài hát Auetioneer_OurFutureFaces, được biểu diễn trên
Trang 12Lí do chon dé ti
Âm nhạc là một hình ệ không thể thiế: đời sống cú i, Mot trong những cách mả các nhạc sĩ thường sảng tác nhạc lả ghỉ âm hoặc ghi hinh kém âm viết thành một bản nhạc, Một bản nhạc có thể hiểu là một bán hướng dẫn nhạc công chơi cũng mang tính lưu trừ cũng như tỉnh lịch sử
KPa V4) ghữ0E6h ng wo , \ sốc hoặc đãi iêu độ tấ nhạc đó có thể chơi trên nhạc cụ khác Để kí âm một bản nhạc, nhạc sĩ không chỉ cần có
trường độ của âm thanh được phát ra Dó đó, quá trình nảy tốn rất nhiều thời gian, công sức vả cũng đòi hỏi trình độ âm nhạc tốt
Chúng tôi chọn để tài “Ứng dụng thuật toán theo dõi cao độ đơn âm để tự động hóa hát của họ một cách tự động đề giảm thời gian sáng tác Đồng thời chúng tôi cũng muốn
âm thanh cũng như lĩnh vực Truy hồi Thông tin Âm nhạc
Mục tiêu nghiên cứu
Nghiên cứu nảy nhằm mục đích tìm hiểu, áp dụng kiến thức của chúng tôi để xây dựng
âm nhạc tự động dưới dang MIDI
Trang 13'Từ mục tiêu trên
« _ Tìm kiểm vả thu thập dữ liệu âm nhạc chứa chủ thích giai điệu phủ hợp
* _ Xây dựng mô hình Học sâu đẻ rút trích giai điệu của bài hát
chúng tôi chỉ rút trích giai điệu chính của bài nhạc với các thông tin sau:
«_ Cao độ của nốt nhạc gồm 88 nốt nhạc dựa trên bàn phím piano 88 phim
© Trường độ của nốt nhạc
©_ Thời điểm mà nốt nhạc của giai điệu chính xuất hiện Chúng tôi sẽ không rút trích các khái niệm trừu tượng như phương pháp chơi nhạc như một bản nhạc
Ý nghĩa khoa học và thực tiễn
Ý nghĩa khoa học
Đống 800 V468 hiên cửu sos vi ur đổ của siai điều chink trong bải hát Đóng góp vào quả trình nghiên cứu ứng dụng AI vào trong lĩnh vực âm
nhạc.
Trang 14Giúp nhạc sĩ kí âm lại phần ghi âm nhạc cụ của họ để giảm thời gian sáng tác bải hát Giúp cho con người dễ dàng học hỏi nhạc lí thông qua ứng dụng nảy Cấu trúc khóa luận
Chương Mở đầu
Chương nảy giới thiệu tổng quan về để tải và cũng là chương hiện hành Nội dung : lỉ đo chọn đề tải, mục tiêu nghiên cứu, nhiệm vụ nghiên cứu, phạm vỉ
chương bao gỗi
nghiên cứu, ý nghĩa vả cấu trúc của khóa luận
Chương 1: Cơ sở lí thuyết
Chương này giới thiệu vẻ giải thích vé các kiển thức được sir dung trong dé tai nay, bao
gdm:
© Métsé kign thức về lí thuyết âm nhạc
« _ Các khái niệm, phương pháp trong lĩnh vực xử li tín hiệu số
® _ Kiến thức về lĩnh vực Học máy, Học sâu và các mạng nơ-ron nhân tạo
« _ Ngôn ngữ lập trình Python và các thư viện hỗ trợ
Những kiến thức trên sẽ là tiền đề để phát triển một mỏ hình Học máy trích xuất cao độ của giai điệu cũng như ứng dụng nó để tạo ra một hệ thống kí âm tự động Chương 2: Tổng quan và tình hình nghiên cứu
Chương nảy giới thiệu tổng quan vẻ lĩnh vực nằm trong phạm trù cúa để tải lả Truy hồi khăn trong lĩnh vực, các công trình và các phương pháp nghiên cứu đã có liên quan đến việc rút trích cao độ vả ứng dụng kí âm tự động
Chương 3: Mô hình rút trích cao độ giai điệu chính từ bài hát
Trang 15đó chúng tôi cũng đề xuất một mô hình rút trích giai điệu và giải thích phương pháp tiền
xử lí dữ liệu
Chương 4: Thiết lập ứng dụng kí âm tự động
Chương này mô tả phương pháp hậu xử lí kết quả của mô hình rút trích giai điệu và xây dựng một ứng dụng kí âm cơ bản bằng cách biến đổi kết quả đã hậu xử lí sang định dạng
MIDI
Chương 5: Thực nghiệm và kết quả
Chương này sẽ mô tả quá trình thực nghiệm, hướng dẫn cài đặt, đồng thời nhận xét và
sánh với các nghiên cứu khác
Chương 6: Kết luận
Chương nảy kết luận những điều đã làm được và những hướng phát triển đối với mô hình trích xuất cao độ giai điệu và ứng dụng kí âm
Trang 161.1 Các khái niệm liên quan trong âm nhạc
Lí thuyết âm nhạc
Ki ấm là một thuật ngữ dùng trong lĩnh
vực âm nhạc, chỉ việc ghi chép lại âm
hiệu âm nhạc Ví dụ: người A đang hát
nghe vi lại các nốt nhạc của người A
hát thành một bản nhạc, việc nghe và ghỉ
viết trên giấy hoặc ghi chép lại sử dụng
MIDI
“Âm sắc là một đặc trưng sinh lí của âm
thanh, giúp ta phân biệt âm do các nguồn
khác nhau phát ra Ví dụ, tiếng đản piano
cao độ vả âm lượng, thì âm sắc lả chất
chúng ta phân biệt được sự khác nhau
thanh phụ thuộc vào đạng sóng của âm
thanh, nó thay đôi theo số lượng các dải
tần số phụ hoặc các dải tằn số cộng hưởng
Trang 17cing bao gdm nhiéu hon mot tin số và hầu hết các tần số bổ sung nảy được gọi là dải tấn số cộng hưởng
Not nhac ndi chung 1a cdc ki higu duge sir dung dé biéu thi thoi gian tuong déi về cao La ) hoặc trường độ (nốt trỏn, nốt đen ) của chỉnh nó
Cao độ là độ cao, thấp của một âm thanh mà tai người có thể phân biệt được Cao độ dạng sóng của một âm thanh vả được định lượng bằng tần số (Hz) Trong bải viết này,
chúng tôi sẽ sử dụng 2 thuật ngữ cao độ và tần số cơ bán với cùng một ý nghĩa Trong
âm nhạc phương Tây, các kí hiệu chữ cái A,B,C,D.E,G,F kết hợp với các chữ số được
sử dụng để kí hiệu cao độ của một nốt nhạc, cách kí hiệu này được gọi là chuẩn kí hiệu
cao độ khoa học
Trang 18nhạc đỏ kết thúc
1.1.2 Dinh dang MIDI
Giao dién ki thudt số dành cho nhạc cu (tieng Anh: Musical Instrument Digital Interface, viết tắt là MIDI) là một chuẩn về nghỉ thức giao thông điện tứ định rõ các nết âm nhạc
trong nhạc cụ điện tử như là bộ tổng hợp chính xác vả ngắn gọn, để nhạc cy điện tử và
tệp MIDI có kích thước
nốt nào được chơi khi nào vả cách chơi Điều nảy giúp cho cả:
nhỏ hơn nhiều vả trở nên lí tưởng để chia sé thong tin âm nhạc giữa các ứng dụng tương
Trang 19tả khác có thể được lưu trữ cùng với dữ liệu MIDI
Có nhiều loại khác nhau Ở cấp độ thắt, các thông điệp
phản loi la Thong điệp Kênh hoặc Thông điệp Hệ he ‘Thang điệp Kênh được sứ
được gửi trên một kênh cụ thể vả chỉ ảnh hưởng đến các thiết bị được định cấu hình để nhận thông tin trên kênh đó, Sau đây là một số loại thông điệp Kênh:
© Note On va Note OfT được sử dụng đề kích hoạt vả tắt một nốt nhạc cụ thê
© _ Polyphonic Key Pressure cho phép điều chỉnh độ mạnh yếu của từng nốt nhạc
riêng biệt trên cùng một kênh
« _ Control Change cho phép điều chỉnh các thông số khác nhau cúa âm thanh như
âm lượng, cân bằng trái/phải và hiệu ứng
«_ Program Change cho phép thay đổi chương trình (chẳng hạn như chọn một loại nhạc cụ khác)
© Channel Pressure cho phép diéu chinh độ mạnh yếu của tắt cả các nốt nhạc trên cùng một kênh
* _ Pitch Bend cho phép thay đổi cao độ của tắt cả các nốt nhạc trên cùng một kênh giây trên mỗi nốt đen hay nót phần tư (4) Nều không có thông điệp Set Tempo
trong tệp tin MIDI, nhịp độ mặc định lả 500000 micro giây trên mỗi not nhac
phân nứa, tương đương với 120 nhịp trên mỗi phút
“Thông điệp Hệ thống được sử dụng đẻ gửi thông tin không liên quan trực tiếp đến các gồm các thông tin như đẳng bộ hóa thời gian và thiết lập chung
Để xây dựng một file MIDI cơ bản, ta cẩn ít nhất hai loại thông điệp Kênh: Note On và Note Off để kích hoạt và tắt các nốt nhac.
Trang 20tin hiệu MIDI từ các đàn điện tử cũng như mô phỏng chúng để cho người đùng để dàng nguyên (Hình 1.1)
1.1.3 Chuẩn kí hiệu cao độ khoa học và A440
Chuẩn kỉ hiệu cao độ khoa học (tiếng Anh: Seientific Pitch Notation, viết tắt là SPN) là
€.D, E, F, G, A, B (với dẫu thăng # hoặc giảng b nếu cần) và một số nguyên xác định xác định một nốt nhạc theo kí hiệu văn ban thay vi tin s6, trong khi cùng lúc tránh các
guitar,
Chuẩn 4440 là một chuẩn về cao độ âm nhạc tương ứng với tần số âm thanh 440 Hz,
phục vụ như một chuẩn điều chỉnh cho nót nhạc A trên nốt C giữa Nó được chuẩn hóa bởi Tổ chức Tiêu chuẩn Hóa Quốc tế với tên gọi ISO 16
Nất C giữa (tiếng Anh: Middle C) là nốt nhạc C nằm giữa hai dãy phím trắng của đản
14 C4 vi nó nằm trong quãng âm thứ tư trên đàn piano tiêu chuẩn 88 phím Như vậy, theo chuẩn A440 thì nốt A4 sẽ mang giá trị là 440 Hz
Số quảng âm tăng lên ï khi có sự thăng hoa từ nốt B sang nốt C Do đó, nốt A0 chỉ đến
nốt A đầu tiên trên nốt C0 Ví dụ: C4 là một nốt trên B3 va AS la mot ndt tren GS
1.1.4 Giai điệu
Giái điệu là một khái niệm trừu tượng và tới nay vẫn còn
hả 2 pera 6 ra Abin h là một vấn để cần đang được ane dd; MIR Một định nghĩa phố biến [3] được sử dụng trong cộng đồng MIR cho rằng "giai điệu là chuỗi
18
Trang 21nga một bản nhạc đa điệu, và người đó sé cho rang chuỗi âm thanh đơn đó là bản chât
của bản nhạc đa điệu” Dịnh nghĩa này vẫn còn mang tính chủ quan, vì những người
nghe khác nhau cỏ thế ngân nga các phần khác nhau sau khi nghe cùng một bài hát (ví
dụ: giọng ca chính so với guitar solo),
trích giai điệu (sẽ được giới thiệu chỉ tiết ở chương 3.2), được phát biều như sau: "Đường
[SJ Cũng giống như định nghĩa giai điệu trên, giai điệu trong định nghĩa này là một thể tại mỗi thời điểm trong bản nhạc Hình 1.4 được tạo ra trên phần mềm Sonic MedleyDB cé tên là Auctioneer_OurFutureFaces va cdc chi thich tương ứng, biểu diễn trên cho thấy sự khác biệt giữa các định nghĩa giai điệu trong tập dữ liệu MedleyDB:
19
Trang 22suốt bải hát (trong trường hợp này là giọng hát của ca sĩ)
«_ Định nghĩa 2 kết hợp chú thích tẫn số của các nhạc cụ thành một đường chú thích day nhất,
Định nghĩa 3 bao gồm hai chú thích tần số của nhiều nhạc cụ độc lập với nhau
trên cùng một bải hát
Mặc dù yếu
(chúng ta định nghĩa chiếm ưu thể như thế nào?), chủng tôi quyết định chọn định nghĩa
hủ quan không thể hoản toản loại trừ ngay cả trong định nghĩa này
nảy để phủ hợp với phạm vi kiến thức của chúng
1.2 Xử lí tín hiệu số
1.2.1 Các khái niệm chung
Lấy mẫu là quả trình chuyển đổi một tin hiệu liên tục thành một tin hiệu rời rạc Quá
trình nảy bao gồm việc đo giá trị của tín hiệu liên tục ở các khoảng thời gian đều, được
sọi là chu kỉ lấy mẫu Tín hiệu rời rac thu được là một chuỗi các số biểu diễn biên độ của tin hiệu liên tục tại mỗi thời điềm lắy mẫu
Tân số lấy mẫu là tốc độ lẫy mẫu của tín hiệu liên tục, thường được đo bằng mẫu trên
giây (Hz) Việc chọn tẫn số lấy mẫu là quan trọng vì nó ảnh hưởng đến độ chính xác mà
tín hiệu rời rạc có thé biểu điễn tín hiệu liên tục ban đầu
"Theo định lí Lấy mẫu Nyquist-Shannon, đẻ biểu diễn chính xác một tin n tục có
giới hạn băng thông, tin hiệu liên tục đó phải được lẫy mẫu với một tan số lẫy miu it
la tan sé Nyquist
Trang 23Phép biển đổi Fourier (tiếng Anh: Fourier Transform) là một phép toán phân rả một tin phiên bản rời rạc của phép biến đổi này gọi li phép biển doi Fourier rời rạc (tiếng Anh: chuỗi W số phức đại điện cho một tín hiệu số và tạo ra một chuỗi M số phức mới đại diện cho các tằn số thành phần của tín hiệu đầu vào lảm đầu ra
số 128, 384, 2048 và 2304 Hz với các biên độ khác nhau và một sóng hỗn hợp được tạo
Trang 24vả biên độ của chúng (Hình 1.8a)
“Tuy nhiên, hạn chế của phép biến đổi Fourier rời rạc chính là ta chỉ phân tích được các
tần số thành phần của tín hiệu trên toản thời lượng của tin hiệu đó mà không biết các tần
số đó xuất hiện tại thời điểm nảo trong tín hiệu
1.2.3 Thuật toán biến đỗi Fourier ngắn hạn
Thuật toán biển đổi Fourier ngắn
han (tiéng Anh: Short-time Fourier a
‘Transform, viet tit li STFT) la mot f
chuỗi các biến đổi Fourier được thực
khoảng thời gian đều nhau (gọi là
cửa sổ) Chính vì thể, STET cung cấp
tín hiệu không phải là một sóng tuần hoản, tức là điểm bắt đầu và kết thúc của tín hiệu
không cùng một giá trị
Thuật toán STFT gồm ba thông số chỉnh:
* Kich thude khung hinh (frame size hay ny,,): 1a 86 mau tín hiệu được lấy tử tin
hiệu ban đầu để thực hiện DFT Kich thude này cảng lớn thì phổ tín hiệu thu
được cảng chỉ tiết, nhưng chiều thời gian sẽ bị kẻo dăn
Trang 25được lấy giống với kích thước khung hình) cửa số trong đây là một vector trọng
số đề chuẩn hóa tín hiệu trước khi thực hiện DFT, cửa số thường được dùng là
cửa sô Hann (Hình 1.7)
* Bude nhay (hop size): la sé mau tin hiệu mả cửa số di chuyển sang phải để tiếp tục thực hiện DFT Đề đảm báo thông tin không bị mắt khi áp dụng hàm cửa số, khoáng một nửa Diểu này giúp ta lẫy được thông tỉn bị mắt ở các đoạn đầu và
đoạn cuối của mẫu tin hiệu ở các khung binh kể bên nó,
4 ” _ ” - = Hình 1.7: Áp dụng hảm cửa số Hann (chính giữa) đẻ lảm cho hai đầu của tin hiệu
Trang 26fi hop size 2) Các phổ tần số thay đồi theo thời gian này thường được biểu diễn trực quan bằng một
spectrogram hay mel-spectrogram (Hinh 1.8b va Hinh 1.8c)
1.2.4 Spectrogram và Mel-Spectrogram
Spectrogram la biéu dé nhigt biéu dién truc quan tin sé cua mét tin higu nhat định va
thời gian Vige str dung Spectrogram rit hau ich trong vige phân tích các tín biệu âm thanh có cấu trúc phát triển tạm thời theo thời gian tuần hoàn Kết quả sau khi áp dụng phép bién déi Fourier Transform (a), Spectrogram (b) và Mel-spectrogram (c}
Mel spectrogram li m6t spectrogram được biểu diễn trên thang mel thay vì miễn tắn số Thang mel là một thang đo dựa trên sự cảm nhận của con người về các nốt nhạc được
Trang 27tai người không cảm nhận tần số trên thang tuyến tính [8, 9] và chúng ta đễ nhận thấy
sự khác nhau giữa các tằn số thấp hơn là tằn số cao Ví dụ, chúng ta có thể dễ đảng nghe được 4 âm thanh khác nhau với các tin s6 100, 200, 300, 400 Hz được chơi củng một
chỉ nghe thấy ! âm thanh, mặc dù khoảng cách giữa các tần số là như nhau trong cá 2
trường hợp trên Việc thang mel mô phỏng cách mả con người cám nhận âm thanh cũng chính là lí do nó cũng được sử dụng trong các ứng dụng Học máy để phân tích âm thanh
Hình I.&b vả Hinh 1.§c mô tả cách biểu diễn tần số theo thời gian cia mét spectrogram
va mel spectrogram trén m6t tin hiệu hỗn hợp đẻ cập ở Hình 1.8a Ta có thể thấy khoảng được biểu điễn khác nhau ở mel spectrogram mặc dủ hai khoảng cách nảy lả giống nhau
Trang 281.3.1 Học máy
Học máy (tiếng Anh: Machine Learning) là một phân nhánh của trí tuệ nhân tạo (AI) cẩn được lập trình cụ thể Nó hoạt động bằng cách sử dụng các thuật toán đẻ phân tích của con người
Một trong các loại chính của Học máy là học có giám sát (supervised machine learning)
à học không gi i i Trong hoe c6 giim sát, mô hình
được huấn luyện trên một tập dữ liệu đã được gán nhãn và sau đó được sử dụng đẻ dự
đoán kết quả cho dữ liệu mới Ngược lại, trong học không giám sát, mô hình được huắn trúc trong dữ liệu
Trong học có giám sát, có hai loại bài toán chính: phân loại (classification) và hồi qui mẫu dữ liệu mới Ví dụ, chúng ta có thể xây dựng một mö hình phân loại dé dự đoán này, nhăn lớp la “thư rác” hoặc *không phải thư rác”, Trong hồi qui, mục tiêu là dự đoán hình hồi qui để dự đoán giá nhà dựa trên các thông tin như diện tích, số phòng ngủ vả vị
trí Trong trường hợp nảy, giá trị liên tục cẳn dự đoán lả giá nh
Học máy có nhiều ứng dụng trong nhiều lĩnh vực khác nhau, bao gồm nhận diện khuôn
su tong ge sống hẳng ngây của chúng ta v có ti ki ks
ta tương tác với công nghệ
Trang 29Học sâu (tiếng Anh: Deep Learning) là một phân nhánh của Học máy, sử dụng các mạng
nơ-ron nhân tạo để học vả đưa ra dự đoán hoặc quyết định Sự khác biệt chỉnh giữa học
máy và học sâu là cách thức chúng xử li đữ liệu Trong Học máy, chúng ta thường phải
thực hiện các bước tiền xử lí dữ liệu đề trích xuất các đặc trưng (feature) quan trọng từ
dữ liệu, Các đặc trưng này sau đỏ được sử dụng đề huấn luyện mô hình Trong Học sâu, huấn luyện trên nhiều lớp ẩn (hidden laycr)
Nói cách khác, Học sâu là một phương pháp Học máy tiên tiễn hơn, cho phép máy tính thiểu sự can thiệp của con người trong quả trình xây dựng mô hình và cho phép xây dựng các mỗ hình phức tạp hơn với độ chính xác cao hơn
1.4 Mạng nơ-ron nhân tạo và các mô hình Học sâu
Mang no-ron nhan tao (tiéng Anh: Artificial Neural Network, viết tắt là ANN) là một
mô hình tỉnh toán được xây dựng dựa trên cấu trúc và chức năng của não bộ Nó bao
gm một tập hợp các nút (nơ-ron) được kết nỗi với nhau thông qua các liên kết có trọng
Trang 30kích hoạt để tạo ra đầu ra của nơ-ron
Mạng nơ-ron nhân tạo có thê được huấn luyện để thực hiện các tác vụ cụ thể bằng cách
điểu chinh các trọng số liên kết giữa các nơ-ron Quá trình huấn luyện này thường được
thực hiện bằng cách sử dụng thuật toán gradient descent để cập nhật các trọng số dựa
trên sai số giữa kết quả dự đoán vả kết quả thực tế
1.4.1 Convolutional Neural Networks
Mang no-ron tich chdp (tiéng Anh: Convolutional Neural Networks, viết tắt là CNN) là
một loại mạng nơ-ron nhân tạo thường được sử dụng trong các tác vụ nhận dạng vả xứ
li hình ảnh [1] Các mạng nảy được thiết kế để nhận dữ li
ảnh và xứ li chúng qua nhiễu lớp, mỗi lớp áp dụng một tập các bộ lọc khác nhau cho dữ liệu để trích xuất các đặc trưng khác nhau
uu đầu vào dưới dạng hình
Convolution
Hình 1.11; Minh họa một mạng nơ-ron tich chập [12],
Kiến trúc cơ bản của một CNN bao gồm một lớp đầu vào, nhiều lớp ấn vả một lớp đầu
và các lớp kết nổi đẩy đủ (fully connected)
Trang 31phép toán tại mỗi vị trí để tạo ra một tập dữ liệu đầu ra mới, được gọi là feature map
Các bộ lọc được thiết kế đề phát hiện các đặc trưng cụ thẻ trong dữ liệu đầu vảo, chẳng
hạn như cạnh hoặc góc
Sau lớp tích chập, dữ liệu thưởng được truyền qua một lớp gộp Lớp này giảm kich được thực hiện bằng cách lấy giá trị lớn nhắt hoặc trung bình trong một vùng cua feature đặc trưng mạnh hơn
Sau một hoặc nhiều lớp tích chập và gộp, dữ liệu thường được truyền qua một hoặc truyền thống và được sử dụng để kết hợp các đặc trưng được trích xuất bởi các lớp trước
để đưa ra dự đoán
Do CNN được thiết kể dé hoạt động với dữ liệu có cấu trúc, tức là mối quan hệ không gian giữa các pixel lả quan trọng để hiểu nội dung của hỉnh ảnh Nếu bạn hoán đổi vị trí
của một số pixel trong một hình ảnh, nó sẽ thay đôi thông tin mà hình ảnh chứa Nhìn ở
một khía cạnh khác, tín hiệu âm thanh cũng là một đạng dữ liệu có cấu trúc, chính vì li
do đó mà CNN cũng được áp dụng trong việc phân tích xử lí âm thanh
Trang 32loại mạng nơ-ron nhân tạo mä các kết nói giữa các nút có thể tạo ra một chu trình, cho
phép đầu ra từ một số nút ảnh hưởng đến đầu vào tiếp theo của cùng một nút [14] Điều thái nội bộ (bộ nhớ) để xử lí các chuỗi đầu vào cỏ độ đải biển đổi Do đó chúng có thể
áp dụng cho các bài toán chuỗi thời gian như nhận đạng chữ viết tay liên tục, nhận dạng
giọng nói hay phan tích âm thanh
Gated Recurrent Units (GRU) là một cơ chế công trong RNN, được giới thiệu vào năm (L§TM) [16] với một công quên, nhưng có ít tham số hơn LSTM, vì nó thiếu một cổng đầu ra Hiệu suất của GRU trên một số tác vụ của mô hình âm nhạc đa âm, mô hình tín hiệu giọng nói và xử lí ngôn ngữ tự nhiên được tim thay tương tự như LSTM
GRU cé ging giải quyết vấn đề gradient biển mắt của RNN bing ắ ioe cập nhật (update gate) và một cổng thiết lập lại (reset gate) Cổng cập nhật điều khiển thông tin truyền vào bộ nhớ và công thiết lập lại điều khiển thông tỉn ra khỏi bộ nhớ
Trang 33
1.4.3 Conyolutional-Recurrent Neural Networks
"Mạng nơ-ron tích chập hồi qui (tiểng Anh: Convolutional Recurrent Neural Networl
(CNN) vi mang nơ-ron hồi qui (RNN) CRNN thường được sử dụng trong các tác vụ
xử li chuỗi dữ liệu có cấu trúc không gian, chẳng hạn như nhận dạng chữ viết tay liên
tục hoặc nhận dạng giọng nói Trong CRNN, các lớp tích chập của CNN được sử dụng
để trích xuất các đặc trưng không gian từ dữ liệu đầu vảo, trong khi các lớp hồi qui của RNN được sử dụng để xử lí các thông tin theo thời gian Điều này cho phép mô hình học được cả các đặc trưng không gian và thời gian tử dữ liệu đầu vào
Kiến trúc cơ bản của CRNN bao gồm một lớp đầu vào CNN dé trích xuất các đặc trưng không gian từ dữ liệu đầu vào, sau đó là một lớp RNN để xử lí các thông tin theo thời giải quyết vấn để gradient biển mắt của RNN
Trang 34“Trong lĩnh vực xử lí âm thanh, CRNN có thể được sử dụng để giải quyết các bài toán
phát hiện sự kiện âm thanh (Sound Event Detection) Các loại sự kiện âm thanh khác
nhau có thể có các đặc điểm tần số và thời gian khác nhau CRNN có thể kết hợp khả của RNN để phát hiện chính xác các sự kiện âm thanh
1.5 Ngôn ngữ lập trình Python và các thư viện hỗ trợ
1.5.1 Python
Python là một ngôn ngữ lập trình bậc cao được thiết kế với mục đích đọc vả viết dễ
đảng, Dược phát triển bởi Guido van Rossum vào cuối những năm 1980 và được phát học và sử dụng ngôn ngữ này trở nên dễ đàng hơn
Đython là một ngôn ngữ đa năng và có thể sứ dụng trong nhiều lĩnh vực khác nhau Nó vực khác Đặc biệt, Python rat phổ biển trong lĩnh vực Học máy Nhiễu thư viện Học đơn gián và dé đọc của Python cũng giúp cho việc xây dựng các mô hình Học máy trở
nên dé dang hon.
Trang 35giản vả dễ đọc của nó, đến nỗi một khái niệm được tạo thành có tên là “pythonic" để
khuyến khich và cũng cố ưu điểm này Pythonic là một thuật ngữ được sử dụng để mô
a ié i i ủa đẳng lập trình vién Python
Điều này có nghĩa là mã nguồn được viết theo các nguyên tắc va qui ước của Python, sử
đụng các tính năng và cầu trúc dữ liệu của ngôn ngữ một cách hiệu quả vả rõ rằng Một
1
đoạn mã được coi là “pythonie° khi nỏ để đọc, đễ hiểu và tuân thủ các nguyên tắc t
kế của Python Điều này có thể bao gồm việc sử dụng các cấu trúc dữ liệu và hảm tích ước về cách đặt tên vả định dạng mã Ngoài ra, Python còn cỏ một cộng đồng lớn và nhiều thư viện hỗ trợ, giúp cho việc phát triển các ứng dụng trở nên đễ dàng hơn
Một trong những nhược điểm lớn nhất của Python là tốc độ chạy chậm hơn so với một
số ngôn ngữ khác như C hay C+©+, Ngoài ra, Python cũng không phù hợp cho việc phát triển ứng dụng di động
1.5.2 PyTorch
PyTorch [19] là một thư viện tối ưu hóa tensor dành cho ngôn ngữ lập trình Python, iên bởi Facebook, sử é ho Deep Learning tri va CPU Cùng với TensorFlow 2.0, PyTorch cũng là một trong những thư viện phố biển nhất
sở hữu lượng người dùng đông đảo vả cộng đồng lớn mạnh
“Trong đỏ án của đề tài nghiên cứu này, chúng tôi quyết định sử dụng PyTorch, cụ thể là lập trình của ngôn ngữ lập trình python (pythonic)
1.5.3 Mido
Mido lä một thư viện Python cho phép làm việc với các thông điệp và công MIDI Mido
33
Trang 36gồm cả các thông điệp Hệ thống
1.5.4 Các thư viện xử lí tín hiệu số
1.5.4.1 Librosa
Librosa [20] l một thư viện Python đành cho phan tich âm thanh và âm nhạc Nó cung
bao gồm các chức năng dé tai âm thanh tử tệp, tính toán các biểu diễn khác nhau của âm thanh và thực hiện các thao tác phổ biến trên dữ liệu âm thanh
Librosa là một công cụ mạnh mẽ cho việc phân tích âm thanh và âm nhạc, giúp cho việc hơn Nó được sử dụng rộng rãi trong các lĩnh vực liên quan đến âm thanh và âm nhạc, bao gm nhận dạng giọng nói, phân tích cảm xúc trong âm nhạc, Ngoài ra, Librosa còn cỏ một cộng đồng lớn và tích cực, với nhiều tai liệu hướng dẫn
Ích cho bắt kỳ ai muốn lảm việc với âm thanh vả âm nhạc trong Python,
1.5.4.2 Madmom
Cũng giống như Librosa, Madmom [21] là một thư viện xử lí tín hiệu ẩm thanh được cũng cắp các triển khai tham chiếu cho một số thuật toán truy hồi thông tin âm nhạc Nó
thanh và thực hiện các thao tác phố biển trên dữ liệu âm thanh Madmom là một công
cụ mạnh mẽ cho việc phân tích âm thanh và nhạc, giúp cho việc xây dựng các ứng dụng lam việc với âm thanh và định dạng tệp nhạc trớ nên dễ dảng hơn