Talaan ng mga Nilalaman:

Micro Midi Synthesizer: 5 Hakbang (na may Mga Larawan)
Micro Midi Synthesizer: 5 Hakbang (na may Mga Larawan)

Video: Micro Midi Synthesizer: 5 Hakbang (na may Mga Larawan)

Video: Micro Midi Synthesizer: 5 Hakbang (na may Mga Larawan)
Video: ATEM MasterClass v2 — FIVE HOURS of ATEM Goodness! 2024, Nobyembre
Anonim
Micro Midi Synthesizer
Micro Midi Synthesizer
Micro Midi Synthesizer
Micro Midi Synthesizer
Micro Midi Synthesizer
Micro Midi Synthesizer

Ang itinuturo na ito ay nagpapakita ng paggamit ng VLSI VS1053b Audio at Midi DSP chip sa real-time Midi mode nito. Sa mode na ito gumaganap ito bilang isang 64 boses polyphonic GM (General Midi) Midi synthesizer. Kinokontrol ng isang Arduino Uno standalone micro ang isang display na OLED, tatlong mga pindutan (Function Select at Up o Down, at ipinapasa ang Midi data stream papunta sa audio DSP. Ang napiling board ng musika ay ang Adafruit VS1053 codec breakout board, ngunit isang Sparkfun music breakout board matagumpay na nasubukan din. Ang mga aklatan ng Adafruit VS1053b ay ginamit sa halip na ang mas malaking SFEMP3 Library (inirekomenda ng Sparkfun kahit na mayroon din silang sariling hanay ng mga aklatan), sapagkat nakita ko na mas madaling maunawaan ang code ng Adafruit.

Karamihan sa code na ginamit upang makontrol ang audio / midi DSP ay binuo gamit ang isang Arduino Uno na konektado sa audio / midi breakout board sa pamamagitan ng isang breadboard. Matapos ang mga pag-andar ay natagpuan upang gumana kasiya-siya ang Uno ay ginamit bilang isang programmer para sa isang standalone ATmega 328 na pagkatapos ay inilagay sa isang maliit na 30x20 laki ng Veroboard kasama ang 6N139 opto-isolator IC na kinakailangan sa Midi input socket (isang 5 pin DIN). Nakakonekta din ay isang maliit na (64x48) OLED kalasag, tatlong mga pindutan, isang Midi aktibidad na LED, at isang konektor na +5 boltahe ng bariles para sa lakas at idinagdag ang audio stereo output konektor. Ang mga kinakailangan sa kuryente ay napakahinhin - tungkol sa 20 mA sa 5 volt.

Hakbang 1: Listahan ng Mga Bahagi

ATmega328 Micro 28 pin DIP + 28 pin DIP socket6N138 o 6N139 optoisolator + 4 pin DIP socketWemos 64x48 I2C OLED Display o katuladAdafruit VS1053b Codec breakout board3 pinaliit na pushbuttons5 pin DIN Midi socket PCB mount mas gustoMaliit na LED na anumang kulay na socket. socket upang kumonekta sa isang amplifier o headphonesResistors: 7 x 10k, 2 x 470 ohm, 2 x 220 ohmCapacitors: 0.1uF 50v plastic, 10uf 25v electrolytic, 2 x 27 pF ceramicMaliit na piraso ng Veroboard (30 strips ng 20 haligi, at 4 na piraso sa pamamagitan ng 16 na haligi), ABS plastic enclosure tungkol sa 85x55x25mm, mga kable at ilang mga turnilyo na nut at washer.

Hakbang 2: Konstruksiyon

Konstruksyon
Konstruksyon
Konstruksyon
Konstruksyon
Konstruksyon
Konstruksyon

Ang takip ng enclosure ay naglalaman ng OLED Display, ang tatlong mga pindutan na naka-mount sa isa pang maliit na piraso ng Veroboard, at ang konektor ng kuryente ng bariles. Ang pangunahing Vero circuit board ay may dalawang butas upang ayusin ang Music breakout board sa itaas ng ATmega328. Para sa mga detalye ng koneksyon mangyaring sumangguni sa Fritzing strip board diagram.

Ang naka-program na ATmega328 (mangyaring mag-refer sa susunod na seksyon para sa code) pagkatapos ay ipinasok sa socket nito na sinusundan ng 6N139 at ang lahat ay konektado.

Ang LED ay ginagamit bilang isang tagapagpahiwatig ng aktibidad ng Midi at na-mount sa harap na bahagi ng enclosure. Ito ay konektado sa output ng D2 ng ATmega328 sa pamamagitan ng 470 ohm resistor.

Ang OLED Display ay gumagamit ng 3.3 volt output mula sa Adafruit board para sa lakas - nangangailangan ito ng mas mababa sa 20 mA.

Subukang palitan ang dalawang koneksyon sa Midi Din kung hindi ka nakakarinig ng anumang audio noong una mong ginamit ang synth.

Hakbang 3: Software

Ang mga detalye ng sketch na dapat na mai-upload sa ATmega328 ay ibinibigay sa MidA.ino. Mayroong pitong mga pagpapaandar na magagamit:

Opsyon P: Change Program - baguhin ang GM Midi Instrument mula 1 hanggang 128 (Gumamit ako ng 0 hanggang 127) tulad ng tunog na Piano o Synth. Pagpipilian B: Baguhin ang Instrumentong bangko sa pagitan ng Melodic (Bank 0) at Percussion (Bank 1). Opsyon V: Ayusin ang dami mula 1 hanggang 10. Pagpipilian C: Baguhin ang Midi channel na tutugon sa Synth. Ang mga pagpipilian ay Channel 0, channel 1, channel 9 (percussion), channel 0 at 9, at channel 1 at 9. Opsyon R: I-on o i-off ang epekto ng Reverb. Opsyon S: I-save ang kasalukuyang mga parameter sa memorya ng Eeprom (Up) o Basahin (Pababa) ito pabalik mula sa memorya ng Eeprom. Ito ay dahil ang mga setting ay hindi nai-save kapag nagpapatakbo ng pababa. Pagpipilian X: Magpadala ng isang mensahe ng lahat ng tala off (Midi Reset).

Ang isang ikawalong pagpipilian ay hindi pa ipinatutupad - lalampasan nito ang ATmega bilang isang Midi filter at ikonekta ang output ng optoisolator nang direkta sa Rx pin ng DSP board.

Tandaan na ang mga bota ng VS1053b sa isang real-time na Midi mode sa pamamagitan ng paglo-load ng isang 1039 byte compressed patch sa panahon ng pag-boot - pinapataas din nito ang laki ng Midi buffer at mga filter na system na eksklusibong byte ng Midi. Ang mga detalye ng patch na ito ay matatagpuan sa website ng VLSI.

Ang isang bahagyang nabago na bersyon ng Adafruit Graphics library ay ginamit upang magsilbi para sa resolusyon ng 64x48 pixel ng OLED Display - mangyaring sumangguni sa mga link na ibinigay sa dulo para kay Mr Mcauser. Ang isang listahan ng mga kinakailangang aklatan ay ibinibigay sa sketch code.

Mahalaga kapag ang sketch ay naisakatuparan sa unang pagkakataon sa ATmega328 kung ito ay nasa isang Uno o standalone, ang code ay maglo-load ng mga presetang parameter mula sa ATmega328 Eeprom na maaaring hindi wasto. Sa kasong iyon maaari mong isulat ang lahat ng mga zero sa Eeprom gamit ang pagpipiliang X gamit ang down button, o i-comment ang linya sa void setup function na naglo-load ng mga halaga mula sa Eeprom kapag ito ay unang nagsimula, ayusin ang iyong mga instrumento atbp sa iyong nagugustuhan, at pagkatapos ay i-save ang iyong mga preset gamit ang S na pagpipilian na Up button.

Ang kredito ay ibinibigay sa lahat ng mga tao at entity na nabanggit para sa kanilang code at aklatan..

Hakbang 4: Mga Link

VLSI:

Adafruit:

Github VS1053b:

Github Graphics:

Oled:

Sparkfun:

Hakbang 5: Paggamit ng Sparkfun Board Sa Mga Adafruit Library

Paggamit ng Sparkfun Board Sa Mga Adafruit Library
Paggamit ng Sparkfun Board Sa Mga Adafruit Library

Ipinapaliwanag ng talahanayan sa larawan kung paano ikonekta ang alinman sa Adafruit o ang Sparkfun Music Boards upang magamit ang isa pang silid-aklatan.

Inirerekumendang: