Archive for the ‘music’ Category

Niejednoznaczność MIDI -> sheet (zapis nutowy) <- gorzej niż można się spodziewać :(

2013.07.07

Zajmuję się ostatnio parsowaniem MIDI i coraz szerzej otwieram oczy jak bardzo niejednoznaczny on jest względem zapisu nutowego czy np. notacji ABC

MIDI zapisując każdy dźwięk utworu jako zdarzenie, które mówi m.in. o:

  • instrumencie (brzmienie),
  • numerze klawisza (wysokość dźwięku),
  • sile wciśnięcia klawisza (głośności, zmiennej w czasie trwania dźwięku)
  • i – krytycznej dla tego posta – długości dźwięku (mierzonej w tickach, a w nagłówku powinno się podać ile ticków to ćwierćnuta)

wydaje się na tyle precyzyjnym zapisem, że automatyczna transkrypcja powinna być jednoznaczna.

Pomińmy inne parametry i skupmy się na długości dźwięku, z którego wydawałoby się można by wyciągnąć wartość nuty. Rozumiem, że nagrywając zdarzenia przez MIDI IN (a nie wpisując ręcznie na pięciolinię) nie zawsze uderzy się klawisze dokładnie w tym ticku i przytrzyma odpowiednio długo. I rozumiem, że nie wszyscy robią później kwantyzację (auto dopasowanie „nagrania” MIDI, tak, aby zdarzenia ‚note on’ i ‚note off’, czyli początek i koniec dźwięku wypadały czasowo w wielokrotnościach trwania ósemki, szesnastki  czy czego tam się ustawi). Ale dlaczego utwórz, który wpisywałem myszką wygląda inaczej w każdym programie, którym go otworzę?

OK, niech będzie, że jak wpisuję całą nutę, to program nie daje jej tyle ticków, co suma czterech ćwierćnut, żeby pomiędzy taktami była mikropauza (że dźwięk nie jest ciągły – w przypadku piano, to nie taki problem, bo dźwięk wybrzmiewa;  gorzej np. z organami), ale dlaczego drugi program interpretuje to jako półnutę z kropką?!?

Pomyślałem, że to może problem moich MIDI (nawet nie pamiętam w jakim programie je wpisywałem), więc wziąłem pierwsze z brzegu MIDI, proste, jednoznaczne: ‚Let It Be’ (stąd)

w 4 programach otworzyłem i zrobiłem screenshot (pierwszy takt inro, proste wybijanie C-dur i G-dur, no może z septymą) :

MIDI-LetItBe

No dobra, OK, ilość ticków pomiędzy wartościami nut,  inne ustawienia kwantyzacji przy imporcie MIDI,  naciągnął nutę w drugą stronę, OK, niech wyświetla się to inaczej… ale SZOK! te MIDI nawet się odtwarzają inaczej!!! inne długości nut i pauz są odtwarzane! tego to już nie rozumiem… 😦

I jak tu teraz porównywać muzykę zapisaną w MIDI?

Koledzy muzycy macie jakieś doświadczenia?

Echo Nest – muzyczne metadane w praktyce

2013.04.23

cała lista dem: http://static.echonest.com/labs/demo.html pokazuje jak można wykorzystać ich API we własnej aplikacji… rzeczywiście można wykorzystywać ich metadane w tle (nie pokazując użytkownikowi) tworząc własną wersję Pandory, albo jawnie tworzyć zestawienia i diagramy jak np. tu: http://static.echonest.com/ArtistX

‚Czemu tylko keyboardy mają podpowiadać gdzie nacisnąć, żeby zagrać melodię?’, czyli, gitara ze świecącym gryfem czy raczej laserowa gitara Jedi :)

2012.03.30

sprawdzając co to jest http://en.wikipedia.org/wiki/OpenFrameworks, przez OpenCV trafiłem na to http://www.youtube.com/watch?v=Q1heqFVrQGU przypomniało mi się dokładniejsze to: http://www.youtube.com/watch?v=XgrGjJUBF_I
i wpadłem na świetny pomysł:

pamiętając keyboardy z podświetlanymi klawiszami, do wspomagania nauki grania (http://www.youtube.com/watch?v=KgbXIRIca44) pomyślałem, że można by to zrobić dla dowolnego instrumentu, w szczególności gitary, ale może nawet skrzypiec! ale nie budując specjalny instrument jak tu http://www.youtube.com/watch?v=9VtIRUkk2Ec (nie wiem z resztą czy takie gitary też potrafią prowadzić, czy tylko świecą gdzie trzyma się struny), ale używając kalibracji optycznej (kinect?) i lasera!

załóżmy na razie gitarę: kalibrując wyświetlanie na gryf i wiedząc że to gryf gitary możemy łatwo:

  • wyświetlać punkty (na przecięciu progu ze struną) odpowiadające miejscom wydobycia dźwięków z aktualnie odtwarzanego midi lub podpowiadać z wyprzedzeniem
  • wyświetlać na gryfie skale muzyczne, żeby ułatwić improwizacje czy komponowanie solo
  • wyświetlać sposób złapania akordu (chwyt)

jeśli zdefiniujemy jak wyglądają inne gryfy, to możemy to zrobić dla dowolnego strunowego… dla perkusji to banał, nawet dla klawiszy, harfy, ksylofonu czy dzwonów rurowych sprawa wydaje się prostsza, bo mamy większe elementy do wskazania i potrzebna jest mniejsza dokładność… poza tym są to instrumenty raczej nieruchome, więc kalibracja potrzebna jest tylko raz…

oczywiście –  analogicznie do gitary – do (prawie) wszystkich dętych można by to zastosować, tylko zamiast gryfu trzeba znać układ klap/otworów

trzeba zrobić research, bo na pewno ktoś też już o tym pomyślał… ale czy z powodzeniem zrealizował?

improwizowane MRI

2011.06.24

chcesz być naukowcem i badać proces tworzenia muzyki? musisz umieć rapować… publicznie…

Ogólna koncepcja badań/prototypu

2011.03.30
  1. Określenie reguł dla improwizacji (solo) w danej skali (jak: najczęściej kolejne dźwięki skali, powtarzanie fraz, długości fraz – pauzy, synchro z beat’em, …)
  2. Parsowanie tabulatur solówek gitarowych (bo jest ich dużo) – problem z plain text’em, może jakieś ustruturalizowane formaty albo import z .mid’ów (Power_Tab_Editor) (mała baza)
  3. Data Mining -> reguły związków dla budowania fraz, może całych lick’ów czy nawet riff’ów (akordy w tabach?) – podział na style muzyczne/gitarzystów? da się w oderwaniu od harmonii (Brian May mówił, że zawsze woli grać solówki wokół danego (bieżącego) akordu niż w konkretnej tonacji)?
  4. Improwizator (dostaje/wykrywa tonację i beat… i gra improwizowane solo live)
  5. Altrnatywnie: harmonista (akompaniator) – do zadanej melodii znajduje harmonię i podkłada akompaniament
  6. Wizualizacja performace’u jak w AniMusic czy MIDIjam, a może nawet w postaci (fragmentu) humanoida z gitarą
  7. Scooped: oczywiście już ktoś o tym pomyślał:
    1. Impro-Visor (5 lat temu)
    2. Band-in-a-Box (20 lat temu)

Temat bardzo multimedialny 🙂

Wyjątkowo ‚comments are welcome’ 😉

Ostinato

2006.12.12

Just checked my colleague’s Ph. D. thesis application called Ostinato (works in IE). It automatically adds drums to midi music using rhythm hypothesis based on the melody.

I used my old 2 midi’s: Ave Maria (not quite finished piece I’ve tried to write for a wedding) and Across The Universe (Beatles song I’ve tried to arrange as an a capella piece). Here are the midis with a drummer added: AM and ATU. The first one is correct (although those r’n’r drums might be hardly suitable for ‚church music’ 🙂 ) and with the latter, even though the rhythm hypothesis was not quite correct, the drums gave it a new dimension.

Never again am I going to arrange drums for my music – let the machine do it 😛