Super Duper mikrotonala MIDI Converter (5 / 5 steg)

Steg 5: Koden

Här är Arduino koden. Anteckningar om det finns nedan.

Sju Segment bibliotek:

Som beskrivits tidigare skrev jag ett sju segment bibliotek med snabb handstil till digital stift. Det måste vara snabb, eller annars den saktar MIDI bearbetning ner märkbart.

Mikrotonala MIDI-bibliotek:

Jag skrev också ett mikrotonala MIDI-bibliotek som hanterar input av MIDI-not händelser och produktionen av n-TET mikrotonala Observera händelser. För att hålla koden snabbt, filtrerar detta bibliotek bort, dvs gör ingenting med, MIDI-kommandon eller data som inte är relaterade till Observera händelser.

Koden använder alla 16 MIDI-kanaler successivt och cykliskt att skicka pitchbend och anteckningar. Detta är eftersom pitchbend påverkar en hel kanal, och varje mikrotonala Obs kräver ofta ett olika pitchbend värde. Det kan justeras för att använda mindre kanaler, men antalet kanaler skulle vara antalet tillgängliga anteckningar av polyfoni.

Jag genomfört en monofoniska läge som retriggers den föregående anteckningen vid behov. När man arbetar med mikrotonala skalor med mer än 12 toner, i vissa fall används samma MIDI ton för angränsande mikrotonala toner med olika pitchbend värden. Om båda notes hålls och sedan en släppt, när en anteckning av kommandot skickas för en av mikrotonala toner på en monofonisk synthesizer då båda anteckningar är avstängda. När monofoniska läge är aktiv retriggers koden återstående mikrotonala Obs och pitchbend värde, vilket är vad du förväntar dig när du spelar en monosynth. Den upplysta knappen växlar du mellan retrigger att vara på för en monosynth och för en polyfonisk synt.

Jag också genomfört Pythagoras trimma in koden--mappas till "00" stegen per oktav inställning, men det är bortkommenterad eftersom det krävs om uttalanden orsakat märkbar fördröjning. Kanske finns det fler optimering att göra, eller kanske en snabbare mikrokontroller som på en Teensy skulle låta min kod ska fungera tillräckligt bra. Eller kanske hålla med 53-TET för en bra nog tillnärmning av 5-limit bara intonation. :)

Huvudkoden:

Huvudkoden inkluderar avbrott hantering för rotationsencoder och knappen. Jag hittade den här sidan och sidan hjälp för att skriva en avbrottskod.

ISR hanterar alla rotationsencoder och belyst knapp funktioner. När en kodare är aktiverad, förslaget är mappad till en förändring i steg per oktav eller MIDI basnot, och dessa värden uppdateras för de sju segment displayen. När knappen trycks, monofoniska läge ska växlas på eller av och inre LED ska växlas på eller av för att matcha.

Den viktigaste loopen består av i huvudsak ett samtal att hantera en byte av inkommande MIDI-data och sedan en enda blixt av lämpliga lysdioderna i sju segment display.

Se Steg
Relaterade Ämnen

Arduino polyfoniska mikrotonala midi converter

Kraftigt förbättrade versionen här!***********************************Jag ville spela mikrotonala skalor med min MIDI-keyboard, så jag gjorde denna arduino baserad enhet som läser i MIDI-noter och skickar ut motsvarande mikrotonala campingtomter anvä...

Super Duper Slip och bild

Varje barn behöver en slip och skjut. Jag tror det är en lag i PA, men jag måste titta som. Mina pojkar har förstört några av de billiga och kommersiell kvalitet bilderna är alldeles för dyrt. Efter en snabb sökning på internet jag hittade en bra DIY...

Hur till göra Super Duper lätt Slushie

Hi idag jag gör en super duper lätt Slushie ur Kool aid, berätta din Kool stöd smak som du skulle göra det med i en kommentarSteg 1: Vad behöver vi Vi behöver1 stor ziplock1 smörgås storlek ziplock2 Kool stöd smaker av ditt val1 par saxHavssaltEn kop...

"Super Duper" Knex pistolen

detta en super duper lätt pistol det är bara 4 delar...

Super Duper Soaker

Ok detta instructable är för de delar du behöver för super duper soaker hur att sätta ihop dem är att vara en separat instructable ledsen för besväret men det är hur det skulle vara nästa inte kanske är så här inte vet jag ännu. Den hur man bygger ko...

Super Duper örhänge

ingredienser:-32 länkar av hand-pärlstav kedja-Två 5-strand slutet barer-1 par av franska ledningar--- OCH---- bokstäver SUPER och DUPER---- OR -----10 ganska kronblad pärla caps-10 druk pärlor, 6 mm-10 huvud stift, 1 tumVerktyg:- Kedjan näsa tång- A...

Hur man gör en super duper lätt cobble sten generator MCPE

Hej killar idag jag kommer att visa dig hur man gör en super lätt cobble sten generator i minecraft PE eller PC och allt du behöver är en hink med vatten, 1 hink med lava och en spade så låt oss komma igång!Steg 1: gräva Dig det du ser på bilden.Steg...

Super Duper enkel USB-fläkt!

dag jag kommer att visa dig hur man gör en super cool USB-fläkt. du behöver:en USB-kabelen dator eller USB-vägg adapteren wire cutter eller saxtejphobby motor med fläkt på detSteg 1: stip din usb kabel så att du avslöjar 4 trådar vi endast använder r...

Utanför blocken: Super Duper raket med Tinkercad

Låt oss inse det: när du tror "modell rocket" och "Tinkercad på mindre än 30 minuter", har du förmodligen en bild av en enkel cylinder med en kotte på toppen. Men Tinkercad är verkligen kraftfull under huven, och den synes enkla uppsät...

Super-duper Peacock kostym

http://www.facebook.com/photo.php?v=10152084227766531Låt oss se, jag vill börja med att berätta lite om mina erfarenheter. Först av allt, är jag en stor Halloween-fanatiker. Jag alltid göra min egen kostym och börja minst 2 månader före Halloween. Ja...

Super Duper BFF armband!

Hej, i denna tutorial kommer jag att visa dig hur man gör denna bedårande armband för dig, din BFF eller någon i din familj! Hela detta projekt tog mig ungefär en timme att förbereda och göra så avsätta en tid. Lycka till!Steg 1: material För detta h...

SUPER DUPER mini k'nex pistol 9st

trots att jag har byggt många andra k'nex kanoner, detta är min första instructable, så var inte snål. Den kan skjuta ca 13 fot med ett gummiband. Förlåt KillerK jag tog typ av din design. Jag vet att det har en trigger block men det kunde inte vara...

Supa Dupa ledde Throwie Retreval System

du vet hur irriterad Moder natur är?Vänta inte för henne att skrika på dig!Städa upp du pipa blinkande grejen!Här är bara konturen av en idé som någon ska expandera på!Steg 1:Få en ledde ThrowieFå ett set med kardborrbandEn boll av blå tackelTäcka th...

Supa Dupa långsam chili

Detta är överlägset den bästa chili jag någonsin har producerat. Den har en ren men kryddig rökig smak som smälter hjärtat av även den mest pickiest chili eater. Det enda undantaget är det går emot alla min professionella år som kock (10 +) år jag pr...

Super Duper Shmooper studsande boll!

Ja, studsbollar är cool, men har du någonsin försökt att göra en egen? Trodde inte att så. Så, jag har passerat det rasande havet, trotsade de högsta bergen, och dräpt en massa drakar att ge dig detta instructable om hur du gör din egen! Du behöver i...

Super Duper papper Hexagon transformator leksak!

Detta instructable kommer att lära dig hur man gör ett papper leksak som kommer att blåsa dig! Denna leksak kan hålla roterande inifrån och ut utan att stanna! Det kan vara ett roligt projekt att ockupera ett par timmar! Obs: Detta är inte min design...

Super Duper boken rutan!

Hej, i denna tutorial kommer jag att visa dig hur man gör denna fantastiska låda gjord av en gammal hård-cover bok! Du verkligen behöver inte en hel del skicklighet att göra detta men du behöver några tid, så avsatt en timme eller två.Steg 1: materia...

Super-duper röst rutan

ofta i livet, det kommer en tid när vi befinner oss vara "Någon annanstans". Vissa saker råkar bara "Någon annan" men egentligen aldrig hindra våra egna dagliga rutiner. 1999 blev jag "Någon annan" när min förstfödda dotter d...

Enkel MIDI i kabel

hur man gör en SUPER enkel MIDI kabel för att skicka data till din joystick / MIDI-port.Jag hade en M-Audio USB-uno, som fungerade bra på mitt ghetto tangentbord, men på min nyare setup, det ständigt skulle dumpa sopor anteckningar. Snarare än gå spe...