Mundarija:

Arduino ko'p yo'lli MIDI Loop Station: 6 qadam
Arduino ko'p yo'lli MIDI Loop Station: 6 qadam

Video: Arduino ko'p yo'lli MIDI Loop Station: 6 qadam

Video: Arduino ko'p yo'lli MIDI Loop Station: 6 qadam
Video: Pro Micro ATMEGA32U4 Arduino Pins and 5V, 3.3V Explained 2024, Dekabr
Anonim
Arduino ko'p yo'lli MIDI Loop Station
Arduino ko'p yo'lli MIDI Loop Station
Arduino ko'p yo'lli MIDI Loop Station
Arduino ko'p yo'lli MIDI Loop Station
Arduino ko'p yo'lli MIDI Loop Station
Arduino ko'p yo'lli MIDI Loop Station

Loop stantsiyasi yoki ilmoq-bu sizning asbobli rifflaringizni (looplarni) real vaqtda ijro etish vositasi. Bu ovoz yozish vositasi sifatida mo'ljallanmagan, lekin chalg'itmasdan ilhomni shakllantirish vositasi (va oxir -oqibat jonli ijro).

Alohida jihozlar (deyarli har bir gitara pedali ishlab chiqaruvchisi o'z mahsulotiga ega) yoki kompyuter uchun dasturiy ta'minot (eng yaxshi Linux Sooper Looper yoki Windows Mobius, eng mashhurlarini keltirish mumkin) ko'rinishida ko'plab ovoz yozish stantsiyalari mavjud. Men faqat DIY bo'lmagan audio-MIDI loyihalari haqida bir nechta loyihalarni topa oldim, bu MIDI voqealarini yozib olish va ularni bir zumda qaytarish vositasi; bu loyihalarning aksariyati (hammasini aytishim kerak) tashlab ketilgan yoki yo'qolgan … xo'sh, biz hamma uchun to'liq loyihani tayyorladik!

Bu Arduino MIDI pastadir faqat kelgan MIDI voqealarini kuzatib boradi va ularni o'ynatadi. Siz faqat rekord pedalini bosishingiz, o'zingizning eng yaxshi riffingizni yaratishingiz va pedalni qayta bosib yozishni to'xtatishingiz kerak. Juda oson:)

Bu loyiha oson topiladigan ochiq uskunalarga (Arduino DUE), dasturiy ta'minotga (mening shaxsiy dasturiy ta'minotim va Arduino IDE) asoslangan va sizning xohishingizni aks ettirish uchun sozlanishi mumkin.

Qani buni bajaraylik!

PS: Ha, bu juda arzon!

1 -qadam: cheklovlar

Loyiha uchun apparat qismlarini sotib olishni boshlashdan oldin, men sizga aytamanki, siz bu erga borishga yoki shu erda to'xtashga qaror qilishingiz mumkin.

- apparat cheklovlari tufayli (Aduino DUE xotirasi asosan), siz yozishingiz mumkin bo'lgan iboraning maksimal maksimal uzunligi 46 soniya bilan cheklangan.

- ko'chadan saqlanmaydi va yopilgandan keyin o'ynalmaydi. Siz ularni kompyuterga yuborishingiz va saqlashingiz mumkin.

- yozuvlarni kvantlashtirish yo'q.

- MIDI soati qo'llab -quvvatlanadi, lekin hozircha dastlabki bosqichda.

- yozilgan MIDI xabarlari qayd qilinadi, o'chiriladi, boshqaruv o'zgarishi va balandligi o'zgaradi; boshqa MIDI xabarlari, masalan, teginish, dasturni o'zgartirish, SysEx va boshqalar e'tiborga olinmaydi.

- maksimal polifoniya sukut bo'yicha 10 ga o'rnatiladi (yana Aduino DUE xotira chegaralari).

Yaxshi tomoni shundaki, MIDI turli xil asboblardan uzatiladi, ularning har biri o'z kanalida uzatiladi; bu shuni anglatadiki, siz bir vaqtning o'zida bir nechta MIDI asboblarini qatlamli yoki o'z treklari bilan yozib olishingiz mumkin (keyingi bosqichda ko'proq professionallar;)).

Agar bu cheklovlar bilan yashash oqilona bo'lib tuyulsa (va bu men uchun), siz bu narsa bilan juda yaxshi vaqt o'tkazasiz;)

2 -qadam: Bu qanday ishlaydi

Bu erda MIDI pastadirli stantsiyani ishlatish juda oddiy. U har bir gitara pedali ishlab chiqaruvchisining o'z katalogida mavjud bo'lgan audio uzatish stantsiyalariga o'xshash ishlaydi.

1) MIDI ketma -ketligini yozmoqchi bo'lgan trekni tanlang. Odatiy bo'lib "bitta" trek tanlanadi, lekin siz uni trek tugmalaridan birini bosish orqali o'zgartirishingiz mumkin (har bir trek uchun bittadan).

2) "REC" tugmachasini/oyoq pedalini birinchi marta bosganingizda, ilmoq ishga tushadi. Yashil LED yonadi. Haqiqiy ketma -ketlikni/riffni yozishni boshlashdan oldin, sizning birinchi eslatmangiz kelguncha kutib turadi.

3) Siz ketma -ketlikni tugatganingizda, riffning haqiqiy uzunligini aniqlash uchun "REC" tugmachasini/oyoq pedalini yana bosing. Yashil LED chiroq o'chadi. Loop darhol MIDI ketma -ketligini takrorlashni boshlaydi. Agar siz maksimal vaqtga etib borsangiz, yozib olish avtomatik ravishda to'xtaydi va ketma -ketlik ko'chadan takrorlana boshlaydi.

4) Endi siz "REC" tugmachasini/oyoq pedalini bosib, joriy trekdagi ketma -ketlikni ko'paytirishga yoki yangi trekni tanlashga va unga yozib olishga qaror qilishingiz mumkin. Ikkala holatda ham, agar yangi trek bo'sh bo'lsa ham, sariq LED yonadi, chunki bu "qul" trek (yozilgan birinchi trekka qulflangan). Overdubbingni to'xtatish uchun yana bosing (sariq LED o'chadi).

Ovoz uzatish stantsiyalari bilan o'zingizni qulay his qila oladiganlar uchun, MIDI -ning bu rivojlanishi "REC/PLAY/OVERDUB" deb nomlanadi va yagona qo'llab -quvvatlanadi.

Agar siz xohlagan vaqtda sizning oxirgi haddan tashqari yuklashingiz yaxshi emas deb hisoblasangiz, uni "bekor qilish" tugmachasini/oyoq pedalini bosib o'chirib tashlashingiz mumkin. "REC" pedalini 3 soniyadan ko'proq bosib ushlab turish orqali siz butun joriy trekni tozalashingiz mumkin; dastlabki uchta trek tugmachasini bir vaqtning o'zida bosish yoki ishlatilgan treklarni tozalash orqali ilmoqchini (dasturiy ta'minotni asl holatiga qaytarish) tiklashingiz mumkin.

Joriy trekning trek tugmachasini bosib, trekni ovozini o'chirish/o'chirish mumkin.

Siz Panikani yuborishingiz mumkin! vahima tugmachasini bosib xabar yuborish. Siz hatto panikani yuborishingiz mumkin! birinchi ikkita trek tugmachasini bir vaqtning o'zida bosib xabar.

Looper oddiy metronomga ega: MIDI xabaridagi "64" raqami uchun eslatma 10 -kanalning 100 BPM tezligida yuboriladi (siz ehtimol baraban mashinangiz eshitayotgan kanal). Optik enkoderni burish orqali tezlikni oshirish yoki kamaytirish mumkin; optik kodlovchi tugmachasini bosib, siz metronomni yoqishingiz/o'chirishingiz mumkin. E'tibor bering, "64" MIDI notasini olganda, baraban mashinasi ovozni (tuzoq, bass yoki xohlagan ovoz) ijro etadigan qilib sozlanishi kerak, aks holda metronom ovozsiz bo'ladi.

MIDI loopstation -ning yalang'och versiyasi yozishni boshlash va to'xtatish uchun bitta oyoqli kalit bilan tuzilishi mumkin edi. Kalitni 3 sekunddan ortiq bosib tursangiz, uzatish stantsiyasi qayta ishga tushiriladi.

Agar siz qo'shimcha qurilmalarni ishlab chiqarishga qo'shimcha vaqt sarflamoqchi bo'lsangiz, kalit va tugmachalarni qo'shish pastadirni yanada moslashuvchan qiladi. Rasmda men to'rtta trekni (beshtagacha qo'llab -quvvatlanadigan) to'liq xususiyatli pastadirni qanday sozlaganim ko'rsatilgan.

MUHIM DIQQAT: mening rasmlarimdagi uskunalar prototipdir. Men kerak bo'lgandan ko'ra ko'proq rozetkalarni ishlatardim, lekin treklar uchun faqat to'rtta tugma. Buning sababi shundaki, men loyihani boshlaganimda, yakuniy talablar qanday bo'lishini aniq bilmasdim.

Tugmalar va oyoq kalitlari elektron jihatdan ekvivalentdir va siz boshqasini o'rniga ishlatishingiz mumkin; Mening ehtiyojlarim uchun, har doim juda kam joy borligi uchun (juda ta'sirli pedallar;)), men oyoq pedallarini bitta REC funktsiyasiga chekladim.

3 -qadam: Uskuna

Uskuna
Uskuna
Uskuna
Uskuna
Uskuna
Uskuna
Uskuna
Uskuna

Hisobot materiallari:

To'liq xususiyatli 5 yo'lli MIDI pastadir

1 marta Arduino DUE

7x lahzali tugmalar

1x plastik quti (men 150 x 110 x 70 mm sumkadan foydalanardim)

2x 5-pinli DIN ayol panelli MIDI soket ulagichi

1x 6,3 mm panelli uyali rozetka

1x ikki qirrali 50x70 mm

5x3 mm LED (yashil)

1x3 mm LED (sariq)

1x optik kodlovchi

1x H11L1 optokupl

1x 1N4148 diodi

3x 1000 ohmli rezistorlar

3x 220 ohmli rezistorlar

10x470 ohmli rezistorlar

Bir oz lehim simlari, ba'zi kabellar, lehim stantsiyalari … va bo'sh vaqt:)

Loyihani bajarish uchun zarur bo'lgan vaqt: 6-9 soat

Nega UNO emas?

Birinchi sinovlar (va boshlang'ich ish kodi) "muntazam" arduino UNO taxtasida yozilgan. Bu taxtada operativ xotira chegaralari bor, bu meni polifoniyani "4" ga, maksimal uzunligini 4 sekunddan kamroq va maksimal 40 ms o'lchamiga kamaytirishga majbur qildi. Bu ko'p kanalli ishlov berishsiz. Tezlikni kuzatishni ham olib tashlab, men yozish vaqtini 7 soniyagacha oshirishga muvaffaq bo'ldim.

Birlashgan Millatlar Tashkiloti yordamida siz "ishlaydigan" MIDI pastadir stansiyasini amalga oshirishingiz mumkin, lekin juda cheklangan.

4 -qadam: dasturiy ta'minot

Dastur asosan FortySevenEffects MIDI kutubxonasiga tayanadi. Bu kutubxona juda zo'r va bunday loyihalarni hatto men kabi kodlamaydigan odamlarga ham yordam beradi.

Arduino IDE va uning hamjamiyati bu "muvaffaqiyat" ning yana bir muhim qismidir.

Men eskizni arduino DUE -ga qanday yuklash haqida batafsil ma'lumot bermayman. Agar bu sizning arduino IDE bilan birinchi tajribangiz bo'lsa, avval o'qing.

Men kodning ikki xil versiyasini yozdim, bu ikki xil yondashuvga asoslangan.

1 -versiyaning ishlash printsipi shundan iboratki, Arduino DUE -ni yozib olish yoki haddan tashqari ko'paytirish paytida MIDI hodisalarini qo'llab -quvvatlaydi (eslatma, o'chirish, boshqaruv o'zgarishi va burilish); vaqt o'qi 20 milodiy qadam bilan kvantlanadi va qabul qilingan xabarlar mos ravishda o'sha uyalarda saqlanadi. O'ynayotganda, saqlangan MIDI xabarlari vaqt kvantizatsiyasini hisobga olgan holda sinxga qaytariladi.

2 -versiyaning ishlash printsipi, uning o'rniga, midi hodisasini va voqea boshlanishi kerak bo'lgan vaqtni "oddiygina" yozib olishdir. 2 -versiya 1 -versiyadan farq qiladi (oldingi qadamda keltirilgan). ikkalasini ham sinab ko'ring va sizga mos keladiganini ishlating.

Oldindan ishlov berish soatlari ham mavjud, biroq u kerakli darajada ishlashi uchun biroz o'zgartirish kerak bo'ladi. Kod 4/4 - 4 barli pastadir (16 zarba) yozganingizni taxmin qiladi.

Tashqi soatni o'chirish moslamasini yoqishda "vahima" tugmachasini bosib ushlab turish mumkin.

Kodlar BU YERDA yuklanadi. Sharhlar ularning barchasiga joylashtiriladi, shunda siz o'zingiz xohlagan dasturiy ta'minotni egishingiz mumkin;)

5 -qadam: simlar

Tarmoqlar
Tarmoqlar
Tarmoqlar
Tarmoqlar
Tarmoqlar
Tarmoqlar

MIDI IN va MIDI OUT sxemalari ilova qilingan rasmlarda keltirilgan. E'tibor bering, TX0 va RX0 emas, TX1 va RX1 ishlatiladi.

Arduino DUE kirish pimlari 5V ni, lekin 3,3V ni boshqarolmaydi; shuning uchun keng tarqalgan 6N138 o'rniga H11L1 optokupl ishlatiladi. Menda birinchi prototipda bo'lgani kabi, TX1 ga o'tadigan signal kuchlanishini kamaytirish uchun kuchlanish bo'luvchi bilan birlashtirilgan 6N138 -dan foydalanish, ba'zi sozlashlarda tartibsiz ishlashi mumkin.

LEDlar Arduino DUE chiqish pinlariga 470 Ohmli rezistorlar orqali ulanadi. LEDlarning oqimini kamaytirish va ularning yorqinligini kamaytirish uchun siz 1K ohmgacha bo'lgan rezistorlardan foydalanishingiz mumkin.

Tugmalar/kalitlar/uyalar eskizda faollashtirilgan kirish tortish qarshiligi tufayli Arduino kirish pimlariga to'g'ridan -to'g'ri ulanadi. Tashqi (ochiladigan) rezistorlarga ehtiyoj yo'q.

Optik kodlovchi GND va +5V ga ulangan. Bu har bir optik ma'lumot chiqishi uchun 2 480 ohmli rezistorlar orqali o'tadigan Arduino kirish pinlariga o'tadi.

Arduino DUE to'g'ridan -to'g'ri 5V pinli va +5V shahar uyasi orqali quvvatlanadi.

Hamma asoslar bog'liq.

Arduino pinlaridan IN/OUT periferik qurilmalariga ulanadigan jadval biriktirilgan. Arduino pin raqamlari mening proptotipli qurilmalarimni aks ettiradi va tasodifiy ko'rinishi mumkin. Siz xohlaganingizcha eskizda pin o'rnini osongina o'zgartirishingiz mumkin;)

6 -qadam: Agar menda MIDI manbalaridan ko'p bo'lsa nima bo'ladi?

Agar menda birdan ortiq MIDI manbasi bo'lsa nima bo'ladi?
Agar menda birdan ortiq MIDI manbasi bo'lsa nima bo'ladi?

MIDI birlashuvi haqida qisqa qidiruvdan so'ng, men eng amaliy (va arzon) yechim MIDI almashtirgich ekanligini aniqladim.

MIDI almashtirgich - bu MIDI manbasini yoqadigan va boshqa barcha manbalarni o'chiradigan passiv qurilma. Shunday oddiy.

MIDI almashtirgichning yuragi ko'p pozitsiyali (meniki 6 pozitsiyali), 2 qutbli kalit. Qutblar soni "2" bo'lishi juda muhim, chunki har bir MIDI rozetkasi tanlanmagan bo'lsa va boshqalar bilan aloqa qilmasa, to'liq kesilishi kerak. Men o'zim foydalanishim uchun tushgan rasmga ilova qilingan.

BU havolada sxema.

Tavsiya: