Мазмуну:

Arduino MIDI Chiptune синтезатору: 7 кадам (сүрөттөр менен)
Arduino MIDI Chiptune синтезатору: 7 кадам (сүрөттөр менен)

Video: Arduino MIDI Chiptune синтезатору: 7 кадам (сүрөттөр менен)

Video: Arduino MIDI Chiptune синтезатору: 7 кадам (сүрөттөр менен)
Video: Dual AY-3-8910 MIDI synthesizer with detune modes 2024, Ноябрь
Anonim
Arduino MIDI Chiptune синтезатору
Arduino MIDI Chiptune синтезатору

Компьютердик оюндун алгачкы музыкасын 8-биттик чиптун синтезатору менен кубантыңыз, аны MIDIди заманбап DAW программасынан ыңгайлуу түрдө башкара аласыз.

Бул жөнөкөй схема 1980-жылдардагы үндү кайра жаратуу үчүн AY-3-8910 программалоочу үн генераторунун чипин (же анын көптөгөн клондорунун бирин) айдоо үчүн Arduino колдонот. Музыканы түзөтүү үчүн атайын программалык камсыздоого муктаж болгон көптөгөн долбоорлордон айырмаланып, бул стандарттуу USB MIDI түзмөгүнө окшош. Синтезатордун эң музыкалык актуалдуу ноталарды ойнотууга аракет кылган акылдуу алгоритми бар; көп учурларда сиз MIDI файлдарын түз эле ыргыта аласыз жана обон түз чыгат. Жалпы наркы болжол менен 20 фунт стерлинг болушу керек.

1 -кадам: Сизге керектүү нерселер

Сизге керектүү нерселер
Сизге керектүү нерселер
Сизге керектүү нерселер
Сизге керектүү нерселер
Сизге керектүү нерселер
Сизге керектүү нерселер

Мунун толук бөлүктөрүнүн тизмеси, сүрөттөрдө көрүнүп тургандай, төмөнкүчө:

  • Sparkfun Pro Micro клону (5V, 16MHz опциясы). Мен муну Амазонкада колдондум.
  • Yamaha YM2149F PSG чипи. Мен өзүмдүкүн eBayден алдым.
  • 2 x 100nF керамикалык конденсаторлор
  • 1 75R, 1K жана 100K каршылыгынын ар бири (1/4 ватт рейтинги жакшы).
  • 4.7nF керамикалык диск конденсатор
  • 1uF электролитикалык конденсатор (чыңалуу рейтинги> 5V).
  • 40 пин 0.6 "DIP IC розеткасы
  • 2 x 12 жол 0.1 "аталыштар (бул CPCден)
  • Прототип тактасы, болжол менен 3 "менен 2". Мен булардын жапырт пакетин кайра Amazonдон сатып алдым.
  • PCB монтаждоочу фонондук розетка
  • Миниатюрдук катуу зым (бул сыяктуу).

Сизге ошондой эле ширетүүчү темир, ширетүүчү, зым кескичтер, кычкачтар жана зым ачкыч керек болот.

2 -кадам: Альтернативалуу бөлүктөр

Альтернативдүү бөлүктөр
Альтернативдүү бөлүктөр
Альтернативдүү бөлүктөр
Альтернативдүү бөлүктөр
Альтернативдүү бөлүктөр
Альтернативдүү бөлүктөр

Альтернативалуу программалоочу үн генераторунун чиптери

Мен колдонгон YM2149 бул AY-3-8910 IC жалпы инструменттеринин клону. (Биринчи прототип EBayден сатып алган AY-3-8910 колдонгон, бирок ак ызы-чуу генератору иштебей калды. Кайгылуу жүз). Сиз бул долбоор үчүн эч өзгөртүүсүз колдоно аласыз.

General Instruments ошондой эле кичинекей пакеттердин ичиндеги кремний болгон AY-3-8912 жана AY-3-8913 варианттарын жасады, кээ бир кошумча I/O казыктары жок. Бул казыктар эч кандай аудио максаттар үчүн керек эмес жана бул долбоор аларды колдонбойт. Сиз AY-3-8912 же -8913 колдоно аласыз, жөн гана жогоруда көрсөтүлгөн пинуттарды ээрчиңиз.

Альтернативалуу Arduinos

Мен колдонгон "Pro Micro" Sparkfunдун Pro Micro тактасынын көчүрмөсү. Эгерде сиз Arduino кодуна ишенбесеңиз, муну кармануу жакшы; Эгерде сиз дизайнды ыңгайлаштырууга кубанычта болсоңуз, анда сизге төмөнкү өзгөчөлүктөр керек болот

  • ATmega 16u4 же 32u4 түзмөгү (USB MIDI түзмөгү катары иштөө үчүн керек; ATmega 168 же 328 муну кыла албайт).
  • 5V иштөө (AY-3-8910 5Vде иштейт), жана 16МГц саат ылдамдыгы.
  • Кеминде 13 санариптик I/O линиясы.

    PB5 порту туташтырылышы керек (ал 1 МГц саат сигналын жаратуу үчүн колдонулат). Pro Microдо бул D9 I/O пини катары колдонулат

Arduino Leonardo жана Micro такталары экөө тең эсепке туура келет, бирок мен аларды сынап көргөн эмесмин.

Башка компоненттер

Бул жерде колдонулган резисторлор жана конденсаторлор өзгөчө өзгөчө эмес. Туура баалуулуктун бардык бөлүктөрү (болжол менен) иштеши керек.

3 -кадам: Райондук тактаны коюу

Райондук тактаны чыгаруу
Райондук тактаны чыгаруу

Районду куруу үчүн, розеткаларды жайгаштыруудан баштоо жакшы, андан кийин резисторлорду жана конденсаторлорду кошуңуз. Кийинки кадамда буларды зым менен жабууну камтыйбыз.

Көрсөтмө катары жогорудагы сүрөттү колдонуп, 40-пин IC розеткасын жайгаштырыңыз, тактаны оодарыңыз жана жөн эле бирин-бири карама-каршы эки бурчка сайыңыз. Эгерде розетка тактайга такыр жатпаса, тигил же бул төөнөгүчтү кайра сатуу аркылуу оңдоо оңой. Жакшы болгондо, калганын ээрчитип алыңыз.

Эки 12-пин розетканы кой, анан Arduino-ны салып, аларды ширетүү учурунда тигинен жана туруктуу кармап тур. Дагы, ар бир учунда эки казыкты ширетүү, акыркы ширетүүдөн мурун текшерүүгө мүмкүндүк берет.

Аудио чыгуучу розетка үчүн мен ПХБ тешиктерин чоңойтуу үчүн кичинекей бургулоону колдондум, анткени монтаждоо тэгдери чоңураак.

4 -кадам: Зымдарды туташтыруу

Wiring Up
Wiring Up
Wiring Up
Wiring Up

Негизги компоненттер жайгаштырылгандан кийин, алар жогорудагы схемага ылайык, тактанын арткы жагына туташтырылышы мүмкүн.

Аудио чыгаруу компоненттери (R2, R3, C2, C3) жана ажыратуучу конденсаторлор (C1, C4) катуу өзөктүү зым менен туташтырылышы мүмкүн (же компоненттерди алып салуу). Ардуинодон PSG чипине чейин жер менен электр байланыштары (сүрөттө кызыл жана кара зымдар) азыр жасалышы мүмкүн.

Pro Microдун ар кандай жыйынтыктары AY-3-8910го чейин төмөнкүдөй зымдалат (пин дайындоо үчүн туташуу көрсөтмөсүн караңыз):

Сигнал Arduino AY-3-8910 пин

DA0 D2 37 DA1 D3 36 DA2 D4 35 DA3 D5 34 DA4 D6 33 DA5 D7 32 DA6 D8 31 DA7 A0/D18 30 BC1 D10 29 BC2 MOSI/D16 28 BDIR MISO/D14 27 RESET# SCLK/D15 23 CLOCK D9 22 (аркылуу R1, 75 Ом)

5 -кадам: Arduino IDE менен программалоо

Arduino IDE менен программалоо
Arduino IDE менен программалоо

Эгерде сиз Arduinoдо жаңы болсоңуз, мен негиздер боюнча көптөгөн окуу куралдарынын бирин колдонууну сунуштайм. Sparkfun'дун туташуу көрсөтмөсү толук маалымат берет. Сиз "Blinkies" окуу куралын ээрчүү менен негизги программалоонун иштеп жатканын текшере аласыз. Arduinos "жүктөгүч" режимине көндүрүү үчүн бир аз татаал болушу мүмкүн (бул жерде сиз жаңы эскиздерди жүктөй аласыз), андыктан жөнөкөй мисал менен бир аз машыгуу пайдалуу.

Бактылуу болгондон кийин, бул баракка тиркелген chiptunes.ino файлын жүктөп алып, аны куруп жүктөңүз. (Мен Sparkfun тактасынын колдоосун орнотууну өткөрүп жибергиңиз келсе, "Эскиз үчүн" Arduino/Genuino Micro "тактасынын түрүн колдонуу туура экенин таптым).

Ошондой эле, эгер сиз Macта болсоңуз, анда эскизди биринчи жолу жүктөгөндөн кийин, "Порт" жөндөөсүн өзгөртүү керек болот. "Бош" Arduino менен (же Blinky эскизин колдонуп), ал жогорудагы сүрөттө көрсөтүлгөндөй /dev/cu.usbmodemXXXX сыяктуу көрүнөт. USB MIDI түзмөгү активдүү болгондо (chiptunes.ino эскизинде колдонулат) ал /dev/cu.usbmodemMID1 болот.

6 -кадам: Сыноо жана Synth колдонуу

Сыноо жана синтезди колдонуу
Сыноо жана синтезди колдонуу
Сыноо жана синтезди колдонуу
Сыноо жана синтезди колдонуу
Сыноо жана синтезди колдонуу
Сыноо жана синтезди колдонуу

Arduino программалангандан кийин, сиздин жумушчу бекетиңиз автоматтык түрдө аны USB MIDI түзмөгү катары таанышы керек. Ал "Arduino Micro" деген ат менен пайда болот - сиз муну Windowsтун Түзмөк менеджеринен, же Mac OS'теги "Системалык маалымат" колдонмосунан көрө алышыңыз керек.

Macта, сиз негизги тестти иштетүү үчүн Audio MIDI Setup колдонмосун колдоно аласыз. Колдонмону баштаңыз, андан кийин Терезе -> MIDI Студиясын көрсөтүүнү тандаңыз. Бул MIDI Studio терезесин алып келет - сиздин бардык MIDI интерфейстериңиз бир аз туш келди тартипте пайда болот - бул "Arduino Micro" түзмөгүн камтыйт деп үмүттөнөбүз. Эгерде сиз куралдар тилкесиндеги 'Test Setup' сөлөкөтүн чыкылдатып, андан кийин Arduino Micro түзмөгүндөгү ылдый жебени (сүрөттү караңыз) чыкылдатыңыз, колдонмо MIDI ноталарын синтезге жөнөтөт. (Булар өзгөчө ылайыктуу эмес!) Synth бул учурда кээ бир туш келди үндөрдү чыгарышы керек.

Сиз андан кийин 'Arduino Micro'ду Digital Audio Workstation'иңиздин MIDI орнотуусуна чыгаруу түзмөгү катары кошуп, ойной баштай аласыз!

  • Synth MIDI каналдарында 1ден 4кө чейин жооп берет. Ар бир каналда башка үндөр бар (жакшы, башка көлөмдөгү конверт).
  • MIDI ноталары 24төн 96га чейин (C1-C7) кабыл алынат; бул диапазондон тышкаркы жазуулар эске алынбайт.
  • MIDI канал 10 барабандын үнүн ойнойт. Эскертүү сандары 35тен 50гө чейин (кара

    www.midi.org/specifications-old/item/gm-level-1-sound-set) кабыл алынат.

  • AY-3-8910до үч үн каналы бар. Synth камтылган программасы эң акыркы жөнөтүлгөн нотаны ойнотууга аракет кылат, ошол эле учурда эң жогорку жана эң төмөнкү жазуулар дагы эле ойноп турат. Башка ноталар (көбүнчө аккорддогу орто ноталар) керек болсо кесилет.

Жана бул жөнүндө. Көңүл ачуу!

7 -кадам: Шилтемелер

Демо обону жөнүндө

Демо обон - Моцарттын атактуу Queen of Night aria - Интернеттен тапкан MIDI файлынан (https://www.midiworld.com/mozart.htm) тез эле түзүлгөн. Бардык оор жумушту башка бирөө жасаган!

Мен Macто Presonus Studio One колдонуп жатам, жана MIDI файлы төрт башка трекке импорттолду. Коштоочу ноталар негизги обондон жогору болгон жерлерде жана ноталардын ортосундагы бир кыйла карама -каршылыктуу каталарды алып салуу үчүн бир аз түзөтүү керек болчу.

Клипте уккан аудио түз эле синтезден, эквакуу жана каныктыруу менен бир аз "аркада машинасынын" төмөн фи сезимин берет.

Сунушталууда: