Aby określić bogactwo dźwięku, chciałbym określić liczbę harmonicznych w próbce muzyki. W tym celu korzystam z biblioteki Processing z biblioteką, która daje mi pełne spektrum z FFT. Zastanawiam się, jak policzyć wszystkie piki w widmie produkowanym przez FFT, nie jestem nawet zainteresowany częstotliwością podstawową.Harmoniczne liczą się w muzycznej próbce
Odpowiedz
Istnieje wiele sposobów na osiągnięcie tego w zależności od potrzeb.
Jeśli chcesz policzyć każdy pik, powinieneś przetestować wszystkie częstotliwości w spektrum, pamiętając o tym, czy intensywność wzrasta, czy maleje. Za każdym razem, gdy zauważysz zmianę kierunku od wzrostu do zmniejszenia, zwiększasz licznik pików. Należy jednak pamiętać, że będą to również bardzo słabe wartości szczytowe, które mogą, ale nie muszą być tym, czego potrzebujesz. Możesz określić minimalny limit przyrostu i spadku, który ma zostać zarejestrowany.
Alternatywnie, możesz znaleźć linię bazową dla intensywności sygnału (używając średniej w najprostszym przypadku), a następnie zliczyć liczbę dodatnich wartości odstających (z pewnym konfigurowalnym minimalnym odchyleniem od linii podstawowej). Prawdopodobnie uzyskasz lepsze wyniki, jeśli zmodyfikujesz to podejście, wykorzystując linię bazową zależną od częstotliwości i minimum, aby uwzględnić stopniowy spadek intensywności przy wyższych częstotliwościach (ponownie, zależy to od konkretnego sygnału i potrzeb, czy byłoby to przydatne). Prostym sposobem na to jest podzielenie widma na pasma (wystarczająco małe, aby móc przyjąć mniej lub bardziej płaską dystrybucję energii w każdym paśmie) i użyć innej linii podstawowej i minimalnej dla każdego pasma.
- 1. Dostęp do biblioteki muzycznej iPhone'a
- 2. W jaki sposób Parse Query.each liczą się do limitów wykonania?
- 3. Czy trwające żądania parse.com nadal liczą się z limitem API?
- 4. Czy elementy tablic liczą się jako wspólna początkowa sekwencja?
- 5. liczą MySQL zdarzenia większe niż 2
- 6. Uzyskanie wynik $ grupa z grupy liczą
- 7. Czy odniesienia jądra jądra liczą obiekty jądra?
- 8. Czy odziedziczone metody liczą się z limitem metody Dex w systemie Android?
- 9. Jak programowo synchronizować muzykę z komputera do biblioteki muzycznej iPhone'a?
- 10. Jak dodać kolumny, które liczą odrębna osoba dowolne miasto
- 11. LINQ do zliczenia Kontynuuje powtarzające się elementy (int) w int Array?
- 12. Jak skupić się po inicjalizacji za pomocą emberjaków?
- 13. Co się dzieje, gdy dostawcy typu zmieniają się w F #?
- 14. Ucz się MVC w nowym projekcie lub trzymaj się WebForms?
- 15. F #: Pozbywanie się zasobów znajdujących się w zamknięciu?
- 16. Thread.join nie zachowuje się tak, jak się spodziewałem w scala
- 17. Jak się dowiedzieć, czy UIkeyboard pojawił się w systemie iOS?
- 18. Czy uczenie się jednej Lisp pomaga w uczeniu się drugiej?
- 19. Aplikacja "nie udało się wznowić w czasie" i zawiesza się
- 20. Jak mogę się dowiedzieć, ile plików znajduje się w katalogu?
- 21. Menu opcji Androida bez paska akcji?
- 22. Jak poruszać się w fragmentach?
- 23. Podszywanie się w ASP.NET MVC
- 24. Nakładające się widoki w UIStackView
- 25. Co się dzieje w __libc_start_main?
- 26. Zachowanie się wszystkich() w pytonie
- 27. Co dzieje się w BeginProcessRequest()?
- 28. Mongooza wypełnia się w obiekcie?
- 29. Nakładające się kolumny w Highchart
- 30. Nakładające się elementy w CSS