Wykrywanie części piosenki

9

Mam nadzieję, że nie jest to zbyt subiektywne ...

Szukam pewnego kierunku w wysiłkach zmierzających do wykrycia różnych „części” piosenki, niezależnie od stylu muzycznego. Nie mam pojęcia, gdzie szukać, ale ufając potędze innych stron StackOverflow, pomyślałem, że ktoś tutaj może pomóc wskazać kierunek.

Mówiąc najprościej, można wykryć różne części piosenki, po prostu grupując kolejne powtarzające się wzorce i nazywając je „częścią”. To może nie jest takie trudne - komputery są dość dobre w wykrywaniu powtórzeń w sygnale, nawet jeśli występuje niewielka zmiana.

Ale ciężko jest, gdy „części” nakładają się, jak w większości utworów muzycznych.

Trudno powiedzieć, jaki rodzaj muzyki najlepiej pasowałby do tego rodzaju systemu. Domyślam się, że większość muzyki symfonicznej w stylu klasycznym byłaby najłatwiejsza do przetworzenia.

Jakieś pomysły na to, gdzie szukać badań w tej dziedzinie?

lustro
źródło
Myślę, że istnieje aplikacja na iPhone'a do rozpoznawania utworu na podstawie nagrania fragmentu. I myślę, że był artykuł opisujący tę aplikację. Przepraszam, nie mam linków, ale zacznę od tego.
mpiktas,
1
@mpiktas: prawdopodobnie masz na myśli aplikacje takie jak SoundHound lub Shazam . Istnieje oficjalny dokument na temat działania Shazam, choć nie zawiera on zbyt wielu szczegółów. Chociaż nie jestem pewien, czy tego właśnie potrzebuje OP, może to być dobry punkt wyjścia.
nico,
Dobry, krótki post na blogu o Shazam (oparty, jak sądzę, na białej księdze), możesz także spróbować laplacian.wordpress.com/2009/01/10/how-shazam-works
raegtin

Odpowiedzi:

6

Nie jestem ekspertem w przetwarzaniu sygnałów, ale znam się na teorii muzyki. Powiedziałbym, że wręcz przeciwnie, muzyka klasyczna byłaby prawdopodobnie jedną z najtrudniejszych do analizy za pomocą prostych metod matematycznych. Najlepiej zacząć od czegoś prostszego i bardziej powtarzalnego, takiego jak muzyka pop lub techno. Pop często ma format wiersz-refren-wiersz ... itd., Który może sprzyjać uproszczonej wersji twoich celów.

Spróbuj użyć transformacji Fouriera na swoich danych, aby rozbić ją na najbardziej widoczne częstotliwości składowe, być może hierarchicznie między różnymi podsekcjami. W szczególności możesz szukać różnych rzeczy w zależności od tego, w jaki sposób chcesz pogrupować „części” danych.

  1. Najwolniejszymi oscylacjami w twojej muzyce pop będą prawdopodobnie przejścia między wierszem a refrenem i powrót do wiersza (może 0,75 oscylacji na minutę?).

  2. Następnie możesz znaleźć wyższe oscylacje częstotliwości wśród progresji akordów, to znaczy między każdą pełną miarą utworu (może około 6 oscylacji na minutę?).

  3. Kolejną najwyższą częstotliwością, o której pomyślałem, byłby pasek w takcie (może około 24 oscylacji na minutę?), W którym rytm i synchronizacja tekstów często powtarzają się w muzyce pop / folk.

  4. Wracając do szczegółów, następnie znajdziesz rytmy i rytmy powtarzające się w każdym takcie twojej muzyki. Wybranie i odizolowanie jednego z nich (może 148 oscylacji / uderzeń na minutę?) Prawdopodobnie dałoby kopnięcie w bęben basowy, uderzenie w dzwonek krowy lub coś w podobnej kolejności.

  5. Gdzieś pomiędzy uderzeniami i tonami możesz znaleźć szybkie elementy stylistyczne swojej muzyki, takie jak szybkie / szybkie wybieranie na gitarze elektrycznej lub szybki rytm rapowania wokalu. (Nie mam pojęcia, jak szybkie mogą być, ale zgaduję gdzieś rzędu 1000 uderzeń na minutę lub więcej).

  6. Wreszcie szybko i prawdopodobnie najbardziej skomplikowane są elementy tonu i barwy. Wiem, że nuta „środkowa A” jest znormalizowana na 440 Hz, czyli 440 oscylacji na sekundę. Jestem pewien, że istnieją techniki różnicowania na podstawie jakości tonalnej i barwy, jakie rodzaje instrumentów są używane; istnieją nawet dość dobre algorytmy do wykrywania ludzkiego głosu. Jednak, jak powiedziałem, nie jestem ekspertem od przetwarzania sygnałów.

tęsknota za maszyną
źródło
6

Muzyka jest zwykle opisywana za pomocą deskryptorów MPEG7 z dodatkowymi rzeczami, takimi jak MFCC obliczonymi na kawałkach wykonanych przez ruchome okno (tj. Masz pewien rozmiar okna i przeskakujesz, zacznij od okna umieszczonego na początku dźwięku, oblicz deskryptory w oknie, a następnie przesuń je przeskokiem i powtarzaj, aż do osiągnięcia końca).
W ten sposób kawałek zamienia się w stół; w twoim przypadku można go zastosować do grupowania fragmentów i wykrycia tych „części”.


źródło
Teraz jest to bardziej podobne! Dobra odpowiedź techniczna.
maszyna tęskni
5

Istnieje wiele różnych metod i mnóstwo literatury na ten temat z szerokiej gamy perspektyw. Oto kilka najważniejszych informacji, które mogą być dobrym punktem wyjścia do wyszukiwania.

Jeśli twoje tło jest bardziej muzyczne niż matematyczne lub obliczeniowe, możesz zainteresować się pracami Davida Cope'a, większość jego opublikowanych prac koncentruje się na analizie utworów muzyki klasycznej, ale ma on prywatne przedsięwzięcie o nazwie rekombinant, które wydaje się bardziej ogólne. Wiele jego prac wykorzystywało muzykę jako modele językowe, ale wierzę, że przynajmniej niektóre z jego najnowszych prac przesunęły się bardziej w stronę podejścia do genomu muzycznego . Ma dużo oprogramowania dostępnego online , ale ogólnie jest napisane w Lisp, a niektóre mogą działać tylko w różnych wersjach systemu operacyjnego Apple, choć niektóre powinny działać w Linuksie lub gdziekolwiek, gdzie można uruchomić typowe Lisp .

Analiza sygnałów i muzyki jest bardzo popularnym problemem w uczeniu maszynowym. Jest dobry zasięg wyjścia w Christopher Bishop teksty Neural Networks Pattern Recognition i Pattern Recognition i uczenia maszynowego . Oto przykład pracy magisterskiej, która ma część dotyczącą klasyfikacji muzycznej, ale ma dobre omówienie ekstrakcji funkcji, w której autor cytuje co najmniej jeden tekst Biskupa i kilka innych źródeł. Poleca także kilka źródeł do bardziej aktualnych artykułów na te tematy.

Książki, które są bardziej matematyczne lub statystyczne (przynajmniej według ich autorstwa, jeśli nie treści):

Ponieważ wspomniałem o Bishopie i perspektywie obliczeniowej uczenia maszynowego, opowiedziałbym tylko połowę historii, gdybym nie zasugerował, aby rzucić okiem na nowsze elementy uczenia statystycznego (dostępne do bezpłatnego legalnego pobrania) przez Hastie , Tibshirani i Friedman. Nie pamiętam, aby w tym tekście istniał przykład przetwarzania dźwięku, ale wiele z omawianych metod można dostosować do tego problemu.

Jeszcze jednym tekstem wartym rozważenia jest Statystyka Jana Berana w muzykologii . Zapewnia to szereg narzędzi statystycznych specjalnie do analizy utworów muzycznych, a także ma liczne odniesienia.

Znów istnieje wiele innych źródeł. Wiele z tego zależy od twojego pochodzenia i podejścia do problemu, z którym czujesz się najlepiej. Mam nadzieję, że przynajmniej niektóre z tych wskazówek pomogą ci znaleźć odpowiedź. Jeśli powiesz nam więcej o swoim pochodzeniu, dodatkowe szczegóły na temat problemu lub zadasz pytanie w odpowiedzi na ten post, jestem pewien, że ja lub wielu innych tutaj chętnie przekażę Ci bardziej szczegółowe informacje. Powodzenia!

Chris Simokat
źródło
4

Nie jest to świetna odpowiedź, ale dwa miejsca do poszukiwania badań to:

International Society for Music Information Retrieval ma mnóstwo opublikowanych artykułów na ten temat, zdumiewające jak wiele informacji jest na www.ismir.net

& Echo Nest (A Startup z API do robienia podobnych rzeczy) echonest.com

AKTUALIZACJA: wydali również trochę kodu do pobierania odcisków palców. http://echoprint.me/

David Pitkin
źródło
0

Byłem zainteresowany podobnym problemem. Oto rozwiązanie. Nie jest to tak stara propozycja naukowa, która nazywa się działką scape . Zobacz ten artykuł, aby uzyskać szczegółowe informacje (wygląda ładnie).

Ponadto, polecam Ci również odwiedzić autora strony internetowej , ponieważ istnieje wiele podobnych zastosowań statystyki w muzyce. Podczas wyszukiwania innych podobnych źródeł zalecam użycie terminu Music Information Retrieval, który obejmuje podobne obszary.

Miroslav Sabo
źródło