Ugrás a főmenüre.
Minden más 2009.11.02. Kütyü

Harmonic mixing

A harmonic mixing egy olyan DJ technika, ahol nemcsak a számok tempóját veszik figyelembe, hanem odafigyelnek a hangzatra is ("milyen akkordokat használ"). Először cool DJ-zéssel kezdünk, aztán átmegyünk nerdbe, végül a geek tudással megvalósított iPhone-os alkalmazásommal térünk vissza a DJ pultba. Hosszú olvasnivaló.

Sok kezdő/béna/igénytelen DJ szinte kizárólag úgy kever, hogy megvárja a szám végén lévő "üres" (jóformán csak groove-ot tartalmazó) részt és ott úsztatja be a következőt. Ezt hívják "free beats" technikának, ami rendkívül unalmas tud lenni. Azt pedig pláne rühellem, ha egy számot 6-7 percig is hagynak menni, kevés olyan zene van, ahol tényleg szükséges a megfelelő hatás eléréséhez. Ha a teljes szett ilyen, akkor egyszerűen béna a DJ, bár a legnagyobbak is sokszor lusták.

A harmonic mixing-gel úgy lehet keverni, hogy a mix ne legyen disszonáns ("hamis"), hanem szépen egymásba ússzhasson a két zene, így nem kell megvárni a végét és érdekesebb az egész. A DJ szett hangulata folyamatosan kellemes lehet, de drasztikus pozitív hangulatváltó hatás is elérhető a megfelelő hangzat kiválasztásával.

A harmonic mixing alapja a zenére jellemző "alapakkord" megtalálása, azé az akkordé, amelyik a legtöbbször vagy legerősebben van jelen. Ez nem új technika, régen a DJ-k leültek a zongora mellé és addig nyomogatták a különböző akkordokat, amíg nem passzolt, aztán felírták jól. Természetesen megérkeztek már azóta a harmonic mixing szoftverek.

Mixed In Key

Ez a leghíresebb/legjobban marketingelt harmonic mixing szoftver, aminek a készítője birtokolja a Camelot jelzésrendszert. Ez semmi mást nem csinál, mint könnyen megjegyezhető és az óra számlapjára asszociáló jelzést ad az uncsi akkordneveknek.

camelot.jpg

Nagyon egyszerű a használata, az a szabály, hogy a következő szám csak 1 órával térhet el a jelenlegitől, tehát ha a 6-odikban vagyunk, akkor lehet 5 vagy 7. Hangulatváltást pedig úgy lehet elérni, hogy az azonos órában lévő ellenkező modalitású akkordra váltunk (pl. 6B-ről 6A).

Aki nem jártas a zenélésben: a harmonic mixing alapvetően kétféle modalitással foglalkozik, ezek a Major (magyarul dúr) és a Minor (magyarul moll) neveket kapták. Azért fontosak ezek, mert a Minor (A) szomorkásabb hangulatú, mint a Major (B).

Profi DJ mixeknél általában "körbejárnak az órában", a számok +1 órával következnek egymás után. Ha lanyhul a hangulat, akkor a következő szám +7 vagy +2 órás bedobása (hirtelen váltással vagy free beats-szel, különben disszonáns lesz) sokat segít, mintha "megnövekedett volna az energia" - ezt hívják "Energy Boost Mixing"-nek.

A Mixed In Key nem jó fej, licencdíjat kér a Camelot jelzésrendszer használata után. Állítólag patent pending a dolog, de néhányan rákérdeztek már, és a cégvezető állítása szerint a Camelot a Mixed In Key akkordfelismerő algoritmusában van védve (???). Ráadásul ez csak a "circle of fifths", azaz a kvintkör átnevezgetése, amit pedig nem biztos, hogy egyáltalán le lehet védeni.

kvintkor.png

Szóval a jogi helyzet kissé tisztázatlan, a cég pedig "keni" a dolgot, a rivális Beatunes épp ezért inkább kivette a Camelot jelzéseket és egy "arra utaló" izével helyettesítette. Én az iPhone-os alkalmazásomba épp ezért nem tettem be a Camelot kört, de a jelzést igen, hátha nem lesz belőle gond.

Algoritmus

Az akkordfelismerés nem egyszerű dolog és nincs rá kész vagy könnyen újrahasznosítható megoldás. A cégek védik a saját eljárásaikat, így az egyszerű halandó egyetemi és egyéb tudományos publikációk elmélkedéseiből indulhat csak ki. Én is ezt tettem, ilyeneket olvasgattam egy-egy kósza pillanatban és próbáltam kitalálni, hogy mit és hogyan kellene - szolid fél évig. Ebben sokat segített a Velence - Déli pályaudvar viszonylat lassúsága.

Aztán nekiültem és kb. 1 hét alatt kikísérleteztem a saját metódusomat, ami 80-90%-ban egyező eredményeket ad a többi szoftverhez képest. A különböző szoftverek sokszor különböző értékeket adnak, így ez a százalék bőven elegendő ahhoz, hogy jónak ítéljem meg az eredményeket. Dióhéjban és az igazi "titkok" felfedése nélkül a következő a módszer:

1. Kb. 0.37 másodperces hangmintákra kell felbontani az audiót, ezeket kell külön-külön megvizsgálni. Azért 0.37, mert így lesz a legkisebb a zengések és egyéb effektek által keltett felharmónikusok hatása, ez a legjobban közelítő statisztikai érték, ami minden zenére jó.

2. FFT analízissel kell felbontani a hangmintát, ezzel kapod meg, hogy egy megadott frekvencián mekkora volt a hangerő. Az FFT egy külön tudomány, ablakozni kell és egyebek. Mindenki látott már FFT eredményt, hiszen a leggyakoribb FFT kijelző az audió spektrométer:

visualizer.jpg

3. A C1-B6 hangjegyek által határolt tartományt kell megvizsgálni (kb. 32-1975 Hz), az FFT-t érdemes minél részletesebbre venni és a hangjegyek között szépen elosztani (egy hangjegyre általában több FFT adat jut, de okosan kell szétosztani őket).

4. Normalizálni kell az adatokat, hogy a halkabb minták is érvényesülhessenek. Érdemes persze egy minimumot is megadni, például -70db-es átlaghangerőnél már biztosan nem fontos egy hangminta.

5. Az akkordok modalitásának van egy jellemző "profilja", ami az akkordban lévő egyes hangok hangerőinek egymáshoz való viszonyát mutatja (pl. az első hang mennyivel hangosabb az ötödiknél).

kstemp.jpg

Ezt a profilt kell illeszteni a normalizált FFT értékekre, hogy megtaláljuk a leginkább közelítő akkordot. Nem olyan rettentő régi dolog, a 80-as évek végén fedezte fel Carol L. Krumhansl és csak 2000 körül tökéletesítette David Temperley.

6. Végül a közelítő akkordokat kell ügyesen súlyozva átlagolni, hogy megkapjuk a végeredményt.

Harmonic Mixing for iPhone

Szerencsére ebből a bonyolultságból a felhasználó már semmit sem vesz észre, így néz ki az alkalmazás, mindössze két gomb van rajta:

hm1.jpg

hm2.jpg

Sajnos a már említett licencgondok miatt nincs rajta Camelot jelzés. A design from-scratch készült a kis kezemmel Photoshopban. Sokat kellett dolgozni azon, hogy a bonyolult matekizé elfusson iPhone-on is, de végül jó eredmény született, mert az alkalmazás jellemzően csak 40% CPU-t eszik detektálás közben iPhone 2G-n.

iTunes link.

6 hozzászólás

  1. idézem 2009.11.02. 14:11
    Tok jo! Bar felet sztem nem ertettem :)
    Mire is lesz ez "nekem" jo? Megmondja a korbol h. mennyi az ido? :)
  2. idézem 2009.11.02. 18:45
    • chabba
    Jópofa, hogy miként éled újjá az 1700-as évekbeli klasszicista zeneelmélet :)
  3. idézem 2009.11.11. 14:46
    • pingvin
    Ilyesmiből írtam a diplomamunkámat, bár azzal sok hangból álló hangzatokat ismertem fel. Néha hibátlanul, néha csapnivalóan.
  4. idézem 2009.11.11. 14:57
    @pingvin Hol olvasható a munkád?
  5. idézem 2009.11.17. 23:10
    • pingvin
    Hát ha érdekel, átküldhetem emailben, máshol nincs fent.
  6. idézem 2009.11.18. 05:46
    @pingvin Persze, küldd a szantog kukac gmail-re, köszi.
Új hozzászólás
A sortörések automatikusak. Csak az üzenet kitöltése kötelező, a többi mező opcionális. A megadott e-mail címet nem tesszük közzé. Engedélyezett HTML tagek: p, a, strong, em, blockquote, ul, ol, li, dl, dt, dd.

Legutolsó hozzászólások

Végre IKEA!: Ági: Heló bárkinek, aki idetéved! A weboldalunk domain-je - a kedvenc áruházunk ügyvédjének nyumására :) - megváltozott: Az új cím: is...

DJ PLAYER Blue Edition: Gábor: Ja, és természetesen megy iPad-en is, hiszen _minden_ iOS app megy iPad-en.

DJ PLAYER Blue Edition: Gábor: Bug report-okat itt fogadunk: http://djplayer.net/page/bug_report_fixes

DJ PLAYER Blue Edition: hohand: Hello!A dj player mukodik iPad-on is?Tegnap feltettem, wifi-n athuztam ra zeneket,de amikor ranyomtam egy zeneszamra,error-t dobott es valami is!...

Uzsidoboz LED!: zo via Google Reader: vicces dolog, csak nem értem mire való

iMect means internet, media and other cool things. We're a small company located in Hungary. There is a big footer on every page where you can discover what we do and what happens with us.

Az iMect jelentése: internet, média és egyéb király dolgok. Egy kis magyar cég vagyunk. Minden oldalon van egy nagy lábléc, ahol felfedezheted, hogy mivel foglalkozunk.