Բովանդակություն:

Arduino Multi-track MIDI Loop Station: 6 քայլ
Arduino Multi-track MIDI Loop Station: 6 քայլ

Video: Arduino Multi-track MIDI Loop Station: 6 քայլ

Video: Arduino Multi-track MIDI Loop Station: 6 քայլ
Video: DIY Ableton Arduino MIDI Looper 2024, Հուլիսի
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

Օղակաձև կայանը կամ looper- ը, ըստ էության, գործիք է ՝ իրական ժամանակում ձեր գործիքային ռիֆերը (օղակները) նվագարկելու համար: Այն նախատեսված չէ որպես ձայնագրող միջոց, այլ գործիք ՝ առանց ոգեշնչման ձևավորելու ոգեշնչումը (և, ի վերջո, կենդանի կատարմամբ…):

Կան բազմաթիվ աուդիոձայնագրման հանգույցներ ՝ ինչպես հատուկ սարքավորման տեսքով (կիթառի ոտնակ գրեթե յուրաքանչյուր արտադրող ունի իր արտադրանքը), այնպես էլ համակարգչային ծրագրակազմ (գերազանց Linux Sooper Looper կամ windows Mobius, նշելով ամենահայտնին): Ես կարող էի գտնել միայն մի քանի նախագիծ DIY ոչ աուդիո, բայց MIDI loopers- ի մասին, ինչը նշանակում է գործիք MIDI- ի իրադարձությունները ձայնագրելու և դրանք միանգամից նվագարկելու համար: Այս նախագծերի մեծ մասը (բոլորը, պետք է ասեմ) լքված կամ կորած են … դե, ահա մենք բոլորի համար ունենք ամբողջական նախագիծ:

Այս Arduino MIDI հանգույցի կայանը պարզապես հետևում է մուտքային MIDI իրադարձություններին և դրանք նվագարկում: Ձեզ մնում է միայն սեղմել ռեկորդի ոտնակին, ստեղծել երբևէ ձեր լավագույն ռիֆը և դադարեցնել ձայնագրությունը ՝ կրկին սեղմելով ոտնակին: Սուպեր հեշտ:)

Այս նախագիծը հիմնված է հեշտ գտնելու բաց սարքավորումների (Arduino DUE), ծրագրային ապահովման վրա (իմ սեփական որոնվածը և Arduino IDE) և կարող է հարմարեցվել ՝ ձեր նախասիրությունները արտացոլելու համար:

Եկեք անենք դա!

PS: այո, դա շատ էժան է:

Քայլ 1: Սահմանափակումներ

Նախքան ծրագրի համար սարքավորման մասեր ձեռք բերելը, թույլ տվեք ձեզ ասել, թե որոնք են դրա սահմանները, որպեսզի կարողանաք որոշել առաջ գնալ կամ կանգ առնել այստեղ:

- ապարատային սահմանափակումների պատճառով (ըստ էության Aduino DUE հիշողություն), արտահայտության կանխադրված առավելագույն երկարությունը, որը կարող եք արձանագրել, սահմանափակվում է 46 վայրկյանով:

- loops- ը չի կարող պահվել և փակվելուց հետո նվագարկվել: Դուք կարող եք դրանք ուղարկել ԱՀ և պահպանել դրանք:

- նշումների քվանտացում չկա:

- MIDI ժամացույցն ապահովված է, բայց այս պահին նախնական փուլում է:

- MIDI հաղորդագրությունները, որոնք գրանցվում են, նշում են, նշումներ անջատված են, վերահսկում են փոփոխությունները և բարձրաձայն թեքում; այլ MIDI հաղորդագրություններ, ինչպիսիք են հպումից հետո, ծրագրի փոփոխությունը, SysEx- ը և այլն, անտեսվում են:

- առավելագույն բազմաձայնությունը կանխադրված է 10 -ի վրա (կրկին ՝ Aduino DUE հիշողության սահմանները):

Դրական կողմն այն է, որ MIDI հոսքերը բազմաթիվ տարբեր գործիքներից, որոնցից յուրաքանչյուրը փոխանցում է իր սեփական ալիքը, ապահովվում են. սա նշանակում է, որ դուք կարող եք միանգամից մի քանի MIDI գործիք ձայնագրել ՝ շերտավոր կամ իրենց իսկ հետքերով (ավելի շատ առավելություններ հաջորդ քայլին;)):

Եթե այս սահմանափակումներով ապրելը ողջամիտ է թվում (և դա ինձ համար է), ապա դուք շատ լավ ժամանակ կունենաք այս բանի հետ;)

Քայլ 2: Ինչպես է այն աշխատում

Այստեղ MIDI հանգույցի կայանը շատ պարզ է գործել: Այն աշխատում է այնպես, ինչպես նման է սարքավորումների ձայնային հանգույցի կայաններին, որոնցից յուրաքանչյուրը կիթառի ոտնակ արտադրող ունի իր կատալոգում:

1) Ընտրեք այն ուղին, որին ցանկանում եք ձայնագրել ձեր MIDI հաջորդականությունը: Լռելյայն ընտրված է «մեկը», բայց կարող եք այն փոխել ՝ սեղմելով հետքերի կոճակներից մեկը (յուրաքանչյուրը յուրաքանչյուր ուղու համար):

2) Երբ առաջին անգամ սեղմում եք «REC» անջատիչ/ոտնակ, looper- ը ներգրավված է: Կանաչ LED լուսավորվում է: Այն կսպասի մինչև ձեր առաջին նոտայի ստացումը նախքան իրական հաջորդականությունը/ռիֆը գրանցելը սկսելը:

3) Երբ ավարտեք ձեր հաջորդականությունը, կրկին սեղմեք «REC» անջատիչ/ոտքի ոտնակ ՝ ռիֆի իրական երկարությունը որոշելու համար: Կանաչ LED լուսարձակը անջատված է: The looper- ը կսկսի անմիջապես վերարտադրել ձեր MIDI հաջորդականությունը: Եթե հասնեք առավելագույն ժամանակին, ձայնագրությունը ինքնաբերաբար կդադարեցվի, և հաջորդականությունը կսկսվի վերարտադրվել օղակի մեջ:

4) Այժմ, դուք կարող եք որոշել գերակատարել ձեր հաջորդականությունը ընթացիկ ուղու վրա կամ ընտրել նոր ուղի և ձայնագրել դրա վրա `սեղմելով« REC »անջատիչը/ոտքի ոտնակը: Երկու դեպքում էլ դեղին LED լուսավորվելու է, նույնիսկ եթե նոր ուղին դատարկ է, քանի որ այն «ստրուկ» ուղի է (ստրկացված է գրանցված առաջին ուղու վրա): Կրկին սեղմեք ՝ գերլարումը դադարեցնելու համար (դեղին LED- ն անջատվում է):

Նրանցից, ովքեր հարմարավետ են աուդիո հանգույցներով, MIDI- ի այս առաջընթացը կոչվում է «REC/PLAY/OVERDUB» և միակ աջակցվողն է:

Եթե որևէ պահի զգում եք, որ ձեր վերջին գերբեռնվածությունը լավ չէ, կարող եք ջնջել այն ՝ սեղմելով «հետարկել» անջատիչը/ոտքի ոտնակը: Դուք կարող եք մաքրել ամբողջ ընթացիկ ուղին ՝ «REC» ոտնակը սեղմված պահելով ավելի քան 3 վայրկյան; կարող եք վերականգնել looper- ը (ծրագրակազմի վերականգնում) ՝ միաժամանակ սեղմելով առաջին երեք ուղու կոճակները կամ մաքրելով բոլոր օգտագործված հետքերը:

Կարող եք ձայնը միացնել/անջատել ՝ սեղմելով ընթացիկ երգի ուղու կոճակը:

Դուք կարող եք խուճապ ուղարկել: հաղորդագրություն `սեղմելով խուճապի կոճակը: Դուք նույնիսկ կարող եք խուճապ ուղարկել: հաղորդագրություն ՝ միաժամանակ սեղմելով առաջին երկու հետքերի կոճակները:

The looper- ը կառուցված է պարզ մետրոնոմով. «64» նշման համար MIDI հաղորդագրության վերաբերյալ գրություն ուղարկվում է 10 ալիքով 100 BPM արագությամբ (այն ալիքը, որին ենթադրաբար ունկնդրում եք ձեր հարվածային մեքենան): Դուք կարող եք բարձրացնել կամ նվազեցնել տեմպը `օպտիկական կոդավորիչի միջոցով: սեղմելով օպտիկական ծածկագրիչի անջատիչը, կարող եք միացնել/անջատել մետրոնոմը: Ուշադրություն դարձրեք, որ ձեր հարվածային մեքենան պետք է կարգավորվի այնպես, որ MIDI նոտա «64» ստանալիս հնչի (թակարդ, բաս կամ ինչ ձայն եք նախընտրում), հակառակ դեպքում մետրոնոմը խլացված կլինի:

Այս MIDI հանգույցի մերկ տարբերակը կարող է պատրաստվել մեկ ոտքով անջատիչով `ձայնագրումը սկսելու և դադարեցնելու համար: Անջատիչը 3 վայրկյանից ավելի սեղմված պահելը նորից կսկսի մեկնարկային հանգույցի կայանը:

Եթե ցանկանում եք լրացուցիչ ժամանակ հատկացնել սարքավորումների զարգացմանը, անջատիչների և կոճակների ավելացումը հանգույցի կայանն ավելի ճկուն կդարձնի: Նկարում պատկերված է, թե ինչպես եմ ես կազմաձևել իմ չորս հետքերը (մինչև հինգը աջակցվում են) լիարժեք ցուցադրվող հանգույցի կայանը:

ԿԱՐԵՎՈՐ Ո NOTՇԱԴՐՈԹՅՈՆ. Իմ նկարների ապարատը նախատիպ է: Ես օգտագործեցի ավելի շատ վարդակից վարդակներ, քան անհրաժեշտ էր, բայց հետքերի համար ընդամենը չորս կոճակ: Դա պայմանավորված է նրանով, որ երբ ես սկսեցի նախագիծը, ես լիովին վստահ չէի, թե որոնք են լինելու վերջնական պահանջները:

Կոճակները և ոտքի անջատիչները էլեկտրոնային համարժեք են, և դուք կարող եք օգտագործել մեկը մյուսի փոխարեն. իմ կարիքների համար, քանի որ միշտ շատ քիչ տարածք կա (անիծյալ հաճելի էֆեկտներ)

Քայլ 3: Սարքավորումներ

Սարքավորումներ
Սարքավորումներ
Սարքավորումներ
Սարքավորումներ
Սարքավորումներ
Սարքավորումներ
Սարքավորումներ
Սարքավորումներ

Ապրանքների հաշիվը:

Ամբողջական 5-հետքերով MIDI հանգույց կայան

1x Arduino ՊԱՐՏԱՎՈՐ

7x ակնթարթային սեղմման կոճակներ

1x պլաստիկ պատյան (ես օգտագործել եմ 150 x 110 x 70 մմ պատյան)

2x 5-պտույտ DIN կանացի վահանակի ամրացում MIDI վարդակից միակցիչով

1x 6.3 մմ վահանակի ամրացման համար նախատեսված վարդակից

1x երկկողմանի 50x70 մմ տրամագծով տախտակ

5x3 մմ LED (կանաչ)

1x 3 մմ LED (դեղին)

1x օպտիկական կոդավորիչ

1x H11L1 օպտիկական զույգ

1x 1N4148 դիոդ

3x 1000 օմ ռեզիստորներ

3x 220 օմ ռեզիստորներ

10x 470 ohm դիմադրիչներ

Որոշ զոդման մետաղալարեր, որոշ մալուխներ, զոդման կայան… և ազատ ժամանակ:)

Նախագծի իրականացման համար պահանջվող ժամանակը `6-9 ժամ

Ինչու՞ ոչ ՄԱԿ -ը:

Առաջին թեստերը (և մեկնարկային աշխատանքային ծածկագիրը) գրվեցին arduino UNO- ի «սովորական» տախտակի վրա: Այս տախտակն ունի RAM- ի սահմանափակումներ, որոնք ստիպեցին ինձ նվազեցնել բազմաձայնությունը մինչև «4», առավելագույն երկարությունը ՝ 4 վայրկյանից պակաս և առավելագույնը ՝ 40 ms թույլատրելիություն: Սա առանց բազմալիքային մշակման: Հեռացնելով նաև արագության հետևումը, ես կարողացա ձայնագրման ժամանակը հասցնել մինչև 7 վայրկյանի:

UNO- ի հետ դուք կարող եք իրականացնել «աշխատող» MIDI հանգույցի կայան այն ժամանակ, բայց խիստ սահմանափակ:

Քայլ 4: Softwareրագրակազմ

Theրագրակազմը մեծապես ապավինում է FortySevenEffects MIDI գրադարանին: Այս գրադարանը հիանալի է և այսպիսի նախագծեր իրականացնում է նույնիսկ ինձ նման ոչ ծրագրավորողների համար:

Arduino IDE- ն և նրա համայնքը այս «հաջողության» մեկ այլ կարևոր մասն է:

Չեմ մանրամասնի, թե ինչպես էսքիզը վերբեռնել ձեր arduino- ի շնորհիվ: Եթե սա ձեր առաջին փորձն է arduino IDE- ի հետ, խնդրում ենք նախ կարդալ սա:

Ես գրել եմ օրենսգրքի երկու տարբեր տարբերակներ ՝ հիմնված երկու բոլորովին տարբեր մոտեցումների վրա:

Տարբերակի 1 -ի աշխատանքի սկզբունքն այն է, որ Arduino DUE- ի ձայնագրման կամ գերակշռման ընթացքում ստուգում և պահում է իր (անկայուն) հիշողության մեջ աջակցվող MIDI իրադարձությունները (նշում, անջատում, վերահսկման փոփոխություն և սկիպիդարի թեքում); ժամանակի առանցքը քվանտացվում է 20 ms քայլերով և ստացված հաղորդագրությունները համապատասխանաբար պահվում են այդ անցքերում: Նվագարկելիս պահվող MIDI հաղորդագրությունները հետ են ուղարկվում սինթոսին ՝ ժամանակի քվանտացման նկատմամբ:

Փոխարենը, 2 -րդ տարբերակի աշխատանքի սկզբունքն այն է, որ «ուղղակի» գրանցվի միջադեպը և ժամը, որի ընթացքում պետք է սկսվի իրադարձությունը: Տարբերակ 2 -ը տարբեր սահմաններ ունի, քան 1 -ին տարբերակը (նշված է նախորդ քայլին): փորձեք երկուսն էլ և օգտագործեք մեկը, որն ավելի լավ է աշխատում ձեզ համար:

Կա նաև ժամացույցի նախնական կառավարում, բայց այն կպահանջի որոշ շտկումներ `ինչպես հարկն է աշխատելու համար: Կոդը ենթադրում է, որ դուք գրանցում եք 4/4 - 4 բար օղակ (16 հարված):

Դուք կարող եք անջատել արտաքին ժամացույցը ՝ սեղմելով «խուճապի» կոճակը, երբ միացնում եք օղակը:

Կոդերը բեռնված են ԱՅՍՏԵ: Մեկնաբանությունները տեղադրված են դրանց վրա, որպեսզի ձեր կամքով թեքեք այդ որոնվածը;)

Քայլ 5: Միացում

Վիրինգներ
Վիրինգներ
Վիրինգներ
Վիրինգներ
Վիրինգներ
Վիրինգներ

MIDI IN և MIDI OUT սխեմաները ներկայացված են կից նկարներում: Ուշադրություն դարձրեք, որ օգտագործվում են TX1 և RX1, այլ ոչ թե TX0 և RX0:

Arduino DUE մուտքագրման կապում չեն կարող աշխատել 5V, բայց 3.3V; ահա թե ինչու է H11L1 օպտոմատիկ սարքը օգտագործվում ավելի սովորական 6N138- ի փոխարեն: Ես ունեմ ապացույցներ, որ 6N138- ի օգտագործումը `լարման բաժանարարի հետ միասին, TX1- ին գնացող ազդանշանի լարումը նվազեցնելու համար, ինչպես իմ առաջին նախատիպում, կարող էր անկանոն աշխատել որոշ կարգավորումներում:

LED- ները միացված են Arduino DUE ելքային կապում 470 Օմ դիմադրիչների միջոցով: Դուք կարող եք օգտագործել մինչև 1K օմ ռեզիստորներ `LED- ների հոսանքը նվազեցնելու և դրանց լուսավորությունը նվազեցնելու համար:

Կոճակներ/անջատիչներ/խցիկներ ուղղակիորեն միացված են Arduino- ի մուտքային կապումներին `էսքիզում ակտիվացված մուտքային ձգման դիմադրիչների շնորհիվ: Արտաքին (քաշվող) դիմադրողների կարիք չկա:

Օպտիկական կոդավորիչը միացված է GND և +5V: Այն անցնում է Arduino- ի մուտքային կապումներին, որոնք անցնում են 2 480 օհմ ռեզիստորներով, մեկը `յուրաքանչյուր օպտիկական տվյալների ելքի համար:

Arduino DUE- ը սնուցվում է անմիջապես 5 Վ կապիչից և հիմնավորվում +5V DC հանգույցի միջոցով:

Բոլոր հիմքերը կապված են, թե ոչ:

Կից ներկայացված է սեղան `arduino կապումներից դեպի IN/OUT ծայրամասային սարքերով միացումներ: Arduino- ի կապի համարներն արտացոլում են իմ նախատիպի սարքավորումների թվերը և կարող են պատահական թվալ (դրանք ինչ -որ կերպ…): Դուք կարող եք հեշտությամբ փոփոխել ուրվագծի քորոցը ձեր ցանկությամբ;)

Քայլ 6. Ի՞նչ կլինի, եթե ես ունենամ մեկից ավելի MIDI աղբյուր:

Ի՞նչ կլինի, եթե ես ունենամ մեկից ավելի MIDI աղբյուր
Ի՞նչ կլինի, եթե ես ունենամ մեկից ավելի MIDI աղբյուր

MIDI միաձուլման կարճ որոնումից հետո ես գտա, որ առավել գործնական (և էժան) լուծումը MIDI անջատիչն է:

MIDI անջատիչը պասիվ սարք է, որը միացնում է MIDI աղբյուրը և անջատում է մնացած բոլոր աղբյուրները: Այդքան պարզ:

MIDI անջատիչի սիրտը բազմաբնույթ դիրքով է (իմը 6 դիրք է), 2 բևեռ անջատիչ: Շատ կարևոր է, որ սյուների թիվը լինի «2», քանի որ MIDI- ի յուրաքանչյուր վարդակից պետք է ամբողջությամբ կտրել, եթե այն չընտրված է և ոչ թե մյուսների հետ հաղորդակցության մեջ: Կից ներկայացված է այն նկարը, որը ես հասկացել եմ իմ սեփական օգտագործման համար:

ԱՅՍ ՀԵՏ հղումով սխեմա:

Խորհուրդ ենք տալիս: