(Wstęp: To jest moje pierwsze pytanie związane z dźwiękiem w Stack Overflow, więc postaram się sformułować to najlepiej jak potrafię.)Używanie AVFoundation/CoreMedia/Other Frameworks do wykrywania beatów/znaków początkowych
Tworzę aplikację, która pozwoli użytkownikom zapętlić muzykę. W tej chwili nasze prototypy pozwalają "znacznikom pętli" (zaimplementowanym jako UISliders) przyciągać się w każdej sekundzie, określając początek i koniec pętli. Oczywiście, kiedy zapętlasz muzykę, sekundy są bardzo prostym sposobem na poradzenie sobie z tym, więc zamiast tego chciałbym użyć beatów.
nie chcę robić nic innego niż znak bije się UISliders przystawki do:
- nakarmić
loadMusic
metoda plik audio. - Przeprowadź go przez bibliotekę, aby wykryć uderzenia lub przerwy między nimi (być może).
- Przesyła tę wartość do metody suwaka
setNumberOfTickMarks:
. - Zysk!
Niestety, większość wyników, na które natknąłem się za pośrednictwem Google i SO, dostarczyło znacznie bardziej zaawansowane biblioteki detekcji bitów, takie jak te, z których korzystał remiks. Przesada w moim przypadku.
Czy to coś, z czym poradzi sobie CoreMedia, AVFoundation lub AudioToolbox? Jeśli nie, czy są inne biblioteki, które mogą sobie z tym poradzić? Moje badania nad dokumentacją Apple przyniosły tylko istotne wyniki ... w przypadku plików MIDI. Ale własne oprogramowanie Apple ma takie funkcje, jak na przykład iMovie's snap-to-beats functionality.
Wszelkie wskazówki, kody lub streszczenia byłyby ogromnie pomocne w tym momencie.
EDIT: Po zrobieniu trochę więcej kopanie wokół, wydaje się właściwą terminologią co szukam jest wykrywanie początek.
Cóż, trzeba mieć dostęp do czystych danych PCM.Wybierz dowolną bibliotekę audio i zastosuj istniejące algortihms do danych. –
To pytanie? Wydaje się, że ma linki do całkiem dobrych rozwiązań. http://stackoverflow.com/questions/657073/how-to-detect-bpm-of-the-song-by-programming –