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, Novembar
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čunarskog softvera (odličan 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 ovih projekata (svi, trebao bih reći) su napušteni ili izgubljeni … pa, evo nas sa kompletnim projektom za sve!

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

Ovaj projekt se temelji na otvorenom hardveru koji se lako nalazi (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 memorija), zadana maksimalna dužina fraze koju možete snimiti je ograničena na 46 sekundi.

- petlje se ne mogu pohraniti i reproducirati nakon gašenja. Ipak, možete ih poslati na računar i sačuvati.

- nema kvantiziranja bilješki.

- MIDI sat je podržan, ali trenutno 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. se zanemaruju.

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

Pozitivna strana je što su podržani MIDI tokovi iz više različitih instrumenata, od kojih svaki emituje na svom kanalu; to znači da možete snimati više MIDI instrumenata odjednom, slojevito ili sa 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 ovom stvari ćete se jako dobro provesti;)

Korak 2: Kako to funkcionira

Ovdje je MIDI petlja vrlo jednostavna za rukovanje. Radi na način sličan onim hardverskim stanicama sa audio petljama koje svaki proizvođač papučica ima u svom katalogu.

1) Odaberite pjesmu na koju želite snimiti svoju MIDI sekvencu. Prema zadanim postavkama odabrana je "jedna", ali je možete promijeniti pritiskom na jedno od dugmadi za pjesme (po jedno za svaku pjesmu).

2) Kada prvi put pritisnete prekidač "REC"/nožnu pedalu, petlja se uključuje. Zelena LED lampica svetli. Pričekat će dok ne primite prvu notu prije nego što počne snimati stvarnu sekvencu/riff.

3) Kada završite sekvencu, ponovo pritisnite prekidač "REC"/nožnu pedalu kako biste definirali stvarnu dužinu 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 sekvencu na trenutnoj pjesmi ili odabrati novu pjesmu i snimiti je na njoj pritiskom na prekidač "REC"/nožnu pedalu. U oba slučaja žuta LED lampica će zasvijetliti, čak i ako je nova traka prazna, jer je to "slave" staza (robna jedinica za prvu snimljenu pjesmu). Pritisnite ponovo da zaustavite pretapanje (žuta LED lampica se gasi).

Za vas koji se osjećate ugodno sa audio stanicama, ovaj MIDI napredak se naziva "REC/PLAY/OVERDUB" i jedini je podržan.

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 pritisnute papučice "REC" duže od 3 sekunde; petlju možete resetirati (softversko resetiranje) pritiskom na prva tri gumba zapisa istovremeno ili brisanjem svih korištenih zapisa.

Možete isključiti/uključiti numeru pritiskom na dugme za numeru trenutne numere.

Možete poslati PANIKU! poruku pritiskom na dugme za paniku. Možete čak poslati i PANICU! poruku pritiskom na prva dva dugmeta 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 vjerovatno sluša vaša bubnjarska mašina). 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ša bubnjarska mašina mora biti podešena za reprodukciju zvuka (zamke, basa ili bilo kojeg drugog zvuka koji želite) kada primate MIDI notu "64" ili će metronom biti isključen.

Barebone verzija ove MIDI petlje mogla bi biti sastavljena s 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, dodavanje prekidača i gumba učinit će stanicu petlje fleksibilnijom. Na slici je prikazano 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 dugmeta za numere. To je zato što kada sam započeo projekt nisam bio potpuno siguran koji će biti konačni zahtjevi.

Dugmad i prekidači su elektronički ekvivalenti i možete koristiti jedno umjesto drugog; za moje 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 DUE

7x kratkih tastera

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, neki kablovi, stanica za lemljenje … i slobodno vrijeme:)

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

Zašto ne UNO?

Prvi testovi (i početni radni kod) napisani su na "običnoj" 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 rezoluciju od 40 ms pri maks. Ovo 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 s MIDI petljom, ali vrlo ograničenu.

Korak 4: Softver

Softver se u velikoj mjeri oslanja na FortySevenEffects MIDI biblioteku. Ova biblioteka je odlična i čini ovu vrstu projekata izvodljivom čak i za štrebere koji nisu koderi poput mene.

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

Neću ulaziti u detalje o tome kako postaviti 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, zasnovane na dva potpuno različita pristupa.

Princip rada verzije 1 je da tokom snimanja ili preklapanja Arduino DUE provjerava i pohranjuje u svoju (nestabilnu) memoriju podržane MIDI događaje (imajte na umu, napomenu isključeno, promjenu kontrole i pregib); Vremenska osa se kvantizira u koracima od 20 ms, a primljene poruke se u skladu s tim pohranjuju u te utore. Tokom reprodukcije, uskladištene MIDI poruke se šalju nazad na sintisajzer 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 preliminarno rukovanje satom, ali bit će potrebno nekoliko izmjena da bi radio kako treba. Kod pretpostavlja da snimate petlju od 4/4 - 4 takta (16 otkucaja).

Vanjski sat možete deaktivirati ako pritisnete tipku "panika" pri uključivanju petlje.

Kodovi su učitani OVDJE. Komentari su postavljeni po njima, tako da možete saviti 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 kola su prikazana na priloženim slikama. Primijetite da se koriste TX1 i RX1, a ne TX0 i RX0.

Arduino DUE ulazni pinovi ne mogu podnijeti 5V, ali 3.3V; ovo je razlog zašto se optokapler H11L1 koristi umjesto uobičajenog 6N138. Imam dokaze da bi upotreba 6N138 zajedno sa djeliteljem napona za smanjenje napona signala koji ide na TX1, kao u mom prvom prototipu, mogla raditi nepravilno u nekim postavkama.

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

Dugmad/prekidači/utičnice su direktno povezani sa Arduino ulaznim pinovima 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 se napaja izravno s 5V pina i uzemljuje preko +5V DC koncentratora.

Svi osnovi su međusobno povezani.

U prilogu je tablica s vezama 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. Po želji možete lako izmijeniti lokaciju igle na skici;)

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

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

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

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

Srce MIDI prekidača je višesmjenski (moj je 6 pozicija), 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 realizovao za svoju upotrebu.

Na OVOM LINKU šema.

Preporučuje se: