Tôi đang cố gắng sử dụng ANN để phát hiện quảng cáo chiêu hàng nốt nhạc. Mạng là một MLP hai lớp đơn giản, có đầu vào về cơ bản là một DFT (trung bình và logarithmically phân phối), và 12 kết quả đầu ra tương ứng với 12 ghi chú của một quãng tám cụ thể.Phát hiện quảng cáo chiêu hàng bằng cách sử dụng mạng thần kinh
Mạng được đào tạo với một số mẫu của 12 ghi chú đó được phát bởi một số nhạc cụ (một ghi chú cùng một lúc) và một vài mẫu "im lặng".
Kết quả thực sự tốt. Mạng có thể phát hiện những ghi chú được phát bởi các nhạc cụ khác nhau một cách chính xác, nó tương đối amune với tiếng ồn, và thậm chí không mất hoàn toàn khi nó được phát một bài hát.
Mục tiêu, tuy nhiên, là có thể phát hiện âm thanh đa âm. Vì vậy khi hai hay nhiều nốt được chơi cùng nhau, hai nơ-ron tương ứng sẽ cháy. Điều đáng ngạc nhiên là mạng thực sự đã làm điều đó ở một mức độ nào đó (chỉ được đào tạo trên các mẫu đơn âm), tuy nhiên ít nhất quán và ít chính xác hơn so với các ghi chú đơn âm. Câu hỏi của tôi là làm thế nào tôi có thể nâng cao khả năng nhận ra âm thanh đa âm?
Vấn đề là tôi không thực sự hiểu tại sao nó thực sự hoạt động. Các ghi chú khác nhau (hoặc DFT của chúng) về cơ bản là các điểm khác nhau trong không gian mà mạng được đào tạo. Vì vậy, tôi thấy lý do tại sao nó nhận ra âm thanh tương tự (các điểm lân cận), nhưng không phải cách nó "kết thúc" đầu ra cho một sự kết hợp các ghi chú (tạo thành một điểm xa từ mỗi ví dụ đào tạo). Tương tự như một mạng AND được đào tạo trên (0,0) (0,1) (1,0) = (0), không được dự kiến sẽ "kết luận" (1,1) = (1).
Sức mạnh vũ phu là do đào tạo mạng với càng nhiều mẫu đa âm càng tốt. Tuy nhiên, kể từ khi mạng dường như mơ hồ nắm bắt được ý tưởng từ các mẫu đơn âm, có lẽ có điều gì đó đáng thương hơn ở đây.
Mọi con trỏ? (xin lỗi cho chiều dài, btw :).
Chỉ cần lấy tần suất tối đa là rất không đáng tin cậy – finnw