Enkel MIDI-flöjt/inspelare Controller (EWI) (7 / 14 steg)
Steg 7: Arduino skiss och Software Synthesizer
I det här steget vi programmera Arduino och installera programvara syntet.
Programmera Arduino Nano
Om du inte är familiair med Arduino plattform kolla th. För windows-plattformen har du följa dessa steg:
- Kontrollera att du har Arduino IDE installerat (ytterligare bibliotek behövs inte) och drivrutinen för att ansluta till din Arduino Nano.
- Hämta filen "MidiRecorder_PianoFingering.ino" filen/skiss ingår i det här steget (scrolla ner).
- Öppna mappen "Documents\Arduino", göra en ny mapp det och kalla det MidiRecorder_PianoFingering' (om mappen är inte den plats där du håller dina skisser du förmodligen är erfarna nog med Arduino IDE att räkna rätt stegen ut själv :-))
- Placera den hämtade filen i den nya katalogen.
- Anslut din Arduino till datorn via USB.
- Öppna de Ino fil inom din Arduino IDE
- Kontrollera att du har valt rätt utveckling styrelsen (Arduino Nano 168 eller 328) och har valt rätt COM-port.
- Tryck på ladda upp till belasta upp skissen till din Arduino Nano.
Förklaring av skiss
Jag försökte hålla skissen så enkla som möjligt och beslutat att inte använda flöjt fingersättning (i vilka anteckningar är kombination av knapp pressar), men piano fingersättning (i vilken varje knapp tryck är olika anmärkning):
- Setup - i inställningen vi berätta Arduino att stiften ansluten till knapparna är input pints. Om tummen knappen trycks (eller inga knappar är kopplade) satt vi variabeln staten till demoMode.
- Loop - om staten är demoMode - en melodi är skicka till datorn för att syntetisera. Melodin är en sträng (t.ex. "c4 d2 e4") i QBasic stil (https://en.wikibooks.org/...#PLAY). Melodin upprepas efter 2 sekunder.
- Loop - om staten inte är demoMode - vi bestämma volymen på ljudet fick av mikrofonen (= högsta skillnaden mellan analoga signaler) och ett volym midi ("Control Change") budskap. Också checka vi alla knappar en för deras tillstånd. Om nyligen tryckte vi skicka ett noteon ("kanal röst") MIDI-meddelande. Om tummen knapparna trycks också anteckningen skickar vi kommer att vara en skarp. Om nyligen hovrad vi skicka noteoff MIDI-meddelanden.
För mer info om hur midi fungerar, se detta utmärkta instructable:.
Ställa in software synthesizer
Programvara synthesizers (vst) kommer ofta som plugins med fil förlängning dll. Dessa plugins behöver en värd att köra. En fin gratis vst-värd är savihost. Jag väljer den VST2 version, inklusive tangentbord. Du kan hämta den från http://www.hermannseib.com/english/savihost.htm.
Du kan använda nästan alla vst plugins du gillar, eftersom vi bara skicka de mest grundläggande MIDI-meddelandena till syntet (noteon/noteoff och volymen ändra meddelanden). Några förslag på plugins (alla gratis att använda):
- Lxox_Flute - http://www.vst4free.com/free_vst.php?id=188
- Kontakt 5 - http://www.native-instruments.com/en/specials/free...
- Synth1 - https://www.kvraudio.com/product/synth1-by-ichiro...
- TAL_Elek7ro - https://tal-software.com/products/tal-elek7ro
- TX16Wx. http://www.tx16wx.com/
Jag gillar att använda Lxox_Flute på grund av sin enkelhet och trevlig flöjt simulering. Elek7ro är inte heller så svårt att förstå och kan du skapa andra instrument. Synth1 har en fin uppsättning fördefinierade blåsinstrument och låter dig lägga om din andedräkt volym till en annan effekt. TX16Wx kan du använda din egen exempelljud (wav-filer). Kontakt 5 har en fin solid känsla till den.
Om du vill köra en plugin måste du byta namn på (eller kopiera) savihost.exe att matcha filnamnet för vst-plugin-dll-filen. Efter löpande den nya exe, se till att aktivera midi i menyn "enheter>"Midi"och sätta den 'Input Port 1' till din midi2USB enhet (se första bilden).
Obs: Jag märkte Lxox_Flute plugin inte gör ljud på låga oktaver. Arduinoen "ULT" variabel sätts till octave 5 som fungerar på min setup. Om detta inte fungerar på din setup (osannolik) kan du ändra Arduino "ULT" variabel eller transformering oktav via VSTHost menyn "PlugIn" > undermenyn "omvandling" > "kanal" inställd på "1" > Ange 'genomförande' till "+ 1 oktav" (se andra bilden).