Obecnie pracuję nad próbą odgadnięcia wzorów (rytmów) piosenek, aby przedstawić je wizualnie. Na przykład głównym rytmem utworu (perkusja) byłby czerwony kwadrat, wtórne rytmy (bas) niebieskie kółka itp. Tak więc każdy z nich pojawia się za każdym razem, gdy słychać ich odpowiedni dźwięk.Jak ustalić wzory piosenek (rytm) za pomocą AS3 SoundMixer.computeSpectrum?
Wiem, że utwór może mieć wiele wzorów (uderzeń) i właśnie z tego powodu mam problemy. Teraz próbuję uzyskać tylko główne rytmy. Próbuję rozwiązać to w ten sposób:
Używam SoundMixer.computeSpectrum
, aby uzyskać ByteArray
uzupełniony o specyfikację intensywności/częstotliwości. Ta ByteArray
jest podawana co 1/10 sekundy. Próbuję pogrupować dane o podobnej intensywności/częstotliwości w słownikach, aby poznać wzory utworów.
Dostaję wzorców przez:
- rodzin (cały int/częstotliwość Spec każda 1/10): Jednak, aby uzyskać Rodzina coraz powtórzył piosenka jest naprawdę rzadka. Praktycznie nigdy się nie dzieje.
- Członek rodziny (indywidualne int/freq ids): Członkowie rodziny są często powtarzani, ale sami są bezużyteczni.
- członek rodziny Twin Brothers (grupa członków rodziny, które zawsze ze sobą dźwięków): To działa, ale ja dostaję dużo grup braci bliźniaków, więc jest bardzo trudno je analizować i dowiedzieć się, które są to główne rytmy.
Wiesz, czy istnieje lepszy sposób, aby dowiedzieć się wzory utworu (rytm) za pomocą AS3 SoundMixer.computeSpectrum
lub innego obiektu/ram/API?
PD: Nie mam zaawansowanych potwierdzeń teorii muzyki.