1. Trang chủ
  2. » Luận Văn - Báo Cáo

Essay Ứng dụng mô hình học máy trong phân loại Âm thanh

29 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Ứng dụng Mô hình Học Máy trong Phân Loại Âm Thanh
Tác giả Nguyễn Thị Vân Anh, Hoàng Vũ Minh, Nguyễn Nam Phong
Người hướng dẫn TS. Nguyễn Thị Bích Thuỷ
Trường học Trường Đại học Khoa học Tự nhiên, Đại học Quốc gia Hà Nội
Chuyên ngành Khoa học Dữ liệu
Thể loại Báo cáo Cuối Kỳ Môn Học
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 29
Dung lượng 2,62 MB

Nội dung

Ứng dụng mô hình học máy trong phân loại âm thanh Ứng dụng mô hình học máy trong phân loại âm thanh Ứng dụng mô hình học máy trong phân loại âm thanh

Trang 1

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

ĐẠI HỌC QUỐC GIA HÀ NỘI

BÁO CÁO CUỐI KỲ MÔN HỌC

SEMINAR CHO KHOA HỌC DỮ LIỆU

Đề tài:

ỨNG DỤNG MÔ HÌNH HỌC MÁY TRONG

PHÂN LOẠI ÂM THANH

Giảng viên bộ môn: TS NGUYỄN THỊ BÍCH THỦY

Sinh viên thực hiện: NGUYỄN THỊ VÂN ANH MSV: 20002031

Hà Nội, ngày 17 tháng 4 năm 2023

Trang 2

LỜI CẢM ƠN

Lời đầu tiên chúng em xin gửi lời cảm ơn tới Phòng Đào tạo Trường Đại học Khoahọc Tự nhiên đã quyết định thêm bộ môn “Seminar” vào chương trình học của trường đểchúng có thể may mắn được tham gia vào lớp học này Xin cảm ơn đội ngũ nhân viêncủa trường đã luôn làm việc để giữ cho chúng em cơ sở vật chất hoàn thiện để quá trìnhhọc tập luôn được diễn ra tốt nhất có thể

Tiếp đến chúng em xin chân thành cảm ơn quý Thầy, Cô, những diễn giả và cácdoanh nghiệp đã tới tham dự và cho chúng em những tiết học bổ ích Đặc biệt gửi lờicảm ơn tới giảng viên bộ môn cô Nguyễn Thị Bích Thuỷ, cô đã tận tình chỉ dạy và trangbị cho em những kiến thức cần thiết trong suốt quá trình học tập, cho chúng em nhữngtrải nghiệm thực tế đắt giá Đồng thời góp ý và giúp đỡ chúng em trong quá trình thựchiện bài báo cáo một cách chi tiết nhất

Do kiến thức còn hạn chế và thiếu kinh nghiệm trong việc tổng hợp thông tin cũngnhư trong cả quá trình nghiên cứu nên bản báo cáo khó tránh khỏi những lỗi sai, thiếuxót Kính mong nhận được những ý kiến đóng góp bổ xung, những lời nhận xét từ quýthầy cô để bài viết có thể được hoàn thiện và chính xác hơn

Chúng em xin chân thành cảm ơn!

Hà Nội, ngày 17 tháng 4 năm 2023

Trang 3

LỜI NÓI ĐẦU

Bài toán phân loại từ lâu đã trở thành một bài toán quan trọng trong quá trình nhậnthức và hiểu biết của con người Một đứa trẻ sơ sinh có thể nhận biết được đâu là màuxanh, đâu là màu đỏ, đâu là bố, đâu là mẹ thông qua việc phân biệt các đối tượng đóvới nhau, việc phân loại giúp đứa trẻ có thể tiếp nhận thông tin một cách dễ dàng vàtrực diện Trong lĩnh vực học máy cũng vậy, bài toán phân loại - Classification là mộttrong những bài toán quan trọng nhất, được sử dụng rộng rãi bởi tính ứng dụng cao củanó Một số bài toán có thể kể đến như phân biệt chữ số viết tay, phân biệt các loài độngvật hầu hết đều là trên dữ liệu ảnh và dữ liệu số

Hiểu được tầm quan trọng của bài toán phân loại cũng như muốn thực hiện một dựán mang tính sáng tạo hơn, chúng em đã quyết định lựa chọn âm thanh làm đối tượngđể thực hiện bài toán phân loại trong bản báo cáo này này Trong dự án này, chúng emhướng đến xây dựng một mô hình học sâu nhằm phân loại một bài hát bất kỳ xem chúngthuộc thể loại nào trong 10 thể loại âm nhạc, là bước đầu cho việc xây dựng một mô hìnhphân biệt tiếng nói thực của con người

Dự án sẽ được trình bài trong bản báo cáo thành 5 chương, chương I bao gồm cácgiới thiệu sơ lược về đề tài và bộ dữ liệu, chương II trình bày một số kiến thức cơ bản vềâm thanh nhằm phục vụ cho dự án Chương III & IV bao gồm cách xây dựng và kết quảthực nghiệm từ việc chạy mô hình, cuối cùng là chương Kết luận

Hà Nội, ngày 17 tháng 4 năm 2023

Trang 4

MỤC LỤC

1.1 Mô tả bài toán 1

1.2 Bộ dữ liệu GTZAN 1

1.3 Thuật toán và các công cụ thực hiện đề tài 2

1.3.1 Convolutional Neural Network (CNN) 2

1.3.2 CNN trong nhận diện thể loại âm nhạc 2

2.5 Mel Frequency Cepstral Coeficients - MFCC 9

CHƯƠNG 3 MÔ HÌNH VÀ PHƯƠNG PHÁP113.1 Phương pháp 11

3.2 Xử lí dữ liệu 11

3.3 Ứng dụng mô hình CNN trong phân biệt âm thanh 12

3.3.1 Mô hình CNN 12

3.3.2 Huấn luyện mô hình 13

Trang 5

CHƯƠNG 5 PHẦN NHẬN XÉT VÀ KẾT LUẬN21

5.1 Thuận lợi 21

5.2 Khó khăn 21

5.3 Kết quả đạt được 21

5.4 Hướng phát triển đề tài 21

Trang 6

DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT

Trang 7

DANH MỤC HÌNH ẢNH

Hình 1.1Kiến trúc CNNs 2

Hình 2.2Sóng âm thanh 4

Hình 2.3Đồ thị 20 mili giây đầu tiên của file blue.0.wav 5

Hình 2.4Số hóa tín hiệu âm thanh 5

Hình 2.5Tín hiệu âm thanh trên miền thời gian và miền tần số 6

Hình 2.6Spectrogram của một tín hiệu âm thanh 7

Hình 2.7Thuật toán FFT 8

Hình 2.8Mel Spectrogram của file blue.0.wav 9

Hình 2.9MFCC của file blue.0.wav 10

Hình 3.10 Tổng quan quá trình 11

Hình 3.11 Mel Spectrogram của 3 giây đầu tiên của blue.0.wav 12

Hình 3.12 MFCC của 3 giây đầu tiên của blue.0.wav 12

Hình 3.13 Trực quan mô hình 13

Hình 4.14 Confusion matrix khi sử dụng Mel Spectrogram 15

Hình 4.15 Confusion matrix khi sử dụng MFCC 16

Hình 4.16 Kết quả 20 file khi sử dụng Mel Spectrogram 17

Hình 4.17 Kết quả 43 bài hát khi sử dụng Mel Spectrogram 18

Hình 4.18 Kết quả 20 file khi sử dụng MFCC 19

Hình 4.19 Kết quả 43 bài hát khi sử dụng MFCC 19

Trang 8

CHƯƠNG 1 GIỚI THIỆU ĐỀ TÀI

Chương này bao gồm những mô tả về bài toán được thực hiện trong đề tài, mụcđích thực hiện đề tài, các công cụ, thư viện được sử dụng để thực hiện đề tài cũng nhưcách cài đặt chúng

1.1Mô tả bài toán

Trong đề tài này, chúng em sẽ thực hiện sử dụng mô hình học máy để phân biệt xemmột file audio đầu vào thuộc thể loại âm nhạc nào trong 10 thể loại được xét tới Việcnày có thể coi là bước đầu trong việc tiến tới bài toán phân biệt giọng nói con người, đâylà một bài toán vô cùng thiết thực và mang tính ứng dụng cao, đặc biệt là trong thời đạicủa khoa học công nghệ, thời đại của trí tuệ nhân tạo như hiện nay

1.2Bộ dữ liệu GTZAN

Trong dự án này bộ dữ liệu được sử dụng là GTZAN - bộ dữ âm nhạc được sử dụngrộng rãi trong các nghiên cứu về phân loại dòng âm nhạc Bộ dữ liệu này được tạo rabởi George Tzanetakis và Perry Cook vào năm 2002 và chứa 1000 file nhạc có độ dài 30giây mỗi file, được chia thành 10 thể loại âm nhạc khác nhau: Blues, Classical, Country,Disco, Hip hop, Jazz, Metal, Rock, Reggae, Pop Bên trong thư mục chính của bộ dữliệu bao gồm 4 nội dung:

• Thư mục Genres original: Thư mục chứa file audio ứng với từng thể loại âm nhạcđược chia ở trên, mỗi thể loại có 100 file audio, mỗi file có độ dài 30 giây

• Thư mục Images original: Là thư mục chứa Mel spectrogram của từng tệp âm thanh,chúng cũng được chia thành 10 thư mục nhỏ ứng với 10 thể loại

• 2 CSV files - chứa các feature của tệp âm thanh, bao gồm giá trị trung bình vàphương sai của một số các feature khác nhau

Có rất nhiều lý do khiến nhóm lựa chọn GTZAN làm bộ dữ liệu thực hiện dự ánnày, GTZAN là một bộ dữ liệu chuẩn và phổ biến và thậm chí có khi được coi như làMNIST1 cùa âm thanh, bên cạnh đó, bộ dữ liệu này cũng đã được rất nhiều nghiên cứuviên sử dụng trên các mô hình khác nhau trước đây Nhờ việc này, những người nghiêncứu sau có thể dễ dàng so sánh hiệu quả của các mô hình được sử dụng trên cùng mộttập dữ liệu

1MNIST: bộ dữ liệu chữ viết tay nổi tiếng.

Trang 9

1.3Thuật toán và các công cụ thực hiện đề tài

1.3.1Convolutional Neural Network (CNN)

Kiến trúc CNN (mạng Neural tích chập)• Trong mạng Neural, mạng Neural tích chập (CNN) là một thuật toán chính trong

việc nhận diện và phân loại đối tượng.• Về kĩ thuật, mô hình CNN sẽ thực hiện train và test Mỗi đầu vào sẽ chuyển nó

qua một loạt các bộ lọc (filter)-(kernel), sau đó đến Pooling, rồi tiếp theo là các lớpđược kết nối hoàn chỉnh (FC - Fully Conected layers) và phân loại đối tượng có xácsuất giữa 0 và 1

Hình 1.1Kiến trúc CNNs

1.3.2CNN trong nhận diện thể loại âm nhạc

Một số lí do sử dụng CNN trong nhận diện thể loại âm nhạc:• Các thể loại âm nhạc thường được coi là một trong những tính năng high-level, nó

thay đổi theo tần âm, nhịp, âm sắc Hệ thống phân cấp này phù hợp CNN vì tínhnăng phân cấp cấu trúc nhiều tầng

• Thuộc tích translation, distortion liên quan đến dải tần số âm

1.3.3Tensorflow

TensorFlow là một thư viện mã nguồn mở được tạo ra để phục vụ cho việc tínhtoán phân tán số sử dụng cách thức tính toán là data flow graphs Nó do Google pháttriển nhằm mục đích hỗ trợ việc nghiên cứu chuyên sâu và phát triển các ứng dụng AI(Machine learning/Deep Learning) TensorFlow có thể được sử dụng cho các tác vụ nhưnhận dạng hình ảnh và giọng nói, xử lý ngôn ngữ tự nhiên, v.v

Tại sao trong dự án này lựa chọn Tensorflow?• Tích hợp sẵn rất nhiều các thư viện machine learning

Trang 10

• Có khả năng tương thích và mở rộng tốt Được Google phát triển cho machinelearning phục vụ cả nghiên cứu lẫn xây dựng các ứng dụng thực tế.

• Hỗ trợ trên nhiều hệ điều hành

1.3.4Keras

Keras là một thư viện mã nguồn mở cho Neural Network được viết bằng python,được phát triển vào năm 2005 bởi Francois Chollet, là một kỹ sư nghiên cứu DeepLearning Một số ưu điểm của Keras:

• Dễ dàng sử dụng, đơn giản hơn Tensorflow, có thể kết hợp sử dùng chung vóiTensorflow

• Hỗ trợ xây dựng CNN , RNN hoặc cả hai, rất phù hợp với những người mới họcDeep Learning vì đơn giản, dễ nắm bắt, dễ xây dựng các mô hình

• Chạy được trên cả CPU và GPU.• Nhiều bộ dữ liệu có sẵn, phục vụ tốt cho cả nhiệm vụ học tập và nghiên cứu

1.3.5Jupyter Notebook

Đây là một công cụ có lẽ đã rất quen thuộc với các lập trình viên Python JupyterNotebook là một nền tảng tính toán khoa học mã nguồn mở, bạn có thể sử dụng để tạovà chia sẻ các tài liệu có chứa code trực tiếp, phương trình, trực quan hóa dữ liệu và vănbản tường thuật, hỗ trợ hơn 40 ngôn ngữ lập trình cho người dùng

Với Jupyter Notebook, người dùng có thể đưa dữ liệu, code, hình ảnh, công thức,video, vào trong cùng một file, giúp cho việc trình bày trở nên dễ dàng hơn Bạn cóthể vừa trình chiếu vừa chạy code để tương tác trên đó, dễ dàng trực quan hóa dữ liệu

Trang 11

CHƯƠNG 2 MỘT SỐ KIẾN THỨC VỀ ÂM THANH

Chương này bao gồm một số kiến thức nền về âm thanh, một số đặc tính của âmthanh được sử dụng để phân biệt giữa các thể loại nhạc trong dự án này

2.1Kiến thức chung về tín hiệu âm thanh

Âm thanh là một dạng tín hiệu được sinh ra từ sự thay đổi áp suất không khí, bắtnguồn từ một dao động cơ học nào đó Cường độ của sự dao động này có thể đo được,

và nó chính là biên độ của tín hiệu âm thanh Tín hiệu âm thanh thường lặp đi lặp lại

theo một chu kì T và có đồ thị dạng sóng

Hình 2.2Sóng âm thanh

Giá trị nghịch đảo của chu kì T là tần số của tín hiệu âm thanh, thể hiện mức độ

dao động của tín hiệu trong thời gian 1 giây Trên thực tế, đồ thị của tín hiệu âm thanhkhông có dạng hình Sin đơn giản như vậy Chúng ta có thể thấy điều đó thông qua đồ thị20 mili giây đầu tiên của một bản nhạc Blues2 qua hình ảnh bên dưới

Trong một đoạn tín hiệu âm thanh rất ngắn cũng có thể là một bản trộn lẫn phứctạp giữa các tần số âm thanh khác nhau Để có thể xử lí nó dễ dàng hơn, ta sẽ hướng đếnviệc tách tín hiệu âm thanh phức tạp thành các thành phần có tần số khác nhau

2Blues: thể loại nhạc có nguồn gốc từ những điệu hát của miền tây Phi Châu được các nô lệ da đenmang sang Bắc Mỹ.

Trang 12

Hình 2.3Đồ thị 20 mili giây đầu tiên của file blue.0.wav

2.2Số hoá tín hiệu âm thanh

Âm thanh là dạng tín hiệu liên tục, trong khi máy tính làm việc với các con số rờirạc Vì vậy, để thuận lợi trong việc lưu trữ, truyền tải, xử lý, tín hiệu âm thanh đượcchuyển sang dạng số (digital sound) - chính là những file audio với định dạng mp3, wavchúng ta thường nghe trên máy tính hoặc điện thoại

Hay nói cách khác, để thuận tiện trong việc lưu trữ, xử lí và truyền tải, tín hiệu âmthanh sẽ được chuyển sang dạng số

Hình 2.4Số hóa tín hiệu âm thanh

Trang 13

Số hóa tín hiệu âm thanh được thực hiện bằng cách lấy giá trị biên độ của nó tại các

vị trí cách đều nhau trong mỗi chu kỳ Mỗi vị trí như vậy được gọi là một mẫu (sample).Số lượng mẫu trong 1 giây được gọi là Tần số lấy mẫu (sampling rate) Ví dụ, ta có một

file audio có tần số lấy mẫu sr = 22050 có nghĩa là trong 1 giây sẽ lấy 22050 mẫu

2.3Spectrogram

Mỗi tín hiệu âm thanh sẽ có hai miền giá trị: Thời gian và tần số Trong mỗi miềnđó, tín hiệu âm thanh được thể hiện theo cách khác nhau:

Hình 2.5Tín hiệu âm thanh trên miền thời gian và miền tần số

• Trong miền thời gian, tín hiệu âm thanh mô tả sự thay đổi của biên độ theo thờigian

• Trong miền tần số, tín hiệu âm thanh mô tả sự thay đổi của biên độ theo tần số.Spectrogram là đồ thị thể hiện mối liên hệ giữa tần số và thời gian Cụ thể, nó cho thấysự thay đổi của tần số theo thời gian; đồng thời, độ lớn của biên độ cũng được thể hiệnthông qua màu sắc: màu càng sáng thì biên độ càng lớn và ngược lại

Trang 14

Hình 2.6Spectrogram của một tín hiệu âm thanh

Đây là cách thể hiện tốt nhất của tín hiệu âm thanh: dưới dạng hình ảnh Nó đượctạo ra bằng cách áp dụng phép biến đổi Fourier lên một tín hiệu để phân tách thành cáctần số thành phần

2.4Cách tạo ra Spectrogram

Ý tưởng chính là chia tín hiệu âm thanh thành các khung nhỏ hơn (cửa sổ) và tínhtoán FFT cho mỗi cửa sổ đó Từ đó, mỗi khung sẽ đại diện cho một khoảng thời gian, vàở mỗi khung sẽ có giá trị của các tần số khác nhau

Trang 15

9000-10000Hz.• Đầu ra thuật toán sẽ là một mảng 2 chiều có kích thước là 10x20.• Mỗi cột đại diện cho một khung thời gian, thể hiện thời gian, mỗi hàng là một

khoảng tần số.• Giá trị tại mỗi điểm sẽ là giá trị biên độ (cường độ) tại một khoảng thời điểm và của

khoảng một tần số.Thông thường, Spectrogram ở dạng nguyên thủy hầu như không thể thấy rõ được

Trang 16

Điều này được giải thích do khả năng nhận thức âm thanh của con người đều tập trungxung quanh một dải tần số và biên độ khá hẹp.

Do đó, người ta thay thế tần số bằng giá trị logarit của nó, gọi là Mel Scale; thaythế biên độ bằng giá trị logarit của nó, gọi là Decibel Scale Dạng này được gọi là MelSpectrogram

Hình 2.8Mel Spectrogram của file blue.0.wav

Bằng cách biến đổi tín hiệu âm thanh về dạng hình ảnh là Mel Spectrogram, ta đãphân tách tín hiệu âm thanh thành các tần số thành phần, và do đó, có thể đưa vào cácmô hình học máy

2.5Mel Frequency Cepstral Coeficients - MFCC

Mel Frequency Cepstral Coeficients - MFCC là một dạng thể hiện khác của dữ liệuAudio, được biến đổi từ Mel Spectrogram

Cụ thể, MFCC nén các khoảng tần số (Frequency Bands) từ Mel Spectrogramtương ứng với các mức tần số thông thường của giọng nói con người

Chính vì vậy, thông thường, MFCC phù hợp với các bài toán xử lí giọng người, cònMel Spectrogram sẽ được ứng dụng trong các bài toán xử lí Audio khác

Trang 17

Hình 2.9MFCC của file blue.0.wav

Ưu điểm của MFCC:• Loại bỏ những thông tin chi tiết dư thừa và tập trung vào những thông tin về cấu

trúc âm thanh quan trọng.• Có kích cỡ nhỏ hơn so với Mel Spectrogram nên công việc tính toán nhanh và dễ

dàng hơn.• Hiệu quả trong việc xử lí giọng người

Trang 18

CHƯƠNG 3 PHƯƠNG PHÁP VÀ MÔ HÌNH

Chương này bao gồm phần trình bày về việc xử lý âm thanh, việc lựa chọn, sử dụngmô hình phù hợp cùng các phương pháp được kết hợp xử dụng nhằm tăng độ chính xáccho kết quả đầu ra

3.1Phương pháp

Với mục đích phân loại âm thanh vào các thể loại nhạc, và dựa trên các kiến thức đãtrình bày ở trên, chúng em sẽ thực hiện biến đổi file Audio về thành Mel Spectrogram,xây dựng mô hình CNN, thực hiện train mô hình dựa trên tập dữ liệu đã được chuyển đổivà đánh giá kết quả

Ngoài ra, chúng em cũng sẽ thử nghiệm đưa file Audio về dạng MFCC và thựchiện các công việc tương tự để so sánh kết quả giữa 2 loại feature này

Hình 3.10Tổng quan quá trình

3.2Xử lí dữ liệu

Để mở rộng dữ liệu, chúng em lựa chọn chia mỗi file Audio thành các đoạn dài3 giây (Data Augmentation) Do đó, với mỗi file Audio, ta có 10 kết quả Mel Spectro-gram/MFCC Đối với Mel Spectrogram, việc chuyển đổi sẽ được thực hiện với các thamsố lần lượt như sau:

• n_mels: số lượng Mel band là 128.• n_fft: độ dài của khung FFT là 2048 mẫu.• hop_length: khoảng cách giữa 2 khung là 512 mẫu.• f_min: tần số nhỏ nhất sử dụng là 20

• f_max: tần số lớn nhất sử dụng là 8000

Đầu ra là Mel Spectrogram có kích cỡ 128x130

Ngày đăng: 31/08/2024, 21:04

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Hasan Can Ceylan, Naciye Hardalacá, Ali Can Kara1 & Fırat Hardalacá, Auto- matic Music Genre Classification and Its Relation with Music Education, World Journal of Education, 2021 Sách, tạp chí
Tiêu đề: Auto-matic Music Genre Classification and Its Relation with Music Education
[2] George Tzanetakis, Georg Essl & Perry Cook Automatic Musical Genre Clas- sification Of Audio Signals, IEE, 2003 Sách, tạp chí
Tiêu đề: Automatic Musical Genre Clas-sification Of Audio Signals
[3] Ketan Doshi, Audio Deep Learning Made Simple Series, towardsdatascience.com.Accessed on 15/4/2023 Sách, tạp chí
Tiêu đề: Audio Deep Learning Made Simple Series
[4] Springer, Appendix A MFCC Features, link.springer.com. Accessed on 16/4/2023 Sách, tạp chí
Tiêu đề: Appendix A MFCC Features
[5] jameslyons, Mel Frequency Cepstral Coefficient (MFCC) tutorial, practical- cryptography.com. Accessed on 20/4/2023 Sách, tạp chí
Tiêu đề: Mel Frequency Cepstral Coefficient (MFCC) tutorial

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w