Satura rādītājs:

Mikro Midi sintezators: 5 soļi (ar attēliem)
Mikro Midi sintezators: 5 soļi (ar attēliem)

Video: Mikro Midi sintezators: 5 soļi (ar attēliem)

Video: Mikro Midi sintezators: 5 soļi (ar attēliem)
Video: New Impressive MIDI Controller!! 2024, Novembris
Anonim
Micro Midi sintezators
Micro Midi sintezators
Micro Midi sintezators
Micro Midi sintezators
Micro Midi sintezators
Micro Midi sintezators

Šī pamācība parāda VLSI VS1053b audio un Midi DSP mikroshēmas izmantošanu reālā laika Midi režīmā. Šajā režīmā tas darbojas kā 64 balss polifonisks GM (General Midi) Midi sintezators. Atsevišķs Arduino Uno mikro kontrolē OLED displeju, trīs pogas (funkciju atlase un augšup vai lejup, un pārraida Midi datu plūsmu uz audio DSP. Izvēlētais mūzikas panelis bija Adafruit VS1053 kodeku sadalīšanas panelis, bet Sparkfun mūzikas sadalīšanas panelis tika arī veiksmīgi pārbaudīts. Daudz lielākās SFEMP3 bibliotēkas vietā tika izmantotas Adafruit VS1053b bibliotēkas (iesaka Sparkfun, lai gan tām ir arī savs bibliotēku komplekts), jo man bija vieglāk saprast Adafruit kodu.

Lielākā daļa audio/midi DSP vadīšanai izmantotā koda tika izstrādāta, izmantojot Arduino Uno, kas savienots ar audio/midi sadalīšanas paneli, izmantojot maizes dēli. Pēc tam, kad tika konstatēts, ka funkcijas darbojas apmierinoši, Uno tika izmantots kā programmētājs atsevišķam ATmega 328, kas pēc tam tika uzlikts uz neliela 30x20 izmēra Veroboard kopā ar 6N139 optoizolatora IC, kas nepieciešama Midi ievades ligzdā (5 kontaktu DIN). Pievienots arī neliels (64x48) OLED vairogs, trīs pogas, Midi aktivitātes gaismas diode un +5 voltu cilindra savienotājs barošanai un audio stereo izejas savienotājs. Jaudas prasības ir ļoti pieticīgas - aptuveni 20 mA pie 5 voltiem.

1. darbība: detaļu saraksts

ATmega328 Micro 28 kontaktu DIP + 28 kontaktu DIP ligzda kontaktligzda, lai pievienotu pastiprinātāju vai austiņas Rezistori: 7 x 10k, 2 x 470 omi, 2 x 220 omi Kondensatori: 0,1uF 50v plastmasa, 10uf 25v elektrolītiska, 2 x 27 pF keramika Mazi Veroboard gabali (30 sloksnes pa 20 kolonnām un 4 sloksnes) ar 16 kolonnām), ABS plastmasas korpuss aptuveni 85x55x25mm, vadi un dažas skrūves uzgriežņi un paplāksnes.

2. solis: būvniecība

Būvniecība
Būvniecība
Būvniecība
Būvniecība
Būvniecība
Būvniecība

Korpusa vākā ir OLED displejs, trīs pogas, kas ir uzstādītas uz cita neliela Veroboard gabala, un mucas barošanas savienotājs. Galvenajai Vero shēmas platei ir divi caurumi, lai nostiprinātu mūzikas sadalīšanas paneli virs ATmega328. Sīkāku informāciju par savienojumu skatiet Fritzing sloksnes plāksnes diagrammā.

Pēc tam ieprogrammētais ATmega328 (lūdzu, skatiet nākamo koda sadaļu) tā ligzdā, kam seko 6N139, un viss ir savienots.

LED tiek izmantots kā Midi aktivitātes indikators, un tas tika uzstādīts korpusa priekšpusē. Tas ir savienots ar ATmega328 D2 izeju, izmantojot 470 omu rezistoru.

Jaudai OLED displejs izmanto 3,3 voltu izeju no Adafruit plates - tam nepieciešams mazāk par 20 mA.

Mēģiniet nomainīt divus Midi Din savienojumus, ja, pirmoreiz lietojot sintezatoru, nedzirdat audio.

3. darbība: programmatūra

Sīkāka informācija par skici, kas jāaugšupielādē ATmega328, ir sniegta vietnē MidA.ino. Ir pieejamas septiņas funkcijas:

P iespēja: mainīt programmu - mainiet GM Midi instrumentu no 1 uz 128 (es izmantoju no 0 līdz 127), piemēram, klavieru vai sintezēšanas skaņu. B variants: mainiet instrumentu banku starp melodisko (0. banka) un perkusiju (1. banka). V iespēja: noregulējiet skaļumu no 1 līdz 10. C variants: mainiet Midi kanālu, uz kuru Synth reaģēs. Izvēle ir 0. kanāls, 1. kanāls, 9. kanāls (sitaminstrumenti), 0. un 9. kanāls un 1. un 9. kanāls. R iespēja: ieslēdziet vai izslēdziet reverb efektu. S variants: saglabājiet pašreizējos parametrus Eeprom atmiņā (augšup) vai nolasiet (uz leju) no Eeprom atmiņas. Tas ir tāpēc, ka, izslēdzot, iestatījumi citādi netiek saglabāti. X variants: nosūtiet visu piezīmju izslēgšanas ziņojumu (Midi Reset).

Astotā iespēja vēl nav ieviesta - tas apiet ATmega kā Midi filtru un savieno optoizolatora izeju tieši ar DSP plates Rx tapu.

Ņemiet vērā, ka VS1053b sāk darboties reāllaika Midi režīmā, ielādējot 1039 baitu saspiestu ielāpu - tas arī palielina Midi bufera lielumu un filtrē sistēmas ekskluzīvos Midi datu baitus. Sīkāku informāciju par šo plāksteri var atrast VLSI vietnē.

OLED displeja 64x48 pikseļu izšķirtspējai tika izmantota nedaudz modificēta Adafruit Graphics bibliotēkas versija - lūdzu, skatiet Mcauser kunga beigās norādītās saites. Skices kodā ir norādīts nepieciešamo bibliotēku saraksts.

Svarīgi, ja skice pirmo reizi tiek izpildīta ATmega328, neatkarīgi no tā, vai tā ir Uno vai atsevišķa ierīce, kods ielādēs parametru sākotnējos iestatījumus no ATmega328 Eeprom, kas var nebūt derīgi. Tādā gadījumā jūs varat vai nu ierakstīt visas nulles Eeprom, izmantojot opciju X ar pogu uz leju, vai arī komentēt rindu tukšuma iestatīšanas funkcijā, kas ielādē vērtības no Eeprom, kad tā pirmo reizi tiek palaista, pielāgot instrumentus utt. Patīk, un pēc tam saglabājiet sākotnējos iestatījumus, izmantojot pogu S opcija Uz augšu.

Kredīts tiek piešķirts visām personām un organizācijām, kas minētas par viņu kodu un bibliotēkām.

4. solis: saites

VLSI:

Adafruit:

Github VS1053b:

Github grafika:

Oled:

Sparkfun:

5. darbība. Sparkfun dēļa izmantošana kopā ar Adafruit bibliotēkām

Sparkfun dēļa izmantošana kopā ar Adafruit bibliotēkām
Sparkfun dēļa izmantošana kopā ar Adafruit bibliotēkām

Attēlā redzamajā tabulā ir paskaidrots, kā savienot Adafruit vai Sparkfun mūzikas plates, lai izmantotu citu bibliotēku.

Ieteicams: