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

Arpeggiating Synthesizer (Mosquito I) ՝ 6 քայլ
Arpeggiating Synthesizer (Mosquito I) ՝ 6 քայլ

Video: Arpeggiating Synthesizer (Mosquito I) ՝ 6 քայլ

Video: Arpeggiating Synthesizer (Mosquito I) ՝ 6 քայլ
Video: How to Play the Stranger Things Arpeggio 2024, Նոյեմբեր
Anonim
Arpeggiating սինթեզատոր (մոծակ I)
Arpeggiating սինթեզատոր (մոծակ I)

Mosquito I- ը փոքր arpeggiating սինթեզատոր է, որն օգտագործում է Arduino Nano- ն և Mozzi ձայնային սինթեզի գրադարանը: Այն կարող է խաղալ ավելի քան քսան 8 քայլանոց հաջորդականություն, բայց կարող եք ավելացնել այնքան անհատական հաջորդականություններ, որքան ցանկանում եք: Համեմատաբար պարզ է տեղադրումը և չի պահանջում շատ մասեր:

Պարագաներ:

  • Arduino Nano (կամ ցանկացած Arduino- ն իսկապես պետք է աշխատի)
  • 5 եա պոտենցիոմետր (10K գծային)
  • 2 եա Սեղմեք կոճակներ
  • 1 լուսադիոդ
  • 1 ea դիմադրություն (330 օմ)
  • 2 ea դիմադրություն (1K)
  • 1 ea դիմադրություն (2K)
  • 1 եա էլեկտրոլիտիկ կոնդենսատոր (100 uF)
  • 1 ե կերամիկական կոնդենսատոր (33 nF)
  • 1 և ստերեո Jack
  • Միացման մետաղալար
  • Breadboard

Քայլ 1: Arduino- ի կարգավորում

Arduino- ի կարգավորում
Arduino- ի կարգավորում
Arduino- ի կարգավորում
Arduino- ի կարգավորում

Նախ, եկեք Նանոյին դնենք սեղանի վրա և ստեղծենք մեր հզորությունը.

  1. Տեղադրեք Նանոն հացահատիկի վրա: Տեղադրեք այնպես, ինչպես ցույց է տրված վերևի նկարում: Այն պետք է տեղավորվի տախտակի կենտրոնական ալիքի վրա: Դուք կցանկանաք, որ այն տեղադրվի տախտակի մի ծայրին, իսկ USB պորտը ՝ դեպի այն կողմ: Այս կերպ մալուխը չի խանգարի, երբ այն միացնենք: Եթե դուք օգտագործում եք ավելի մեծ Arduino, ինչպիսին է Uno- ն կամ Mega- ն, ապա, իհարկե, այն չեք դնի սեղանի վրա:
  2. Միացրեք հոսանքի ռելսերը Arduino- ին: Միացրեք ձեր տախտակի դրական (կարմիր) ռելսերից մեկը Arduino- ի 5V քորոցին `օգտագործելով մետաղալարեր կամ ցատկող լարեր: Այնուհետեւ միացրեք բացասական (կապույտ) ռելսերից մեկը Նանոյի GND կապումներից մեկին:
  3. Միացրեք հոսանքի ռելսերը միմյանց: Հացաթխի երկու կողմերում գտնվող ռելսերի երկայնքով էներգիա ստանալու համար միացրեք տախտակի երկու կողմերում գտնվող ռելսերը միմյանց ՝ մի կողմից դրական ռելսից մետաղալար անցկացնելով դեպի մյուս կողմի դրական երկաթուղով: Կրկնեք սա բացասական ռելսերով:

Քայլ 2: Կառավարման տարրերի ավելացում

Կառավարման տարրերի ավելացում
Կառավարման տարրերի ավելացում

Mosquito I- ն օգտագործում է հինգ պոտենցիոմետր և երկու կոճակ ՝ հսկիչների համար:

Պոտենցիոմետրեր.

  1. Կաթսաները դրեք տախտակի վրա: Տեղադրեք կաթսաները այնպես, որ յուրաքանչյուր կապում լինի իր շարքում:
  2. Միացրեք կաթսաները հոսանքի ռելսերին: Յուրաքանչյուր կաթսայի ձախ կողը (եթե կողպեքին եք նայում) միացրեք տախտակի բացասական ռելսերից մեկին: Յուրաքանչյուր կաթսայի աջ կողային կապը միացրեք տախտակի դրական ռելսերից մեկին:
  3. Միացրեք կաթսաները Arduino- ին: Միացրեք յուրաքանչյուր կաթսայի կենտրոնական քորոցը Arduino- ի անալոգային կապումներից մեկին: Առաջին կաթսայի կենտրոնական քորոցը միանում է A0- ին, երկրորդը `A1- ին և այլն, և վերջին կաթսան միացված է A4- ին:

Կոճակներ.

  1. Տեղադրեք կոճակներ սեղանի վրա: Տեղադրեք երկու կոճակները հացահատիկի վրա, որպեսզի նրանք անցնեն կենտրոնական ալիքը:
  2. Միացրեք դրական կողմերը: Սեղանի տախտակի մի կողմում միացրեք կոճակը սեղմող կողմերից մեկը դրական ռելսին:
  3. Միացրեք բացասական կողմերը: Տեղադրեք 1K դիմադրիչներից մեկը տախտակի վրա այնպես, որ մի ծայրը միացված լինի կոճակի չօգտագործված քորոցին, իսկ դիմադրության մյուս կողմը `բացասական ռելսին:
  4. Միացման կոճակը Arduino- ին: Շարքի վրա անցկացրեք մետաղալար, որը միացնում է կոճակը բացասական ռելսին D2 կապին: Նույնը արեք մյուս կոճակով, բայց միացրեք այն D3- ին:

Քայլ 3: Արդյունքների ավելացում

Ելքերի ավելացում
Ելքերի ավելացում

Մենք ձայնը դուրս ենք բերում 9 -րդ կապից, ինչպես նաև յուրաքանչյուր հաջորդականության առաջին քայլին լուսարձակում ենք LED: Ահա թե ինչպես պետք է սարքավորումներ սարքել դրա համար:

LED

  1. Տեղադրեք LED լուսատախտակի դատարկ տարածության մեջ:
  2. Միացրեք LED- ի բացասական (կարճ) ոտքը բացասական ռելսին:
  3. Տեղադրեք ընթացիկ սահմանափակող դիմադրություն: 330 օմ դիմադրության մի կողմը միացրեք LED- ի դրական (երկար) ոտքին: Ռեզիստորի մյուս կողմը միացրեք Arduino- ի D4 կապին:

Աուդիո ելք

  1. Տեղադրեք RC ցանցը: Arduino- ի ելքային ազդանշանը գալիս է 9 -րդ կապից, սակայն ազդանշանը կարող է մի փոքր ավելի տաք լինել, քան կարող են կարգավորել որոշ բարձրախոսներ: Գծի մակարդակին ինչ -որ բանի իջեցնելու համար ես ավելացրել եմ RC ցանց (Notes & Volts- ի դիզայնի հիման վրա): Տեղադրեք 33nF և 100uF կոնդենսատորները ՝ 2K դիմադրության հետ միասին, ինչպես ցույց է տրված պատկերում/սխեմատիկ: Համոզվեք, որ էլեկտրոլիտիկ 100uF կոնդենսատորը միացված է ճիշտ բևեռայնության հետ (դրական/երկար ոտքը Arduino- ի վրա կկցվի 9 -ի, իսկ ժապավենի հետ ՝ բացասական/կարճ ոտքը):
  2. Միացրեք աուդիո խցիկի բացասական կողմը գետնին: Աուդիո խցիկի միացումները մի փոքր կտարբերվեն `կախված ձեր օգտագործած տեսակից, բայց դրանք ընդհանուր առմամբ նույնն են: Մենք պետք է միացնենք թևի թևը գետնին: Սա երբեմն նշվում է մինուս խորհրդանիշով կամ պիտակվում որպես «թև», «մատանի» կամ «գնդ»: Եթե ձեր աուդիո խցիկի վրա պիտակներ չկան, գուցե անհրաժեշտ լինի խորհրդակցել տվյալների թերթիկի հետ կամ պարզապես մանրակրկիտ զննել բանալին և տեսնել, թե արդյոք կարող եք որոշել, թե որ քորոցը միացված է ճակատի թևի կամ արտաքին օղակի հետ:
  3. Միացրեք աուդիո խցիկի դրական կողմը 100uF կոնդենսատորի բացասական կողմին: Մեր ձայնային ազդանշանը այժմ հոսում է Arduino- ի 9 -րդ կապից RC ցանցի միջով և դուրս է գալիս 100uF կոնդենսատորի բացասական կողմից: Մենք դա կկապենք մեր ձայնային խցիկի դրական կողմի հետ: Սա սովորաբար նշվում է գումարած խորհրդանիշով կամ կարող է պիտակավորված լինել «հուշում»: Կրկին, եթե այն պիտակավորված չէ, գուցե անհրաժեշտ լինի զննել այն ՝ պարզելու համար, թե որ քորոցը կկապվի վարդակի ծայրին: Բացի այդ, եթե դուք օգտագործում եք ստերեո միակցիչ, կարող է լինել L հուշում և R հուշում միացում: Քանի որ մենք թողարկում ենք մոնո ազդանշան, կարող եք պարզապես միանալ հուշման միացումներից մեկին:

Կարևոր. Եթե գտնում եք, որ ձայնը չափազանց հանգիստ է, գուցե կարողանաք վերացնել RC ցանցը 1 -ին քայլում և անմիջապես միանալ Arduino- ի 9 -րդ կապից ձայնին: Եթե ձայնը միացնում եք նախապես ուժեղացուցիչի, ինչպես արտաքին համակարգչի բարձրախոսներին, որտեղ ձայնի ձայնային կոճակ կա, այն միացնում եք ինչ-որ բանի, բայց ես դա խորհուրդ չեմ տա այնպիսի բաների համար, ինչպիսիք են ականջակալները, ականջակալները կամ բարձրախոսին ուղղակիորեն միացնելը: Եթե դուք որոշեք վերացնել RC ցանցը, ես առաջարկում եմ բարձրացնել ձայնի ձայնը մինչև Arduino- ն վառելուց առաջ, այնուհետև աստիճանաբար բարձրացնել ձայնը `ձեր բարձրախոսները փչելուց խուսափելու համար:

Ամեն ինչ կարգավորելուց հետո կրկին ստուգեք, որ բոլոր կապերը ճիշտ տեսք ունենան և համապատասխանեն վերը նշված պատկերին և սխեմատիկին

Քայլ 4: Կոդի վերբեռնում

Այժմ, երբ սարքավորումն ամբողջությամբ կարգավորված է, մենք պատրաստ ենք լուծել ծրագրային ապահովման կողմը.

  1. Գործարկեք Arduino IDE- ն: Ձեր համակարգչում գործարկեք Arduino IDE- ն (եթե այն չունեք, կարող եք ներբեռնել այն https://www.arduino.cc/en/software- ից):
  2. Ներբեռնեք Mozzi գրադարանը: Mozzi գրադարանը մեզ թույլ է տալիս օգտագործել մեր Arduino- ն որպես սինթեզատոր: Այս գրադարանը ձեր IDE- ում ձեռք բերելու համար անցեք Mozzi github էջ https://sensorium.github.io/Mozzi/download/: Կտտացրեք կանաչ «Կոդ» կոճակին և ընտրեք Ներբեռնեք ZIP:
  3. Տեղադրեք Mozzi գրադարանը zip ֆայլից: Arduino IDE- ում գնացեք Sketch-> Include Library-> Add. ZIP Library… Գնացեք դեպի ներբեռնված zip ֆայլը այն ավելացնելու համար: Այժմ դուք պետք է տեսնեք Mozzi- ն, որը նշված է Sketch-> Include Library բաժնում:
  4. Ներբեռնեք Mosquito I Arduino ծածկագիրը: Դուք կարող եք դա ստանալ իմ github կայքից ՝ https://github.com/analogsketchbook/mosquito_one: (Նկատի ունեցեք, որ սխեմաները հասանելի են նաև այնտեղ, եթե դրանք ձեզ անհրաժեշտ են էլեկտրահաղորդման համար:
  5. Միացրեք Arduino- ն համակարգչին և վերբեռնեք ծածկագիրը:

Քայլ 5: Շփոթություն

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

Ահա թե ինչ են անում վերահսկիչները.

Կաթսաներ:

Գնահատում. Սա վերահսկում է, թե ինչ արագությամբ է նվագարկվում հաջորդականիչը: Այն մերժելը հաջորդաբար կատարում է դիսկրետ նոտաներ: Այն ավելի բարձր դարձնելով `նոտաները միաձուլվում են` ստեղծելով բոլորովին նոր ալիքի ձևեր:

Լեգատո. Երկրորդ կաթսան վերահսկում է լեգատո կամ նոտայի երկարությունը: Այն ավելի շատ ձախ թեքելը տալիս է կարճ, sticatto գրառումներ, մինչդեռ այն դեպի աջ ՝ ավելի երկար գրառումներ:

Pitch: Սա սահմանում է հաջորդականության հիմնական սկիպիդարը: Թեքության կառավարումը սահմանում է MIDI արժեքներ, ուստի այն ավելացնում/նվազեցնում է կիսադասի բարձրությունը, այլ ոչ թե անընդհատ քայլերի տեղաշարժը:

Փուլ. Այս բռնակն աջ թեքելը ներկայացնում է փուլային նուրբ էֆեկտ: Տեխնիկապես ասած, դա պատճառ է դառնում, որ Mosquito I- ի երկու տատանումները փոքր -ինչ անջատվեն, ինչն էլ առաջացնում է փուլային փուլ: Այնուամենայնիվ, դա սկիպիդարով հետևելը չէ, այնպես որ փուլային ազդեցությունը, հավանաբար, ավելի նկատելի է ավելի ցածր սկիպիդարների վրա:

Filտիչ. Այս կոճակը վերահսկում է ցածր փոխանցման ֆիլտրի անջատման հաճախականությունը: Այն ձախ թեքելը կտրում է բարձր հաճախականությունները ՝ առաջացնելով ավելի խլացված ձայն, մինչդեռ այն աջ թեքելը տալիս է ավելի պայծառ ձայն:

Կոճակներ:

Mosquito- ն ունի ավելի քան քսան տարբեր հաջորդականություն, որոնք կարող են լռելյայն խաղալ: Սեղմման կոճակները թույլ են տալիս ընտրել, թե որ հաջորդականությունն է խաղում: Մեկ կոճակը ձեզ տեղափոխում է հաջորդականությունների ցանկը, իսկ մյուսը իջնում է ցանկը:

Քայլ 6: Անհատականացում

Անհատականացում
Անհատականացում

Ես ավելացրել եմ մի շարք կանխադրված հաջորդականություններ, հիմնականում ՝ տարբեր սանդղակներ, բայց դուք կարող եք բավականին հեշտությամբ հարմարեցնել ծածկագիրը ՝ նվագարկվող գրառումների հաջորդականությունը փոխելու, նորերը ավելացնելու կամ հաջորդականությամբ նշումների քանակը փոխելու համար: Ստորև բերված են մանրամասներ, թե ինչպես է դա արվում, եթե ցանկանում եք հարմարեցնել այն:

Գոյություն ունեցող հաջորդականության մեջ նշումներ փոխելը

Հաջորդականությունները պահվում են զանգվածների զանգվածում, որոնք կոչվում են NOTES: Յուրաքանչյուր նոտա պահվում է որպես MIDI նոտայի արժեք, այնպես որ, եթե ցանկանում եք որոշակի հաջորդականությամբ փոխել նշումները, պարզապես փոխեք այդ հաջորդականության MIDI նշումների համարները: Լռելյայն կարգավորումն է ՝ յուրաքանչյուր հաջորդականությամբ խաղալ 8 քայլ, այնպես որ կարող եք ընդամենը 8 MIDI արժեք ունենալ հաջորդականությամբ (տե՛ս ստորև, եթե ցանկանում եք ունենալ հաջորդականության տարբեր երկարություններ):

Մի բան պետք է նշել, որ սկիպիդարների կոճակն ավելացնում է նոտայի փոխհատուցում NOTI զանգվածում նշված MIDI արժեքներին: Երբ կոճակը կենտրոնացած է, այն նվագում է զանգվածում նշված MIDI նոտաները, բայց երբ պտտեցնում եք սկիպիդարը, այն ավելացնում կամ հանում է կիսաձայնը նվագարկվող նոտաներին:

Նոր հաջորդականությունների ավելացում

Դուք կարող եք նոր հաջորդականություններ ավելացնել NOTES զանգվածին `պարզապես ցանկի վերջում ավելացնելով 8 նոտայի նոր զանգված: Եթե դա անեք, դուք նույնպես պետք է փոխեք numSequences փոփոխականի արժեքը `հաջորդականությունների նոր թվին համապատասխանելու համար: Օրինակ, NOTES զանգվածը լռելյայն ունի 21 հաջորդականություն, ուստի numSequences փոփոխականը սահմանվում է 21 -ի: Եթե ավելացնեք մեկ նոր հաջորդականություն, ապա պետք է numSequences փոփոխականը փոխեք 22 -ի:

Կարող եք ավելացնել այնքան նոր հաջորդականություններ, որքան ցանկանում եք:

Հերթականության երկարության փոփոխություն

Եթե ցանկանում եք փոխել ձեր հաջորդականությունների երկարությունը (եթե ցանկանում եք ասել 4 քայլից կամ 16 քայլից բաղկացած հաջորդականություն), կարող եք դա անել, բայց միակ նախազգուշացումն այն է, որ բոլոր հաջորդականությունները պետք է լինեն նույն երկարությամբ: Դուք նաև պետք է numNotes փոփոխականը սահմանեք ՝ ձեր հաջորդականությունների երկարությանը համապատասխանելու համար:

Այլ փոփոխություններ

Կան մի շարք այլ հարմարեցումներ, որոնք հնարավոր են, ինչպիսիք են ՝ ալիքի ձևի տեսակների փոխարկումը, ֆիլտրի կարգավորումները/արժեքները, որոնք դուրս են այս ձեռնարկի շրջանակներից: Mozzi ծածկագիրը պարզելը սկզբում կարող է մի փոքր դժվար լինել, բայց ես փորձել եմ հնարավորինս փաստաթղթավորել ծածկագիրը ՝ ցույց տալու համար, թե ինչ են անում կոդի տարբեր մասերը:

Կան Mozzi- ի ծածկագրի մի քանի հիմնական մասեր, որոնք ունեն բավականին կոնկրետ կիրառումներ, և ես դրանք թվարկել եմ ստորև ՝ ձեզ պատկերացում կազմելու համար, թե դրանք ինչի համար են օգտագործվում.

  • setup () - Եթե նախքան այս գործառույթին ծանոթ լինելը ծրագրավորել եք Arduinos- ի համար, և այն գրեթե նույնն է օգտագործվում Mozzi- ում: Մենք այն օգտագործում ենք հիմնականում տատանումների, զտիչների և այլնի կանխադրված կարգավորումներ ստեղծելու համար:
  • updateControl () - Այստեղ աշխատում է Mozzi ծածկագրի առյուծի բաժինը: Այնտեղ մենք կարդում ենք զամբյուղի և կոճակի արժեքները, քարտեզագրում և փոխակերպում այդ արժեքները սինթեզատոր օգտագործելու համար, և որտեղ կատարվում է հաջորդականությունը:
  • updateAudio () - Սա Mozzi գրադարանից վերջնական արդյունքն է: Սովորաբար, այստեղ ծածկագիրը շատ փոքր է և նիհար, որովհետև այս գործառույթը Mozzi- ն օգտագործում է ժամացույցի բոլոր ցիկլերը առավելագույնի հասցնելու համար: Ինչպես տեսնում եք մոծակների ծածկագրում, այն կարող է մի փոքր գաղտնալսվել, բայց այն ամենը, ինչ մենք հիմնականում անում ենք, համադրում/բազմապատկում ենք մեր տարբեր ալիքների ձևերը, այնուհետև դրանք փոխում բիթերը ՝ համապատասխանեցնելով որոշակի թվային տիրույթին: Ավելի լավ է այս գործառույթը շատ թեթև պահել (ոչ թե Սերիական զանգեր կամ կարդալու կապում) և փոխարենը նյութերի մեծ մասը դնել controlUpdate () գործառույթի մեջ: Mozzi- ի փաստաթղթերը դա ավելի մանրակրկիտ են ներկայացնում:

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