Агуулгын хүснэгт:
- Алхам 1: Танд хэрэгтэй зүйлс
- Алхам 2: Альтернатив хэсгүүд
- Алхам 3: Хэлхээний самбарыг байрлуулах
- Алхам 4: Цахилгааны утас холбох
- Алхам 5: Arduino IDE ашиглан програмчлах
- Алхам 6: Синтезийг турших, ашиглах
- Алхам 7: Тэмдэглэл
Видео: Arduino MIDI Chiptune синтезатор: 7 алхам (зурагтай)
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:03
Орчин үеийн DAW програм хангамжийн тусламжтайгаар MIDI-ийг хянах боломжтой 8 битийн чиптүн синтезатор ашиглан компьютерийн тоглоомын анхны хөгжмийг хөгжилтэй өнгөрүүлээрэй.
Энэхүү энгийн хэлхээ нь Arduino ашиглан AY-3-8910 програмчлагдах дууны генераторын чипийг (эсвэл түүний олон клонуудын нэгийг) жолоодож 1980-аад оны дууг дахин бүтээдэг. Хөгжим засварлахад тусгай програм хангамж шаардлагатай олон загвараас ялгаатай нь энэ нь стандарт USB MIDI төхөөрөмж шиг харагдаж байна. Синтезатор нь ухаалаг алгоритмтай бөгөөд хөгжимд хамгийн их хамааралтай тэмдэглэлүүдийг тоглуулахыг хичээдэг; Ихэнх тохиолдолд та засварлаагүй MIDI файлуудыг шууд хаях боломжтой бөгөөд ая нь шууд гарч ирдэг. Нийт зардал нь ойролцоогоор 20 фунт стерлинг байх ёстой.
Алхам 1: Танд хэрэгтэй зүйлс
Бүрэлдэхүүн хэсгүүдийн бүрэн жагсаалт нь зураг дээр харагдаж байгаа шиг дараах байдалтай байна.
- Sparkfun Pro Micro клон (5V, 16MHz сонголт). Би үүнийг Амазон дээр ашигласан.
- Yamaha YM2149F PSG чип. Би eBay дээрээс өөрийн мөнгийг авсан.
- 2 x 100nF керамик конденсатор
- 75R, 1K ба 100K резистор тус бүр 1 ширхэг (1/4 ваттын хүчдэл сайн).
- 4.7nF керамик диск конденсатор
- 1uF электролитийн конденсатор (хүчдэлийн үзүүлэлт> 5V).
- 40 зүү 0.6 "DIP IC залгуур
- 2 x 12 талын 0.1 "толгой (энэ нь CPC -ээс авсан)
- Прототип хийх самбар, ойролцоогоор 3 "х 2". Би эдгээрийг бөөнөөр нь худалдаж авлаа.
- ПХБ -д холбох фоно сокет
- Бяцхан хатуу цөмт утас (үүн шиг).
Мөн танд гагнуурын төмөр, гагнуур, утас таслагч, бахө, утас хуулагч хэрэгтэй болно.
Алхам 2: Альтернатив хэсгүүд
Өөр програмчлагдах дууны генераторын чипс
Миний ашигласан YM2149 бол анхны General Instruments AY-3-8910 IC-ийн клон юм. (Эхний загвар нь eBay-с худалдаж авсан AY-3-8910 загварыг ашигласан боловч цагаан дуу чимээ үүсгэгч ажиллахгүй байгаа нь харагдсан. Уйтгартай царай). Та энэ төслийн аль нэгийг өөрчлөхгүйгээр ашиглаж болно.
General Instruments нь нэмэлт I/O зүүгүйгээр жижиг сав баглаа боодол доторх ижил цахиур байсан AY-3-8912 ба AY-3-8913 хувилбаруудыг хийсэн. Эдгээр тээглүүр нь аудио зорилгоор ашиглах шаардлагагүй бөгөөд энэ төсөл нь тэдгээрийг ашигладаггүй. Та AY-3-8912 эсвэл -8913 ашиглаж болно, зүгээр л дээр үзүүлсэн цэгүүдийг дагана уу.
Альтернатив ардуино
Миний ашигласан "Pro Micro" бол Sparkfun -ийн Pro Micro самбарын хуулбар юм. Хэрэв та Arduino кодод итгэлтэй биш байгаа бол үүнийг дагаж мөрдөх нь дээр. Хэрэв та дизайныг дасан зохицохдоо баяртай байгаа бол танд дараах үзүүлэлтүүд хэрэгтэй болно
- ATmega 16u4 эсвэл 32u4 төхөөрөмж (USB MIDI төхөөрөмжөөр ажиллах шаардлагатай; ATmega 168 эсвэл 328 үүнийг хийх боломжгүй).
- 5V-ийн ажиллагаа (AY-3-8910 нь 5V-т ажилладаг), 16MHz цагийн хурдтай.
-
Хамгийн багадаа 13 дижитал I/O шугам.
PB5 порт зүү холбогдсон байх ёстой (энэ нь 1MHz цагны дохио үүсгэхэд ашиглагддаг). Pro Micro дээр үүнийг D9 I/O зүү болгон ашигладаг
Ардуино Леонардо ба Микро хавтангууд хоёулаа төлбөр тооцоонд нийцсэн боловч би үүнийг туршиж үзээгүй.
Бусад бүрэлдэхүүн хэсгүүд
Энд ашиглагддаг резистор ба конденсатор нь онцгой зүйл биш юм. Зөв утгын (ойролцоогоор) аль ч хэсэг ажиллах ёстой.
Алхам 3: Хэлхээний самбарыг байрлуулах
Цахилгаан хэлхээг бий болгохын тулд залгууруудыг байрлуулахаас эхлээд резистор ба конденсаторыг нэмж оруулах нь дээр. Дараагийн алхамд бид эдгээр утаснуудыг холбож өгөх болно.
Дээрх зургийг гарын авлага болгон ашиглаж, 40 зүү бүхий IC залгуурыг байрлуулж, самбарыг эргүүлээд эхлээд эсрэг талын хоёр буланд зүүгээр гагнана. Хэрэв залгуур нь самбар дээр хэвтэхгүй байвал нэг эсвэл өөр зүүг дахин зарах замаар засахад хялбар болно. Зүгээр байхад үлдсэнийг нь гагнана.
12 зүү бүхий хоёр залгуурыг байрлуулж, гагнуурын явцад босоо, тогтвортой байлгахын тулд Arduino-ийг оруулна уу. Дахин хэлэхэд, төгсгөл бүрт хоёр тээглүүр гагнах нь эцсийн гагнуурын өмнө шалгах боломжийг олгоно.
Аудио гаралтын сокетийн хувьд би бэхэлгээний хаягууд нь том хэмжээтэй тул ПХБ -ийн нүхийг томруулах жижиг өрөм ашигласан.
Алхам 4: Цахилгааны утас холбох
Гол бүрэлдэхүүн хэсгүүдийг байрлуулсны дараа тэдгээрийг дээрх хэлхээний дагуу самбарын ар талд холбож болно.
Аудио гаралтын бүрдэл хэсгүүд (R2, R3, C2, C3) ба задлах конденсаторуудыг (C1, C4) хатуу цөмт утсаар (эсвэл бүрдэл хэсгүүдийн холболтыг таслах) холбох боломжтой. Arduino -аас 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 -д шинээр суралцаж байгаа бол үндсэн ойлголтын талаархи олон гарын авлагаас нэгийг туршиж үзэхийг зөвлөж байна. Sparkfun -ийн холбогдох гарын авлага нь бүрэн мэдээллийг өгдөг. Та "Blinkies" хичээлийг дагаж үндсэн програмчлал ажиллаж байгаа эсэхийг шалгаж болно. Arduinos нь 'bootloader' горимд (та шинэ ноорог ачаалах боломжтой) итгүүлэхэд жаахан төвөгтэй байдаг тул энгийн жишээ ашиглан бага зэрэг дасгал хийх нь ашигтай байдаг.
Та аз жаргалтай болсны дараа энэ хуудсанд хавсаргасан chiptunes.ino файлыг татаж аваад байршуулаарай. (Хэрэв та Sparkfun хавтангийн дэмжлэгийг алгасахыг хүсвэл "Arduino/Genuino Micro" хавтангийн төрлийг ашиглах нь энэ схемийн хувьд тохиромжтой гэдгийг би олж мэдсэн).
Түүнчлэн, хэрэв та Mac дээр ажиллаж байгаа бол ноорогоо анх удаа ачаалсны дараа "Порт" тохиргоог өөрчлөх шаардлагатай болно гэдгийг анхаарна уу. 'Хоосон' Arduino (эсвэл Blinky ноорог ашиглан) дээрх зурган дээр үзүүлсэн шиг /dev/cu.usbmodemXXXX шиг харагдах болно. USB MIDI төхөөрөмж идэвхжсэн үед (chiptunes.ino ноорогоор ашиглагддаг) энэ нь /dev/cu.usbmodemMID1 болно.
Алхам 6: Синтезийг турших, ашиглах
Arduino програмчлагдсаны дараа таны ажлын станц үүнийг USB MIDI төхөөрөмж гэж автоматаар таних ёстой. Энэ нь 'Arduino Micro' нэртэй гарч ирэх болно - та үүнийг Windows дээрх Төхөөрөмжийн Менежер эсвэл Mac OS дээрх "Системийн мэдээлэл" програм дээрээс харах боломжтой байх ёстой.
Mac дээр та Audio MIDI Setup програмыг ашиглан үндсэн тестийг ажиллуулж болно. Аппликешныг эхлүүлээд, дараа нь Цонх -> MIDI Studio харуулахыг сонгоно уу. Энэ нь MIDI Studio цонхыг авчрах болно - таны бүх MIDI интерфейс бага зэрэг санамсаргүй байдлаар гарч ирэх бөгөөд үүнд 'Arduino Micro' төхөөрөмж орно гэж найдаж байна. Хэрэв та toolbar дээрх 'Test Setup' дүрс дээр дараад Arduino Micro төхөөрөмж дээрх доош сумыг (зураг харна уу) дарвал програм MIDI тэмдэглэлийг synth руу илгээх болно. (Эдгээр нь тийм ч аятайхан биш юм!) Энэ үед синтез нь санамсаргүй дуу гаргах ёстой.
Та дараа нь 'Arduino Micro' -г дижитал аудио ажлын станцын 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 the Night aria - Интернэтээс олсон MIDI файлаас маш хурдан бүтээгдсэн (https://www.midiworld.com/mozart.htm). Бүх хүнд ажлыг өөр хүн хийсэн!
Би Mac дээр Presonus Studio One -ийг ашиглаж байгаа бөгөөд MIDI файлыг дөрвөн тусдаа зам руу импортолсон. Дуу хөгжмийн дагалдах тэмдэглэл нь үндсэн аялгуунаас өндөр байх ба тэмдэглэлийн хоорондох илүү дургүйцлийг арилгахын тулд бага хэмжээний засвар хийх шаардлагатай байв.
Клип дээр сонссон аудио нь синтезээс шууд гардаг бөгөөд EQ болон ханалт нь бага зэрэг мэдрэгддэг.
Зөвлөмж болгож буй:
MakeyMakey ба Scratch бүхий усны синтезатор: 6 алхам (зурагтай)
MakeyMakey ба Scratch бүхий усны синтезатор: MakeyMakey -ийг ашиглан янз бүрийн материалыг унтраалга эсвэл товчлуур болгон хувиргаж, улмаар компьютер дээрх хөдөлгөөн, дуу чимээг өдөөх нь гайхалтай үйл явдал юм. Нэг хүн гүйдлийн сул импульсийг ямар материал дамжуулдаг болохыг олж мэдээд би үүнийг зохион бүтээж туршиж үзэх боломжтой
Гайхалтай аналог синтезатор/Зөвхөн салангид бүрэлдэхүүн хэсгүүдийг ашигладаг эрхтэн: 10 алхам (зурагтай)
Гайхамшигтай аналог синтезатор/Зөвхөн салангид бүрэлдэхүүн хэсгүүдийг ашигладаг эрхтэн: Аналог синтезатор нь маш дажгүй боловч хийхэд маш хэцүү байдаг. Тиймээс би үүнийг аль болох энгийн болгохыг хүссэн тул түүний үйл ажиллагааг ойлгоход хялбар болно. хэд хэдэн үндсэн дэд хэлхээ хэрэгтэй: резистэй энгийн осциллятор
Keytar Hero (Wii гитар хянагчийг синтезатор болгон ашиглах): 7 алхам (зурагтай)
Keytar Hero (Wii гитар хянагчийг синтезатор болгон ашиглах): Гитар баатар тоглоомууд хэдэн арван жилийн өмнө маш их уурлаж байсан тул тоос шороо цуглуулах олон хуучин гитар хянагч байх ёстой. Тэд маш олон товчлуур, бариул, хөшүүрэгтэй тул яагаад дахин сайн ашиглаж болохгүй гэж? Гитарын удирдлага
Arduino синтезатор: 20 алхам (зурагтай)
Arduino синтезатор: Arduino нь Tone Library гэж нэрлэгддэг номын сангаар дамжуулан дуу гаргах чадвартай. Зарим утгыг аудио гаралт руу дуудах боломжтой интерфейс, програмыг бий болгосноор Arduino Synthesizer нь найдвартай хэрэгсэл юм
Micro Midi синтезатор: 5 алхам (зурагтай)
Micro Midi Synthesizer: Энэхүү зааварчилгаа нь VLSI VS1053b Audio болон Midi DSP чипийг бодит цагийн Midi горимд ашиглаж байгааг харуулж байна. Энэ горимд 64 дуут полифон GM (General Midi) Midi синтезаторын үүрэг гүйцэтгэдэг. Arduino Uno бие даасан микро нь OLED дэлгэцийг хянадаг