WIP: Electra MIDI Controller

Od jakživa jsem posedlý vším, co vydává nebo ještě lépe vytváří zvuky. Tahle vášeň způsobila, že mýma rukama prošly desítky elektronických hudebních nástrojů, převážně syntezátorů. V té řadě nástrojů nechyběly skvosty jako je Prophet 5, Minimoog, Rhodes Chroma, Analog Solutions SE-1 a mnoho dalších. Nástroje jsem většinou získal rozbité a následně je opravil. Ruku v ruce s touto činností rostla moje potřeba stvořit nějaké zařízení sám.

Postupně vzniklo několik pokusů-projektů různých analogových syntezátorů. Bohužel, přes veškerou snahu, se všechny tyto projekty ani trochu nepřiblížily ani zvukem ani provedením tomu, co jsem chtěl dosáhnout.

Po roce 2010 začala trhem hýbat druhá vlna analogových syntezátorů a já svojí snahu vzdal. Pokoušet se konkurovat velikánům jako je DSI nedávalo smysl. V té době jsem se rozhodnul, že svojí energii budu věnovat vymazlenému MIDI controlleru. Existující produkty na trhu mě moc nebavily a tak vznikla Electra.

Electra je MIDI controller, který umožňuje ovládaní několika MIDI zařízení najednou a hlavně s větším komfortem než bežné hardware MIDI controllery. Hlavní rozdíl spočívá v tom, že uživatel může přiřazovat libovolné parametry zvuku hardwarovým knoflíkům nebo touch-sensitivním prvkům na LCD displayi. Všechny parametry jsou vyobrazeny tak, aby byly co nejvíce srozumitelné. Pokud je daný parametr seznam hodnot, uživatel vidí na LCD všechny hodnoty v textové formě a vybírá je buď pomocí mechanického knoflíku nebo dotykem na displayi.

Nechtěl jsem vytvořit zařízení, které umožní ovládání pouze jednoho typu/modelu hudebního nástroje. Postupně se tak rozvinula idea konfigurace Electra MIDI controlleru pomocí JavaScript aplikace běžící ve webovém prohlížeči. Webovou část projektu obstarává Tomáš Hellebrand a já jsem mu vděčný, že se toho ve svém volném čase ujal.

Technická specifikace Electra MIDI Controlleru:

  • class compliant MIDI zařízení podporující MIDI IN a MIDI OUT
  • 1 x MIDI IN přes klasický DIN 5 konektor
  • 4 x MIDI OUT přes klasický DIN 5 konektor
  • 800×480 barevný touch LCD display
  • 12 nekonečných touch-sensitive potenciometrů s rozlišením 256 hodnot na otáčku
  • podpora MID CC parametrů a custom SysEX zpráv, mapovatelných na hardware potenciometry a grafické prvky na LCD
  • plně programovatelné pomocí webové aplikace přes USB port
  • napájení přes USB

Co mi projekt dal a vzal

Kromě potřeby vyrobit něco, co vytváří zvuk jsem oprášil hodně dovedností ze školy a naučil se mnoha novým věcem.

Na prvním místě je asi návrh hardware řešení a programování firmware. Netvrdím, že Electra je nějaké komplikované zařízení, ale určitá složitost tu je. Hardware je založen na ARM architektuře a hlavní MCU komunikuje jak s digitální částí (seriové porty pro MIDI, USB, display a touch controller přes SPI), tak i analogovou částí (čtení polohy potenciometrů a vyhodnocování touch-sensing na knoflíkách).

Komunikace s počítačem a přenos konfigurací se provádí pomocí JSONu přes USB MIDI sysex zprávy. To výrazným způsobem ulehčilo Tomášovi práci na JavaScript aplikaci.

Firmware je napsaný v C++. Jako člověk, který ve své práci řeší rozvoj vývojářů a jejich přístupu k práci, si při psaní vlastního sw uvědomuju, jak jednoduchý je ty moudra říkat a jak obtížný je se jimy opravdu řídit a dodržovat je. V tomhle je pro mě Electra projekt opravdu přínosný. Kdybyste chtěli vidět můj krasně čistý zdrojový kód firmware, je na githubu – bohužel v privátním repozitáři 🙂

Projekt mě donutil výrazně zlepšit svoje dovednosti v používání Rhino3D. Při studiu lodního designu jsem Rhino používal, ale nějak jsem šel jen „po povrchu“. Až s Electra projektem a potřebobou designovat hardware a následný zpracování na 3D tiskárně a CNC routeru jsem musel jít do sebe a Rhino začít skutečně používat.

Podobný příběh se dá říct o návrhu a výrobě plošných spojů. U projektů v minulosti jsem hodně spoléhal na support od mýho táty, který mi plošný spoje navrhnul a vyrobil. Bohužel, přes veškerou jeho snahu to mělo své limity. Electra mě donutila osvojit is KiCAD a následnou výrobu plošných spojů přes výrobce s Číně.

Funkční prototypy jsou tady a co dál…

Dostávám se ke svému opakujícímu se problému. Electra projekt zaznamenal pozitivní ohlas u známých i lidí kteří se motají kolem hudebních nástrojů. Zvažuju možnost odstartování kampaně na KickStarteru. Jenže…

V současné době jsem totálně vytížen Bitsafe projektem a Tomáš Hellebrand mě zásobuje nápadama na další, jiný projekty. Focus se trochu ztrácí a já přemýšlím, co dál. Můžu si to nechat jenom jako projekt, kterým se bavím, a který naplní mojí potřebu dělat s hardware platformou. Nebo to protlačit na KickStarter a investovat do toho více času na úkor Bitsafe, případně delegovat vývoj na někoho jiného a jen dohlížet na vývoj produktu…

%d bloggers like this: