2009-08-28 18 views

Odpowiedz

9

Kompozycja i analiza muzyki przez komputer to ogromne pole. W tym typie pracy występują dwa podstawowe obszary, które częściowo się pokrywają.

Istnieje wiele, wiele libraries, tools i wyspecjalizowanych programming languages, które mogą pomóc w różnych częściach tych problemów. Oto lista związanych z muzyką programs and libraries for Python. Dostępnych jest wiele technologii; powinieneś być w stanie znaleźć coś, co zrobi dla ciebie ciężar pracy. Reimplementacja "parsera muzycznego" za pomocą narzędzi analizy częstotliwości o bardzo niskim poziomie, takich jak Fourier Transforms, jak sugerowały inne odpowiedzi, jest dość trudna i prawie na pewno niepotrzebna.

Aby uzyskać dodatkowe porady i szczegółowe pytania, International Society for Music Information Retrieval ma listę dyskusyjną, która prawdopodobnie okaże się bardzo pomocna.

+0

Dzięki! Jeszcze jedno pytanie. Czy byłoby możliwe napisanie programu, który transkrypcji muzyki dla Ciebie? – Mylo

+0

To dość trudne. Wiem, że Yann LeCun i jego firma MuseAmi pracują nad tym http://www.nytimes.com/2010/08/21/arts/music/21taub.html. – Frank

0

może chcesz zacząć od spojrzenia w formacie MIDI, to rozsądne prosty w porównaniu do skompresowanych formatach i można generować kilka ciekawych rzeczy w nim.

Zależy od tego, co naprawdę chcesz robić.

+0

Chcę analizować piosenki pop i sprawdzić, czy między popularnymi są podobieństwa. Prawdopodobnie zostało to zrobione, ale jest to dla mnie raczej ćwiczenie programistyczne. – Mylo

+0

Następnie musisz go rozłożyć. Weź MP3, przywróć go do macierzystego formatu i przeanalizuj go, jak chcesz. Możesz spróbować przeszukać sourceforge, jeśli chcesz, aby biblioteki to zrobiły. –

+2

Tak - 3 akordy;) E, Am i Dm. To wszystko, czego potrzebujesz w 90% popowych piosenek. Dodaj C i G, a właśnie pokryłeś 5% więcej – DmitryK

3

Aby przeanalizować fale dźwiękowe, potrzebujesz jakiejś transformacji Fouriera (FFT), aby można było podzielić utwór na częstotliwości i sposób ich zmiany w czasie. Istnieje wsparcie fft w numpy, nie używałem go, więc nie wiem czy to dobrze. Ale byłoby to świetne miejsce na rozpoczęcie.

Następnie należy przeprowadzić analizę statystyczną częstotliwości i wzorów, a następnie nie mam już pojęcia, o czym mówię.

Fajne rzeczy, idź do tego!

6

Po przejściu przez materiał FFT, o którym wspomniał Lennart, możesz chcieć rzucić okiem na łańcuchy Markowa, analizując odstępy między nutami i zagregowane wzory.

To jest rodzaj toczonej ziemi, ale łańcuchy Markowa były używane w przeszłości do budowy pewnego rodzaju statystycznego modelu melodii z różnych piosenek, które można wykorzystać do generowania nowych melodii. Łańcuchy Markowa mogą robić to samo z pisemnymi angielskimi zdaniami. Dla przykładu, jak to wygląda, zagraj z megahalowym chatterbotem, aby zobaczyć, jak łańcuchy Markowa mogą wytwarzać zniekształcone dane wyjściowe, które statystycznie wyglądają jak ich dane wejściowe (w przypadku megahala, wygląda jak angielskie zdania)

Możesz doświadczyć zacierania w pierwszej setce, a generator łańcuchów Markowa wystrzeli kolejny wielki hit.

Z drugiej strony warto rozważyć możliwość, że nie jest to żadna cecha samej muzyki, która sprawia, że ​​utwór jest popularny. A może to kwestia jakości muzyki połączona z marketingiem.

+0

Tak, nigdy nie będziesz robił takich przebojów. W tym celu musisz zrozumieć, dlaczego haczyk jest hakiem, a analiza statystyczna piosenek prawdopodobnie nie pomoże w tym, ponieważ haki mogą być tak różne. Ale to wciąż fajny projekt. –