Բովանդակություն:
- Քայլ 1: Կախվածություն
- Քայլ 2. Կարգավորեք Midi մուտքագրման արժեքները
- Քայլ 3. Ավելացրեք լրացուցիչ թղթապանակներ օրինակներով
- Քայլ 4. Ավելացրեք և կազմաձևեք լրացուցիչ նմուշներ նոր թղթապանակների ներսում
- Քայլ 5: Թիվի բարձիկի տեղեկանք:
Video: Raspberry Pi Drum Machine: 5 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:45
Sample Sequencer ՝ Raspberry Pi + Python- ի միջոցով:
Սեկվենսերն ունի 4 բազմաձայնություն և թույլ է տալիս օգտագործողին պահել և հուշել 6 տարբեր հաջորդականություններ, որոնք նրանք կարող են փոխարինել իրական ժամանակում, և աջակցում է տարբեր նմուշների միջև փոխվելու ունակությանը:
Ես գրել եմ սցենարը այնպես, որ այն լիովին գործարկվի իրոք ցանկացած MIDI կարգավորիչի և հնչյունների հետ: Ես օգտագործում եմ 18 տարբեր ձայնային բանկեր ՝ յուրաքանչյուրը 16 նմուշ, սակայն բանկեր և նմուշներ ավելացնելը կամ հանելը հեշտ է և շատ փոփոխություններ չեն պահանջում: Եթե որևէ խնդիր ունեք, ինձ էլ. Նամակ ուղարկեք ՝ [email protected]
Գտեք կոդը GitHub- ում ՝
Խնդրում եմ ինձ տեղյակ պահեք, եթե այն օգտագործում եք, և հատկապես, եթե դրանով տեսանյութ եք պատրաստում:
Քայլ 1: Կախվածություն
Այս ծրագիրը պահանջում է հետևյալ (ոչ ներկառուցված) Python մոդուլներ.
միդո
pygame
թմրած
Այնուամենայնիվ, Միդոն որոշ բարդություններ է առաջացնում, քանի որ Միդոն ինքնին պահանջում է մի քանի կախվածություն: Որպեսզի համոզվեք, որ դրանք բոլորը տեղադրված են, պարզապես մուտքագրեք հետևյալ հրամանները ձեր Raspberry Pi- ի տերմինալում (բաց թողնելով «$») և ամեն ինչ լավ կլինի: Մնացած մոդուլները կարող են նորմալ տեղադրվել:
$ sudo apt-get թարմացում
$ sudo apt-get install build-essential
$ sudo apt-get տեղադրել libasound-dev կամ libasound2-dev
$ sudo apt-get install libjack0
$ sudo apt-get տեղադրել libjack-dev
$ sudo apt-get տեղադրել python-pip
$ sudo apt-get տեղադրել python-dev
$ sudo pip տեղադրել python-rtmidi
$ sudo pip տեղադրել mido
Քայլ 2. Կարգավորեք Midi մուտքագրման արժեքները
Հիմնական Python Script- ում կա noteList կոչվող զանգված, որը բաղկացած է 16 ամբողջ թվից (տող 165.) Սրանք MIDI նշումների արժեքներն են, որոնք մեր վերահսկիչը ուղարկում է Pi- ին ՝ ձայները հարուցելու համար: Յուրաքանչյուր midi վերահսկիչ, այնուամենայնիվ, տարբեր է, այնպես որ, եթե դուք նույնպես չունեք Akai LPD8, ամենայն հավանականությամբ, պետք է փոփոխեք այս արժեքները ՝ ձեր սարքին համապատասխանելու համար:
Github ռեպոն ներառում է նաև մեկ այլ սցենար, որը կոչվում է «midihelp.py», որը պատրաստված է հատուկ այս նպատակով: Այն ամենը, ինչ անում է, տպում է մուտքային արժեքները առաջին MIDI վերահսկիչից, որը համակարգիչը ճանաչում է մխիթարել: Մնում է միայն փոխարինել այս արժեքները զանգվածում, եթե դրանք տարբերվում են noteList- ում ներառվածներից:
Նշումների կարգը նույնպես փոխկապակցված է, թե որ ձայնային էֆեկտն է հնչում մեկ թղթապանակում, ուստի դա նույնպես նկատի ունեցեք:
Քայլ 3. Ավելացրեք լրացուցիչ թղթապանակներ օրինակներով
Սցենարի մեջ գտնվող նմուշների հավաքածուները պահվում են նույն գրացուցակում գտնվող թղթապանակների միջոցով, ճշգրիտ ձևակերպելով, թե ինչպես է 808 հավաքածուն գտնվում GitHub ֆայլի մեջ: Այս կերպ ես կարող եմ ունենալ բոլոր տեսակի տարբեր նմուշների հավաքածուներ պահված պանակներում, որոնք հեշտությամբ կազմակերպվում և փոխարինվում են:
Սցենարի մեջ միակ բանը, որ պետք է փոխվի, foldNum փոփոխականն է, որը պարզապես սցենարին հայտնում է նմուշների քանի պանակ: Ներկայումս սցենարը foldNum- ը մեկ է դրել, քանի որ նույն գրացուցակում կա միայն մեկ ենթապանակ (808 հավաքածուն): Առավելագույն պանակները, որոնք այս պահին կարող է մշակել սցենարը 18 -ն է, ինչը քանիսն եմ ես օգտագործում, սակայն դա բավականին աննշան է փոխեք սա, ինձ տեղեկացրեք, եթե օգնության կարիք ունեք:
Թղթապանակների անունները իրականում նշանակություն չունեն (քանի դեռ դրանք բոլորը տարբեր են), քանի որ Script- ը պարզապես կարդում է նույն գրացուցակում պահված թղթապանակների քանակը և այդպես է գրավում ուղիները: Ֆայլերի անուններն ինքնին կարևոր են, բայց դրա մասին ավելին ՝ հաջորդ քայլին:
Քայլ 4. Ավելացրեք և կազմաձևեք լրացուցիչ նմուշներ նոր թղթապանակների ներսում
Ձայները բեռնվում են նմուշառողի մեջ նույն թղթապանակի պանակների միջոցով: Տեսեք ներառված 808 թղթապանակը `դրա օրինակով: Նմուշներով ԱՄԵՆ ենթապանակը պետք է նույնական լինի միմյանց:
Noteանգվածի noteList- ում MIDI մուտքագրումների ինդեքսը ճշգրիտ համապատասխանում է.wav ֆայլի անունին:
Օրինակ:
- երբ միացնում եք noteList [0] - ում պահվող MIDI նշումը, wav ֆայլը `0.wav, կխաղա:
- երբ միացնում եք noteList [8] - ում պահվող MIDI նշումը, wav ֆայլը 8.wav կխաղա:
Ես դա մասամբ արեցի, որպեսզի յուրաքանչյուր MIDI վերահսկիչ հեշտությամբ տեղադրվի սցենարի հետ աշխատելու համար, ինչպես նաև կարողանամ հեշտությամբ ընդլայնել կամ սահմանափակել նմուշը և մուտքային համարը, ինչպես նաև կազմակերպել ֆայլերն ու սցենարը այնպես, որ հարվածի թմբուկը հնչյունները, օրինակ, միշտ կպահպանվեին որպես 0.wav և կհարթվեին առաջին MIDI նշումով:
Որոշ չափով կամայականորեն ընտրել եմ 16 արժեքներ, որոնք կհամապատասխանեն իմ վերահսկիչի 16 մուտքերին, այնպես որ, եթե նախընտրում եք կատարել հաջորդականիչ միայն 1 նմուշով, կամ շատ ավելին, ապա ձեզ մնում է միայն համարակալել համապատասխանաբար աուդիո ֆայլերը և հանել կամ ավելացնել noteList զանգվածում պահվող թվերը ՝ համապատասխանեցնելու համար:
Եթե ներառված 808 հավաքածուն ճիշտ է աշխատում, բայց ձեր սեփական նմուշների հետ կապված խնդիրներ ունեք, ապա ամենայն հավանականությամբ լուծումը կլինի ֆայլերի նմուշի արագության փոփոխումը, որը կհամապատասխանի PyGame- ի 22, 050khz նմուշի արագությանը և 16 բիթ խորությանը: Դուք կարող եք դա անել Audacity կամ աուդիո խմբագրման ցանկացած այլ ծրագիր: Նրանք պետք է կատարյալ աշխատեն այնտեղից:
Քայլ 5: Թիվի բարձիկի տեղեկանք:
Լավ, շատ բան է կատարվում սեքվենսերների ներսում, ավելին, քան ես ի սկզբանե մտքում ունեի, ուստի ես բավականին սեղմվեցի Համարների բարձիկի վրա `համապատասխանեցնելով ավելացված ֆունկցիոնալությանը: Սա նկատի ունենալով ՝ Աստղանիշը * և Pամանակաշրջանը: երկուսն էլ գործում են որպես գործառնական ստեղներ:
ՏԵEFԵԿՈԹՅՈՆ
ՍԱՀՄԱՆԱՓՈԽՈԹՅՈՆՆԵՐ
[8] - Միացնել և անջատել Metronome- ը
[9] - Միացնել և անջատել ձայնագրման ռեժիմը
[Մուտքագրեք] - Խաղալ/դադարեցնել հաջորդականությունը
[0] - Currentնջել ընթացիկ նշումը հաջորդականությամբ
[Num Lock and *] - Անջատեք
[MIDI Նշում և.] - Մի՛ հաշվեք զույգ թվեր
TԱՄԱՆԱԿԱՅԻՆ ԳՈՐՈՆԵՈԹՅՈՆՆԵՐ
[+] - Դասընթացի արագացում BPM
[-] - Դասընթացը դանդաղեցրեք BPM- ը
[+ և *] - Արագ արագացրեք BPM- ը
[- և *] - արագ դանդաղեցրեք BPM- ը
[+ և.] - Fine Speed Up BPM
[- և.] - Fine Slow Down BPM
ՀԵՏԱՊԵՏՈԹՅԱՆ Ֆունկցիաներ
[1-6] Հիշենք 1-6-րդ հաջորդականությունը
[1-6 և.] Պահել հաջորդականությունը 1-6
[0 և.] Մաքրել ընթացիկ հաջորդականությունը
Նմուշի թղթապանակների փոխում
[1-9 և *]-Փոխել դեպի Թղթապանակի 1-9 օրինակների փաթեթ
[1-9 և * և.]-Փոխեք դեպի Թղթապանակի օրինակ 10-18
ՀԵՏԵՎԱՆՔԱՅԻՆ ԽՈՐՀՈՐԴՆԵՐ
-Մաքրել ընթացիկ հաջորդականությունը [0 և.] Եվ պահել այն ցանկացած հաջորդականությամբ, որը ցանկանում եք մաքրել հիշողությունից:
-Հիշեք հաջորդականությունը և պահեք այն այլ համարի վրա `այն պատճենելու համար:
Խորհուրդ ենք տալիս:
MIDI Drum Kit Python- ի և Arduino- ի վրա. 5 քայլ (նկարներով)
MIDI Drum Kit Python- ի և Arduino- ի վրա. Մանկուց ես միշտ ցանկացել եմ թմբուկ գնել: Այն ժամանակ բոլոր երաժշտական սարքավորումները չունեին բոլոր թվային ծրագրերը, ինչպես մենք ունենք այսօր, ուստի գները սպասումների հետ միասին չափազանց բարձր էին: Վերջերս ես որոշեցի գնել գ
Makey Makey Electric Drums / Drum Machine: 8 Steps
Makey Makey Electric հարվածային գործիքներ փրփուրով/ այլ տեքսի համար
HX1 -DM - The Upcycled Arduino DUE Powered DIY Drum Machine (made with Dead Maschine MK2): 4 քայլ
HX1 -DM - The Upcycled Arduino DUE Powered DIY Drum Machine (made with Dead Maschine MK2): The Spec. Hybrid Midi վերահսկիչ / թմբուկային մեքենա. Arduino DUE սնուցմամբ: 16 Արագության զգայուն բարձիկներ ՝ շատ ցածր հապաղումով ՝ 1 > ms 8 կոճակով, օգտագործողը կարող է նշանակվել ցանկացած Midi #CC հրամանի համար 16ch Ներկառուցված հաջորդականիչ (համակարգչի կարիք չկա !!) MIDI ներս/դուրս/գործառույթի միջոցով
CNC Drum Plotter: 13 քայլ (նկարներով)
CNC Drum Plotter: a.articles {font-size: 110.0%; տառաչափը ՝ համարձակ; տառատեսակ ՝ շեղագիր; տեքստի ձևավորում. ոչ մեկը; ֆոնային-գույնը ՝ կարմիր;} ա. հոդվածներ ՝ սավառնել {ֆոնային-գույնը ՝ սև;} Այս հրահանգը նկարագրում է A4/A3 գծապատկեր, որը պատրաստված է պլաստմասե պի
Super GrooveAxe: Mini Drum Machine: 10 Steps (With Pictures)
Super GrooveAxe: Mini Drum Machine: Feel the Tiny Boom! Երբևէ զգացե՞լ եք, որ կարոտում եք մի քանի հարված: Արդյո՞ք ձեր օրն ավելի լավ սաունդթրեքի կարիք ունի: Theգացեք բումը Super GrooveAxe- ի հետ: Դա գրպանի չափի, մարտկոցով աշխատող թմբուկի մեքենա է & հաջորդականություն, որը կարող եք վերցնել ցանկացած վայրում: Դա դարձնում է նախօրեին