Tôi cần phát hiện cao độ (đo tần số tín hiệu) trong khi các nhạc sĩ phát nhạc, đưa ra cảnh báo nếu họ không điều chỉnh được, nhưng âm nhạc xảy ra quá nhanh đối với FFT (Biến đổi Fourier nhanh).
Dưới đây tôi cố gắng đưa ra một mô tả kỹ thuật của vấn đề.
Nhạc sĩ chơi nhạc ở 90-140 bpm. Điều này có nghĩa là có 90-140 nhóm ghi chú mỗi phút, tối đa 8 (thường xuyên hơn, tối đa 4) ghi chú trong mỗi nhóm (60/140/8 = 0,0536 giây, 60/90/4 = 0,167 giây), rằng là, ghi chú có thể thay đổi ở tốc độ 6-19 ghi chú mỗi giây.
Âm nhạc sử dụng thang đo logarit (xem hình ảnh đính kèm): phạm vi giữa, giả sử, 440Hz và 880Hz được chia thành 12 nốt, chỉ 7 trong số đó được sử dụng cho giai điệu. (Về cơ bản, họ chỉ sử dụng các phím trắng trên đàn piano; khi muốn thay đổi tần số bắt đầu, họ sử dụng một số phím đen và không sử dụng một số phím trắng.) Nghĩa là tần số của mỗi nốt tiếp theo được nhân lên. bằng 2 ^ (1/12) = 1.05946.
Để làm cho mọi thứ phức tạp hơn, tần số A (La) có thể thay đổi từ 438 đến 446 Hz. Các nhạc cụ dây trong lý thuyết có thể được điều chỉnh, trong khi các nhạc cụ gió phụ thuộc vào nhiệt độ không khí và độ ẩm, do đó tần số xảy ra sẽ được các nhạc sĩ đàm phán lại trong quá trình kiểm tra âm thanh.
Đôi khi các nhạc sĩ và ca sĩ mắc lỗi về tần số, họ gọi đó là "không đúng giai điệu". Họ muốn một thiết bị sẽ thông báo cho họ về những "lỗi không đúng" như vậy. Họ có bộ chỉnh âm, nhưng bộ chỉnh yêu cầu phát cùng một âm thanh trong khoảng 1 giây trước khi họ bắt đầu hiển thị bất cứ thứ gì. Điều này hoạt động để điều chỉnh, nhưng không hoạt động trong khi nhạc được phát.
Rất có thể, bộ chỉnh đang thực hiện FFT và do công thức chờ trong 1 giây để có độ phân giải 1Hz.
Đối với A = 440Hz, sự khác biệt về tần số giữa hai nốt là 440 * 0,05946 = 26,16 Hz, để có được độ phân giải tần số đó, người ta phải sử dụng thời gian thu là 0,038 giây, nghĩa là, ở tốc độ = 196bpm FFT chỉ có thể phân biệt hai lưu ý, ở tốc độ 98 bpm, nó có thể báo lỗi lỗi 50% với điều kiện là nó bắt đầu thu được tại thời điểm sân thay đổi. Nếu chúng tôi cho phép thay đổi cường độ trong quá trình mua lại, chúng tôi nhận được 49 bpm, quá chậm. Ngoài ra, rất mong muốn được chính xác hơn về tần số, giả sử, phát hiện lỗi không đúng 25% hoặc 12%.
Có cách nào để đo tần số (phát hiện cao độ) tốt hơn FFT, nghĩa là, với độ phân giải tốt hơn trong thời gian thu thập ít hơn? (Tốt hơn ít nhất 2 lần, lý tưởng hơn, tốt hơn 8-16 lần.) Đổi lại, tôi không cần phân biệt giữa các nốt của các quãng tám khác nhau, ví dụ cả 440 và 880 có thể được công nhận là A. Tôi không cần tuyến tính của FFT đầu ra, một thang logarit sẽ tốt hơn. (Có lẽ, nhiều sự đánh đổi là có thể, chỉ là không có gì khác xuất hiện trong tâm trí của tôi ngay bây giờ.)
Đây là một bản vẽ thực sự tốt: