6

Đối với dự án năm cuối cùng của tôi, tôi đang cố gắng xác định âm thanh của con chó/vỏ cây/chim thời gian thực (bằng cách ghi các clip âm thanh). Tôi đang sử dụng MFCC làm các tính năng âm thanh. Ban đầu tôi đã trích xuất hoàn toàn 12 vectơ MFCC từ một clip âm thanh bằng cách sử dụng thư viện jAudio. Bây giờ tôi đang cố gắng đào tạo một thuật toán học máy (tại thời điểm này tôi đã không quyết định thuật toán nhưng nó có lẽ là SVM). Kích thước clip âm thanh giống như khoảng 3 giây. Tôi cần làm rõ một số thông tin về quy trình này. Họ đang có,Làm thế nào để đào tạo một thuật toán học máy sử dụng vectơ hệ số MFCC?

  1. Do tôi phải đào tạo thuật toán này sử dụng khung dựa MFCCs (12 mỗi khung hình) hoặc hoặc clip tổng thể dựa MFCCs (12 cho mỗi clip âm thanh)?

  2. Để đào tạo thuật toán, tôi có phải xem xét tất cả 12 MFCCs như 12 thuộc tính khác nhau hoặc tôi có phải xem xét 12 MFCC đó là một thuộc tính không?

Những MFCCs là MFCCS tổng thể cho clip,

-9.598802712290967 -21.644963856237265 -7.405551798816725 -11.638107212413201 -19.441831623156144 -2.780967392843105 -0.5792847321137902 -13.14237288849559 -4.920408873192934 -2.7111507999281925 -7.336670942457227 2.4687330348335212

Bất kỳ trợ giúp sẽ được đánh giá cao thực sự để vượt qua những vấn đề này. Tôi không thể tìm ra trợ giúp tốt trên Google. :)

+0

bạn có thể vui lòng chia sẻ mã của mình nếu có thể được không, tôi đang làm việc tương tự. –

Trả lời

4
  1. Bạn nên tính toán MFCC trên mỗi khung. Vì tín hiệu của bạn thay đổi theo thời gian, việc đưa chúng qua toàn bộ clip sẽ không có ý nghĩa. Tệ hơn nữa, bạn có thể kết thúc với chó và chim có biểu hiện tương tự. Tôi muốn thử nghiệm với một số độ dài khung hình. Nói chung, chúng sẽ theo thứ tự mili giây.

  2. Tất cả chúng phải là các tính năng riêng biệt. Hãy để thuật toán học máy quyết định xem dự đoán nào là tốt nhất.

Xin lưu ý rằng MFCC nhạy cảm với tiếng ồn, vì vậy hãy kiểm tra mẫu của bạn trước tiên như thế nào. Lựa chọn các tính năng âm thanh phong phú hơn để khai thác được cung cấp bằng ví dụ: Yaafe library, nhiều trong số đó sẽ phục vụ tốt hơn trong trường hợp của bạn. Cụ thể là gì? Đây là những gì tôi thấy hữu ích nhất trong phân loại các cuộc gọi chim:

  • phổ phẳng
  • lây lan nhận thức
  • phổ rolloff
  • phổ giảm
  • phổ thống kê hình
  • dốc phổ
  • tuyến tính Mã hóa dự báo (LPC)
  • Đường phổ Pai rs (LSP)

Có lẽ bạn có thể thấy thú vị khi trả phòng this project, đặc biệt là phần mà tôi đang giao tiếp với Yaafe.

Quay lại những ngày tôi đã sử dụng SVM, chính xác như bạn đang lên kế hoạch. Hôm nay tôi sẽ dứt khoát đi với việc tăng cường gradient.

+0

điều này thực sự hữu ích và kích thước cửa sổ đề xuất cho trường hợp này là bao nhiêu? thông thường tôi nghĩ như có một cửa sổ 3 giây vì một số loài chim có âm thanh dài. và cũng khi nói đến đào tạo, bạn có thể giải thích cho tôi cách tạo ma trận không? vì vậy tôi phải tạo 12 thuộc tính khác nhau khiến tất cả chúng đều là các tính năng riêng biệt phải không? – nayakPan

+0

Hãy nghĩ về kích thước cửa sổ như một khoảng thời gian ngắn nhất chứa thông tin, lượng tử âm thanh. Trong 3 giây bạn có thể nói toàn bộ câu. Như được giải thích trong câu trả lời của tôi: thứ tự của mili giây, ví dụ: 16 phút. Các cửa sổ nên chồng lên nhau, ít nhất 50% hoặc nhiều hơn. Đối với các ví dụ làm thế nào để "tạo ra một ma trận" một giới thiệu bạn đến đoạn mã tôi chia sẻ. –

+0

giữ thông tin có nghĩa là âm thanh hoàn chỉnh những gì tôi cần hoặc một phần nhỏ của âm thanh tôi cần phải nhận ra? cho phép nói âm thanh độc đáo của một con chim cụ thể là 2 giây chiều dài. nếu tôi sử dụng kích thước cửa sổ 1 giây thì không phải là một cơ hội duy nhất để có được tiếng chim đó là âm thanh thực tế? :( – nayakPan

Các vấn đề liên quan