Სარჩევი:
- ნაბიჯი 1: დამოკიდებულებები
- ნაბიჯი 2: Midi შეყვანის მნიშვნელობების კონფიგურაცია
- ნაბიჯი 3: დაამატეთ დამატებითი საქაღალდეები ნიმუშებით
- ნაბიჯი 4: დაამატეთ და დააკონფიგურირეთ ახალი ნიმუშები ახალ საქაღალდეებში
- ნაბიჯი 5: ნომრის ბალიშის მითითება
ვიდეო: Raspberry Pi Drum Machine: 5 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:15
Sample Sequencer, Raspberry Pi + Python– ის საშუალებით.
მიმდევრობას აქვს 4 მრავალხმიანობა და საშუალებას აძლევს მომხმარებელს შეინახოს და მიუთითოს 6 განსხვავებული თანმიმდევრობა, რომელთაც შეუძლიათ რეალურ დროში მონაცვლეობა და მხარს უჭერს სხვადასხვა ნიმუშებს შორის შეცვლის შესაძლებლობას.
მე დავწერე სცენარი ისე, რომ სრულად ფუნქციონირებდეს ნებისმიერ MIDI კონტროლერს და ბგერებს. მე ვიყენებ 18 სხვადასხვა ხმის ბანკს, თითოეული 16 ნიმუშს, თუმცა ბანკების და ნიმუშების დამატება ან გამოკლება ადვილია და არ საჭიროებს ბევრ მოდიფიკაციას. თუ რაიმე პრობლემა შეგექმნათ, გამომიგზავნეთ ელ.წერილი: [email protected]
იპოვეთ კოდი GitHub– ზე:
გთხოვთ, შემატყობინოთ, თუ იყენებთ მას, განსაკუთრებით თუ თქვენ იღებთ ვიდეოს მასთან ერთად!
ნაბიჯი 1: დამოკიდებულებები
ეს პროგრამა მოითხოვს შემდეგ (არა ჩაშენებულ) პითონის მოდულებს:
მიდო
პიგამეტი
დაბუჟებული
ამასთან, მიდო აყენებს გარკვეულ გართულებებს, რადგან მიდო თავად მოითხოვს რამდენიმე დამოკიდებულებას. იმისათვის, რომ დარწმუნდეთ, რომ ყველა მათგანი დაინსტალირებულია, უბრალოდ ჩაწერეთ შემდეგი ბრძანებები თქვენი Raspberry Pi ტერმინალში (გამოტოვეთ '$') და ყველაფერი კარგად იქნება. სხვა მოდულების დაყენება შესაძლებელია ნორმალურად.
$ sudo apt-get განახლება
$ sudo apt-get install install-essential
$ sudo apt-get დააინსტალირეთ libasound-dev ან libasound2-dev
$ sudo apt-get დააინსტალირეთ 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 შეყვანის მნიშვნელობების კონფიგურაცია
ძირითად პითონის სკრიპტში არის მასივი, რომელსაც ეწოდება noteList, რომელიც შედგება 16 მთელი რიცხვისგან (სტრიქონი 165.) ეს არის MIDI შენიშვნის მნიშვნელობები, რომელსაც ჩვენი კონტროლერი უგზავნის Pi- ს ბგერების გასააქტიურებლად. ყველა midi კონტროლერი განსხვავებულია, ასე რომ, თუ თქვენ ასევე არ გაქვთ Akai LPD8, თქვენ სავარაუდოდ დაგჭირდებათ ამ მნიშვნელობების შეცვლა თქვენი მოწყობილობის შესატყვისად.
Github– ის რეპო ასევე მოიცავს სხვა სკრიპტს სახელწოდებით "midihelp.py", რომელიც სპეციალურად ამ მიზნით არის შექმნილი! ყველაფერი რაც ის აკეთებს არის დაბეჭდვის შემავალი მნიშვნელობები პირველი MIDI კონტროლერისგან, რომელსაც კომპიუტერი ამოიცნობს კონსოლზე. თქვენ მხოლოდ უნდა შეცვალოთ ეს მნიშვნელობები მასივში, თუ ისინი განსხვავდება შენიშვნებში შეტანილი მნიშვნელობებისაგან.
შენიშვნების თანმიმდევრობა ასევე უკავშირდება ხმის ეფექტს თითოეულ საქაღალდეში, ასე რომ გაითვალისწინეთ ისიც.
ნაბიჯი 3: დაამატეთ დამატებითი საქაღალდეები ნიმუშებით
სკრიპტის ნიმუშების ნაკრები ინახება საქაღალდეების მეშვეობით იმავე დირექტორიაში, ზუსტად ისეა მითითებული, თუ როგორ არის 808 ნაკრები GitHub ფაილში. ამ გზით მე შემიძლია ყველა სახის სხვადასხვა ნიმუშის ნაკრები შენახული საქაღალდეებში, რომლებიც ადვილად ორგანიზებულია და შეიცვლება.
სკრიპტში ერთადერთი რაც შეიცვლება არის ცვლადი foldNum რომელიც უბრალოდ ეუბნება სკრიპტს რამდენი საქაღალდის ნიმუში არსებობს. ამჟამად სკრიპტს აქვს foldNum დაყენებული ერთზე, რადგან ერთი და იგივე დირექტორიაში არის მხოლოდ ერთი ქვესაქაღალდე (808 ნაკრები.) მაქსიმალური საქაღალდეები, რომლებსაც სკრიპტი ამუშავებს ამ მომენტში არის 18, რაც მე რამდენს ვიყენებ, თუმცა ეს საკმაოდ უმნიშვნელოა შეცვალე ეს, შემატყობინე თუ დახმარება გჭირდება.
საქაღალდეების სახელებს ნამდვილად არ აქვს მნიშვნელობა (რამდენადაც ისინი ყველა განსხვავებულია), რადგან სკრიპტი კითხულობს საქაღალდეების რაოდენობას იმავე დირექტორიაში და იჭერს გზებს ისე. თავად ფაილების სახელები მნიშვნელოვანია თუმცა, უფრო მეტად შემდეგ ეტაპზე.
ნაბიჯი 4: დაამატეთ და დააკონფიგურირეთ ახალი ნიმუშები ახალ საქაღალდეებში
ხმები იტვირთება ნიმუშში საქაღალდეების მეშვეობით იმავე დირექტორიაში, რომელიც შეიცავს.wav ფაილებს, სახელებით დანომრილი 0-15-დან. ამის მაგალითისთვის იხილეთ ჩართული 808 საქაღალდე. თითოეული ქვესაქაღალდე ნიმუშებით უნდა გამოიყურებოდეს ერთმანეთის იდენტური.
მასივის noteList- ში MIDI შეყვანის ინდექსი ზუსტად შეესაბამება.wav ფაილის სახელს.
Მაგალითად:
- როდესაც თქვენ ჩართავთ MIDI ნოტს, რომელიც ინახება noteList [0] - ში, wav ფაილი 0.wav ითამაშებს.
- როდესაც თქვენ ჩართავთ MIDI შენიშვნას, რომელიც ინახება noteList [8] - ში, wav ფაილი 8.wav ითამაშებს.
მე ეს ნაწილობრივ გავაკეთე ისე, რომ თითოეული MIDI კონტროლერი ადვილად დაყენებულიყო სკრიპტთან მუშაობისთვის, ასევე მე შემიძლია ადვილად განვავრცო ან შევზღუდო ნიმუში და შეყვანის ნომერი, ასევე მოვაწყო ფაილები და სკრიპტი ისე დარტყმის ბარაბანი ბგერები, მაგალითად, ყოველთვის შეინახებოდა 0.wav- ის სახით და გააქტიურდებოდა პირველი MIDI ნოტით.
მე შევარჩიე 16 მნიშვნელობა გარკვეულწილად თვითნებურად, რომ შეესაბამებოდეს ჩემს კონტროლერის 16 შეყვანას, ასე რომ, თუ გირჩევნიათ მიმდევრობის გაკეთება მხოლოდ 1 ნიმუშით, ან სხვა მრავალით, ყველაფერი რაც თქვენ გჭირდებათ არის აუდიო ფაილების ნუმერაცია შესაბამისად და გამოკლება ან დამატება noteList მასივში შენახული რიცხვების შესატყვისად.
თუ ჩართული ნაკრები 808 მუშაობს სწორად, მაგრამ თქვენ გაქვთ პრობლემა საკუთარ ნიმუშებთან, გამოსავალი სავარაუდოდ იქნება ფაილების შერჩევის მაჩვენებლის შეცვლა PyGame– ის 22, 050khz ნიმუშის სიხშირისა და 16 – იანი სიღრმის მიხედვით. ამის გაკეთება შეგიძლიათ Audacity– ში ნებისმიერი სხვა აუდიო რედაქტირების პროგრამა. მათ იქიდან მშვენივრად უნდა იმუშაონ!
ნაბიჯი 5: ნომრის ბალიშის მითითება
კარგი, ბევრი რამე ხდება მიმდევართა შიგნით, იმაზე მეტი ვიდრე თავიდან მქონდა მხედველობაში, ასე რომ, მე საკმაოდ შევიჭერი ნომრის ბალიშზე, რათა შეესაბამებოდეს გაზრდილ ფუნქციონირებას. ამის გათვალისწინებით, ვარსკვლავი * და პერიოდი. ორივე ფუნქციონირებს როგორც გასაღებები.
რეფერენცია
ძირითადი ფუნქციები
[8] - ჩართეთ და გამორთეთ მეტრონომი
[9] - ჩაწერის რეჟიმის ჩართვა და გამორთვა
[შეიყვანეთ] - თანმიმდევრობის დაკვრა/პაუზა
[0] - წაშალეთ მიმდინარე შენიშვნა თანმიმდევრობით
[Num Lock და *] - დახურეთ
[MIDI შენიშვნა და.] - ნუ კვანტირებ ლუწი რიცხვებამდე
TEMPO ფუნქციები
[+] - კურსის დაჩქარება BPM
[-] - კურსის შენელება BPM
[+ და *] - სწრაფი სიჩქარე BPM
[- და *] - სწრაფად შეანელეთ BPM
[+ და.] - FPM Speed Up BPM
[- და.] - Fine Slow Down BPM
მიმდევრობის ფუნქციები
[1-6] გავიხსენოთ თანმიმდევრობა 1-6
[1-6 და.] მაღაზიის მიმდევრობა 1-6
[0 და.] მიმდინარე თანმიმდევრობის გასუფთავება
ნიმუშის საქაღალდეების შეცვლა
[1-9 და *]-შეცვალეთ Sample Pack საქაღალდეებში 1-9
[1-9 და * და.]-შეცვალეთ ნიმუშის პაკეტი საქაღალდეებში 10-18
თანმიმდევრობის რჩევები:
-გაასუფთავეთ მიმდინარე თანმიმდევრობა [0 და.] და შეინახეთ იგი ნებისმიერი თანმიმდევრობით, რომლის ამოღებაც გსურთ მეხსიერებიდან.
-გაიხსენეთ თანმიმდევრობა და შეინახეთ სხვა ნომერზე, რომ დააკოპიროთ.
გირჩევთ:
MIDI Drum Kit პითონზე და არდუინოზე: 5 ნაბიჯი (სურათებით)
MIDI Drum Kit პითონზე და არდუინოზე: მე ბავშვობიდან ყოველთვის მინდოდა ბარაბნის ნაკრების ყიდვა. მაშინ, ყველა მუსიკალურ აღჭურვილობას არ გააჩნდა ყველა ციფრული პროგრამა, როგორც დღეს გვაქვს, ამიტომ ფასები მოლოდინებთან ერთად ძალიან მაღალი იყო. ცოტა ხნის წინ გადავწყვიტე ყიდვა c
ადვილი გასაკეთებელი MIDI Hang Drum: 4 ნაბიჯი
MIDI Hang Drum ადვილი გასაკეთებლად: ჩამოკიდებული ბარაბანი, რომელსაც ასევე უწოდებენ ხელჩანთას, სატანკო ბარაბანს ან ფოლადის ენის ბარაბანს, არის ინსტრუმენტი, რომელიც მზადდება პროპანის ავზისგან (რა თქმა უნდა ცარიელია), ლითონში დაჭრილი რამდენიმე ენით. შენიშვნების სიმაღლე დამოკიდებულია ენების ზომასა და წონაზე. ეს პრო
HX1 -DM - Upcycled Arduino DUE Powered DIY Drum Machine (დამზადებულია Dead Maschine MK2– ით): 4 ნაბიჯი
HX1 -DM - Upcycled Arduino DUE Powered DIY Drum Machine (დამზადებულია მკვდარი მანქანით MK2): სპეციფიკაცია. ჰიბრიდული Midi კონტროლერი / დრამის მანქანა: Arduino DUE იკვებება! 16 სიჩქარის მგრძნობიარე ბალიშები ძალიან დაბალი შეფერხებით 1 > ms 8 ღილაკით, რომელიც მომხმარებელს ენიჭება ნებისმიერი Midi #CC ბრძანებისთვის 16ch ჩამონტაჟებული მიმდევრი (არ საჭიროებს კომპიუტერს !!) MIDI in/out/thru functio
CNC Drum Plotter: 13 ნაბიჯი (სურათებით)
CNC Drum Plotter: a.articles {font-size: 110.0%; font-weight: bold; შრიფტის სტილი: დახრილი; ტექსტი-გაფორმება: არცერთი; ფონი-ფერი: წითელი;} a.articles: hover {ფონი-ფერი: შავი;} ეს ინსტრუქცია აღწერს A4/A3 პლოტერს, რომელიც დამზადებულია პლასტმასის ნაწილისგან
Arduino Servo Drum მანქანა: 4 ნაბიჯი
Arduino Servo Drum Machine: ეს არის მარტივი ორი მიკრო სერვო და Arduino Uno კონტროლირებადი ბარაბანი ან რობოტი. Servos დამონტაჟებულია L- ფორმის ხის ფრჩხილზე, რომელიც ეჭირა მახეში 4 ძლიერი მაგნიტით. სერვო იარაღი მიმაგრებულია ორ ჯოხზე, რომლებიც ასრულებენ