Мазмұны:

Micro Midi синтезаторы: 5 қадам (суреттермен)
Micro Midi синтезаторы: 5 қадам (суреттермен)

Бейне: Micro Midi синтезаторы: 5 қадам (суреттермен)

Бейне: Micro Midi синтезаторы: 5 қадам (суреттермен)
Бейне: 3 в 1: AKAI MPK Mini Play - Midi клавиатура, контроллер и синтезатор. 2024, Шілде
Anonim
Micro Midi синтезаторы
Micro Midi синтезаторы
Micro Midi синтезаторы
Micro Midi синтезаторы
Micro Midi синтезаторы
Micro Midi синтезаторы

Бұл нұсқаулық VLSI VS1053b Audio және Midi DSP чипін нақты уақыттағы Midi режимінде қолдануды көрсетеді. Бұл режимде ол 64 дауысты полифониялық GM (General Midi) Midi синтезаторы қызметін атқарады. Arduino Uno автономды микро OLED дисплейін, үш түймені басқарады (Функцияны таңдау және Жоғары немесе Төмен, және Midi деректер ағыны аудио DSP -ге өтеді. Таңдалған музыкалық тақта Adafruit VS1053 кодекінің ажырату тақтасы болды, бірақ Sparkfun музыкалық үзіліс тақтасы. Adafruit VS1053b кітапханалары әлдеқайда үлкен SFEMP3 кітапханасының орнына қолданылды (Sparkfun ұсынған, оларда жеке кітапханалар жиынтығы болса да), себебі мен Adafruit кодын түсінуге оңай деп таптым.

Аудио/midi DSP -ді басқару үшін қолданылатын кодтың көп бөлігі жұмыс тақтасы арқылы аудио/midi ажырату тақтасына қосылған Arduino Uno көмегімен жасалды. Функциялар қанағаттанарлықтай жұмыс істегеннен кейін, Uno автономды ATmega 328 бағдарламашысы ретінде қолданылды, ол Midi кіріс ұяшығына қажет 6N139 оптикалық изолятор IC-мен бірге 30x20 өлшемді шағын Veroboard тақтасына қойылды (5 істікшелі DIN). Сондай -ақ, шағын (64х48) OLED қалқаны, үш түйме, Midi белсенділік светодиоды және +5 вольтты баррель коннекторы және дыбыс стерео шығыс қосқышы қосылды. Қуат талаптары өте қарапайым - 5 вольтте шамамен 20 мА.

1 -қадам: бөлшектер тізімі

ATmega328 Micro 28 істікшелі DIP + 28 істікшелі DIP ұяшығы 6N138 немесе 6N139 опоизолятор + 4 істікшелі DIP ұяшығы Wemos 64x48 I2C OLED дисплейі немесе ұқсас Күшейткішке немесе құлаққапқа қосылатын розетка Резисторлар: 7 x 10k, 2 x 470 ом, 2 x 220 ом Конденсаторлар: 0,1uF 50v пластмасса, 10uf 25v электролиттік, 2 x 27 pF керамика Veroboard ұсақ бөлшектері (30 бағаннан 20 жолақ және 4 жолақ) 16 бағаннан), 85x55x25 мм ABS пластикалық корпусы, сымдар мен бірнеше бұрандалы гайкалар мен шайбалар.

2 -қадам: құрылыс

Құрылыс
Құрылыс
Құрылыс
Құрылыс
Құрылыс
Құрылыс

Корпустың қақпағында OLED дисплейі, Veroboard тақтасының басқа кішкене бөлігіне орнатылған үш түйме және оқпан қуат қосқышы орналасқан. Негізгі Vero схемасында ATmega328 үстіндегі музыкалық тақтаны бекіту үшін екі тесік бар. Қосылу туралы егжей -тегжейлі ақпарат алу үшін Fritzing Strip Board тақтасын қараңыз.

Бағдарламаланған ATmega328 (код үшін келесі тарауды қараңыз) розеткаға енгізіледі, содан кейін 6N139 қосылады және бәрі қосылады.

Жарық диоды Midi белсенділігінің индикаторы ретінде пайдаланылады және корпустың алдыңғы жағына орнатылады. Ол ATmega328 D2 шығысына 470 Ом резистор арқылы қосылған.

OLED дисплейі қуат үшін Adafruit тақтасынан 3,3 вольтты шығаруды пайдаланады - оған 20 мА -дан аз қажет.

Егер синхрондауды алғаш қолданғанда дыбыс естілмесе, екі Midi Din қосылымын ауыстырып көріңіз.

3 -қадам: Бағдарламалық қамтамасыз ету

ATmega328 -ге жүктелетін эскиз туралы мәліметтер MidA.ino сайтында берілген. Қол жетімді жеті функция бар:

Р нұсқасы: Бағдарламаны өзгерту - GM Midi Instrument -ді 1 -ден 128 -ге (мен 0 -ден 127 -ге дейін) фортепиано немесе Synth дыбысы сияқты өзгертемін. В нұсқасы: Melodic (Bank 0) мен Perkussion (Bank 1) арасындағы аспаптар банкін өзгерту. V нұсқа: Дыбыс деңгейін 1 -ден 10 -ға дейін реттеу C нұсқасы: Synth жауап беретін Midi арнасын өзгертіңіз. Таңдау: 0 арна, 1 арна, 9 арна (перкуссия), 0 және 9 арна, 1 және 9 арна. R опциясы: Реверб эффектісін қосу немесе өшіру. S нұсқасы: Ағымдағы параметрлерді Eeprom жадына сақтау (Жоғары) немесе оны Eeprom жадынан оқыңыз. Өшіру кезінде параметрлер басқаша түрде сақталмайды, себебі X нұсқасы: Барлық жазбаларды өшіру туралы хабарлама жіберу (Midi Reset).

Сегізінші нұсқа әлі енгізілмеген - бұл ATmega -ны Midi сүзгісі ретінде айналып өтіп, оптоизолятордың шығысын DSP тақтасының Rx істігіне тікелей қосады.

VS1053b жүктеу кезінде 1039 байтты қысылған түзетуді жүктеу арқылы нақты уақыттағы Midi режимінде жүктелетінін ескеріңіз - бұл Midi буферінің көлемін ұлғайтады және эксклюзивті Midi деректер байттарын сүзеді. Бұл патч туралы толық ақпаратты VLSI веб -сайтынан табуға болады.

Adafruit Graphics кітапханасының сәл өзгертілген нұсқасы OLED дисплейінің 64х48 пиксель ажыратымдылығын қамтамасыз ету үшін пайдаланылды - соңында Макаузер мырзаға арналған сілтемелерді қараңыз. Қажетті кітапханалардың тізімі эскиз -кодта берілген.

Маңыздысы эскиз ATmega328 -де Uno немесе автономды түрде бірінші рет орындалғанда, код ATmega328 Eeprom -дан жарамсыз болуы мүмкін параметрлерді алдын ала жүктейді. Бұл жағдайда сіз төмендегі түймемен X опциясын қолдана отырып, барлық нөлдерді Eeprom -ға жаза аласыз немесе Eeprom -дан мәндер жүктелетін бос орындар функциясының жолына түсініктеме бере аласыз, құралдарды және т.б. ұнатады, содан кейін S параметрі Жоғары түймешігімен алдын ала орнатылған параметрлерді сақтаңыз.

Несие коды мен кітапханасы үшін аталған барлық адамдар мен ұйымдарға беріледі.

4 -қадам: Сілтемелер

VLSI:

Адафрут:

Github VS1053b:

Github графикасы:

Олед:

Sparkfun:

5 -қадам: Sparkfun тақтасын адафрут кітапханаларымен бірге пайдалану

Adafruit кітапханаларымен Sparkfun тақтасын пайдалану
Adafruit кітапханаларымен Sparkfun тақтасын пайдалану

Суреттегі кесте басқа кітапхананы пайдалану үшін Adafruit немесе Sparkfun музыкалық тақталарын қалай қосуға болатынын түсіндіреді.

Ұсынылған: