MỤC LỤC Giới thiệu 1 TỔNG QUAN VỀ XỬ LÝ ÂM THANH 3 1 1 Khái niệm tín hiệu 3 1 2 Phân loại tín hiệu 3 1 3 Khái niệm âm thanh 5 2 CÁC KỸ THUẬT NHẬN DẠNG ÂM THANH 5 2 1 Kỹ thuật phân cụm K means 6 2 2 Kỹ thuật K láng giềng gần nhất – K nearest neighbor (K NN) 8 3 TRÍCH RÚT CÁC ĐẶC TRƯNG CỦA ÂM THANH TRONG VIỆC NHẬN DẠNG NHẠC CỤ 3 1 Đặc trưng âm thanh trong miền tần số 9 Spetral entropy H 12 3 2 Đặc trưng âm thanh trong miền thời gian 12 4 CHƯƠNG TRÌNH NHẬN DẠNG NHẠC CỤ 12 4 1 Thu thập dữ liệu huấn.
MỤC LỤC Giới thiệu TỔNG QUAN VỀ XỬ LÝ ÂM THANH 1.1 Khái niệm tín hiệu 1.2 Phân loại tín hiệu: .3 1.3 Khái niệm âm CÁC KỸ THUẬT NHẬN DẠNG ÂM THANH 2.1 Kỹ thuật phân cụm K means .6 2.2 Kỹ thuật K láng giềng gần – K-nearest neighbor (K-NN) .8 TRÍCH RÚT CÁC ĐẶC TRƯNG CỦA ÂM THANH TRONG VIỆC NHẬN DẠNG NHẠC CỤ 3.1 Đặc trưng âm miền tần số Spetral entropy H: 12 3.2 Đặc trưng âm miền thời gian .12 CHƯƠNG TRÌNH NHẬN DẠNG NHẠC CỤ 12 4.1 Thu thập liệu huấn luyện 13 4.2 Trích rút đặc trưng âm 14 4.3 Truy vấn nhận dạng âm 18 ĐÁNH GIÁ KẾT QUẢ ĐẠT ĐƯỢC 21 Giới thiệu Trong phát triển khoa học công nghệ, thiết bị số dẫn chiếm ưu giúp ta lưu trữ liệu cách phong phú đa dạng Ngoài liệu văn có từ lâu, có thêm kiểu liệu như: hình ảnh, âm thanh, video Vì việc tìm hiểu loại liệu có ý nghĩa Trên sở kiến thức học môn Cơ sở liệu đa phương tiện, chúng em tìm hiểu kỹ thuật xử lý âm phương pháp chuyển đổi Fourier rời rạc Bao gồm nội dung chính: Tổng quan âm Các kỹ thuật nhận dạng âm Các đặc trưng âm thường sử dụng để nhận dạng nhạc cụ Chương trình nhận dạng nhạc cụ Đánh giá kết đạt Do kiến thực hạn hẹp nên tập lớn chúng em nhiều sai sót, hạn chế Chúng em mong thầy góp ý sửa chữa để hoàn thiện thân Chân thành cảm ơn thầy! TỔNG QUAN VỀ XỬ LÝ ÂM THANH 1.1 Khái niệm tín hiệu Là đại lượng vật lý biến thiên theo thời gian, theo không gian, theo nhiều biến độc lập khác, ví dụ như: Âm thanh, tiếng nói: dao động sóng theo thời gian (t) Hình ảnh: cường độ sáng theo không gian (x, y, z) Địa chấn: chấn động địa lý theo thời gian Biểu diễn toán học tín hiệu: hàm theo biến độc lập Ví dụ : Thơng thường tín hiệu tự nhiên khơng biểu diễn hàm sơ cấp, tính toán, người ta thường dùng hàm xấp xỉ cho tín hiệu tự nhiên Hệ thống: thiết bị vật lý, thiết bị sinh học, chương trình thực phép tốn tín hiệu nhằm biến đổi tín hiệu, rút trích thơng tin, … Việc thực phép tốn cịn gọi xử lý tín hiệu 1.2 Phân loại tín hiệu: Các tín hiệu thực tế phân loại sau: Định nghĩa tín hiệu liên tục: Nếu biến độc lập biểu diễn toán học tín hiệu liên tục tín hiệu gọi tín hiệu liên tục Định nghĩa tín hiệu tương tự: Nếu biên độ tín hiệu liên tục liên tục tín hiệu gọi tín hiệu tương tự Định nghĩa tín hiệu lượng tử hố: Nếu biên độ tín hiệu liên tục rời rạc tín hiệu gọi tín hiệu lượng tử hố Hình 1.1 Minh họa phân loại tín hiệu Định nghĩa tín hiệu rời rạc: Nếu biến độc lập biểu diễn toán học tín hiệu rời rạc tín hiệu gọi tín hiệu rời rạc Định nghĩa tín hiệu lấy mẫu: Nếu biên độ tín hiệu rời rạc liên tục khơng bị lượng tử hố tín hiệu gọi tín hiệu lấy mẫu Định nghĩa tín hiệu số: Nếu biên độ tín hiệu rời rạc rời rạc tín hiệu gọi tín hiệu số Ngồi cịn phân loại tín hiệu thành loại sau: Tín hiệu đa kênh: gồm nhiều tín hiệu thành phần ,cùng chung mơ tả đối tượng (thường biểu diễn dạng vector, ví dụ tín hiệu điện tim (ECGElectroCardioGram),tín hiệu điện não (EEG – ElectroEncephaloGram), tín hiệu ảnh màu RGB Tín hiệu đa chiều: biến thiên theo nhiều biến độc lập, ví dụ tín hiệu hình ảnh, tín hiệu tivi trắng đen Tín hiệu ngẫu nhiên: giá trị tín hiệu tương lai khơng thể biết trước Các tín hiệu tự nhiên thường thuộc nhóm Tín hiệu tất định: giá trị tín hiệu khứ, tương lai xác định rõ, thơng thường có cơng thức xác định rõ ràng 1.3 Khái niệm âm - Âm dao động học (biến đổi vị trí qua lại) phân tử, nguyên tử hay hạt làm nên vật chất lan truyền vật chất sóng Âm thanh, giống nhiều sóng, đặc trưng tần số, bước sóng, chu kỳ, biên độ vận tốc lan truyền - Âm tác động áp suất khơng khí lên trống tai người Con người nghe với ngưỡng âm tần số 20 Hz đến 20.000 Hz Tham số khác đo âm biên độ, cho phép âm mềm hay thô - Âm số tín hiệu âm tương tự rởi rạc hóa thành tính hiệu số CÁC KỸ THUẬT NHẬN DẠNG ÂM THANH Ý tưởng việc nhận dạng âm ta tính tốn độ tương tự câu truy vấn so với liệu có (đại diện vector đặc trưng) Một số kỹ thuật nhận dạng âm phổ biến Kỹ thuật phân cụm K means Dynamic time warping (DTW) K nearest neighbor (KNN) Trong phần này, ta tìm hiểu kỹ thuật đơn giản K means, K - NNs 2.1 Kỹ thuật phân cụm K means Ý tưởng xếp đối tượng/véctơ đặc trưng tương tự vào nhóm/cụm việc tìm kiếm thực cụm liên quan Mỗi cụm biểu diễn trọng tâm véctơ đặc trưng cụm Trong truy vấn, ta tính toán độ tương tự câu truy vấn cụm (đại diện véctơ đặc trưng) Cụm có mức độ tương tự lớn ngưỡng cho trước chọn Tiếp theo đối sánh véctơ câu truy vấn với véctơ đặc trưng cụm k đối tượng gần kết Thuật toán Kmean thực theo bước sau: Đầu vào: Dữ liệu X số lượng cluster cần tìm K Đầu ra: Các center M label vector cho điểm liệu Y Chọn K điểm làm center ban đầu Phân điểm liệu vào cluster có center gần Nếu việc gán liệu vào cluster bước không thay đổi so với vịng lặp trước ta dừng thuật tốn Cập nhật center cho cluster cách lấy trung bình cộng tất các điểm liệu gán vào cluster sau bước Quay lại bước Ở đây, label vector có dạng y1=[yi1,yi2,…,yik] yik∈{0,1}, Thủ tục lặp kết thúc điểm trung tâm không thay đổi Tuy nhiên, cần lưu ý thuật tốn khơng thiết phải đưa kết tối ưu Hình ảnh mô việc phân cụm K-means Hạn chế Chúng ta cần biết số lượng cluster cần clustering Để ý thấy thuật toán nêu trên, cần biết đại lượng KK số lượng clusters Trong thực tế, nhiều trường hợp không xác định giá trị Nghiệm cuối phụ thuộc vào centers khởi tạo ban đầu Tùy vào center ban đầu mà thuật tốn có tốc độ hội tụ chậm, chí cho nghiệm khơng xác (chỉ local minimum - điểm cực tiểu - mà giá trị nhỏ nhất) Có thể khắc phục cách: Chạy K-means clustering nhiều lần với center ban đầu khác chọn cách phù hợp Tối ưu hóa q trình khởi tạo centre 2.2 Kỹ thuật K láng giềng gần – K-nearest neighbor (K-NN) Giả sử hệ thống huấn luyện điểm liệu (được thể vector đặc trưng) gán nhãn Thuật tốn K-NN mơ tả sau: 1) Xác định tham số K (số láng giềng gần nhất) 2) Tính tốn khoảng cách vector đặc trưng âm cần tìm với vector đặc trưng tất liệu âm có 3) Sắp xếp khoảng cách theo thứ tự tăng dần xác định K láng giềng gần với đoạn âm cần nhận dạng 4) Gán nhãn đoạn âm gần cho đoạn âm cần nhận dạng Ưu điểm KNN Độ phức tạp tính tốn q trình training Việc dự đốn kết liệu đơn giản Không cần giả sử phân phối class Nhược điểm KNN KNN nhạy cảm với nhiễu K nhỏ KNN thuật toán mà tính tốn nằm khâu test Trong việc tính khoảng cách tới điểm liệu training set tốn nhiều thời gian, đặc biệt với sở liệu có số chiều lớn có nhiều điểm liệu Với K lớn độ phức tạp tăng lên Ngoài ra, việc lưu toàn liệu nhớ ảnh hưởng tới hiệu KNN Tăng tốc cho KNN Ngồi việc tính tốn khoảng cách từ điểm test data đến tất điểm training set, có số thuật tốn khác giúp tăng tốc việc tìm kiếm K-D TRÍCH RÚT CÁC ĐẶC TRƯNG CỦA ÂM THANH TRONG VIỆC NHẬN DẠNG NHẠC CỤ 3.1 Đặc trưng âm miền tần số Thính giác người phân biệt nguồn âm thông qua âm sắc âm phát Trong kỹ thuật nhận dạng âm thanh, âm sắc thể thơng qua phổ tín hiệu Việc phân tích phổ tín hiệu cho đặc trưng mơ tả phổ âm thanh, từ nhận dạng nguồn âm Tập đặc trưng âm sắc sử dụng để biểu diễn đặc trưng âm nhạc liên quan đến tiết tấu, âm sắc nhạc cụ Vectơ đặc trưng âm sắc sử dụng hệ thống phân loại bao gồm 19 chiều với đặc trưng: (Trung bình độ lệch chuẩn Spectral Centroid, Rolloff, Flux, ZeroCrossing, LowEnergy, Trung bình độ lệch chuẩn hệ số MFCC đầu tiên) Trung bình độ lệch chuẩn đặc trưng xác định dựa STFT với cửa sổ phân tích chia tín hiệu đầu vào có độ dài 1s thành đoạn nhỏ khoảng 20ms Sau đặc trưng xác định cửa sổ phân tích: a) Spectral Centroid Spectral Centroid độ đo liên quan hình dáng phổ tần số Nó xác định điểm cân phổ tần số Giá trị Centroid cao tương ứng với phổ có độ sáng chói chứa nhiều tần số cao Spectral Centroid xác định công thức Trong đó: Mt [n] biên độ tần số thứ n phổ tần số tương ứng với cửa sổ t b) Rolloff Rolloff độ đo liên quan hình dáng phổ tần số Điểm Rolloff phổ tần số (Rt) định nghĩa tần số biên mà 85% phân bố lượng tập trung phổ điểm Công thức xác định Rt - điểm Rolloff phổ tần số c) Spectral spread Spread mô tả độ lệch trung bình đồ tỷ lệ xung quanh tâm nó, thường liên quan đến băng thơng tín hiệu Các tín hiệu giống nhiễu thường có lan truyền phổ lớn, âm riêng lẻ với đỉnh bị cô lập dẫn đến lan truyền phổ thấp Tương tự trọng tâm, trải phổ chuẩn hóa theo tần số trung tâm đồ tỷ lệ cao nhất, cho giá trị tính nằm khoảng từ đến Spectral spread mơ tả qua cơng thức: 10 Trong đó, fk tần số thứ k X(k) biên độ tần số k sc Spetral centroid d) Decrease Decrease mơ tả độ dốc phổ trung bình phổ, nhấn mạnh vào tần số thấp e) Flatness Flatness phản ánh tính chất phẳng phổ Có thể sử dụng để phân biệt tín hiệu nhiễu họa âm f) Noiseness Noiseness thông số độc đáo tính tỷ lệ lượng quang phổ vùng tần số cao tổng lượng quang phổ, theo công thức đơn giản: g) Entropy Spetral entropy (SE) tín hiệu thước đo phân bố cơng suất phổ SE coi phân phối cơng suất chuẩn hóa tín hiệu miền tần số phân phối xác suất tính tốn entropy Shannon Entropy Shannon bối cảnh entropy phổ tín hiệu Các phương trình cho entropy phổ phát sinh từ phương trình cho phổ cơng suất phân phối xác suất cho tín hiệu Đối với tín hiệu x (n), phổ công suất S (m) = | X (m) | 2, X (m) biến đổi Fourier rời rạc x (n) Phân phối xác suất P (m) là: 11 Spetral entropy H: Chuẩn hóa h) Cao độ (pitch) Cao độ (pitch) đại lượng tỉ lệ nghịch với tần số tín hiệu audio liên quan đến đặc trưng cảm thụ âm người Có nhiều cách để trích rút cao độ, chia thành nhóm + Trích rút theo miền thời gian + Trích rút theo miền tần số 3.2 Đặc trưng âm miền thời gian Zero Crossings cho biết mức độ ồn (noisiness) âm tín hiệu Nó xuất mẫu kề tín hiệu khác dấu Nó xác định số lần tín hiệu audio vượt qua trục zero đơn vị thời gian tính cơng thức x[n] tín hiệu miền thời gian cửa sổ t CHƯƠNG TRÌNH NHẬN DẠNG NHẠC CỤ Trong tập này, chúng em lựa chọn ngôn ngữ lập trình C# để lập trình chương trình nhận dạng nhạc cụ Sử dụng thư viện hỗ trợ xử lý âm NWaves địa 12 4.1 Thu thập liệu huấn luyện Theo yêu cầu đề bài, chúng em thu thập 100 mẫu âm nhạc cụ gồm Guitar, Flute, Violin, Piano Mỗi nhạc cụ có 25 file âm định dạng wav, thời lượng 10 giây 13 4.2 Trích rút đặc trưng âm Một file wav thơng thường có kênh tính hiệu (stereo) kênh tín hiệu(mono) Chúng em chọn kênh tín hiệu thứ (qui ước kênh tính hiệu trái) Đoạn code dùng để đọc file wav Biến waveFile chứa thông tin bit-rate, sampling-rate Biến signal chứa mảng sample âm Dưới mảng sample file âm 14 Dùng fft để biến đổi tín hiệu từ miền thời gian sang miền tần số 15 Kết sau biến đổi Trích rút đặc trưng: Centroid: centroid = Spectral.Centroid(spectrum, frequencies); Spread: spread = Spectral.Spread(spectrum, frequencies); Flatness: flatness = Spectral.Flatness(spectrum); Noiseless: noiseness = Spectral.Noiseness(spectrum, frequencies); Rolloff: rolloff = Spectral.Rolloff(spectrum, frequencies); Decrease: decrease = Spectral.Decrease(spectrum); Entropy: entropy = Spectral.Entropy(spectrum); Pitch: pitch = Pitch.FromSpectralPeaks(spectrum, signal.SamplingRate, 80, 500 /*Hz*/); 16 Zero crossing rate: Sau trích rút đặc trưng, ta lưu đặc trưng vào file text Mỗi loại nhạc cụ file 17 4.3 Truy vấn nhận dạng âm Kỹ thuật nhận dạng âm sử dụng dựa kỹ thuật K-means Do tập liệu huấn luyện đầu vào biết gồm loại (4 nhạc cụ) nên ta phân thành cụm Trích rút đặc trưng liệu mẫu sau tính tốn giá trị trung bình cụm Ta thu vector đặc trưng giá trị trung bình Các bước truy vấn nhận dạng âm thanh: B1 Trích rút đặc trưng file âm B2 Tính tốn khoảng cách câu truy vấn với giá trị mean tính trước 18 B3 Lấy giá trị khoản cách nhỏ đưa kết 19 Dưới demo chương trình 20 21 ĐÁNH GIÁ KẾT QUẢ ĐẠT ĐƯỢC Chương trình nhận dạng âm chạy với độ xác tương đối cao test biết trước có sở liệu huấn luyện Nhưng nhận dạng sai nhạc cụ chưa huấn luyện Dữ liệu huấn luyện thu thập chưa phong phú chủng loại Các đặc trưng trích rút phần nhỏ số đặc trưng sử dụng để nhận dạng âm nói chung nhận dạng nhạc cụ nói riêng 22