Midiről vezérelhető Vizuális Metronóm (és pedálvezérlő)

Az arduino egy Arduino UNO R3.
Örömmel tapasztaltam, hogy Linuxhoz is van fejlesztő környezet, így nem kell Windowsal vacakolni.
Várom még hozzá a midi shieldet + az LCD kijelzőt innen: http://www.e-licktronic.com
Azért esett erre az oldalra a választás, mert itt készen van a kijelző és a shiled is. Nem nagyon kell forrasztani, nekem meg másra nincs is szükségem.

A projekt egy vizuális metronóm lesz, amit midiről vezérlek. Ilyet nem nagyon találtam készen. Arduinora viszont létezik egy ilyen projekt: https://gist.github.com/kylev/4a618529a5ebff113d82
Ez jó lesz kiindulási alapnak.. Tervbe van még a sebesség kiírása, és hogy egy potméterrel változtatni lehessen azt.

UPDATE:
Megjött a midi shield is. :)
Tegnap este megírtam életem első Arduino programját. :))
Hétvégén szerintem nekiesek a metronóm megírásának, leírom ide majd, hogy mire jutottam.

UPDATE II.:
Működik a metronóm! Rendesen midiből vezérelhető ahogy kell. :)
Még kell picit reszelni a kódon, meg azt akarom, hogy a kijelző kiírja a sebességet is, de jó lesz ez... :)

UPDATE III.:
Videó: https://youtu.be/mt5genKyW90
Kép: https://logout.hu/dl/upc/2016-12/37620_img_20161203_173930.jpg
A sebesség kijelzést elvetettem, mert azt úgyis látom a monitoron és nem is annyira fontos. Viszont új funkcióként belekerült, az hogy kijelzi, hogy épp melyik negyedben vagyok. Ez a loopok felvételénél igen hasznosnak bizonyult. :) Gyakorlatilag alig csúszok meg így. :) Viszont arra is rájöttem, hogy zenei tudást nem lehet így szerezni. :P Szóval megpróbálok minél többet gyakorolni.
Tervben van egyébként doboz készítése, plusz még néhány dolog. Majd megírom úgyis ha lesz valami újdonság.

MINI UPDATE IV.: Beszédesebb címet adtam a bejegyzésnek. :)

UPDATE V.:
Szállingóznak az új alkatrészek: https://logout.hu/dl/upc/2016-12/37620_img_20161223_160728.jpg
Felül egy VFD kijelző látható, alul pedig egy alumínium műszerdoboz.
Kutatásaim alapján 3 kijelző típusból (16x2 karakteres kijelző) lehetett választanom. (VFD, LCD, OLED) Azért döntöttem a VFD mellett, mert gyermek koromban nagyon tetszettek ezek a kijelzők. :) Úgy gondoltam, hogy a pár negatív tulajdonsága ellenére nekem megér annyit amibe ez kerül, a régi emlék miatt. Egyébként mind a három típusnak van előnye és hátránya.
Leírom pár szóban, hátha segítek ezzel másoknak is:

LCD:
+ olcsó
+ van belőle negatív
- Lassú

VFD:
+ A régi emlékek... :)
+ Gyors
+ Üvegből van
- Annyira mégsem olcsó
- Sokat fogyaszt
- A mágneses mezőre érzékeny

OLED:
+ Egész jó az ára
+ Gyors
+ Strapabíró

Ha nem lett volna VFD akkor valszeg OLED-et veszek. Nem annyira olcsó mint az LCD de szebb, fényesebb, és valszeg gyorsabb nála. A VFD-nek egyébként van még egy előnye az LCD-vel szemben. Napsütésben jól olvasható. Igaz ezt még nem tudtam tesztelni, majd idővel. :)

Végezetül írok pár szót a műszerdobozról is.
Hogy én mennyit kutattam megfelelő darab után... :D Nem volt egyszerű! Vagy a méret, vagy a szerelhetősége vagy az anyaga, vagy az ára nem tetszett. Nagy nehezen aztán sikerül találni olyat ami minden kritériumnak megfelelt.

UPDATE VI.:
Szerintem még nem említettem, de nem csak metronóm lesz ez a kis eszköz. Van egy Korg EC5 pedálom, amit rá tervezek kötni. A pedál kivezetése egy 6-os din foglalat. Először azt hittem midi, majd később jöttem rá, hogy "analóg" vagyis mindegyik láb az adott pedál lenyomásakor zárja az áramkört a földdel. (https://logout.hu/dl/upc/2016-12/37620_index.png) Ez nem is baj! (gondoltam én az ötletem megfoganásakor) Majd rendelek egy gombsort (http://www.e-licktronic.com/en/boards-arduino-midi-controller-diy-seque…) az e-licktronictól és a 8-ból 5 nyomógombra ráforrasztom a 6-os din foglalaton lévő lábakat a pedál kiosztása szerint.
A probléma nem is a forrasztásnál van, hanem a midi jellé alakításnál. A cél ugyanis az, hogy az AKAI APC20-as kontrollert vezéreljem a pedállal. Eddig úgy tűnik, ezt nem lehet máshogy csinálni, csak úgy ha a kis arduino is egy APC20-ak kontrollernek látszik a gép szemszögéből.. Találtam a neten sok sok infót, hogy működik a kontrollerem protokollja. Nagyjából meg is van az egész, ami jó. Én mégis szomorkás vagyok, mert könnyebb projektre számítottam. Eleinte az is volt, a vége felé kezd űberhackké válni a dolog.
A cél egyre tisztább! Ha sikerül elérni, az Ableton vezérlését a pedálokkal, úgy ahogy tervezem, akkor bármilyen parancsot tudok adni a pedálnak, amit amúgy a kontrollernek adnék! És a beállítás is egyszerűbb egy másik gépen, mintha egyesével kellene felvennem az adott funkióhoz tartozó midi üzenetet. Szúrkoljon aki olvassa!! :)

UPDATE VII.:
Egy kivételével az összes alkatrész megjött.
A VFD kijelzőt végül I2C-n fogom az arduino-hoz kötni. Itt vettem az I2C konvertert: https://www.hestore.hu/prod_10035516.html Kevesebb kábellel és kevesebb gányolással jár.
No azért túlzás ezt gányolásnak nevezni, mert az ismerősöm eléggé szépen megcsinálta a forrasztásokat.
https://logout.hu/dl/upc/2017-01/37620_img_20170112_110056.jpg
A kjelző kapott szép keretet is, amit innen vettem: https://www.tindie.com/products/WIDGENEERING/16x2-lcd-bezel-with-clear-…
Este próba.. :)

UPDATE VIII.:
Működik a VFD!! :) Sokat szívtam vele és sok, levelezés árán sikerült működésre bírni. A gyártó egészen készséges volt, ajánlom mindenkinek ezt a márkát! (noritake-itron)
Kiderült, hogy a kijelző hátulján lévő, látszólag használatlan forrasztási pontok mégis jók valamire. Konkrétan arra, hogy konfiguráljuk a kijelző processzorát. Először átkapcsoltam teszt módba. Ekkor egy szép animáció jelent meg, ebből látszott, hogy szépen működik a VFD. Később kiderült, hogy az I2C modul címét is rosszul adtam meg... Mert minden leírásban 0x27 volt megadva de az én modulomnak persze 0x3F volt a címe... Hogy derítettem ezt ki? Ez egy külön történet.. Az alap I2C címkereső programot úgy módosítottam, hogy az arduinon lévő led összesen annyit villanjon fel másodperces időközönként, amilyen számú címet kapott a modul. Konkrétan 2 percig számoltam a villogást. :D (63db ami HEX-ben 3F)
Ezután kikapcsolva a teszt módot, már a megfelelő címmel próbálva szépen ment minden. :) Még egy dolgot kell konfigurálni. Azt hogy a karakterkészlet ne ázsiai hanem nemzetközi legyen, de ez már csak apróság.
A működésről csináltam egy képet, elnézést az életlenség miatt, de a telefonom képtelen volt rendesen fókuszálni. :((
https://logout.hu/dl/upc/2017-01/37620_img_20170114_103900.jpg

Más:
Ezt szerintem nem írtam, de megjött a gombsor is. (http://www.e-licktronic.com/en/boards-arduino-midi-controller-diy-seque…) Még nem volt időm és kedvem vele foglalkozni, egy dolog azonban feltűnt. NAGY a panel! Kisebbre számítottam.. Ezért most nézhetek új házat, de nem baj, mert már tudom melyiket fogom megvenni. Édesapám levonta a bölcs következtetést: A házat a végén kell megvenni.
Wow, bár tudtam volna erről az elején.. :D

UPDATE IX.:
Mint kiderült a gombsorral együtt már nem fér be a cucc az eredeti házba, ezért vettem egy új dobozt. A Kontha-nál vettem valami T53-as doboz talán. (?) Nagyon jó! Több szempontból is: könnyebb szerelni, könnyebb a vezetékezés benne, könnyebb az elemeket elhelyezni benne, és persze szebb is. :)
Az egyik kollégám pont benn volt amikor bevittem az egész cuccot. Nagyon szépen kifúrta a csatlakozók helyét és szépen be is szerelte őket! Ez úton is köszönöm neki ha ezt olvassa!
https://logout.hu/dl/upc/2017-01/37620_img_20170122_183752.jpg
Biztos jön a kérdés: Ha az én projektem miért nem én végzem az iparos munkát?
Az a baj, hogy én elég "suta" vagyok az ilyesmihez... Meg ilyen lyukasztó szerszámom nem is volt otthon.

Már csak HÁROM lépés van hátra a végkifejletig!!!!4!négy!

1. Beszerelni a kijelzőt, a hátsó USB kábelt (ha megjönne végre....) és felfogatni az eszközöket
2. Beforrasztani a csatlakozókat
3. Befejezni a midi programot, hogy a pedálvezérlés is teljes körűen működjön

A pedálvezérlés...
Ezt már én csináltam. :D Annyi van még hátra, ha össze dugom a komplett cuccot akkor az Ableton egy AKAI APC20-nak ismerje fel az eszközömet. Ez eddig nem megy.. De vannak ötleteim hogy lehetne megoldani! \o/
Ami viszont működik, az az, hogy minden gombnyomására külön tudok külön függvényt írni! Nekem ez nagy dolog! Bár annyira azért nem volt nehéz megcsinálni.

UPDATE X.:
Jubilálunk! :D
Sikerült összeszerelni az egészet! A csatlakozók beforrasztása még nincs meg, talán holnap..
Édesapám segített a fúrás-faragásban. Najó fúrni nekem kellett, nem úsztam meg. :D De nem baj, jó volt együtt dolgozni faterral. ;) 2 óráig tartott az egész, bár én (mint írtam) nem vagyok nagy barkács mester. Szégyen, nem szégyen, rendesen elfáradtam a munkában. Először úgy gondoltam, hogy én csinálom az egészet.. Neki is kezdtem, de be kell valljam, volt olyan lyuk amit majdnem elmértem... És ugye sajnos ez nem olyan mint a programozás, hogy mindig lehet javítani. Ha valamit rosszul fúrok az ott marad. :( Max elfedni lehet.. Szerencsére édesapám időben jött haza, aztán együtt folytattuk a munkát. Hogy ne csak ennyi rosszat írjak magamról, írok azért pár jót is! :D A terveim elég szépen beteljesültek! Nem volt semmi fennakadás! Úgyhogy ez pipa. Egyedüli hátrány, talán a ráfordított pénz (mint tárgyi, és mint munkaóra). A boltban (ha lenne ilyen eszköz) biztos olcsóbban lehetne megvenni, mint amennyi én kb. ráköltöttem. De az is igaz, hogy ilyen nincs a boltban! :D Ilyen csak nekem van, és az is azért mert én (+ a család és a barátok, kollégák) megcsináltam! :) Ez az otthoni barkás projektekben a legjobb! Mindenre ott a MasterCard, de van ami megfizethetetlen! ;)
Szúrok be pár képet a majdnem kész dobozról:
https://logout.hu/dl/upc/2017-01/37620_img_20170129_103019.jpg
https://logout.hu/dl/upc/2017-01/37620_img_20170129_102944.jpg
https://logout.hu/dl/upc/2017-01/37620_img_20170129_103009.jpg

UPDATE XI.:
Sikerült beforrasztani mindent! :D
A munkatársam csinálta, ez úton is köszönet neki még1szer! ;)
Mostmár tényleg csak az utolsó simítások vannak hátra, meg némi programozás.
Itt egy kép a belsejéről:
https://logout.hu/dl/upc/2017-02/37620_img_20170203_152233.jpg

Én ezt a projektet innentől késznek nyilvánítom! Tervben van egy cikk a logout.hu-ra erről az egészről. Ha már oda töltöttem fel az összes képet ennyi szerintem jár viszonzás képpen. :) Picit átdolgozom a jelenlegi írásomat, és felteszem oda is!

Összefoglaló:
Nagyjából 3 hónapot dolgoztam ezen a projekten. Voltak kisebb nagyobb döccenők de szerencsére a legtöbb dologra sikerült megoldást találni. A legnagyobb holtidőt a várakozás tette ki. Arra várakoztam, hogy megérkezzenek az alkatrészek. Ezt leszámítva eléggé élvezetes volt az egész! És az is igaz, hogy ennél nagyobb otthoni barkács projektet még nem csináltam.
Sokan kérdezik az ismerősi körből: Mi lesz a következő? :) Lesz! Már van ötletem, de nem most. Kb fél év múlva ha minden jól megy. :)

Hozzászólások

Mi az a vizuális metronóm?
--
"Sose a gép a hülye."

Metrón közlekedő gnóm/drón. Nem. Kattogógép, ami az egyenletes ritmust adja a zenésznek. Be kell állítani, hogy hány BPM (ütés per perc) legyen, elindítani, és ehhez lehet szinkronizálni a zenemű előadását. A villogó megoldásnak gondolom két előnye lehet:

* Nagyon hangos környezetben is működik, és nem zavar bele magunk visszahallásába.
* Süket zenészek is tudják használni.

Így van, a metronóm egy "kattogógép" és valóban a ritmust adja a zenéhez.
Azért kell, hogy midiről vezérelhető legyen, mert ha lassítom a többi hangszer ritmusát mondjuk egy potméterrel, akkor a metronómnak is lassítani kell.
Azért vizuális, vagyis nem kattog, (kattogó van a DAW szoftverben is), mert ha épp kitaláltam egy zenét és bekapcsoltam a metronómot mindig beleszőttem a metronóm hangját a zenébe..

Ez utána rengeteg bosszúságot okozott:
Nem azért raktam be azt a kattogást, hogy egy dallam legyen a többi közt, hanem csak az ütemet kell adja.
Ha utána kikapcsoltam, akkor mindig hiányzott valami a zenéből, a baj csak az, hogy maga a kattogás, ami persze nem oda való...

Nekem az a tervem, hogy egy midi vezérlővel, ami lehet pad vagy szintetizátor, csinálok loopokat, amit egy akai apc20-szal rögzítek, majd vissza játszok. Ebből szeretnék valami kreatív zenei rögtönzést kihozni.
Elképzelhető, hogy lesz egy pedál is, amivel még könnyebb rögzíteni a loopot. Viszont nekem ehhez kell az ütem, hogy minden szépen szóljon.
Biztos én vagyok még kezdő, de ebben az esetben nem tudom, hogy nyújthat segítséget a több csatorna? Ha nem hallom a metronómot elcsúszom, ha meg hallom, akkor akarva akaratlanul beleszövöm az általam kreált zenébe. Biztos én nem tudok valamit megfelelően, mert ilyen metronómot nem nagyon találtam, viszont loop-ok már régóta léteznek.

Az a helyzet, hogy pontatlanul fogalmaztam. Nem az apc20-ra veszem fel, mert az is csak egy midi pad. Az egész össze van kötve egy géppel, és azon fut egy Ableton. Itt tudok szerkeszteni vagy bármit csinálni, bár én azt szeretném minél kevesebbszer kelljen a géphez nyúlni.
No mind1, a metronóm így is úgy is elkészül, mivel már rég megrendeltem hozzá mindent. Leírom majd, hogy mire jutottam vele és hogy mennyire vált be.

És meg is érkezett a következő negatív hozzászólás! ;)
Nem értem ezeket a Zoftvereseket. Ilyen lib, olyan lib, osztán a kontrasztot meg pÓtméterrel állíttyák, no meg csavarhúzóval. :(
Hát kérem, egyszer egy egyszerű ember kitalálta. Azóta csak ezt lehet kapni a bótban.