Obsah:

Sekvencer sekce rytmu Arduino MIDI: 8 kroků (s obrázky)
Sekvencer sekce rytmu Arduino MIDI: 8 kroků (s obrázky)

Video: Sekvencer sekce rytmu Arduino MIDI: 8 kroků (s obrázky)

Video: Sekvencer sekce rytmu Arduino MIDI: 8 kroků (s obrázky)
Video: Arduino 64 Step Sequencer s minimálním hardwarem, upravený z Drum Sequencer 2024, Červenec
Anonim
Sekvencer sekce rytmu Arduino MIDI
Sekvencer sekce rytmu Arduino MIDI
Sekvencer sekce rytmu Arduino MIDI
Sekvencer sekce rytmu Arduino MIDI
Sekvencer sekce rytmu Arduino MIDI
Sekvencer sekce rytmu Arduino MIDI

Mít dobrý softwarový bicí automat je dnes snadné a levné, ale používání myši mi zabíjí zábavu. Proto jsem si uvědomil, co bylo původně zamýšleno jako čistě 64krokový hardwarový MIDI bicí sekvencer schopný spustit až 12 různých bicích prvků (částí), ale poté jsem se vyvinul v sekvenceru rytmických sekcí …

… tam jedeme!

Krok 1: Jak to funguje

Tento hardware nedokáže generovat zvuky sám, ale pouze sekvenční externí hardware přes MIDI. To znamená, že budete potřebovat zvukový generátor zvuků bicích (sampler nebo bicí syntezátor nebo PC s vaším oblíbeným bicím softwarem nebo čímkoli dáte přednost), který bude možné spustit pomocí zpráv MIDI na poznámky.

Skládá se hlavně z matice 4 x 4 tlačítek (s LED), po jedné pro každý krok pruhu. Celá sekvence 64 kroků je tvořena 16 kroky vynásobenými 4 pruhy. Každý krok je 1/16 poznámky.

Existují dva provozní režimy: živý režim a režim úprav.

V režimu úprav můžete ve skutečnosti krok za krokem upravit sekvenci definováním, který buben bude hrát v každém kroku.

Váš externí hardwarový nástroj („buben“) se spustí odesláním zprávy MIDI „not on“pro různá „čísla MIDI not“na kanálu číslo „10“. Ve výchozím nastavení jsou tato čísla poznámek

buben č. 1 (tj. kop) -> MIDI notové číslo „60“

buben č. 2 (tj. snare) -> MIDI notové číslo „62“

buben č. 3 (tj. tleskání) -> MIDI notové číslo „64“

buben č. 4 (tj. Hihat) -> MIDI notové číslo „65“

buben č. 5 -> MIDI notové číslo „67“

buben č. 6 -> MIDI notové číslo „69“

buben č. 7 -> MIDI notové číslo „71“

buben č. 8 -> MIDI notové číslo „72“

buben č. 9 -> MIDI notové číslo „74“

buben č. 10 -> MIDI notové číslo „76“

buben #11 -> MIDI notové číslo „77“

buben č. 12 -> MIDI notové číslo „79“

Pokud chcete, můžete tyto hodnoty (a MIDI kanál) v náčrtu změnit.

V živém režimu stisknutím krokových tlačítek můžete živě hrát na bicí přidružené ke každému kroku odesíláním MIDI zpráv přes sériové číslo. Můžete živě zaznamenávat stisknutí tlačítek a/nebo příchozí zprávy MIDI.

V živém i editačním režimu můžete ztlumit (nebo zrušit ztlumení) buben, „roll play“aktuálně aktivního bubnu a „swing“vaší sekvence.

Sekce rytmu?

Většina bicích sekvencerů jsou čistě MIDI spouště částí bicích, s pevným číslem MIDI not pro každý zvuk bicích. V tomto případě máme „sekvencer sekcí rytmu“více než čistý „sekvencer bicích“, protože můžete dokonce sekvencovat syntetizéry.

Další podrobnosti a úplný seznam funkcí najdete v PŘÍRUČCE RYCHLÉHO SPUŠTĚNÍ.

Krok 2: Hardware

Hardware
Hardware
Hardware
Hardware
Hardware
Hardware

Tento projekt je realizován kolem desky Arduino DUE. Snažil jsem se udržet hardware co nejjednodušší, tj. Tím, že jsem se vyhnul použití ovladačů LED. Arduino DUE pravděpodobně není nejvhodnější deskou pro práci se spoustou LED bez ovladače LED, protože má omezení výstupního proudu (od 5 mA do 15 mA, v závislosti na pinu), ale je to nejrychlejší Arduino a načasování je při jednání vše se sekvencery. Mějte tedy na paměti, že TATO hardwarová konfigurace pravděpodobně tlačí váš Arduino DUE na limity a může jej v dlouhodobém horizontu poškodit.

To je řečeno, hardware je hlavně 16 tlačítek, 16 LED diod (jeden pro každý krok) sekvencer s 5 dalšími tlačítky pro funkce a 3 potenciometry. Také jsem přidal červenou LED po přidání funkce živého nahrávání.

Zde je kusovník:

- 1x Arduino DUE

- 16x momentální, neblokovací tlačítka s integrovanými LED diodami (pokud chcete, můžete použít externí LED diody, ale nezapomeňte použít LED diody s nízkým výkonem !!)

- 1x červená LED (nízký výkon!)

- 5x momentální, neblokující tlačítka

- 3x 10K jednootáčkové, lineární, potenciometry

- 3x 6,5 mm mono jack samice na panel

- 1x plastové pouzdro (použil jsem pouzdro 190x140x70 mm)

- 2x 5-pinový DIN zásuvkový konektor pro montáž na panel (MIDI)

- 1x oboustranná perforovaná deska 70x90 mm

- 2x 40pinový jednořadý páskový kolíkový pásek (2,54 mm), lepší pokud je pozlacený

- 1x optočlen H11L1

- 1x dioda 1N4148

- 23x 1000 ohmové odpory

- 3x 220 ohmové odpory

- 2x tranzistory BC547 pnp

… pájecí drát, některé kabely, pájecí stanice, vrtací nástroj … a volný čas:)

Všimněte si prosím, že tlačítka na obrázcích byla nahrazena jiným typem (ještě levnějších …) tlačítek kvůli nehoráznému poskakování …

Čas potřebný k dokončení projektu: 8 - 10 hodin

UPOZORNĚNÍ: Při vrtání VŽDY noste ochranné brýle a rukavice! Proužky horkého materiálu vám mohou promítnout do očí nebo přijít do styku s pokožkou a způsobit popáleniny nebo dokonce vážnější poškození vás nebo lidí kolem vás

Krok 3: Zapojení

Vodiče
Vodiče
Vodiče
Vodiče
Vodiče
Vodiče

Kroková tlačítka jsou přímo připojena k pinům Arduino od 22 (krok 1) do 37 (krok 16). Uzemnění tlačítek je řetězově propojeno a připojeno k zemi Arduino DUE. Není třeba stahovat nebo stahovat rezistory, protože integrované stahovací rezistory Arduino jsou povoleny softwarově (viz náčrt).

Totéž platí pro dalších 5 tlačítek (piny Arduino 2, 3, 4, 5 a 6), používaných pro funkce jiné než kroky. Souběžně s tlačítkem „start“jsem také umístil 6,5 mm konektor samice, abych mohl dálkově přehrávat a zastavovat své sekvence.

LED diody jsou připojeny k uzemnění (řetězení) a piny Arduino DUE od 38 (krok č. 1) do 53 (krok č. 16) v sérii s odporem 1 K ohm, aby se omezil odběr proudu a zachoval mikrokontrolér.

Potenciometry jsou zapojeny podle obrázku. Všimněte si, že referenční napětí je 3,3 V, nikoli 5 V. Použité vstupy jsou A0, A1 a A2.

Také jsem implementoval dva spouštěcí výstupy pro arpeggio signály, jako jsou ty, které jsou nutné k arpegiování starého syntezátoru 80. let jako Korg Polysix a Roland Juno 6/60. Jsou připojeny k pinům A3 a A4, ale digitální piny můžete použít, pokud dáváte přednost digitálním signálům. V případě, že se chystáte sekvencovat syntezátor kompatibilní se signály V-Trig (napěťová spoušť), bude stačit odpor série 1 k ohm ke snížení odběru proudu; v případě syntetizátoru S-Trig (přepínač spouštění) budete potřebovat jednoduchý obvod přepínače pnp (viz přiložené schéma).

Obvody MIDI IN a OUT jsou schematizovány na přiložených obrázcích. Všimněte si, že na rozdíl od většiny arduinos, Rx1 a Tx1 jsou ve výchozím nastavení použity na deskách DUE místo Rx0 a Tx0. To je skvělé, protože můžete načíst svůj náčrt, aniž byste museli Rx pokaždé odpojovat. Všimněte si také, že jsem použil optočlen H11L1, protože jsem nemohl běžet tak, jak by měl běžný 6N138 v limitu Arduino DUE 3.3V.

Krok 4: Software

Skica byla napsána v Arduino IDE a musí být nahrána na vaši desku Arduino DUE. Nebudu zacházet do podrobností o tom, jak načíst skicu do vašeho arduina DUE. Pokud je to vaše první zkušenost s Arduino DUE, přečtěte si to. Pokud je to vaše první zkušenost s arduino IDE, přečtěte si to také.

Aktualizovaný firmware si můžete stáhnout ZDE (odkaz github).

Skica se opírá o vynikající MIDI knihovnu FortySevenEffects. Knihovnu budete muset nainstalovat do svého arduino IDE.

Poznámky MIDI výstupu přiřazené každému bubnu jsou definovány proměnnou drumNote [STEPS_NUM] v náčrtu. Můžete je libovolně měnit.

Číslo kanálu MIDI out pro bicí je ve výchozím nastavení nastaveno na „10“.

Nejsem kodér v reálném životě a určitě existují lepší způsoby, jak kódovat to, co zde potřebujeme. Pokud jste kodér s jakýmkoli návrhem, jste vítáni! Zašlete mi prosím jakoukoli variantu, která může zvýšit účinnost/efektivitu kódu, a já ji zahrnu do hlavního náčrtu (samozřejmě s odkazem na přispěvatele!).

Krok 5: Stručný průvodce

Bicí: SEKVENČNÍ KROK ZA KROKEM

Jakmile zapnete sekvencer (nebo jej resetujete), načte se prázdná sekvence. Sekvencer se spustí v režimu úprav, přičemž první lišta je držena/uzamčena a je vybrán první buben (tj. Kop). To znamená, že stisknutím jakéhokoli tlačítka kroku těmto krokům okamžitě přiřadíte „kop“. Hlasitost, kterou buben spustí, je nastavena polohou potenciometru „hlasitosti“při přiřazení bubnu ke kroku. Opětovným stisknutím tlačítka dříve přiřazeného kroku zrušíte přiřazení aktuálního bubnu k tomuto kroku.

Pokud stisknete tlačítko „start“, uvidíte, jak vaše LED diody běží zleva doprava, shora dolů a hrají „kop“kdykoli je překročen krok kopu.

Podržením stisknutého tlačítka „Shift“se rozsvítí LED 1. kroku v 1. řadě (to znamená, že je vybrán první buben) a LED prvního kroku ve čtvrté řadě (to znamená, že jste uzamčeni k první liště). Nyní můžete změnit buben, který chcete sekvenovat, stisknutím dalšího tlačítka kroku, zatímco držíte stisknuté „Shift“. Po výběru nového bubnu uvolněte „shift“. Všechny LED diody zhasnou (protože jste novému bubnu nepřiřadili žádný krok) a můžete začít přiřazovat nový buben krokům. Opakujte pro všechny bubny, které potřebujete (až 12).

Nyní, když jste vytvořili pěkný vzor, podržte stisknuté tlačítko „Shift“a vypněte zvýrazněný krok ve spodní řadě (měl by to být 1. krok 4. řady, pokud jste přijali stejné rozložení, jaké jsem použil): máte právě „ odemčeno “sekvence, která nyní poběží přes všechny 4 pruhy. Spodní surové LED diody se začnou „hýbat“, což indikuje, která lišta se právě hraje (průběh taktu). Všimnete si, že pouze když v prvním taktu bude hrát sekvence, přičemž všechny ostatní 3 takty nevydávají žádné zvuky. Důvodem je, že jste přiřadili bubny pouze první liště, ostatní zůstaly prázdné. Můžete je vyplnit ručně (vyberte novou lištu stisknutím jednoho z posledních 4 kroků tlačítek při současném stisknutí „Shift“, vyberte jeden z bubnů, vyplňte kroky atd. Atd.) Nebo zkopírujte a vložte sekvenci pruhů, kterou jste vytvořili na všechny pruhy vstupem do režimu úprav (znovu zamknout na první lištu) a stisknutím „záznamu“(který nyní přebírá funkci „vložit“) při současném stisknutí „posunutí“. Jednodušší provedení, než bylo řečeno.

Bicí: REŽIM LIVE PLAY

Při spuštění je sekvencer v režimu úprav. Chcete -li opustit režim úprav, podržte stisknuté tlačítko „Shift“a stiskněte aktuálně držené/uzamčené tlačítko lišty (tlačítko kroku ve 4. řadě je zapnuto). Tím se vypne kontrolka LED dříve uzamčené lišty a odemkne sekvence. Nyní jste v režimu živého přehrávání.

V režimu živého přehrávání se stisknutím jakéhokoli tlačítka kroku spustí buben spojený s tímto tlačítkem.

Chcete -li živě nahrávat svou sekvenci, spusťte sekvenci stisknutím „přehrát“a poté stiskněte tlačítko „nahrát“(pouze v režimu živého přehrávání). Rozsvítí se červená LED dioda. Vaše hraní na matici ovládacího panelu bicích sekvencerů nebo jakákoli příchozí zpráva MIDI na vědomí (tj. Z externí MIDI klávesnice) bude zaznamenána.

Další funkce

Stisknutím tlačítka „roll“se aktuálně aktivní buben přehraje v každém kroku (v roli). Funguje to jak v režimech „krok za krokem“, tak v režimu „živého přehrávání“.

Stisknutím a podržením tlačítka „ztlumit“libovolného tlačítka kroku bude buben přidružený k tomuto kroku ztlumen (nebo ztlumen). Funguje to jak v režimech „krok za krokem“, tak v režimu „živého přehrávání“.

Konkrétní sekvenci bicích můžete vymazat stisknutím tlačítka relativního kroku, zatímco držíte stisknuté tlačítko „REC“.

Celou sekvenci (soft reset) můžete vymazat podržením stisknutého tlačítka „start“déle než 3 sekundy.

Svou sekvenci můžete „rozhoupat“otáčením potenciometru „švihu“.

MIDI echo můžete vypnout/povolit stisknutím tlačítka „ztlumit“, zatímco držíte stisknuté tlačítko „Shift“. Když je povoleno MIDI echo (výchozí), veškeré informace, které jsou přítomné na konektoru MIDI INPUT, budou odeslány do konektoru MIDI OUTPUT (ozve se pouze MIDI nota zapnutá, nota vypnutá, pitch bend, aftertouch a změna ovládání).

Vstup a výstup MIDI hodin jsou ve výchozím nastavení implementovány a povoleny. V případě, že není přijímán žádný hodinový vstup, je tempo nastaveno vyhrazeným potenciometrem. V případě, že je přijat vstup MIDI hodin, je z toho vypočítáno tempo a potenciometr tempa nereaguje. MIDI hodiny jsou vždy odesílány do MIDI výstupu.

Krok 6: Sekce rytmu

Původní myšlenkou byl „čistý“64krokový MIDI sekvencer pro sekvencování až 12 nezávislých bicích částí. Po nějakém testování jsem si všiml, že by bylo hezké také ovládat basovou linku, a funkci variabilní výšky tónu za krokem jsem přiřadil pouze nejnovějšímu bubnu. Poté jsem kód znovu upravil, abych mohl měnit výšku v každém bubnu a ovládat až 12 syntezátorů. O revizi později jsem přidal polyfonii (polyfonie na synth je ve výchozím nastavení omezena na 3).

Abych to shrnul:

- v režimu LIVE, pokud je zapnuto nahrávání LIVE a je spuštěna sekvence, můžete příchozí MIDI zprávy zaznamenávat polyfonně. Informace o rozteči a hlasitosti budou uloženy. Jsou ztraceny informace o rozteči a přítlaku. Zprávy MIDI Control Change budou uloženy. Mějte na paměti, že máte pouze jeden CC slot na kanál, na krok.

- Pokud je sekvence zastavena, můžete zaznamenat až 3 hodnoty výšky tónu (akord) na konkrétní krok konkrétního pruhu podržením stisknutého tlačítka cílového kroku a stisknutím (současně nebo po jednom) požadovaných kláves na klávesnice připojená k portu MIDI IN.

Všimněte si, že:

- nota spuštěná na kroku je „zabita“hned v dalším kroku. Chcete -li prodloužit délku noty, postupujte podle parametru VCA „release“svého syntetizátoru.

- na rozdíl od bicích nelze noty hrát v hodu stisknutím tlačítka „hodit“.

- Při nahrávání LIVE jsou příchozí data MIDI kanálu uložena v relativním kroku „drum“(MIDI kanál #1 -> „drum“#1 a tak dále).

Konkrétní sekvenci syntezátoru můžete vymazat stisknutím příslušného tlačítka kroku „buben“, zatímco držíte stisknuté tlačítko „REC“. Dalším stisknutím smažete také sekvenci bubnu. Pokud byla zaznamenána sekvence CC, bude to první, které bude vymazáno, pak podle pořadí CC -> Synth -> Drum

Krok 7: Arpeggio Triggers

Pre-MIDI syntezátory z počátku 80. let jsou často vybaveny někdy nazývaným „vstupem spouště arpeggia“. Odesláním signálu Trig od 2,5 do 5,0 V (V-trig nebo „napěťová spoušť“) nebo uzemněním spouštěcího vstupu arpeggia (S-Trig nebo „spouštěcí spoušť“) můžete syntetizátoru říci, aby postoupil o jeden krok na sekvenci arpeggia. To může být obtížné zvládnout pomocí sekvenceru bez vyhrazeného spouštění (někdy zvuky „rimshot“z vyhrazeného místa, kde/jsou použity jako účelné pro V-trig syntezátory), ale s deskou mikrokontroléru můžete snadno spravovat takový signál a ovládání vaše synth arpeggio, jak bylo zamýšleno ve výrobě.

Tento sekvencer rytmické sekce obsahuje možnost spustit arpeggiator dvou různých syntezátorů nezávisle.

Použití je velmi snadné: vyberte buben 11 nebo 12 (stiskněte krok 11 nebo 12 a současně stiskněte „shift“) a aktivujte kroky, které chcete, aby se arpeggiator pohyboval o jeden krok. Tímto způsobem můžete „naprogramovat“velmi těsné 1/16 běžné arpeggia o délce noty aktivací všech kroků nebo 1/8 aktivací každého dalšího kroku. Kromě toho můžete programovat složitější arpeggia aktivací kroků po neobvyklé cestě.

V závislosti na typu spouštěcího signálu podporovaného syntezátorem, který chcete ovládat, budete potřebovat jednoduchou hardwarovou úpravu: v případě V-trig (tj. Roland syntezátorů) umístěte odpor 1 Kohm do série s výstupem arduino spouštění. V případě S-trig (tj. Syntezátorů Korg) použijte shematic připojený ke kroku „zapojení“pro bezpečné spouštění spínače.

Krok 8: Pokud věci nefungují…

I relativně jednoduchý projekt, jako je tento, s největší pravděpodobností nebude fungovat 100% při prvním zapnutí. Zde je v příkladu správná korektnost mezi tlačítky a LED diodami a neporovnatelné zapojení způsobí, že bude sekvencer nepoužitelný.

Abych otestoval všechny různé komponenty, které tvoří krokový sekvencer, napsal jsem jednoduchý testovací náčrt (viz příloha).

Nejnovější testovací firmware si můžete stáhnout ZDE (odkaz na GitHub).

Testovací skica funguje následovně:

- stiskněte tlačítko krok: odpovídající LED by se měla rozsvítit a MIDI nota na kanálu 10 bude odeslána na MIDI výstup.

- stiskněte funkční tlačítko: rozsvítí se jedna z prvních 5 LED diod.

-otočte potenciometr: LED diody se příslušně rozsvítí (první hrnec -> první řada LED diod, druhý hrnec -> druhý řádek LED diod, třetí hrnec -> třetí řada LED diod).

- pokud je přijata MIDI nota, první LED bliká.

Mějte na paměti, že MIDI echo je ve výchozím nastavení povoleno. To znamená, že pokud máte MIDI smyčku mezi syntezátorem a MRSS, mohlo by to způsobit problémy (většinu času jsem zaznamenal předvídatelný dvojitý tón, ale také velmi nízké spuštěné noty a obecně nereagující vestavěná klávesnice se syntetizátory s MIDI vystupující jako MIDI Throu … záleží na syntetizátoru). Pokud je tomu tak, deaktivujte MIDI echo stisknutím tlačítka „ztlumit“, zatímco držíte stisknuté tlačítko „Shift“.

Doporučuje: