Mündəricat:

Arduino Multi-track MIDI Loop Station: 6 Addım
Arduino Multi-track MIDI Loop Station: 6 Addım

Video: Arduino Multi-track MIDI Loop Station: 6 Addım

Video: Arduino Multi-track MIDI Loop Station: 6 Addım
Video: MIDI Part 6 - MIDI Clock 2024, Iyul
Anonim
Arduino Multi-track MIDI Loop Station
Arduino Multi-track MIDI Loop Station
Arduino Multi-track MIDI Loop Station
Arduino Multi-track MIDI Loop Station
Arduino Multi-track MIDI Loop Station
Arduino Multi-track MIDI Loop Station

Bir döngə stansiyası və ya bir döngə, əslində instrumental rifflərinizi (döngələrinizi) real vaxt rejimində oynatmaq üçün bir vasitədir. Bir səs yazma vasitəsi olaraq deyil, ilhamı yayındırmadan formalaşdırmaq üçün bir vasitədir (və nəticədə canlı ifa edir …).

Həm xüsusi təchizat şəklində (demək olar ki, hər bir gitara pedalı istehsalçısının öz məhsulu var) və ya kompüter proqramları (əla Linux Sooper Looper və ya Windows Mobius, ən məşhurunu göstərmək üçün) şəklində çox sayda səs yazma stansiyası var. MIDI hadisələrini yazmaq və dərhal bir döngədə oynamaq üçün bir vasitə olan DIY olmayan səsli ancaq MIDI döngəçiləri haqqında bir neçə layihə tapa bildim; bu layihələrin çoxu (hamısı, deməliyəm) tərk edilmiş və ya itirilmiş… bəli, burada hər kəs üçün tam bir layihə hazırıq!

Bu Arduino MIDI loop stansiyası, sadəcə gələn MIDI hadisələrini izləyir və onları geri oynayır. Yalnız rekord pedalına basmaq, indiyə qədərki ən yaxşı riffinizi yaratmaq və pedala yenidən basaraq qeyd etməyi dayandırmaq lazımdır. Çox asan:)

Bu layihə asan tapılan açıq aparat (Arduino DUE), proqram təminatına (öz firmware və Arduino IDE) əsaslanır və arzularınızı əks etdirmək üçün özəlləşdirilə bilər.

Gəl edək!

PS: bəli, çox ucuzdur!

Addım 1: məhdudiyyətlər

Layihə üçün hardware hissələri almağa başlamazdan əvvəl, irəli getməyə və ya burada dayanmağa qərar verə biləcəyiniz üçün sizə hansı məhdudiyyətlər olduğunu söyləyim.

- Avadanlıq məhdudiyyətləri səbəbindən (Aduino DUE yaddaşı əslində), yaza biləcəyiniz ifadənin standart maksimum uzunluğu 46 saniyə ilə məhdudlaşır.

- Döngələr saxlanıla bilməz və bağlandıqdan sonra səsləndirilə bilməz. Onları PC -yə göndərə və saxlaya bilərsiniz.

- qeydlərin miqdarı yoxdur.

- MIDI saatı dəstəklənir, lakin bu zaman ilkin mərhələdə.

- Qeydə alınan MIDI mesajları qeyd olunur, qeyd olunur, dəyişikliklər və meydanın əyilməsi; toxunuşdan sonra proqram dəyişikliyi, SysEx və s. kimi digər MIDI mesajları nəzərə alınmır.

- maksimum polifoniya standart olaraq 10 olaraq təyin olunur (yenə Aduino DUE yaddaş məhdudiyyətləri).

Müsbət tərəfi, hər biri öz kanalına ötürən bir çox fərqli alətdən MIDI axını dəstəklənir; bu o deməkdir ki, birdən çox MIDI alətini laylı və ya öz trekləri ilə yaza bilərsiniz (növbəti addımda daha çox üstünlük;)).

Bu məhdudiyyətlərlə yaşamaq ağlabatan görünürsə (və bu mənim üçündür), bu işlə çox yaxşı vaxt keçirəcəksiniz;)

Addım 2: Necə Çalışır

Buradakı MIDI loop stansiyasının işləməsi çox sadədir. Hər bir gitara pedalı istehsalçısının öz kataloqunda olan bu hardware audio loop stansiyalarına bənzər bir şəkildə işləyir.

1) MIDI ardıcıllığınızı qeyd etmək istədiyiniz parçanı seçin. Varsayılan olaraq "bir" mahnısı seçilir, ancaq musiqi düymələrindən birini (hər bir parça üçün bir) basaraq dəyişdirə bilərsiniz.

2) "REC" düyməsinə/ayaq pedalına ilk dəfə basdığınız zaman, ilməçi işə düşür. Yaşıl LED yanır. Faktiki ardıcıllığı/riff yazmağa başlamazdan əvvəl ilk qeyd alınana qədər gözləyəcək.

3) Ardıcıllığınızı bitirdikdən sonra, əyilmənin həqiqi uzunluğunu təyin etmək üçün "REC" düyməsinə/ayaq pedalına yenidən basın. Yaşıl LED yanır. Döngəçi dərhal MIDI ardıcıllığınızı yenidən yaratmağa başlayacaq. Maksimum vaxta çatsanız, qeyd avtomatik olaraq dayanacaq və ardıcıllıq bir döngədə təkrarlanmağa başlayacaq.

4) İndi "REC" düyməsini/ayaq pedalına basaraq, cari yolda ardıcıllığınızı çoxaltmağa və ya yeni bir trek seçib qeyd edə bilərsiniz. Hər iki halda da, yeni yol boş olsa belə, işıqlı LED yanacaq, çünki "qul" bir trekdir (qeydə alınmış ilk parçaya qulluq olunur). Yenidən basmağı dayandırmaq üçün yenidən basın (sarı LED sönür).

Səsli döngə stansiyaları ilə rahat olanlar üçün bu MIDI irəliləməsinə "REC/PLAY/OVERDUB" deyilir və yeganə dəstəklənir.

İstənilən vaxt ən son aşmağınızın uyğun olmadığını hiss edirsinizsə, "geri al" düyməsinə/ayaq pedalına basaraq onu silə bilərsiniz. "REC" pedalını 3 saniyədən çox basıb saxlayaraq bütün cari treki silə bilərsiniz; ilk üç iz düyməsini eyni anda basaraq və ya istifadə olunan bütün parçaları silməklə döngəni (proqram sıfırlaması) sıfırlaya bilərsiniz.

Cari trekin izləmə düyməsini basaraq bir mahnının səsini çıxara/aça bilərsiniz.

PANİK göndərə bilərsiniz! panik düyməsinə basaraq mesaj göndərin. Hətta PANİK göndərə bilərsiniz! ilk iki parçaya eyni anda basaraq mesaj göndərin.

Looper, sadə bir metronoma malikdir: "64" qeyd nömrəsi üçün MIDI mesajında bir qeyd, kanal 10 -da 100 BPM -də (ehtimal ki, baraban maşınınızın dinlədiyi kanal) göndərilir. Optik kodlayıcını çevirərək tempi artıra və ya azalda bilərsiniz; optik kodlayıcı düyməsini basaraq metronomu işə sala/söndürə bilərsiniz. Diqqət yetirin ki, baraban maşınınız "64" MIDI notu alarkən bir səs (tələ, bas və ya istədiyiniz hər hansı bir səs) çalmağa qurulmalıdır, yoxsa metronom səssiz olacaq.

Bu MIDI döngə stansiyasının yalın bir versiyası, yazmağa başlamaq və dayandırmaq üçün tək ayaqlı keçidlə düzəldilə bilər. Düyməni 3 saniyədən çox basıb saxlamaq loop stansiyasını yenidən işə salacaq.

Donanımı inkişaf etdirmək üçün əlavə vaxt sərf etmək istəyirsinizsə, açarları və düymələri əlavə etmək loop stansiyasını daha elastik edəcək. Şəkildə tam xüsusiyyətli döngə stansiyamı (beşə qədər dəstəklənir) dörd parçamı necə qurduğum göstərilir.

Vacib Qeyd: Şəkillərimdəki avadanlıq bir prototipdir. Lazım olandan daha çox jak prizlərindən istifadə etdim, ancaq treklər üçün yalnız dörd düymə. Bunun səbəbi, layihəyə başlayanda son tələblərin nə olacağına tam əmin olmadığımdır.

Düymələr və ayaq açarları elektron olaraq ekvivalentdir və birini digərinin əvəzinə istifadə edə bilərsiniz; ehtiyaclarım üçün, çox az yer sahəsi olduğundan (lənətlənmiş gözəl effektli pedallar;)), ayaq pedallarını tək REC funksiyasına məhdudlaşdırmışam.

Addım 3: Avadanlıq

Avadanlıq
Avadanlıq
Avadanlıq
Avadanlıq
Avadanlıq
Avadanlıq
Avadanlıq
Avadanlıq

Sənəd materialı:

Tam xüsusiyyətli 5 parçalı MIDI loop stansiyası

1x Arduino DUE

7x ani düymələr

1x plastik qutu (150 x 110 x 70 mm ölçülü bir qutu istifadə etdim)

2x 5 pinli DIN qadın paneli montaj MIDI yuva konnektoru

1x 6.3 mm panel montaj jak yuvası

1x iki tərəfli 50x70 mm mükəmməl lövhə

5x 3 mm LED (yaşıl)

1x 3 mm LED (sarı)

1x optik kodlayıcı

1x H11L1 optokupl

1x 1N4148 diod

3x 1000 ohm rezistorlar

3x 220 ohm rezistorlar

10x470 ohm rezistorlar

Bir az lehim teli, bəzi kabellər, lehimləmə stansiyası … və boş vaxt:)

Layihənin tamamlanması üçün lazım olan vaxt: 6-9 saat

Niyə UNO olmasın?

İlk testlər (və başlanğıc iş kodu) "müntəzəm" arduino UNO lövhəsində yazılmışdır. Bu lövhədə polifoniyanı "4" ə, maksimum uzunluğunu 4 saniyədən aza və maksimum 40 ms həll etməyə məcbur edən RAM məhdudiyyətləri var. Çox kanallı idarə etmədən. Sürət izləməsini də aradan qaldıraraq qeyd müddətini 7 saniyəyə qədər artıra bildim.

Bir UNO ilə "işləyən" bir MIDI loop stansiyasını həyata keçirə bilərsiniz, lakin çox məhduddur.

Addım 4: Proqram təminatı

Proqram, əsasən FortySevenEffects MIDI kitabxanasına etibar edir. Bu kitabxana əladır və bu cür layihələri hətta mənim kimi kodlaşdırmayan adamlar üçün də mümkün edir.

Arduino IDE və onun icması bu "uğurun" başqa bir vacib hissəsidir.

Eskizi arduino DUE -a necə yükləmək barədə ətraflı məlumat verməyəcəyəm. Bu, arduino IDE ilə ilk təcrübənizdirsə, əvvəlcə oxuyun.

Kodun iki fərqli versiyasını iki fərqli yanaşmaya əsaslanaraq yazdım.

1 -ci versiyanın iş prinsipi budur ki, Arduino DUE -ni qeyd edərkən və ya overdubling edərkən dəstəklənən MIDI hadisələrini (uçucu) yaddaşda saxlayır və saxlayır; zaman oxu 20 ms addımlarla ölçülür və alınan mesajlar müvafiq olaraq həmin yuvalarda saxlanılır. Oynayarkən, saxlanılan MIDI mesajları vaxtın ölçülməsi ilə əlaqədar olaraq synth -ə geri göndərilir.

Versiya 2 -nin iş prinsipi, bunun əvəzinə, hadisənin tətik edilməli olduğu midi hadisəsini və vaxtını "sadəcə" qeyd etməkdir. Versiya 2, 1 -ci versiyadan fərqli bir məhdudiyyətə malikdir (əvvəlki bir addımda verilmişdir). hər ikisini sınayın və sizin üçün daha yaxşı işləyən birini istifadə edin.

Preliminar bir Saat idarə etməsi də var, ancaq lazım olduğu kimi işləməsi üçün bəzi düzəlişlərə ehtiyac olacaq. Kod, 4/4 - 4 bar döngəsi (16 vuruş) yazdığınızı güman edir.

Döngəni açarkən "çaxnaşma" düyməsini basıb saxlamaqla xarici saatı söndürə bilərsiniz.

Kodlar BURADAN yüklənir. Şərhlər hər tərəfə yerləşdirilir ki, bu firmware -ni öz iradənizlə bükə biləsiniz;)

Addım 5: tellər

Tellər
Tellər
Tellər
Tellər
Tellər
Tellər

MIDI IN və MIDI OUT sxemləri əlavə şəkillərdə bildirilir. TX0 və RX0 deyil, TX1 və RX1 istifadə olunduğuna diqqət yetirin.

Arduino DUE giriş pinləri 5V deyil, 3.3V idarə edə bilməz; bu səbəbdən daha çox yayılmış 6N138 əvəzinə H11L1 optokuplundan istifadə olunur. İlk prototipimdə olduğu kimi, TX1 -ə gedən siqnal gərginliyini azaltmaq üçün bir gərginlik bölücü ilə birləşdirilmiş 6N138 istifadə etmənin bəzi qurğularda nizamsız işləyə biləcəyinə dair sübutlarım var.

LEDlər 470 Ohm rezistorlar vasitəsilə Arduino DUE çıxış pinlərinə qoşulur. LED -lərə gedən cərəyanı azaltmaq və parlaqlığını azaltmaq üçün 1K ohm -a qədər rezistorlardan istifadə edə bilərsiniz.

Düymələr/açarlar/jaklar eskizdə aktivləşdirilmiş giriş çəkmə rezistorları sayəsində birbaşa Arduino giriş pinlərinə bağlanır. Xarici (açılan) rezistorlara ehtiyac yoxdur.

Optik kodlayıcı GND və +5V -ə qoşulur. Hər bir optik məlumat çıxışı üçün 2 ədəd 480 ohm rezistordan keçən Arduino giriş pinlərinə gedir.

Arduino DUE, birbaşa 5V pindən və +5V DC hub vasitəsilə topraklanır.

Bütün əsaslar asılıdır.

Arduino sancaqlarından IN/OUT periferik qurğulara bağlantıları olan bir masa əlavə olunur. Arduino pin nömrələri, proptotip cihazımdakıları əks etdirir və təsadüfi görünə bilər. İstədiyiniz halda eskizdəki pin yerini asanlıqla dəyişə bilərsiniz;)

Addım 6: Birdən çox MIDI mənbəyim varsa nə etməliyəm?

Birdən çox MIDI mənbəyim varsa nə etməliyəm?
Birdən çox MIDI mənbəyim varsa nə etməliyəm?

Bir MIDI birləşməsi üçün qısa bir axtarışdan sonra, ən praktik (və ucuz) həll yolunun MIDI dəyişdirici olduğunu gördüm.

MIDI dəyişdirici, MIDI mənbəyini işə salan və bütün digər mənbələri deaktiv edən passiv bir cihazdır. Bunun kimi sadə.

MIDI dəyişdiricinin ürəyi çox mövqelidir (mina 6 mövqedədir), 2 dirək keçididir. Qütblərin sayının "2" olması çox vacibdir, çünki hər MIDI yuvası seçilmədikdə və digərləri ilə əlaqə qurulmadıqda tamamilə kəsilməlidir. Öz istifadəm üçün başa düşdüyüm bir şəkil əlavə olunur.

BU LİNK -də bir sxem.

Tövsiyə: