Witam
Mam funkcję zwracającą tablice zawierającą amplitudy dla kolejnych 512 częstotliwości (po szybkiej transformacie Fouriera) i chciałbym jakoś dzięki temu jednoznacznie wykryć różnicę, między np dwoma kolejnymi dźwiękami na pianinie. Problem polega na tym, że nie wiem za bardzo jak ją zinterpretować ponieważ dla dwóch kolejnych dźwięków rozkłąd amplitud w tablicy jest bardzo niewielki. Czy należy jakoś dodawać lub mnożyć wartości częstotliwości których amplituda jest znacząca? Próbowałem interpretować komórkę z największą amplitudą jako poszukiwana częstotliwość ale jeśli dźwięki się niewiele różnią to największa amplituda jest praktycznie dla tej samej częstotliwości. Jak to zinterpretować?
Dorzucam fragment tablicy po jednym FFT dla dwóch dźwięków (chyba oddalonych o 3 tony)
Pierwszy:
1. 24.530200 2. 78.125253 3. 154.982388 4. 59.811607 5. 123.034008
6. 43.520093 7. 17.564852 8. 57.009540 9. 19.878907 10. 17.688291
11. 26.899030 12. 21.690629 13. 41.065734 14. 5.629265 15. 13.488023
16. 31.851005 17. 5.308379 18. 15.438041 19. 11.677794 20. 6.552101
21. 12.709266 22. 4.275567 23. 0.867055 24. 12.156359 25. 10.431297
26. 22.760795 27. 12.764864 28. 6.859765 29. 19.405782 30. 7.984998
31. 5.128493 32. 4.270626 33. 7.221111 34. 12.893523 35. 1.958800
36. 7.209430 37. 15.662171 38. 3.905020 39. 12.917633 40. 6.480977
41. 5.068283 42. 3.200931 43. 2.665293 44. 0.682026 45. 3.346509
Drugi:
1. 27.572323 2. 39.764006 3. 100.092925 4. 106.513448 5. 37.895124
6. 20.865323 7. 116.110630 8. 7.925638 9. 2.813901 10. 16.253956
11. 45.913775 12. 18.918822 13. 15.345279 14. 12.833519 15. 13.281427
16. 15.010813 17. 23.570405 18. 18.382650 19. 3.838912 20. 2.219364
21. 35.020839 22. 9.516424 23. 7.188960 24. 11.163106 25. 11.016565
26. 3.778006 27. 2.645686 28. 2.313941 29. 2.893926 30. 3.485040
31. 6.017710 32. 14.785689 33. 4.507269 34. 4.173937 35. 17.348815
36. 1.704237 37. 0.954174 38. 2.254724 39. 9.124653 40. 3.417880
41. 2.641973 42. 2.485914 43. 2.661742 44. 4.210833 45. 5.742209
pozdrawiam