Tartalomjegyzék:

Arduino többsávos MIDI Loop Station: 6 lépés
Arduino többsávos MIDI Loop Station: 6 lépés

Videó: Arduino többsávos MIDI Loop Station: 6 lépés

Videó: Arduino többsávos MIDI Loop Station: 6 lépés
Videó: Lehullott az első HÓ! Tudjátok ez mit jelent ?! 2024, Július
Anonim
Arduino többsávos MIDI hurokállomás
Arduino többsávos MIDI hurokállomás
Arduino többsávos MIDI hurokállomás
Arduino többsávos MIDI hurokállomás
Arduino többsávos MIDI hurokállomás
Arduino többsávos MIDI hurokállomás

A loop állomás vagy looper lényegében egy eszköz az instrumentális riffek (loopok) valós idejű lejátszásához. Nem felvevőeszköznek szánták, hanem olyan eszköznek, amely figyelemelterelés nélkül alakítja az inspirációt (és végül élőben is fellép …).

Rengeteg hangrögzítő hurok állomás létezik, mind dedikált hardver (szinte minden egyes gitárpedálgyártó rendelkezik saját termékkel), akár számítógépes szoftver (a legismertebb Linux Sooper Looper vagy windows Mobius) formájában. Csak kevés projektet találtam a DIY nem audio, hanem a MIDI looperekről, ami egy eszköz a MIDI események rögzítésére és azonnali visszajátszására; a legtöbb ilyen projekt (mondhatom, mindegyik) elhagyott vagy elveszett … nos, itt egy teljes projekt mindenki számára!

Ez az Arduino MIDI hurokállomás egyszerűen nyomon követi a bejövő MIDI eseményeket és lejátssza azokat. Csak meg kell nyomnia a felvételi pedált, létre kell hoznia a legjobb riffjét, és le kell állítania a felvételt a pedál újbóli megnyomásával. Szuper könnyű:)

Ez a projekt könnyen megtalálható nyitott hardveren (Arduino DUE), szoftveren (saját firmware -em és Arduino IDE) alapul, és személyre szabható az Ön preferenciái szerint.

Csináljuk!

PS: Igen, nagyon olcsó!

1. lépés: Korlátok

Mielőtt elkezdené beszerezni a hardver alkatrészeket a projekthez, hadd mondjam el, melyek a határai, hogy eldönthesse, továbblép vagy itt áll meg.

- a hardver korlátai miatt (alapvetően Aduino DUE memória) a rögzíthető kifejezés alapértelmezett maximális hossza 46 másodperc.

- a ciklusokat nem lehet tárolni és lejátszani leállítás után. De elküldheti őket egy számítógépre, és elmentheti őket.

- nincs jegyzetek kvantálása.

- A MIDI óra támogatott, de jelenleg egy előzetes szakaszban.

- A rögzített MIDI -üzenetek megjegyzések, megjegyzések, vezérlési változtatások és hangmagasság -kanyar; más MIDI üzeneteket, például érintés, programváltás, SysEx stb. figyelmen kívül hagynak.

- a max polifónia alapértelmezés szerint 10 -re van állítva (ismét Aduino DUE memóriakorlátok).

A pozitívum az, hogy a MIDI adatfolyamok több különböző hangszerből is támogatottak, mindegyik saját csatornáján. ez azt jelenti, hogy egyszerre több MIDI hangszert rögzíthet, rétegesen vagy saját számmal (további profik a következő lépésben;)).

Ha ezekkel a korlátokkal való együttélés ésszerűnek tűnik (és számomra is az), akkor nagyon jól fogja érezni magát ezzel a dologgal;)

2. lépés: Hogyan működik?

A MIDI hurokállomás itt nagyon egyszerűen kezelhető. Hasonló módon működik, mint a hardver audio hurok állomások, amelyeket minden gitárpedálgyártó saját katalógusában talál.

1) Válassza ki azt a számot, amelyre rögzíteni szeretné a MIDI sorozatát. Alapértelmezés szerint az „egy” sáv van kiválasztva, de megváltoztathatja azt a műsorszámok egyik gombjának megnyomásával (minden számhoz egyet).

2) Amikor először nyomja meg a "REC" kapcsolót/lábpedált, a hurokkapcsoló bekapcsol. A zöld LED világít. Megvárja, amíg az első hangot meg nem kapja, mielőtt elkezdi rögzíteni a tényleges sorozatot/riffet.

3) Ha befejezte a sorozatot, nyomja meg ismét a "REC" kapcsolót/lábpedált a riff tényleges hosszának meghatározásához. A zöld LED kialszik. A looper azonnal elkezdi reprodukálni a MIDI szekvenciáját. Ha eléri a maximális időt, a felvétel automatikusan leáll, és a sorozat ismétlődni kezd ciklusban.

4) Most eldöntheti, hogy a "REC" kapcsoló/lábpedál lenyomásával újból hozzáadja -e a sorozatot az aktuális műsorszámhoz, vagy új műsorszámot választ és rögzít rajta. Mindkét esetben a sárga LED világít, még akkor is, ha az új sáv üres, mert "slave" sávról van szó (a legelső rögzített műsorszámhoz képest slave). Nyomja meg újra a túltöltés leállításához (a sárga LED kialszik).

Azok számára, akik audio hurkos állomásokkal kényelemben vannak, ezt a MIDI -folyamatot "REC/PLAY/OVERDUB" -nak nevezik, és ez az egyetlen támogatott.

Ha bármikor úgy érzi, hogy a legutóbbi overdub nem megfelelő, törölheti azt a "visszavonás" kapcsoló/lábpedál megnyomásával. A "REC" pedált 3 másodpercnél hosszabb ideig nyomva tartva törölheti a teljes aktuális sávot; visszaállíthatja a hurkot (szoftver -visszaállítás) az első három sávgomb egyidejű megnyomásával vagy az összes használt sáv törlésével.

Az aktuális műsorszám nyomógombjának megnyomásával elnémíthatja/elnémíthatja a zeneszámot.

Küldhetsz PÁNIKOT! üzenetet a pánik gomb megnyomásával. Akár PÁNIKOT is küldhetsz! üzenetet az első két sáv gombjának egyidejű megnyomásával.

A looper beépített egyszerű metronómot tartalmaz: a 64 -es jegyzethez tartozó MIDI -üzenetről szóló megjegyzést 100 BPM -en küldik a 10 -es csatornán (azon a csatornán, amelyet feltehetően hallgat a dobgép). Növelheti vagy csökkentheti a tempót az optikai kódoló forgatásával; az optikai kódoló kapcsoló lenyomásával engedélyezheti/letilthatja a metronómot. Ne feledje, hogy a dobgépet úgy kell beállítani, hogy hangot adjon (pergő, basszus vagy bármilyen más hangot), amikor a "64" MIDI hangot fogadja, különben a metronóm elnémul.

Ennek a MIDI hurokállomásnak a csupasz változata elkészíthető egyetlen lábkapcsolóval a felvétel elindításához és leállításához. Ha több mint 3 másodpercig lenyomva tartja a kapcsolót, újra inicializálja a hurokállomást.

Ha további időt szeretne fordítani a hardver fejlesztésére, a kapcsolók és gombok hozzáadásával rugalmasabbá válik a hurokállomás. A képen hogyan állítottam be a négy sávot (legfeljebb öt támogatott) teljes értékű hurokállomást.

FONTOS MEGJEGYZÉS: a képeim hardvere prototípus. A szükségesnél több jack aljzatot használtam, de csak négy gombot a műsorszámokhoz. Ennek oka az, hogy amikor elkezdtem a projektet, nem voltam teljesen biztos abban, hogy mi lesz a végső követelmény.

A gombok és a lábkapcsolók elektronikailag megfelelők, és az egyiket a másik helyett használhatja; az én igényeimre való tekintettel, mivel mindig túl kevés az alapterület (rohadt szép hatású pedálok;)), az egyetlen REC funkcióhoz kényszerítettem a pedálokat.

3. lépés: Hardver

Hardver
Hardver
Hardver
Hardver
Hardver
Hardver
Hardver
Hardver

Darabjegyzékben:

Teljes értékű 5 sávos MIDI hurokállomás

1x Arduino DUE

7x pillanatnyi nyomógomb

1x műanyag tok (én 150 x 110 x 70 mm -es tokot használtam)

2x 5 tűs DIN hüvelyi panelre szerelhető MIDI aljzat csatlakozó

1x 6,3 mm -es panelre szerelhető jack aljzat

1x kétoldalas 50x70 mm -es perforációs tábla

5x 3 mm -es LED (zöld)

1x 3 mm -es LED (sárga)

1x optikai kódoló

1x H11L1 optocsatoló

1x 1N4148 dióda

3x 1000 ohmos ellenállás

3x 220 ohmos ellenállások

10x 470 ohmos ellenállások

Néhány forrasztóhuzal, néhány kábel, forrasztóállomás… és szabadidő:)

A projekt befejezéséhez szükséges idő: 6-9 óra

Miért nem UNO?

Az első teszteket (és a kezdő munkakódot) egy "rendes" arduino UNO táblára írták. Ennek a táblának RAM -korlátai vannak, amelyek miatt a polifóniát "4" -re kellett csökkentenem, a maximális hossza kevesebb, mint 4 másodperc, és a felbontása 40 ms, max. Ez többcsatornás kezelés nélkül. A sebességkövetés eltávolításával 7 másodpercre tudtam növelni a felvételi időt.

Egy UNO -val megvalósíthat egy "működő" MIDI hurokállomást, de erősen korlátozott.

4. lépés: Szoftver

A szoftver nagymértékben támaszkodik a FortySevenEffects MIDI könyvtárra. Ez a könyvtár nagyszerű, és az ilyen jellegű projekteket még a hozzám hasonló, nem kódoló geek számára is megvalósíthatóvá teszi.

Az Arduino IDE és annak közössége egy másik fontos része ennek a "sikernek".

Nem részletezem a vázlat feltöltésének módját az arduino DUE -re. Ha ez az első tapasztalata az arduino IDE -vel, kérjük, először olvassa el ezt.

A kód két különböző változatát írtam, két teljesen különböző megközelítés alapján.

Az 1. verzió működési elve az, hogy az Arduino DUE rögzítése vagy túltöltése során ellenőrzi és tárolja a memóriájában (illékony) a támogatott MIDI -eseményeket (megjegyzés, megjegyzés, vezérlésváltás és hangmagasság -kanyar); Az időtengelyt 20 ms -os lépésekben kvantálják, és a fogadott üzeneteket ennek megfelelően tárolják ezekben a résekben. Lejátszás közben a tárolt MIDI üzeneteket visszaküldi a szintetizátornak az időkvantálás figyelembevételével.

A 2. verzió működési elve ehelyett az, hogy "egyszerűen" rögzítse a midi eseményt és azt az időpontot, amikor az eseményt aktiválni kell. A 2 -es verziónak más korlátai vannak, mint az 1 -es verzió (az előző lépésben felsorolt). próbálja ki mindkettőt, és használja azt, amelyik jobban működik.

Van egy előzetes órakezelés is, de némi módosítást igényel, hogy megfelelően működjön. A Code feltételezi, hogy 4/4 - 4 ütem ciklusot rögzít (16 ütés).

A külső óra kikapcsolásához tartsa lenyomva a "pánik" gombot a hurok bekapcsolásakor.

A kódok ITT tölthetők fel. A megjegyzések mindegyikükre vannak helyezve, így tetszés szerint hajlíthatja a firmware -t;)

5. lépés: Huzalozás

Vezetékek
Vezetékek
Vezetékek
Vezetékek
Vezetékek
Vezetékek

A MIDI IN és MIDI OUT áramköröket a mellékelt képek jelentik. Vegye figyelembe, hogy a TX1 és az RX1 használatos, nem a TX0 és az RX0.

Az Arduino DUE bemeneti csapok nem tudják kezelni az 5 V -ot, de a 3.3 V -ot; ezért használnak H11L1 optocsatolót a gyakoribb 6N138 helyett. Bizonyítékaim vannak arra, hogy a 6N138 -as feszültségosztóval párosítva csökkenti a TX1 -re menő jelfeszültséget, mint az első prototipemnél, bizonyos beállításokban hibásan működhet.

A LED -ek 470 ohmos ellenállásokon keresztül csatlakoznak az Arduino DUE kimeneti csapokhoz. Akár 1K ohmos ellenállásokkal csökkentheti a LED -ekre áramló áramot és csökkentheti azok fényességét.

A gombok/kapcsolók/aljzatok közvetlenül csatlakoztathatók az Arduino bemeneti csapokhoz a vázlatban aktivált bemeneti felhúzó ellenállásoknak köszönhetően. Nincs szükség külső (lehúzható) ellenállásokra.

Az optikai kódoló GND -hez és +5V -hoz van csatlakoztatva. A 2 480 ohmos ellenálláson átmenő Arduino bemeneti csapokhoz megy, minden optikai adatkimenethez egyet.

Az Arduino DUE tápellátása közvetlenül az 5 V -os csatlakozóról történik, és a +5 V egyenáramú hubon keresztül földelhető.

Minden alap egymáshoz kötődik.

Csatolva van egy táblázat az arduino csapok és az IN/OUT periféria csatlakozóival. Az Arduino pin számok tükrözik a proptípusom hardverét, és véletlenszerűnek tűnhetnek (valahogy …). Könnyedén módosíthatja a csap helyét a vázlatban tetszése szerint;)

6. lépés: Mi van, ha több MIDI -forrásom van?

Mi van, ha több MIDI -forrásom van?
Mi van, ha több MIDI -forrásom van?

A MIDI egyesülés rövid keresése után azt találtam, hogy a legpraktikusabb (és legolcsóbb) megoldás a MIDI kapcsoló.

A MIDI -kapcsoló egy passzív eszköz, amely lehetővé teszi a MIDI -forrást, és letiltja az összes többi forrást. Egyszerű a dolog.

A MIDI kapcsoló szíve egy többpozíciós (az enyém 6 pozíciós), 2 pólusú kapcsoló. Nagyon fontos, hogy a pólusok száma "2" legyen, mert minden MIDI -foglalatot teljesen ki kell vágni, ha nincs kiválasztva, és nem kommunikál a többiekkel. Mellékelve egy kép arról, amit saját használatra készítettem.

Ezen a linken egy séma.

Ajánlott: