Съдържание:
- Стъпка 1: Списък на частите
- Стъпка 2: Строителство
- Стъпка 3: Софтуер
- Стъпка 4: Връзки
- Стъпка 5: Използване на дъската Sparkfun с библиотеките на Adafruit
Видео: Micro Midi синтезатор: 5 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:54
Тази инструкция демонстрира използването на VLSI VS1053b аудио и Midi DSP чип в режима Midi в реално време. В този режим той действа като 64 гласов полифоничен GM (General Midi) Midi синтезатор. Самостоятелен микро Arduino Uno управлява OLED дисплей, три бутона (Избор на функция и нагоре или надолу и предава потока от данни Midi до аудио DSP. Избраната музикална дъска беше пробивната платка за кодек Adafruit VS1053, но дъска за пробив на музика Sparkfun също беше успешно тестван. Библиотеките на Adafruit VS1053b бяха използвани вместо много по -голямата библиотека SFEMP3 (препоръчана от Sparkfun, въпреки че те също имат свой собствен набор от библиотеки), защото намерих кода на Adafruit за по -разбираем.
По -голямата част от кода, използван за управление на аудио/midi DSP, е разработен с помощта на Arduino Uno, свързан към дънната платка за аудио/midi чрез макет. След като се установи, че функциите работят задоволително, Uno беше използван като програмист за самостоятелен ATmega 328, който след това беше поставен на малък Veroboard с размери 30x20 заедно с 6-оптоизолационната IC 6N139, необходима на входния гнездо Midi (5-пинов DIN). Свързан беше и малък (64x48) OLED щит, три бутона, светодиод за активност на Midi и +5 -волтов конектор за захранване и добавен конектор за аудио стерео изход. Изискванията за захранване са много скромни - около 20 mA при 5 волта.
Стъпка 1: Списък на частите
ATmega328 Micro 28 пинов DIP + 28 пинов DIP гнездо 6N138 или 6N139 оптоизолатор + 4 пинов DIP гнездо Wemos 64x48 I2C OLED дисплей или подобен Adafruit VS1053b Кодек пробивна платка 3 миниатюрни бутони 5 пинов DIN Midi гнездо за печатна платка за предпочитане Малък светодиод всякакъв цвят. гнездо за свързване към усилвател или слушалки Резистори: 7 x 10k, 2 x 470 ома, 2 x 220 ома Кондензатори: 0.1uF 50v пластмаса, 10uf 25v електролитен, 2 x 27 pF керамика Малки парчета Veroboard (30 ленти по 20 колони и 4 ленти от 16 колони), пластмасов корпус от ABS около 85x55x25 мм, окабеляване и няколко винта гайки и шайби.
Стъпка 2: Строителство
Капакът на кутията съдържа OLED дисплея, трите бутона, които са монтирани на друго малко парче Veroboard, и конектора за захранване на цевта. Основната платка Vero има два отвора за фиксиране на музикалната платка над ATmega328. За подробности за свързването, моля, вижте диаграмата на Fritzing strip board.
Програмираният ATmega328 (моля, вижте следващия раздел за кода) след това се вмъква в гнездото му, последвано от 6N139 и всичко е свързано.
Светодиодът се използва като индикатор за активност на Midi и е монтиран от предната страна на корпуса. Той е свързан към D2 изхода на ATmega328 чрез резистор от 470 ома.
OLED дисплеят използва 3.3 -волтовия изход от платката Adafruit за захранване - изисква по -малко от 20 mA.
Опитайте да смените двете връзки на Midi Din, ако не чувате звук при първото използване на синтезатора.
Стъпка 3: Софтуер
Подробности за скицата, която трябва да бъде качена в ATmega328, са дадени в MidA.ino. Налични са седем функции:
Вариант P: Промяна на програмата - променете инструмента GM Midi от 1 на 128 (използвах 0 до 127), като например пиано или синтезатор. Вариант V: Регулирайте силата на звука от 1 до 10. Опция C: Променете Midi канала, на който Synth ще отговори. Изборът е канал 0, канал 1, канал 9 (перкусия), канал 0 и 9 и канал 1 и 9. Опция R: Включване или изключване на ефекта на реверберация. или Прочетете (надолу) обратно от паметта на Eeprom. Това е така, защото иначе настройките не се запазват при изключване. Опция X: Изпратете съобщение за изключване на всички бележки (Midi Reset).
Осма опция все още не е внедрена - това ще заобиколи ATmega като Midi филтър и ще свърже изхода на оптоизолатора директно към Rx щифта на DSP платката.
Обърнете внимание, че VS1053b се зарежда в режим Midi в реално време чрез зареждане на компресиран пластир от 1039 байта по време на зареждане - това също увеличава размера на Midi буфера и филтрира изключителните байтове за данни Midi на системата. Подробности за този пластир можете да намерите на уебсайта на VLSI.
Малко модифицирана версия на библиотеката Adafruit Graphics беше използвана за обслужване на разделителната способност на 64x48 пиксела на OLED дисплея - моля, вижте връзките, дадени в края на г -н Mcauser. Списък на необходимите библиотеки е даден в кода на скицата.
Важно е, че когато скицата се изпълнява за първи път на ATmega328, независимо дали е на Uno или самостоятелна, кодът ще зареди предварително зададени параметри от ATmega328 Eeprom, които може да не са валидни. В този случай можете или да запишете всички нули в Eeprom, като използвате опцията X с бутона надолу, или да коментирате реда във функцията за настройка на празнотата, която зарежда стойности от Eeprom при първото стартиране, да настроите инструментите си и т.н. харесване и след това запазете вашите предварително зададени настройки с бутона S опция нагоре.
Кредит се дава на всички лица и образувания, споменати за техния код и библиотеки.
Стъпка 4: Връзки
VLSI:
Adafruit:
Github VS1053b:
Графика на Github:
Oled:
Sparkfun:
Стъпка 5: Използване на дъската Sparkfun с библиотеките на Adafruit
Таблицата на снимката обяснява как да свържете Adafruit или Sparkfun Music Boards, за да използвате друга библиотека.
Препоръчано:
Синтезатор за вода с MakeyMakey и надраскване: 6 стъпки (със снимки)
Синтезатор за вода с MakeyMakey и Scratch: Използването на MakeyMakey за трансформиране на различни материали в ключове или бутони и по този начин задействане на движения или звуци на компютъра е завладяваща работа. Човек научава кой материал провежда слабия токов импулс и може да измисли и експериментира с
Страхотен аналогов синтезатор/орган, използващ само дискретни компоненти: 10 стъпки (със снимки)
Страхотен аналогов синтезатор/орган, използващ само дискретни компоненти: Аналоговите синтезатори са много готини, но и доста трудни за изработка. Исках да направя един толкова прост, колкото може, така че функционирането му може да бъде лесно разбираемо. За да работи, вие трябват няколко основни подсхеми: Прост осцилатор с резистор
Захранване на модулен синтезатор: 10 стъпки (със снимки)
Захранване на модулен синтезатор: Ако изграждате модулен синтезатор, едно нещо, което определено ще ви трябва, е захранване. Повечето модулни синтезатори изискват двойна релсова система (0V, +12V и -12V са типични), а също така може да бъде удобно да имате и 5V релса, ако сте планирани
Arduino MIDI Chiptune синтезатор: 7 стъпки (със снимки)
Arduino MIDI Chiptune Synthesizer: Преживейте забавлението на ранната музика на компютърни игри с автентичен 8-битов синтезатор на чиптън, който можете да контролирате MIDI от комфорта на всеки съвременен софтуер DAW. Тази проста схема използва Arduino за управление на AY-3- 8910 програмируеми звукови генератори
MIDI 5V LED лентов контролер за Spielatron или друг MIDI синтезатор: 7 стъпки (със снимки)
MIDI 5V LED Strip Light Controller за Spielatron или друг MIDI синтезатор: Този контролер мига трицветни LED ленти за 50mS на бележка.Синьо за G5 до D#6, червено за E6 до B6 и зелено за C7 до G7. Контролерът е ALSA MIDI устройство, така че MIDI софтуерът може да извежда към светодиодите едновременно с MIDI синтезатор