Мазмұны:

Arduino көп жолды MIDI ілмек станциясы: 6 қадам
Arduino көп жолды MIDI ілмек станциясы: 6 қадам

Бейне: Arduino көп жолды MIDI ілмек станциясы: 6 қадам

Бейне: Arduino көп жолды MIDI ілмек станциясы: 6 қадам
Бейне: Урок №12. Интеграция Arduino с Lego EV3. Beyond Robotics 2024, Шілде
Anonim
Arduino көп жолды MIDI ілмек станциясы
Arduino көп жолды MIDI ілмек станциясы
Arduino көп жолды MIDI ілмек станциясы
Arduino көп жолды MIDI ілмек станциясы
Arduino көп жолды MIDI ілмек станциясы
Arduino көп жолды MIDI ілмек станциясы

Циклдық станция немесе ілмек-бұл сіздің аспаптық рифтеріңізді (ілмектерді) нақты уақытта ойнату құралы. Бұл жазу құралы ретінде емес, шабытты алаңдатпай қалыптастыратын құрал (және ақырында тікелей эфирде …).

Дыбыс жазатын циклдық станциялар көп, олар арнайы жабдық түрінде де (гитаралық педальды өндірушілердің әрқайсысында дербес өнімі бар) немесе компьютерлік бағдарламалық қамтамасыз етуде (Linux Sooper Looper немесе Windows Mobius -тың әйгілі нұсқасы). Мен DIY дыбыссыз, бірақ MIDI циклерлері туралы бірнеше жобаларды таба алдым, бұл MIDI оқиғаларын жазу құралы және оларды бірден циклде ойнату құралы; бұл жобалардың көпшілігі (барлығы, мен айтуым керек) қараусыз қалды немесе жоғалды … міне, бізде барлығына арналған толық жоба бар!

Бұл Arduino MIDI цикл станциясы кіріс MIDI оқиғаларын қадағалап, оларды ойнатады. Сіз тек рекордтық педальды басып, ең жақсы рифті құрып, педальды қайтадан басу арқылы жазуды тоқтатуыңыз керек. Өте оңай:)

Бұл жоба оңай табуға болатын ашық жабдыққа (Arduino DUE), бағдарламалық жасақтамаға (менің жеке бағдарламалық жасақтамам және Arduino IDE) негізделген және сіздің қалауыңыз бойынша реттелуі мүмкін.

Қанекей мынаны істейік!

PS: иә, бұл өте арзан!

1 -қадам: шектеулер

Жобаның аппараттық бөлшектерін сатып алуды бастамас бұрын, сізге бұл жерде алға жылжуды немесе тоқтауды шешуге болатын шектеулерді айтайын.

- аппараттық шектеулерге байланысты (Aduino DUE жады негізінен), сіз жаза алатын фразаның максималды ұзақтығы 46 секундпен шектеледі.

- ілмектерді сақтау мүмкін емес және олар өшірілгеннен кейін ойнатылады. Сіз оларды компьютерге жіберіп, сақтай аласыз.

- ноталардың кванттациясы жоқ.

- MIDI сағаты қолдау көрсетеді, бірақ дәл қазір бастапқы кезеңде.

- жазылған MIDI хабарламалары жазылады, өшіріледі, басқарудың өзгеруі және қадамның бұрылуы; басқа MIDI хабарламалары, мысалы, түрткеннен кейін, бағдарламаны өзгерту, SysEx және т.

- максималды полифония әдепкі бойынша 10 -ға орнатылған (тағы да Aduino DUE жадының шегі).

Жақсы жағы, әр түрлі құралдардан MIDI ағындарына қолдау көрсетіледі, олардың әрқайсысы өз арнасында таратады; бұл бірнеше MIDI құралдарын бірден, қабатты немесе жеке трекпен жазуға болатынын білдіреді (келесі қадамдағы артықшылықтар;)).

Егер бұл шектеулермен өмір сүру ақылға қонымды болып көрінсе (және бұл мен үшін), сіз бұл нәрсемен өте жақсы уақыт өткізесіз;)

2 -қадам: Бұл қалай жұмыс істейді

Бұл жерде MIDI циклдық станциясын басқару өте қарапайым. Ол гитаралық педаль өндірушілерінің әрқайсысының өз каталогында бар дыбыстық цикл станцияларына ұқсас жұмыс істейді.

1) MIDI реттілігін жазғыңыз келетін жолды таңдаңыз. Әдепкі бойынша «бір» трек таңдалады, бірақ сіз оны жолдар түймелерінің бірін басу арқылы өзгертуге болады (әр трек үшін бір).

2) «REC» қосқышын/аяқ педалын бірінші рет басқанда, ілмек қосылады. Жасыл жарық диоды жанады. Нақты дәйектілікті/рифті жазуды бастамас бұрын, сіздің бірінші жазбаңыз алынғанша күтеді.

3) Кезектілікті аяқтағаннан кейін, рифтің нақты ұзындығын анықтау үшін «REC» қосқышын/аяқ педалын қайтадан басыңыз. Жасыл жарық диоды жанады. Ілмекші MIDI реттілігін бірден шығара бастайды. Егер сіз максималды уақытқа жетсеңіз, жазу автоматты түрде тоқтатылады және реттік циклде қайта шығарыла бастайды.

4) Енді сіз «REC» қосқышын/жаяу педальды басу арқылы ағымдағы жолдағы реттілікті асыра беруді немесе жаңа жолды таңдап, оған жазуды шеше аласыз. Екі жағдайда да, жаңа жол бос болса да, жарық диодты шам жанып тұрады, себебі бұл «қосалқы» трек (бірінші жазылған жолға бағынышты). Қайта көшіруді тоқтату үшін қайтадан басыңыз (сары жарық диоды өшеді).

Аудио циклдық станциялармен үйлесімділік танытатындар үшін бұл MIDI прогресі «REC/PLAY/OVERDUB» деп аталады және оған тек қолдау көрсетіледі.

Егер сіз кез келген уақытта сіздің соңғы аударуыңыз дұрыс емес деп ойласаңыз, оны «қайтару» қосқышына/аяқ педальына басу арқылы жоюға болады. «REC» педальын 3 секундтан артық басып тұру арқылы сіз ағымдағы жолды тазалай аласыз; сіз ілмекті бастапқы қалпына келтіре аласыз (бағдарламалық жасақтаманы қалпына келтіру) бірінші үш жол түймесін бір уақытта басу арқылы немесе барлық пайдаланылған жолдарды тазарту арқылы.

Ағымдағы тректің трек түймесін басу арқылы жолдың дыбысын өшіруге/қосуға болады.

ПАНИК жібере аласыз! дүрбелең түймесін басу арқылы хабарлама. Сіз тіпті паника жібере аласыз! алғашқы екі жолдың түймесін бір уақытта басу арқылы хабарлама.

Луперде қарапайым метроном бар: MIDI хабарламасындағы «64» нөміріне арналған ескерту 10 арнаның 100 BPM жылдамдығында жіберіледі (сіздің барабан машинаңыз тыңдайтын арна). Оптикалық кодерді қосу арқылы жылдамдықты жоғарылатуға немесе төмендетуге болады; оптикалық кодер қосқышын басу арқылы метроманы қосуға/өшіруге болады. «64» MIDI нотасын алған кезде барабан машинаңыз дыбысты (тұзақ, бас немесе қалаған дыбысты) ойнататындай етіп орнатылғанын ескеріңіз, әйтпесе метром дыбыссыз болады.

Бұл MIDI циклдық станциясының жалаңаш нұсқасы жазуды бастау мен тоқтату үшін бір аяқты қосқышпен жасалуы мүмкін. Коммутаторды 3 секундтан артық басып тұру цикл станциясын қайта инициализациялайды.

Егер сіз жабдықты дамытуға қосымша уақыт бөлгіңіз келсе, қосқыштар мен түймелерді қосу цикл станциясын икемді етеді. Суретте мен төрт тректі (беске дейін қолдау көрсетіледі) толыққанды цикл станциясын қалай конфигурацияладым.

МАҢЫЗДЫ ЕСКЕРТУ: менің суреттерімдегі жабдық - бұл прототип. Мен қажет болғаннан гөрі көп ұяшықтарды қолдандым, бірақ жолдарға арналған төрт түйме. Себебі мен жобаны бастаған кезде соңғы талаптар қандай болатынын толық білмедім.

Түймелер мен аяқ қосқыштары электронды түрде эквивалент болып табылады және бірінің орнына бірін қолдануға болады; менің қажеттіліктерім үшін, еден кеңістігі әрқашан тым аз болғандықтан (тамаша әсерлі педальдар;)), мен тек REC функциясына аяқ педальдарын шектедім.

3 -қадам: Жабдық

Аппараттық құрал
Аппараттық құрал
Аппараттық құрал
Аппараттық құрал
Аппараттық құрал
Аппараттық құрал
Аппараттық құрал
Аппараттық құрал

Материалдық есеп:

Толық ұсынылған 5 жолды MIDI ілмек станциясы

1x Arduino DUE

7x лездік батырмалар

1x пластикалық корпус (мен 150 x 110 x 70 мм корпусты қолдандым)

2x 5 істікшелі DIN аналық панельді MIDI ұясына қосқыш

1x 6,3 мм панельдік бекіту ұясы

1x екі жақты 50x70 мм тақта

5х 3 мм жарық диоды (жасыл)

1х 3 мм жарықдиодты (сары)

1x оптикалық кодер

1x H11L1 оптикалық қосқышы

1x 1N4148 диод

3х 1000 Ом резисторлар

3x 220 Ом резисторлары

10х470 Ом резисторлар

Кейбір дәнекерлеу сымы, кейбір кабельдер, дәнекерлеу станциясы … және бос уақыт:)

Жобаны аяқтауға қажетті уақыт: 6-9 сағат

Неліктен БҰҰ емес?

Алғашқы сынақтар (және бастапқы жұмыс коды) «тұрақты» arduino UNO тақтасына жазылды. Бұл тақтада ЖЖҚ шектеулері бар, ол мені полифонияны «4» -ке дейін төмендетуге мәжбүр етті, максималды ұзақтығы 4 секундтан аз және максималды рұқсаты 40 мс. Бұл көпарналы өңдеусіз. Жылдамдықты бақылауды алып тастау арқылы мен жазу уақытын 7 секундқа дейін арттыра алдым.

БҰҰ көмегімен сіз «жұмыс істейтін» MIDI циклдық станциясын іске асыра аласыз, бірақ шектеулі.

4 -қадам: Бағдарламалық қамтамасыз ету

Бағдарламалық қамтамасыз ету FortySevenEffects MIDI кітапханасына қатты сүйенеді. Бұл кітапхана керемет және мұндай жобаларды тіпті мен сияқты кодер емес адамдар үшін де жасауға мүмкіндік береді.

Arduino IDE және оның қауымдастығы - бұл «сәттіліктің» тағы бір маңызды бөлігі.

Мен сіздің эскизді arduino DUE -ге қалай жүктеу туралы егжей -тегжейлі айтпаймын. Егер бұл сіздің arduino IDE -мен бірінші тәжірибеңіз болса, алдымен оны оқып шығыңыз.

Мен кодтың екі түрлі нұсқасын жаздым, екі түрлі тәсілге негізделген.

1 -нұсқаның жұмыс принципі - бұл Arduino DUE -ді жазу немесе қайта көбейту кезінде MIDI -дегі оқиғаларды тексереді және сақтайды, MIDI оқиғаларын қолдайды (ескерту, өшіру, басқарудың өзгеруі мен қадамның бұрылуы); уақыт осі 20 мс қадаммен квантталады және алынған хабарлар сәйкесінше осы ұяшықтарда сақталады. Ойнату кезінде сақталған MIDI хабарламалары уақыт кванттауына байланысты синтезге қайтарылады.

2 нұсқасының жұмыс принципі - бұл midi оқиғасы мен оқиғаның басталатын уақытын «жай» жазу. 2 -нұсқада 1 -нұсқаға қарағанда басқа шектеулер бар (алдыңғы қадамда көрсетілген). екеуін де сынап көріңіз және сізге сәйкес келетінін қолданыңыз.

Сағаттардың алдын ала өңдеуі де бар, бірақ ол жұмыс істеуі үшін кейбір түзетулер қажет болады. Код 4/4 - 4 жолақ циклін жазады деп болжайды (16 соққы).

Сыртқы сағатты ілмекті қосқан кезде «дүрбелең» батырмасын басу арқылы өшіруге болады.

Кодтар осы жерге жүктеледі. Түсініктемелер олардың барлығына орналастырылады, осылайша сіз өзіңіздің қалауыңыз бойынша микробағдарламаны бүге аласыз;)

5 -қадам: Сымдар

Сымдар
Сымдар
Сымдар
Сымдар
Сымдар
Сымдар

MIDI IN және MIDI OUT схемалары қосымша суреттерде көрсетілген. TX0 және RX0 емес, TX1 және RX1 қолданылатынына назар аударыңыз.

Arduino DUE кіріс түйреуіштері 5В емес, 3,3В; сондықтан жиі қолданылатын 6N138 орнына H11L1 оптикалық қосқышы қолданылады. Менде алғашқы прототиптегідей TX1 сигналының кернеуін төмендету үшін кернеу бөлгішпен бірге 6N138 қолдану кейбір қондырғыларда тұрақсыз жұмыс істей алатыны туралы дәлелдер бар.

Жарық диодтары Arduino DUE шығыс түйреуіштеріне 470 Ом резисторлар арқылы қосылады. Жарық диодтарына түсетін токты азайту және олардың жарықтығын төмендету үшін сіз 1 К Ом дейінгі резисторларды пайдалана аласыз.

Түймелер/қосқыштар/ұялар эскизде іске қосылған кіріс тартқыш резисторларының арқасында Arduino кіріс түйреуіштеріне тікелей қосылады. Сыртқы резисторлардың қажеті жоқ.

Оптикалық кодер GND және +5V қосылады. Ол 2 480 Ом резисторлар арқылы өтетін Arduino кіріс түйреуіштеріне түседі, олардың әрқайсысы бір оптикалық деректер шығысы үшін.

Arduino DUE тікелей 5В істікшеден және +5В тұрақты ток хабымен жерге қосылады.

Барлық негіздер бір -бірімен байланысты.

Ардуино түйреуіштерінен IN/OUT перифериялық құрылғысына қосылулары бар кесте бекітілген. Arduino түйреуіш сандары менің противотиптік қондырғыларды көрсетеді және олар кездейсоқ көрінуі мүмкін. Сіз өзіңіздің қалауыңыз бойынша эскиздегі түйреуішті оңай өзгерте аласыз;)

6 -қадам: Егер менде MIDI -ден көп дерек көзі болса ше?

Егер менде MIDI -ден көп дерек көзі болса ше?
Егер менде MIDI -ден көп дерек көзі болса ше?

MIDI бірігуінің қысқаша іздеуінен кейін мен ең практикалық (және арзан) шешім MIDI ауыстырғыш екенін білдім.

MIDI ауыстырғыш - бұл MIDI көзін қосатын және барлық басқа көздерді өшіретін пассивті құрылғы. Осылай қарапайым.

MIDI ауыстырғыштың жүрегі - көп позициялы (менікі - 6 позиция), 2 полюсті қосқыш. Полюстер саны «2» болуы өте маңызды, себебі әрбір MIDI ұяшығы таңдалмаған жағдайда және басқалармен байланысқа түспегенде толығымен кесілуі керек. Мен өзімнің пайдалану үшін түсінген суретім қоса берілген.

БҰЛ Сілтемеде схема.

Ұсынылған: