Sisällysluettelo:

Arduino Multi-track MIDI Loop Station: 6 vaihetta
Arduino Multi-track MIDI Loop Station: 6 vaihetta

Video: Arduino Multi-track MIDI Loop Station: 6 vaihetta

Video: Arduino Multi-track MIDI Loop Station: 6 vaihetta
Video: Web Programming - Computer Science for Business Leaders 2016 2024, Marraskuu
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

Silmukka-asema tai looper on lähinnä työkalu instrumentaalisten riffien (silmukoiden) toistamiseen reaaliajassa. Sitä ei ole tarkoitettu tallennusvälineeksi, vaan välineeksi inspiraation muokkaamiseen häiritsemättä (ja lopulta esiintymään suorana…).

Siellä on paljon äänitallennuslenkkiasemia, sekä omistettu laitteisto (lähes jokaisella kitarapedaalivalmistajalla on oma tuote) että tietokoneohjelmisto (erinomainen Linux Sooper Looper tai Windows Mobius, tunnetuin). Löysin vain muutamia projekteja, jotka koskivat DIY-ei-ääntä mutta MIDI-loopereita, mikä tarkoittaa työkalua MIDI-tapahtumien tallentamiseen ja toistamiseen välittömästi silmukassa; Suurin osa näistä hankkeista (sanoisin, että kaikki) on hylätty tai kadonnut… no, tässä on täydellinen projekti kaikille!

Tämä Arduinon MIDI -silmukka -asema yksinkertaisesti seuraa saapuvia MIDI -tapahtumia ja toistaa ne. Sinun tarvitsee vain painaa tallennuspoljinta, luoda kaikkien aikojen paras riffi ja lopettaa tallennus painamalla poljinta uudelleen. Super helppoa:)

Tämä projekti perustuu helposti löydettävään avoimeen laitteistoon (Arduino DUE), ohjelmistoon (oma laiteohjelmistoni ja Arduino IDE), ja se voidaan räätälöidä vastaamaan mieltymyksiäsi.

Tehdään se!

PS: Kyllä, se on erittäin halpaa!

Vaihe 1: Rajat

Ennen kuin aloitat laitteisto -osien hankkimisen hankkeelle, haluan kertoa sinulle, mitkä ovat sen rajat, jotta voit päättää jatkaa tai lopettaa täällä.

- laitteistorajoitusten (pääasiassa Aduino DUE -muisti) vuoksi tallennettavan lauseen enimmäispituus on rajoitettu 46 sekuntiin.

- silmukoita ei voi tallentaa ja toistaa sammutuksen jälkeen. Voit kuitenkin lähettää ne tietokoneelle ja tallentaa ne.

- ei muistiinpanojen kvantisointia.

- MIDI -kelloa tuetaan, mutta tällä hetkellä alustavassa vaiheessa.

- Tallennetut MIDI -viestit ovat muistiinpanoja, muistiinpanoja, ohjausmuutoksia ja sävelkorkeutta; muut MIDI -viestit, kuten kosketuksen jälkeen, ohjelman muutos, SysEx jne., jätetään huomiotta.

- max polyfonia on oletusarvoisesti 10 (jälleen Aduino DUE -muistirajat).

Plussapuolena on, että MIDI -virrat useista eri instrumenteista, joista jokainen lähettää omalla kanavallaan, tuetaan; tämä tarkoittaa, että voit tallentaa useita MIDI -instrumentteja kerralla kerroksittain tai omalla raidallaan (lisää etuja seuraavassa vaiheessa;)).

Jos näiden rajoitusten kanssa eläminen tuntuu järkevältä (ja se on minulle), sinulla on erittäin hyvä aika tämän asian kanssa;)

Vaihe 2: Näin se toimii

Tässä oleva MIDI -silmukka -asema on erittäin helppokäyttöinen. Se toimii samalla tavalla kuin laitteiston äänisilmukka -asemat, joilla jokaisella kitarapedaalivalmistajalla on omassa luettelossaan.

1) Valitse raita, jolle haluat tallentaa MIDI -sekvenssisi. Oletuksena kappale "yksi" on valittu, mutta voit vaihtaa sen painamalla yhtä raitojen painikkeista (yksi jokaiselle raidalle).

2) Kun painat "REC" -kytkintä/jalkapoljinta ensimmäisen kerran, silmukka on kytketty. Vihreä LED palaa. Se odottaa, kunnes ensimmäinen muistiinpanosi on vastaanotettu, ennen kuin alkaa tallentaa todellista sekvenssiä/riffiä.

3) Kun olet suorittanut sarjan, paina "REC" -kytkintä/jalkapoljinta uudelleen määrittääksesi riffin todellisen pituuden. Vihreä LED -valo sammuu. Silmukka alkaa toistaa MIDI -sekvenssiäsi välittömästi. Jos saavut maksimiajan, tallennus pysähtyy automaattisesti ja sarja alkaa toistaa silmukkaa.

4) Nyt voit päättää liittää sarjan nykyiselle raidalle tai valita uuden raidan ja tallentaa sille painamalla "REC" -kytkintä/jalkapoljinta. Molemmissa tapauksissa keltainen LED -valo syttyy, vaikka uusi raita olisi tyhjä, koska se on "orja" -raita (orjattu ensimmäiselle tallennetulle raidalle). Lopeta ylipainotus painamalla uudelleen (keltainen LED sammuu).

Niille teistä, jotka viihtyvät äänisilmukointiasemissa, tätä MIDI -etenemistä kutsutaan "REC/PLAY/OVERDUB" ja se on ainoa tuettu.

Jos sinusta tuntuu milloin tahansa, että viimeisin ylivaihto ei ole kunnossa, voit poistaa sen painamalla "kumoa" -kytkintä/jalkapoljinta. Voit tyhjentää koko nykyisen raidan pitämällä "REC" -poljinta painettuna yli 3 sekuntia; voit nollata silmukan (ohjelmiston nollaus) painamalla kolmea ensimmäistä raitapainiketta samanaikaisesti tai tyhjentämällä kaikki käytetyt raidat.

Voit mykistää kappaleen tai poistaa mykistyksen painamalla nykyisen raidan raitapainiketta.

Voit lähettää paniikin! viesti painamalla paniikkipainiketta. Voit jopa lähettää paniikin! viesti painamalla kahta ensimmäistä kappaleen painiketta samanaikaisesti.

Looperissa on sisäänrakennettu yksinkertainen metronomi: huomautus MIDI -viestistä muistiinpanolle "64" lähetetään 100 BPM: llä kanavalla 10 (kanava, jota oletettavasti rumpukoneesi kuuntelee). Voit lisätä tai vähentää nopeutta kääntämällä optista kooderia; painamalla optista kooderikytkintä voit ottaa metronomin käyttöön tai poistaa sen käytöstä. Huomaa, että rumpukoneesi on asetettava toistamaan ääni (virveli, basso tai mikä tahansa haluamasi ääni), kun vastaanotat MIDI -muistiinpanon "64", tai metronomi mykistyy.

Tämän MIDI -silmukka -aseman paljain versio voitaisiin valmistaa yhdellä jalkakytkimellä tallennuksen aloittamiseen ja lopettamiseen. Pidä kytkin painettuna yli 3 sekuntia, alusta silmukka-asema uudelleen.

Jos haluat käyttää lisäaikaa laitteiston kehittämiseen, kytkimien ja painikkeiden lisääminen tekee silmukka -asemasta joustavamman. Kuvassa on kuinka olen määrittänyt neljä raitani (enintään viisi tuettua) täysimittainen silmukka -asema.

TÄRKEÄ HUOMAUTUS: kuvieni laitteisto on prototyyppi. Käytin enemmän jack -pistorasioita kuin tarvittiin, mutta vain neljä painiketta kappaleille. Tämä johtuu siitä, että kun aloitin projektin, en ollut täysin varma lopullisista vaatimuksista.

Painikkeet ja jalkakytkimet vastaavat sähköisesti, ja voit käyttää yhtä toisen sijaan; tarpeitani varten, koska lattiatilaa on aina liian vähän (pirun ihanat tehopedaalit;)), olen rajoittanut jalkapolkimet yksittäiseen REC -toimintoon.

Vaihe 3: Laitteisto

Laitteisto
Laitteisto
Laitteisto
Laitteisto
Laitteisto
Laitteisto
Laitteisto
Laitteisto

Materiaaliluettelo:

Täysin varusteltu 5-raidallinen MIDI-silmukka-asema

1x Arduino DUE

7x hetkelliset painikkeet

1x muovikotelo (käytin 150 x 110 x 70 mm: n koteloa)

2x 5-nastainen DIN-naaraspaneeliasennus MIDI-liitäntä

1x 6,3 mm: n paneelikiinnitysliitin

1x kaksipuolinen 50x70 mm -levy

5x 3 mm LED (vihreä)

1x 3 mm LED (keltainen)

1x optinen kooderi

1x H11L1 -optoeritin

1x 1N4148 diodi

3x 1000 ohmin vastukset

3x 220 ohmin vastukset

10x 470 ohmin vastukset

Jotkut juotoslanka, jotkut kaapelit, juotosasema … ja vapaa -aikaa:)

Projektin suorittamiseen tarvittava aika: 6-9 tuntia

Miksei UNO?

Ensimmäiset testit (ja aloituskoodi) kirjoitettiin "tavalliselle" arduino UNO -levylle. Tällä kortilla on RAM -rajoitukset, jotka pakottivat minut pienentämään polyfonian arvoon "4", maksimipituus alle 4 sekuntia ja resoluutio 40 ms korkeimmalla. Tämä ilman monikanavaista käsittelyä. Poistamalla myös nopeuden seurannan pystyin nostamaan tallennusaikaa jopa 7 sekuntiin.

UNO: n avulla voit toteuttaa "toimivan" MIDI -silmukka -aseman, mutta erittäin rajoitetusti.

Vaihe 4: Ohjelmisto

Ohjelmisto luottaa vahvasti FortySevenEffects MIDI -kirjastoon. Tämä kirjasto on loistava ja tekee tällaisista projekteista toteutettavia myös kaltaisilleni ei -koodaajille.

Arduino IDE ja sen yhteisö ovat toinen tärkeä osa tätä "menestystä".

En mene yksityiskohtiin siitä, miten luonnos ladataan arduino DUE -laitteeseesi. Jos tämä on ensimmäinen kokemuksesi arduino IDE: stä, lue tämä ensin.

Kirjoitin koodista kaksi eri versiota kahden täysin erilaisen lähestymistavan perusteella.

Version 1 toimintaperiaate on, että Arduino DUE tarkistaa ja tallentaa (haihtuvaan) muistiinsa tuetut MIDI -tapahtumat (muistiinpano, huomautus pois, ohjauksen muutos ja äänen taivutus) tallennuksen tai ylikubboinnin aikana; aika -akseli kvantisoidaan 20 ms: n askelin ja vastaanotetut viestit tallennetaan niihin. Toiston aikana tallennetut MIDI -viestit lähetetään takaisin syntetisaattoriin aikakvantisointia noudattaen.

Sen sijaan version 2 toimintaperiaate on "yksinkertaisesti" tallentaa midi -tapahtuma ja aika, jolloin tapahtuma on käynnistettävä. Versiossa 2 on erilaiset rajoitukset kuin versiossa 1 (lueteltu edellisessä vaiheessa). kokeile molempia ja käytä sitä, joka toimii sinulle paremmin.

Siellä on myös alustava kellon käsittely, mutta se vaatii joitain säätöjä toimimaan niin kuin pitäisi. Koodi olettaa, että tallennat 4/4 - 4 baarin silmukan (16 lyöntiä).

Voit kytkeä ulkoisen kellon pois päältä pitämällä "paniikki" -painiketta painettuna, kun kytket silmukan päälle.

Koodit ladataan TÄSTÄ. Niiden ympärille on laitettu kommentteja, jotta voit taivuttaa näitä laiteohjelmistoja haluamallasi tavalla;)

Vaihe 5: Johdot

Johdot
Johdot
Johdot
Johdot
Johdot
Johdot

MIDI IN- ja MIDI OUT -piirit ilmoitetaan liitteenä olevissa kuvissa. Huomaa, että käytetään TX1 ja RX1, ei TX0 ja RX0.

Arduino DUE -tulonapit eivät voi käsitellä 5 V, mutta 3,3 V; siksi käytetään yleisemmän 6N138: n sijasta optoerotinta H11L1. Minulla on todisteita siitä, että 6N138: n käyttö yhdessä jännitteenjakajan kanssa TX1: een menevän signaalijännitteen pienentämiseksi, kuten ensimmäisessä prototipissäni, voisi toimia virheellisesti joissakin asetuksissa.

LEDit on kytketty Arduino DUE -lähtötappeihin 470 ohmin vastuksen kautta. Voit käyttää jopa 1K ohmin vastuksia LED -valojen virran vähentämiseen ja niiden kirkkauden vähentämiseen.

Painikkeet/kytkimet/liittimet on kytketty suoraan Arduino -sisääntulonappeihin luonnoksessa aktivoitujen sisääntulovastusvastuksien ansiosta. Ulkoisia (ulosvedettäviä) vastuksia ei tarvita.

Optinen anturi on kytketty GND- ja +5V -jännitteeseen. Se menee Arduinon tulotappeihin, jotka kulkevat 2 480 ohmin vastuksen läpi, yksi kullekin optiselle datalähdölle.

Arduino DUE saa virtansa suoraan 5 V: n nastasta ja maadoitetaan +5 V DC -keskittimen kautta.

Kaikki perusteet ovat sidoksissa toisiinsa.

Liitteenä on taulukko, jossa on liitännät arduino -nastoista IN/OUT -oheislaitteisiin. Arduino -nastan numerot heijastavat proptotyyppilaitteistoni numeroita ja voivat näyttää (ne ovat jotenkin…) satunnaisia. Voit helposti muuttaa luonnoksen tapin sijaintia haluamallasi tavalla;)

Vaihe 6: Entä jos minulla on useampi kuin yksi MIDI -lähde?

Mitä jos minulla on useampi kuin yksi MIDI -lähde?
Mitä jos minulla on useampi kuin yksi MIDI -lähde?

Lyhyen MIDI -sulautumisen etsimisen jälkeen huomasin, että käytännöllisin (ja halvin) ratkaisu oli MIDI -kytkin.

MIDI -kytkin on passiivinen laite, joka mahdollistaa MIDI -lähteen ja poistaa käytöstä kaikki muut lähteet. Niinkin helppoa.

MIDI -kytkimen sydän on moniasentoinen (minun on 6 -asentoinen), 2 -napainen kytkin. On erittäin tärkeää, että napojen määrä on "2", koska jokainen MIDI -liitäntä on katkaistava kokonaan, jos sitä ei ole valittu, eikä se ole yhteydessä muiden kanssa. Liitteenä on kuva siitä, jonka olen omaan käyttöön.

TÄSTÄ LINKISTÄ kaavio.

Suositeltava: