Sadržaj:

Arduino multi-track MIDI Loop Station: 6 koraka
Arduino multi-track MIDI Loop Station: 6 koraka

Video: Arduino multi-track MIDI Loop Station: 6 koraka

Video: Arduino multi-track MIDI Loop Station: 6 koraka
Video: Output DC or AC Voltage using MCP4725 DAC with LCD and PWM to Voltage Converter with Arduino 2024, Studeni
Anonim
Arduino multi-track MIDI Loop Station
Arduino multi-track MIDI Loop Station
Arduino multi-track MIDI Loop Station
Arduino multi-track MIDI Loop Station
Arduino multi-track MIDI Loop Station
Arduino multi-track MIDI Loop Station

Petlja ili petlja je u osnovi alat za reprodukciju vaših instrumentalnih rifova (petlji) u stvarnom vremenu. Nije zamišljen kao medij za snimanje, već instrument za oblikovanje inspiracije bez ometanja (i na kraju nastup uživo …).

Postoji mnogo stanica za snimanje zvuka, i to u obliku namjenskog hardvera (gotovo svaki proizvođač papučica za gitaru ima svoj proizvod) ili računalnog softvera (izvrsni Linux Sooper Looper ili Windows Mobius, da navedemo najpoznatije). Našao sam samo nekoliko projekata o DIY-u koji nije audio, ali MIDI petlje, što znači alat za snimanje MIDI događaja i njihovu reprodukciju odmah u petlji; većina tih projekata (svi su, trebao bih reći) napušteni ili izgubljeni … pa, evo nas sa kompletnim projektom za svakoga!

Ova Arduino MIDI petlja stanica jednostavno prati dolazne MIDI događaje i reproducira ih. Morate samo pritisnuti papučicu za snimanje, stvoriti svoj najbolji riff ikada i zaustaviti snimanje ponovnim pritiskom na papučicu. Super jednostavno:)

Ovaj se projekt temelji na otvorenom hardveru koji je lako pronaći (Arduino DUE), softveru (moj vlastiti firmver i Arduino IDE) i može se prilagoditi tako da odražava vaše želje.

Učinimo to!

PS: Da, super je jeftino!

Korak 1: Ograničenja

Prije nego počnete s nabavkom hardverskih dijelova za projekt, dopustite mi da vam kažem koja su njegova ograničenja kako biste mogli odlučiti krenuti naprijed ili ovdje stati.

- zbog hardverskih ograničenja (u osnovi Aduino DUE memorije), zadana maksimalna duljina fraze koju možete snimiti ograničena je na 46 sekundi.

- petlje se ne mogu pohraniti i reproducirati nakon gašenja. Možete ih poslati na računalo i spremiti.

- nema kvantiziranja bilješki.

- MIDI sat je podržan, ali u ovom trenutku u preliminarnoj fazi.

- Snimljene MIDI poruke su bilješke uključene, bilješke isključene, kontrolne promjene i visina tona; ostale MIDI poruke, poput dodira, promjene programa, SysEx, itd. zanemaruju se.

- max polifonija je prema zadanim postavkama postavljena na 10 (opet, ograničenja memorije Aduino DUE).

S pozitivne strane, podržani su MIDI tokovi iz više različitih instrumenata, od kojih svaki emitira na svom kanalu; to znači da možete snimati više MIDI instrumenata odjednom, slojevito ili s vlastitom pjesmom (više profesionalaca u sljedećem koraku;)).

Ako vam se život s ovim ograničenjima čini razumnim (a to je za mene), s ovim ćete se jako dobro provesti;)

Korak 2: Kako to radi

Ovdje je MIDI petlja vrlo jednostavna za rad. Djeluje na način sličan onim hardverskim postajama s audio petljama koje svaki proizvođač papučica za gitaru ima u svom katalogu.

1) Odaberite pjesmu na koju želite snimiti svoju MIDI sekvencu. Prema zadanim postavkama odabran je "jedan", ali ga možete promijeniti pritiskom na jedan od gumba za pjesme (po jedan za svaku pjesmu).

2) Kada prvi put pritisnete prekidač "REC"/papučicu, petlja se uključuje. Svijetli zelena LED dioda. Pričekat će dok ne primite prvu notu prije nego što počne snimati stvarnu sekvencu/riff.

3) Kad završite s nizom, ponovno pritisnite prekidač "REC"/papučicu za definiranje stvarne duljine riffa. Zelena LED lampica se gasi. Looper će odmah početi reproducirati vašu MIDI sekvencu. Ako dosegnete maksimalno vrijeme, snimanje će se automatski zaustaviti i niz će se početi reproducirati u petlji.

4) Sada možete odlučiti prebrisati svoj slijed na trenutnoj pjesmi ili odabrati novu pjesmu i snimiti na nju, pritiskom na prekidač "REC"/papučicu. U oba slučaja će se upaliti žuta LED dioda, čak i ako je nova pjesma prazna, jer je to "podređena" pjesma (podređena na prvu snimljenu pjesmu). Pritisnite ponovno za zaustavljanje pretiskivanja (žuta LED dioda se gasi).

Za vas koji se osjećate ugodno sa stanicama za ponavljanje zvuka, ova MIDI progresija naziva se "REC/PLAY/OVERDUB" i jedina je podržana.

Ako u bilo kojem trenutku osjetite da vaš posljednji zapis nije u redu, možete ga izbrisati pritiskom na prekidač "poništi"/papučicu. Možete izbrisati cijeli trenutni zapis držanjem papučice "REC" pritisnutom više od 3 sekunde; petlju možete resetirati (softver resetirati) pritiskom na prve tri tipke zapisa istovremeno ili brisanjem svih korištenih zapisa.

Možete isključiti/uključiti pjesmu pritiskom na gumb za praćenje trenutne pjesme.

Možete poslati PANIKU! poruku pritiskom na tipku za paniku. Možete čak poslati i PANICU! poruku pritiskom na prve dvije tipke zapisa istovremeno.

Looper ima ugrađen jednostavan metronom: bilješka o MIDI poruci za bilješku broj "64" šalje se pri 100 BPM na kanalu 10 (kanal koji vjerojatno sluša vaš bubnjarski stroj). Možete povećati ili smanjiti tempo okretanjem optičkog kodera; pritiskom na prekidač optičkog kodera možete omogućiti/onemogućiti metronom. Imajte na umu da vaš bubanj mora biti podešen za reprodukciju zvuka (snare, bas ili bilo koji drugi zvuk koji želite) kada primate MIDI notu "64" ili će metronom biti isključen.

Barebone verzija ove MIDI petlje mogla bi se izraditi jednim nožnim prekidačem za početak i zaustavljanje snimanja. Ako prekidač držite pritisnutim duže od 3 sekunde, ponovno ćete pokrenuti petlju.

Ako želite uložiti dodatno vrijeme u razvoj hardvera, dodavanjem prekidača i gumba postaja petlje bit će fleksibilnija. Na slici je kako sam konfigurirao svoje četiri pjesme (podržava ih do pet) potpuno opremljenu stanicu petlje.

VAŽNA NAPOMENA: hardver na mojim slikama je prototip. Koristio sam više utičnica nego što je potrebno, ali samo četiri gumba za pjesme. To je zato što kad sam započeo projekt nisam bio potpuno siguran koji će biti konačni zahtjevi.

Gumbi i nožne sklopke elektronički su ekvivalenti i možete koristiti jedno umjesto drugog; za svoje potrebe, budući da uvijek ima premalo prostora (prokleto lijepe papučice s efektom;)), ograničio sam nožne pedale na jednu funkciju REC.

Korak 3: Hardver

Hardver
Hardver
Hardver
Hardver
Hardver
Hardver
Hardver
Hardver

Opis materijala:

Potpuno opremljena 5-kanalna MIDI petlja

1x Arduino DUŽNO

7x trenutni gumbi

1x plastično kućište (koristio sam kućište 150 x 110 x 70 mm)

2x 5-polni DIN ženski priključak za MIDI utičnicu za montiranje na žensku ploču

1x utičnica za montažu na ploču 6,3 mm

1x dvostrana 50x70 mm perf ploča

5x 3 mm LED (zelena)

1x 3 mm LED (žuta)

1x optički koder

1x optička sprežnica H11L1

1x 1N4148 dioda

3x 1000 ohmski otpornici

3x 220 ohmski otpornici

10x 470 ohmski otpornici

Malo žice za lemljenje, malo kabela, stanica za lemljenje … i slobodno vrijeme:)

Vrijeme potrebno za dovršetak projekta: 6-9 sati

Zašto ne UNO?

Prvi testovi (i početni radni kod) napisani su na "redovitoj" arduino UNO ploči. Ova ploča ima ograničenja RAM -a zbog kojih sam morao smanjiti polifoniju na "4", maksimalnu dužinu na manje od 4 sekunde i razlučivost od 40 ms pri maks. To bez višekanalnog rukovanja. Uklanjanjem praćenja brzine uspio sam povećati vrijeme snimanja do 7 sekundi.

S UNO -om tada možete ostvariti "radnu" stanicu MIDI petlje, ali vrlo ograničenu.

Korak 4: Softver

Softver se u velikoj mjeri oslanja na FortySevenEffects MIDI biblioteku. Ova je knjižnica izvrsna i čini ovu vrstu projekata izvedivom čak i za štrebere koji nisu koderi poput mene.

Arduino IDE i njegova zajednica još su jedan važan dio ovog "uspjeha".

Neću ulaziti u detalje o tome kako prenijeti skicu na vaš arduino DUE. Ako vam je ovo prvo iskustvo s arduino IDE -om, prvo ovo pročitajte.

Napisao sam dvije različite verzije koda, temeljene na dva potpuno različita pristupa.

Princip rada verzije 1 je da tijekom snimanja ili preklapanja Arduino DUE provjerava i pohranjuje u svoju (nestabilnu) memoriju podržane MIDI događaje (napomena uključena, napomena isključena, kontrola promjene i nagib visine); Vremenska se os kvantificira u koracima od 20 ms, a primljene poruke se u skladu s tim pohranjuju u te utore. Tijekom reprodukcije pohranjene MIDI poruke šalju se natrag u sintetičar poštujući vremensku kvantizaciju.

Princip rada verzije 2 je "jednostavno" snimiti midi događaj i vrijeme u kojem se događaj mora pokrenuti. Verzija 2 ima drugačija ograničenja od verzije 1 (navedena u prethodnom koraku). isprobajte ih oboje i upotrijebite onu koja vam bolje odgovara.

Postoji i prethodno rukovanje satom, ali trebat će neke prilagodbe da bi radio kako treba. Kod pretpostavlja da snimate petlju od 4/4 - 4 takta (16 otkucaja).

Vanjski sat možete deaktivirati držeći pritisnutu tipku "panika" pri uključivanju petlje.

Kodovi su učitani OVDJE. Komentari su postavljeni posvuda po njima, tako da možete savijati taj firmver po svojoj volji;)

Korak 5: Ožičenje

Ožičenje
Ožičenje
Ožičenje
Ožičenje
Ožičenje
Ožičenje

MIDI IN i MIDI OUT sklopovi prikazani su na priloženim slikama. Uočite da se koriste TX1 i RX1, a ne TX0 i RX0.

Arduino DUE ulazni pinovi ne mogu podnijeti 5V, ali 3.3V; zato se umjesto uobičajenog 6N138 koristi optička sprežnica H11L1. Imam dokaze da bi korištenje 6N138 spojeno s razdjelnikom napona za smanjenje napona signala koji ide na TX1, kao u mom prvom prototipu, moglo raditi nepravilno u nekim postavkama.

LED diode su spojene na Arduino DUE izlazne pinove preko 470 Ohm otpornika. Možete koristiti otpornike do 1K ohma kako biste smanjili struju koja ide na LED diode i smanjili njihovu svjetlinu.

Gumbi/prekidači/utičnice izravno su spojeni na Arduino ulazne pinove zahvaljujući ulaznim otpornicima koji se aktiviraju na skici. Nema potrebe za vanjskim (padajućim) otpornicima.

Optički davač spojen je na GND i +5V. Ide na Arduino ulazne pinove koji prolaze kroz 2 480 ohmskih otpornika, po jedan za svaki optički izlaz podataka.

Arduino DUE napaja se izravno s 5V pina i uzemljuje preko +5V DC razdjelnika.

Svi su temelji međusobno povezani.

U privitku je tablica s priključcima s arduino pinova na IN/OUT periferiju. Arduino pin brojevi odražavaju one u mom proptotipskom hardveru i mogli bi izgledati (nekako su …) nasumični. Položaj igle na skici možete lako izmijeniti po svojoj volji;)

Korak 6: Što ako imam više od jednog MIDI izvora?

Što ako imam više od jednog MIDI izvora?
Što ako imam više od jednog MIDI izvora?

Nakon kratke potrage za spajanjem MIDI -a, otkrio sam da je najpraktičnije (i najjeftinije) rješenje MIDI prekidač.

MIDI prekidač je pasivni uređaj koji omogućuje MIDI izvor i onemogućuje sve ostale izvore. Jednostavno tako.

Srce MIDI prekidača je višesmjenski (moj je sa 6 položaja), dvopolni prekidač. Vrlo je važno da broj polova bude "2" jer svaka MIDI utičnica mora biti potpuno izrezana ako nije odabrana, a ne u komunikaciji s ostalima. U prilogu je slika one koju sam realizirao za vlastitu upotrebu.

Na OVOM LINKU shema.

Preporučeni: