Arduino polyfoniska mikrotonala midi converter (2 / 3 steg)

Steg 2: kod

Arduino koden är bifogat nedan som en textfil.

Dessa värden bör anpassas.

#define pitchbendRange 2 / / pitchbend range i halvtoner
#define octaveSteps 10 / / antalet steg i en oktav
#define middleNote 60 / / ställa in denna MIDI-not - 60 är mitten C (0-127)
#define numVoices 16 / / Använd den här många MIDI-kanaler (1-16)

Jag använde ovanstående värden i video demo. Det visar en Propellerhead anledning rack med 16 piano moduler tilldelats 16 MIDI-kanaler. Jag spelade två oktaver av 10 TET omfattning på ett tangentbord börjar med D-tangenten under mitten C och slutar på Bb knapp mitten c.

Du kan se att varje kanal och modul är klev igenom som jag spelar varje successiva not. Anledningen till detta är att pitchbend är en kanal inställningar. När spelar Polyfoniskt, om varje ton skickades till en enda MIDI-kanal, då den nya pitchbend inställningen skulle ändra trimning av tidigare spelat men fortfarande klingande anteckningar. Så jag har det igenom 16 kanaler så att 16 toner kan spelas samtidigt som varje med sina egna pitchbend värderingar. Om du anger numVoices till 1 fungerar det bra med en monosynth.

Stega igenom de viktigaste loopen, läser arduino i 3 byte--en MIDI-not ON eller OFF i taget. Sedan det MIDI-not och beräknas pitchbend att skicka ut. I stället för beräkningen av dessa värden dynamiskt, som jag nämnde ovan tycker jag ett par uppslagstabeller kunde genomföras där du beräkna värdena ska mappas till. Detta skulle möjliggöra mappning till någon skala.

Nästa kontroller arduino om kommandot är en anmärkning på och, om så är fallet, skickar ut de mappade Obs och pitchbend värden och steg till nästa MIDI-kanal. Om kommandot är en anteckning av, finner arduino MIDI-kanal där denna anteckning är på och stänger av.

Njut!

-------

Uppdatering: Jag gjorde koden (v1.1 bifogas) effektivare genom att kontrollera om kommandot är en anteckning på eller Observera OFF innan du gör en kalkyl.

Också, jag gjorde mer forskning med MIDI-OX och Yamaha CP-33 manualen runt det andra problemet i mina anteckningar nedan (steg 3) och fann att en stadig ström av (hex) F8 och (hex) FE MIDI realtime meddelanden är skyldige. Jag försökte skriva lite kod för att snabbt kan identifiera dem och gå vidare som nedan, men det verkade arduino inte kunde uppehället upp. Jag kunde få en anteckning via arduino bara efter några sekunder eller så.

göra {
kommandot = Serial.read();
} samtidigt (kommandot == 248 || kommandot == 254);

Se Steg
Relaterade Ämnen

Super Duper mikrotonala MIDI Converter

Jag gjorde denna Arduino baserade mikrotonala MIDI converter som min första Arduino projekterar: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 mikr...

Arduino Touch kapacitiv MIDI Keyboard

Detta Instructable visar dig hur man gör en touch kapacitiv MIDI keyboard. Om du följer alla steg korrekt, fungerar det ungefär så här:Videoanteckning: detta fungerar inte med normal färg. För denna video använde jag Konduktiv färg.Vad du behöver:-Ar...

Arduino, sensorer och MIDI-

Nu när du är igång med hjälp av Arduinos in- och utgångar, ger detta Instructable dig allt du behöver för att komma igång med sensorer för att utlösa MIDI-noter från Arduino. Detta inlägg är den sista delen i en serie workshops jag ledde på Kvinnors...

Arduino MIDI Controller

En MIDI-controller är någon utrustning som genererar och sänder MIDI-data till MIDI-aktiverade enheter. Kort sagt, om du har knappar på din MIDI-controller, kan du programmera dessa knappar till alla ljud du vill ha via musikaliska programvara (ex.:...

Trumma MIDI handske med hjälp av Arduino och ljussensorer

kommer jag att beskriva ett roligt och enkelt sätt att bygga ditt eget ljud uttryck MIDI aktiverat handske utan att använda massor av pengar på MIDI-gränssnitt eller dyra sensorer.Välkommen att kontakta mig direkt via mail om du gillar det eller har...

Arduino USB MIDI Interface

För några veckor sedan började jag arbeta på en MIDI-controller med hjälp av Arduino och ATmega32. Jag gjorde inte ifyllda projiceras ännu. Det är under utveckling.Du kan läsa hela historien här http://openhardware.ro/arduino-usb-midi-controller/.Men...

Anpassade Arduino MIDI Controller

Hej och Välkommen till detta instructable om hur man bygger en anpassad, Billigt och enkelt USB MIDI-controller, baserat på Arduino. Den bästa nyheten: inget krångel med USB-till-MIDI-gränssnitt eller programvaruverktyg som Hårlösa MIDI, bara plug 'n...

Styra Cubase med Arduino baserad MIDI

En vän till mig ville kontrollera Cubase, hans ljud-inspelning programvara, med en tryckknapp så att han kunde stoppa och starta inspelningar distans utan att behöva gå över till datorn och skriver på tangentbordet. Du kanske kan göra detta i andra i...

Skicka och ta emot MIDI med Arduino

Detta instructable visar dig hur du använder en Arduino att skicka och ta emot en mängd olika MIDI-meddelanden så att du kan börja bygga din egen MIDI-controllers och instrument. Första jag ska prata lite om MIDI-protokollet, om du bara letar exempel...

Arduino MIDI-controller med en ZX avstånd och gest Sensor

Välkommen till detta instructable om hur man bygger en mycket grundläggande MIDI-Controller med SparkFun ZX avståndet och gest Sensor. Detta instructable är del av en skoluppgift.Obs: Detta är ingen kodning handledning. Den final koden kommer att ing...

MIDI-kontroll lampor Arduino

Hej, är det här inlägget skapad av Jesus Alberto Cejas och Pablo Javier Ruiz att visa dig vårt projekt om en musikalisk tangentbord, vackra lampor och Arduino.Detta projekt var för "Kreativa elektronik", en Beng elektronik Engineering 4: e året...

Arcade-knappen MIDI-Controller

att ha en hårdvara gränssnitt till din favorit musik / DJ / VJ programvara kan verkligen öppna upp dörrar i din kreativitet. Mest utbredda form av hårdvara kontroll till datorn för sådana program är en MIDI controller.En MIDI-controller kan skicka oc...

Konvertera en toy piano för att arbeta som en MIDI-enhet och använda den med Synthesia

målet med detta projekt:Konvertera en billig leksakspiano för att arbeta som en MIDI-enhet och använda den med Synthesia (http://www.synthesiagame.com/)Andra program som använder MIDI-ingångar kan också användas.Tillvägagångssätt:Tryckknappar av pian...

USB-MIDI-Littlebits synth!

Min underbara fru köpte mig den littlebits synth kit i julklapp, och jag tillbringade flera dagar irriterande alla med skrikig ljud. Efter ett tag ville jag mer kontroll över det, att synkronisera det med andra saker, eller att spela det från ett rik...

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...

Rita själv - MIDI controller med ledande bläck

"Rita det själv" är en MIDI-controller som använder ledande bläck som knappar. Den bygger på Arduino, och använder en kapacitiv sensor (två, faktiskt) att avgöra huruvida ritade knapparna är beröring eller inte.http://sanidanz.tumblr.com/drawity...

Konvertera en räddade leksak till en MIDI-controller

i detta Instructable, jag kommer att gå igenom processen att konvertera ett räddade buller-making barnleksak till ett faktiskt användbara musikaliska instrument med MIDI! Ta en stund att bara kasta en blick över titlarna på stegen i detta Instructabl...

Arduino xylofon

Jag gjorde en xylofon som använder en Arduino Mega att upptäcka när en anteckning träffas och generera MIDI-utgången. Detta projekt är wondeful eftersom jag i huvudsak gjorde en xylofon, ett trumset och alla andra MIDI kontrollerat ljud instrument, m...

Sockerbit MIDI Controller

Detta projekt är en bärbar, Arduino-powered, grid-baserad MIDI-controller som startar upp till olika apps att göra massor av saker med ljud. Den har 16 bakgrundsbelysta knappar, används som både in- och utgångar för att ge registeransvarige lite visu...