intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Nghiên cứu phương pháp nhận dạng phân biệt tiếng nói với âm nhạc

Chia sẻ: Thi Thi | Ngày: | Loại File: PDF | Số trang:7

67
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Trong bài báo này mục đích nghiên cứu ban đầu của chúng tôi chủ yếu là nhận dạng phân biệt hai loại âm thanh: tiếng nói và âm nhạc với kết quả thu được có độ chính xác khá cao, với tiếng nói có độ chính xác xấp xỉ 84%, âm nhạc là 92%. Trong tương lai chúng tôi mong muốn phát triển hệ thống có khả năng nhận dạng phân biệt nhiều lớp âm thanh hơn.

Chủ đề:
Lưu

Nội dung Text: Nghiên cứu phương pháp nhận dạng phân biệt tiếng nói với âm nhạc

Đỗ Thị Loan và Đtg<br /> <br /> Tạp chí KHOA HỌC & CÔNG NGHỆ<br /> <br /> 112(12)/2: 89 - 95<br /> <br /> NGHIÊN CỨU PHƯƠNG PHÁP NHẬN DẠNG PHÂN BIỆT<br /> TIẾNG NÓI VỚI ÂM NHẠC<br /> Đỗ Thị Loan, Lưu Thị Liễu, Nguyễn Thị Hiền<br /> Trường Đại học Công nghệ thông tin và Truyền thông – ĐH Thái Nguyên<br /> <br /> TÓM TẮT<br /> Tự động nhận dạng phân biệt tiếng nói với âm nhạc là công cụ quan trọng trong nhiều ứng dụng đa<br /> phương tiện. Để nhận dạng phân biệt tiếng nói với âm nhạc, chúng tôi đã sử dụng ba đặc trưng: tần<br /> suất vượt điểm không cao (HZCRR), tỷ lệ khung có năng lượng ngắn hạn thấp (LSTER), độ biến<br /> thiên phổ (SF) và thuật toán sử dụng để huấn luyện cũng như nhận dạng là K-NN (K Nearest<br /> Neighbor). Dữ liệu là các đoạn nhạc gồm nhiều thể loại từ nhạc không lời tới nhạc có lời (nhạc<br /> Việt Nam, nhạc Rock, nhạc Pop, Đồng quê), các đoạn tiếng nói của giọng nam và nữ bằng tiếng<br /> Việt. Trong bài báo này mục đích nghiên cứu ban đầu của chúng tôi chủ yếu là nhận dạng phân<br /> biệt hai loại âm thanh: tiếng nói và âm nhạc với kết quả thu được có độ chính xác khá cao, với<br /> tiếng nói có độ chính xác xấp xỉ 84%, âm nhạc là 92%. Trong tương lai chúng tôi mong muốn phát<br /> triển hệ thống có khả năng nhận dạng phân biệt nhiều lớp âm thanh hơn.<br /> Từ khóa: Phân biệt, tiếng nói, âm nhạc, nhạc Việt Nam, tiếng Việt.<br /> <br /> GIỚI THIỆU*<br /> Nhận dạng phân biệt tiếng nói với âm nhạc là<br /> một phần trong hệ thống phân loại âm thanh<br /> ASC (Audio Signal Classifier) [1] hay trong<br /> hệ thống nhận dạng các khung cảnh âm thanh<br /> CASR<br /> (Computeral<br /> Audio<br /> Scence<br /> Recognizer) [2], nhận dạng các chương trình<br /> trên ti vi [3], [4], hay hệ thống phiên dịch nốt<br /> nhạc AMTS [5]. Để xây dựng một hệ thống<br /> hoàn chỉnh thì rất khó khăn vì âm thanh rất<br /> phong phú, đa dạng và mỗi loại có những đặc<br /> trưng riêng, sự kết hợp giữa chúng tạo nên vô<br /> vàn các dạng âm thanh khác nhau, điều này<br /> ảnh hưởng lớn đến việc phân loại các khung<br /> cảnh âm thanh. Hầu hết các nghiên cứu nhận<br /> dạng phân biệt các lớp âm thanh đều căn cứ<br /> theo từng trường hợp mà bạn đưa về số lớp,<br /> và một vài điều kiện ràng buộc khác. Chẳng<br /> hạn phân loại âm thanh thành bốn lớp: âm<br /> nhạc, tiếng nói, nhiễu, khoảng lặng [4], [6]<br /> hoặc chỉ phân thành tiếng nói và âm nhạc<br /> không thôi [3], [7].<br /> SỰ KHÁC NHAU GIỮA TIẾNG NÓI VÀ<br /> ÂM NHẠC<br /> Các tín hiệu âm thanh là một tín hiệu có ý<br /> nghĩa trong khoảng thời gian ngắn. Khi kiểm<br /> *<br /> <br /> tra tín hiệu âm thanh trong khoảng thời gian<br /> đủ ngắn (giữa 5 và 100msec), ta có thể nhận<br /> thấy đặc điểm của nó là khá cụ thể. Tuy nhiên<br /> trong thời gian dài, các đặc tính của tín hiệu<br /> thay đổi để phản ánh đặc điểm của chuỗi tín<br /> hiệu như một bài phát biểu hay một đoạn<br /> nhạc. Trong phần này, chúng tôi đưa ra một<br /> số nhận định về sự khác biệt giữa tiếng nói và<br /> âm nhạc như sau:<br /> - Thanh điệu: Giai điệu có ý nghĩa sự biểu<br /> thị của dạng sóng âm thanh. Âm nhạc có xu<br /> hướng được tạo ra từ sự đa dạng của các tần<br /> số. Còn tiếng nói có giai điệu từ chính sắc<br /> điệu và giọng nói của người nói.<br /> - Chuỗi thay thế: Tiếng nói cho ta một chuỗi<br /> các tiếng ồn, khoảng lặng xem kẽ từng đoạn<br /> trong khi âm nhạc không có. Nói cách khác,<br /> lời nói có tín hiệu phân phối thông qua quang<br /> phổ ngẫu nhiên hơn so với âm nhạc.<br /> - Băng thông: Tiếng nói thường có 90%<br /> năng lượng tập trung ở tần số thấp hơn 4kHz<br /> (và hạn chế đến 8kHz), trong khi âm nhạc có<br /> thể mở rộng thông qua các giới hạn trên<br /> khoảng 20kHz.<br /> - Phân phối: Năng lượng của tiếng nói<br /> thường tập trung ở tần số thấp sau đó giảm rất<br /> nhanh trong các miền tần số cao hơn. Còn tín<br /> hiệu âm nhạc thì trải đều hơn.<br /> <br /> Tel: 0972998865; Email:dtloan@ictu.edu.vn<br /> <br /> 89<br /> <br /> Đỗ Thị Loan và Đtg<br /> <br /> Tạp chí KHOA HỌC & CÔNG NGHỆ<br /> <br /> - Tần số cơ bản: với tiếng nói cụ thể, ta có<br /> thể xác định được tần số cơ bản nhưng với âm<br /> nhạc thì không.<br /> - Khoảng âm điệu: Thời hạn của nguyên âm<br /> trong tiếng nói là rất thường xuyên. Âm nhạc<br /> thể hiện một biến thể rộng lớn hơn chiều dài<br /> của giai điệu, không được hạn chế do quá<br /> trình phát âm nhạc.<br /> - Năng lượng ngắn hạn: Năng lượng của tín<br /> hiệu tiếng nói có sự biến thiên nhiều hơn so<br /> với tín hiệu âm nhạc.<br /> - Tỷ lệ vượt điểm không: Tùy thuộc vào tín<br /> hiệu âm nhạc và tiếng nói nhưng thông<br /> thường tỷ lệ vượt điểm không của tín hiệu<br /> tiếng nói sẽ lớn hơn tín hiệu âm nhạc.<br /> LỰA CHỌN ĐẶC TRƯNG VÀ PHƯƠNG<br /> PHÁP NHẬN DẠNG PHÂN BIỆT TIẾNG<br /> NÓI VỚI ÂM NHẠC<br /> Cho tới nay có khá nhiều đặc tính của tín hiệu<br /> âm thanh để nhận dạng, phân biệt tiếng nói và<br /> âm nhạc hay các hệ thống nhận dạng phân<br /> loại khác nhau. Mỗi nghiên cứu đều đưa ra<br /> một số lượng các đặc tính của tín hiệu âm<br /> thanh và phương thức sử dụng để phân loại.<br /> Các đặc tính của tín hiệu âm thanh thường<br /> được chia làm hai loại chính là: các đặc tính<br /> vật lý và các đặc tính cảm thụ âm thanh của<br /> con người.<br /> Đặc tính vật lý là các đặc tính đặc trưng trong<br /> miền tần số và đặc trưng trong miền thời gian<br /> như: biên độ, tần số vượt điểm không ZCR,<br /> năng lượng ngắn hạn, hệ số phổ MFCC, cặp<br /> phổ tuyến tính LSP (Linear Spectrum Pair)<br /> [6], độ biến thiên phổ SF.<br /> Đặc tính về cảm thụ âm thanh của con người<br /> là các đặc tính được con người cảm nhận như<br /> nhịp điệu, độ cao của âm (Pitch), độ ngân, âm<br /> sắc,…. Cũng như nhiều nghiên cứu trước đây,<br /> để nhận dạng phân biệt tiếng nói với âm nhạc<br /> nói riêng hay nhận dạng phân biệt các lớp âm<br /> thanh khác nói chung hầu như chỉ sử dụng các<br /> đặc trưng vật lý là đủ. Bởi vậy trong bài báo<br /> này, chúng tôi cũng chỉ dùng các đặc trưng<br /> liên quan tới miền tần số và miền thời gian<br /> (đặc trưng vật lý).<br /> Dựa trên các phân tích, đánh giá về đặc điểm<br /> của tín hiệu âm thanh, giữa âm nhạc và tiếng<br /> nói về đặc điểm âm học, dải tần, đặc điểm về<br /> 90<br /> <br /> 112(12)/2: 89 - 95<br /> <br /> phân bố năng lượng, chúng tôi đã lựa chọn ba<br /> đặc trưng: Tỷ lệ tần suất vượt qua điểm không<br /> cao HZCRR (Hight Zero Crossing Rate<br /> Ratio), tỷ lệ khung có năng lượng ngắn hạn<br /> thấp LSTER (Low Short Time Energy Ratio)<br /> và độ biến thiên phổ SF (Spectrum Flux). Còn<br /> phương pháp nhận dạng phân biệt chúng tôi<br /> sử dụng là thuật toán K láng giêng gần nhất<br /> K-NN (K Nearest Neighbor) [8].<br /> Lựa chọn đặc trưng<br /> Đặc trưng tần suất vượt qua điểm không cao<br /> - HZCRR<br /> <br /> Hình 1: Biểu đồ tần suất vượt điểm không<br /> của tín hiệu âm thanh<br /> <br /> Công thức của HZCRR như sau:<br /> HZCRR =<br /> <br /> N −1<br /> <br /> 1<br /> 2N<br /> <br /> ∑ [ sign<br /> <br /> (ZCRn – THL) +1<br /> <br /> n=0<br /> <br /> Trong đó:<br /> - n là thứ tự của cửa sổ trích chọn đặc trưng<br /> - N là độ rộng của cửa sổ trích chọn đặc trưng<br /> - ZCR là tần suất vượt điểm không trong<br /> khoảng ngắn theo công thức :<br /> ZCRk =<br /> <br /> 1<br /> 2F<br /> <br /> k<br /> <br /> ∑ [ sign ( x<br /> <br /> m = k − F +1<br /> <br /> m<br /> <br /> ) − sign ( x m − 1 )]<br /> <br /> F: độ dài khoảng ngắn - thường là 1 frame<br /> - THL là tần suất vượt điểm không trung<br /> bình trong cửa sổ theo công thức:<br /> THL =<br /> <br /> 1<br /> N<br /> <br /> N −1<br /> <br /> ∑ [ ZCR<br /> n=0<br /> <br /> n<br /> <br /> ]<br /> <br /> Đặc trưng năng lượng ngắn hạn của tín<br /> hiệu - LSTER<br /> Công thức tính LSTER như sau:<br /> LSTER =<br /> <br /> 1<br /> 2N<br /> <br /> N −1<br /> <br /> ∑ [ sign ( THL<br /> n=0<br /> <br /> − STE n ) + 1]<br /> <br /> Đỗ Thị Loan và Đtg<br /> <br /> Tạp chí KHOA HỌC & CÔNG NGHỆ<br /> <br /> Trong đó:<br /> - STE là năng lượng trong khoảng ngắn<br /> (trong 1 frame) theo công thức:<br /> <br /> k<br /> ( x 2 .w 2<br /> )<br /> ∑<br /> k<br /> m k −m<br /> m = k − F +1<br /> W là cửa sổ (có thể là chữ nhật hoặc<br /> hamming)<br /> - THL là năng lượng trung bình theo công<br /> thức:<br /> STE<br /> <br /> =<br /> <br /> THL =<br /> <br /> 1<br /> 2N<br /> <br /> N −1<br /> <br /> ∑ [ STE ]<br /> n =0<br /> <br /> n<br /> <br /> Đặc trưng độ biến thiên phổ - SF<br /> <br /> Trong đó:<br /> - K là bậc của phổ DFT.<br /> - δ là hằng số bé (=0.01) để loại trường hợp<br /> log(0).<br /> - A(n,m) là biến đổi Fourier rời rạc(DFT)<br /> theo công thức:<br /> 2π<br /> |A<br /> <br /> (n, m )<br /> <br /> =<br /> <br /> j<br /> mi<br /> ∞<br /> |<br /> ∑ x ( i ) w ( nL − i ). e L<br /> i = −∞<br /> <br /> Hình 2. Biểu đồ histogram độ biến thiên phổ<br /> theo không gian 3 chiều (a): music (b):speech<br /> <br /> Thuật toán KNN<br /> Thuật toán K-NN [8] là phương pháp phân<br /> loại dựa trên chỉ tiêu không gian khoảng cách.<br /> Xác định một điểm thuộc miền nào bằng cách<br /> tính toán dựa trên khoảng cách không gian.<br /> Có nhiều phương pháp để tính khoảng cách<br /> giữa các vectơ như phương pháp đo khoảng<br /> cách Euclidean, phương pháp đo khoảng cách<br /> Hamming, phương pháp đo khoảng cách<br /> <br /> 112(12)/2: 89 - 95<br /> <br /> Mahalanobis hay phương pháp đo khoảng<br /> cách City Block.<br /> Bài toán: Giả sử ta có một không gian đa<br /> chiều (Y1, Y2,…,Yn) và có một tập hợp các<br /> khu vực A, B trong đó:<br /> - Khu vực A ta biết được sự tồn tại của các<br /> đối tượng XA1, XA2, … XAn với XAi={ YAi1,<br /> YAi2,…, YAin}<br /> - Khu vực B ta chỉ biết sự tồn tại của các<br /> đối tượng XB1, XB2, … XBn với XBi={ YBi1,<br /> YBi2,…, YBin}<br /> Có một đối tượng Xi ( Yi1, Yi2,…, Yin) bất kì<br /> ta cần xác định đối tượng Xi này thuộc khu<br /> vực A hay B.<br /> <br /> Hình 3: Mô tả thuật toán K-NN<br /> <br /> Giải thuật: Trong tất cả các đối tượng đã xác<br /> định rõ khu vực A và B, ta tìm K đối tượng<br /> gần với Xi nhất, trong K đối tượng này sẽ xác<br /> định xem có bao nhiêu đối tượng thuộc khu<br /> vực A, bao nhiêu đối tượng thuộc khu vực B,<br /> khu vực nào nhiều đối tượng gần Xi hơn thì<br /> Xi có khả năng thuộc khu vực đó.<br /> Để tính khoảng cách giữa các vectơ dùng<br /> công thức:<br /> D(X,X’)=<br /> THỰC HIỆN HỆ THỐNG NHẬN DẠNG<br /> PHÂN BIỆT TIẾNG NÓI VỚI ÂM NHẠC<br /> Hệ thống có dạng tổng quát như hình 4.<br /> Hoạt động của hệ thống gồm hai quá trình<br /> riêng biệt: thứ nhất là quá trình học (huấn<br /> luyện) và thứ hai là quá trình nhận dạng phân<br /> biệt với tín hiệu đầu vào.<br /> Quá trình huấn luyện: Tín hiệu đầu vào<br /> được đưa vào phân tích đặc trưng. Tại đây<br /> chúng được xử lý, tính toán và lấy ra giá trị<br /> các đặc trưng cần trích chọn phục vụ cho việc<br /> xây dựng hệ thống. Sau đó tới khối huấn<br /> 91<br /> <br /> Đỗ Thị Loan và Đtg<br /> <br /> Tạp chí KHOA HỌC & CÔNG NGHỆ<br /> <br /> luyện được xử lý và lưu vào cơ sở dữ liệu<br /> (CSDL) mẫu. Quá trình huấn luyện dùng<br /> phương pháp học có giám sát nghĩa là chúng<br /> ta đã biết rõ sự phân lớp trên tập dữ liệu mẫu<br /> dùng để học, ở đây chỉ có hai lớp: tiếng nói và<br /> âm nhạc. Các đặc trưng mẫu của từng lớp<br /> được trích chọn lưu riêng vào CSDL.<br /> <br /> 112(12)/2: 89 - 95<br /> <br /> Tuy nhiên vấn đề khi phân khung của tín hiệu<br /> đó chính là sai số của cả phép biến đổi so với<br /> tín hiệu gốc, do đó nên sử dụng hàm cửa sổ<br /> để hạn chế các sai số do độ dài hữu hạn của<br /> các tín hiệu gây ra trong các phép biến đổi.<br /> Hàm cửa sổ thường được dùng là Hamming<br /> được cho bởi công thức sau:<br /> W n = 0 . 54 − 0 . 46 * cos(<br /> <br /> 2Πn<br /> )<br /> N −1<br /> <br /> KẾT QUẢ<br /> Cài đặt hệ thống<br /> Chúng tôi thực hiện hệ thống nhận dạng phân<br /> biệt với tín hiệu đầu vào là các file âm thanh<br /> chuẩn dạng WAVE (*.wav), việc tính toán,<br /> xử lý, phân biệt đều thực hiện dựa trên file<br /> wave này. Như đã phân tích ở trên quá trình<br /> huấn luyện gồm các bước cơ bản sau:<br /> <br /> Hình 4: Mô hình tổng quát của hệ thống<br /> <br /> Quá trình nhận dạng phân biệt: Trình tự<br /> thực hiện cũng như trên nhưng chỉ khác là tín<br /> hiệu sau khi được trích chọn đặc trưng sẽ<br /> được đưa vào khối nhận dạng phân biệt. Tại<br /> khối này chúng ta phân tích đánh giá với<br /> CSDL mẫu đã được huấn luyện thông qua<br /> thuật toán K-NN. Kết quả này sau đó được<br /> chuyển tới bộ ra quyết định để xác định xem<br /> tín hiệu hiệu đó thuộc lớp tín hiệu nào. Vectơ<br /> đặc trưng là vectơ 3 chiều vì ta chỉ chọn 3 đặc<br /> trưng như đã trình bày ở trên.<br /> Phân khung tín hiệu: Do tín hiệu tiếng nói<br /> ổn định trong khoảng vài chục ms, nên khi<br /> tiến hành các phép phân tích, biến đổi người<br /> ta thường chia tín hiệu thành có đoạn nhỏ<br /> khoảng 10 đến 30ms, đó được gọi là phân<br /> khung, các khung tín hiệu liên tiếp có thể<br /> chồng nhau khoảng ½ độ dài.<br /> <br /> Hình 5: Phân khung tín hiệu<br /> <br /> 92<br /> <br /> Hình 6: Mô hình quá trình huấn luyện<br /> <br /> Với mỗi dãy tín hiệu âm thanh đọc được, ta<br /> thực hiện xác định khung tín hiệu, tính các<br /> thông số cơ bản STE, ZCR, A của dãy tín hiệu.<br /> Giao diện cài đặt của quá trình huấn luyện:<br /> <br /> Hình 7: Giao diện huấn luyện, tạo dữ liệu mẫu<br /> <br /> Đỗ Thị Loan và Đtg<br /> <br /> Tạp chí KHOA HỌC & CÔNG NGHỆ<br /> <br /> - Bên phải là đồ thị của tín hiệu: tại khung cửa<br /> sổ thứ nhất là dạng tín hiệu âm thanh, tiếp theo<br /> là năng lượng trong khoảng ngắn hạn và tần<br /> suất vượt điểm không của tín hiệu âm thanh.<br /> - Bên trái là các điều khiển: mở file wave,<br /> nghe thử, xác định tiếng nói hay âm nhạc, lưu<br /> dữ liệu.<br /> Quá trình nhận dạng:<br /> <br /> 112(12)/2: 89 - 95<br /> <br /> khung cửa sổ thứ 4 thể hiện đây là tiếng nói<br /> hay âm nhạc (tiếng nói có biên độ bằng 2/3<br /> khung còn âm nhạc có biên độ = 1/3 khung).<br /> - Bên trái cũng là khung điều khiển mở,<br /> chọn tín hiệu file wave. Ngoài ra còn có sự<br /> lựa chọn tham số K (K là số phần tử thuộc lớp<br /> đặc trưng mẫu gần với mẫu cần nhận dạng<br /> phân biệt nhất).<br /> Đánh giá<br /> Chương trình thực hiện phân biệt tiếng nói và<br /> âm nhạc dựa trên một tập các tín hiệu âm<br /> thanh mẫu mà tôi sưu tầm có được : tập hợp<br /> tiếng nói là tiếng Việt, tập hợp âm nhạc là các<br /> thể loại nhạc không lời của một số trường<br /> phái âm nhạc.<br /> <br /> Hình 8: Mô hình quá trình nhận dạng<br /> <br /> Quá trình nhận dạng có một số bước trùng<br /> với quá trình huấn luyện như việc đọc dữ<br /> liệu file wave, thông số cơ bản, tính các<br /> thông số đặc trưng.<br /> <br /> Tập hợp tiếng nói gồm có 1037 file là các file<br /> phát âm các từ của tiếng Việt, mỗi file có độ<br /> dài < 1s, có tần số lấy mẫu 16000Hz, bit rate<br /> là 16bit/mẫu.<br /> Tập hợp âm nhạc gồm có 77 file là các file<br /> nhạc không lời của các thể loại R&B, Rock,<br /> Country…. Mỗi file có độ dài < 30s và có<br /> cùng tần số lấy mẫu 16000Hz, bit rate<br /> 16bit/mẫu.<br /> Các file dữ liệu mẫu trên đều là các file âm<br /> thanh mono (một kênh).<br /> Qua thử nghiệm, thống kê tôi thấy chương<br /> trình đã thực hiện việc phân biệt tiếng nói và<br /> âm nhạc với tỉ lệ chính xác tốt với các trường<br /> hợp tiếng nói và âm nhạc riêng biệt.<br /> Sau đây là kết quả thu được khi thử nghiệm:<br /> Bảng 1: Kết quả thống kê cơ sở dữ liệu<br /> <br /> Hình 9: Giao diện nhận dạng phân biệt<br /> <br /> Tương tự như giao diện huấn luyện, giao diện<br /> nhận dạng cũng có các phần:<br /> - Bên phải là đồ thì biểu diễn của tín hiệu: tại<br /> khung cửa sổ thứ nhất là dạng tín hiệu của âm<br /> thanh, tiếp theo là năng lượng trong khoảng<br /> ngắn hạn và tần suất vượt điểm không của tín<br /> hiệu âm thanh, tuy nhiên khác với giao diện<br /> huấn luyện, giao diện nhận dạng còn có thêm<br /> <br /> Âm<br /> nhạc<br /> <br /> Tiếng<br /> nói<br /> <br /> Giá trị trung bình của<br /> LSTER<br /> <br /> 0.2048<br /> <br /> 0.14599<br /> <br /> Giá trị trung bình của<br /> HZCRR<br /> <br /> 0.3942<br /> <br /> 0.2632<br /> <br /> Giá trị trung bình của SF<br /> <br /> 0.3885<br /> <br /> 0.22<br /> <br /> 93<br /> <br />
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
3=>0