2011-11-07 63 views
8

Xây dựng:Cách so sánh đầu vào âm thanh với âm thanh được xác định trước?

Giả sử tôi phát G trên cây đàn guitar và thẻ âm thanh của tôi đã lấy đầu vào. Làm thế nào để làm cho máy tính của tôi nhận ra rằng đó là G? (Không có ràng buộc về ngôn ngữ lập trình, mặc dù thích Python hoặc C) (Liên kết đến các bài viết hoặc một số ý tưởng nhất định sẽ giúp ích. Không có đoạn mã)

+2

So sánh với âm thanh được xác định trước không phải là cách nhận dạng độ cao được thực hiện. Tiêu đề kém. – hotpaw2

Trả lời

1

Cả bộ lọc Goertzel lẫn FFT đều là các bộ ước tính âm nhạc tốt. FFT là một ước lượng tần số, và tần số phổ đỉnh là khác nhau từ sân tâm lý âm thanh (do cảm giác kỳ quặc và vật lý của nhạc cụ thực tế, chẳng hạn như thiếu hoặc yếu cơ bản).

Tìm kiếm trên stackoverflow cho thuật toán ước tính giai đoạn âm nhạc. Có một bó.

+0

Từ kinh nghiệm của bạn, thuật toán nào là tốt nhất khi xấp xỉ sân rất âm tâm mà bạn đề cập đến? –

+0

Bạn có thể muốn hỏi đó là một câu hỏi hay hơn. Nó có thể phụ thuộc vào các chi tiết về yêu cầu và ràng buộc của bạn. – hotpaw2

0

Nếu bạn chỉ muốn kiểm tra một vài tần số, thì Goertzel algorithm có thể đơn giản hơn để triển khai. (Và nhanh hơn trong thời gian chạy)