Satura rādītājs:
- 1. darbība. Atkarības
- 2. darbība: konfigurējiet Midi ievades vērtības
- 3. darbība: pievienojiet papildu mapes ar paraugiem
- 4. darbība: pievienojiet un konfigurējiet papildu paraugus jaunās mapēs
- 5. darbība: atsauce uz cipartastatūru
Video: Raspberry Pi bungu mašīna: 5 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:51
Paraugu sekvenceris, izmantojot Raspberry Pi + Python.
Sekvencētājam ir 4 polifonijas, un tas ļauj lietotājam saglabāt un norādīt 6 dažādas secības, kuras var mainīt reāllaikā, un atbalsta iespēju mainīt dažādus paraugus.
Es uzrakstīju skriptu tā, lai to varētu pilnībā izmantot ar jebkuru MIDI kontrolieri un skaņām. Es izmantoju 18 dažādas skaņas bankas, katrā 16 paraugus, tomēr banku un paraugu pievienošana vai atņemšana ir vienkārša un neprasa daudz izmaiņu. Ja rodas kādas problēmas, rakstiet man uz e -pastu: [email protected]
Atrodiet kodu vietnē GitHub:
Lūdzu, dariet man zināmu, ja to izmantojat, un jo īpaši, ja ar to veidojat video!
1. darbība. Atkarības
Šai programmai nepieciešami šādi (neiebūvēti) Python moduļi:
mido
spēles
dūšīgs
Tomēr Mido rada dažas komplikācijas, jo pats Mido prasa dažas atkarības. Lai pārliecinātos, ka tie visi ir instalēti, vienkārši ierakstiet šādas komandas Raspberry Pi terminālī (izlaižot '$'), un viss būs kārtībā. Pārējos moduļus var uzstādīt normāli.
$ sudo apt-get atjauninājums
$ sudo apt-get install build-essential
$ sudo apt-get install libasound-dev vai libasound2-dev
$ sudo apt-get install libjack0
$ sudo apt-get install libjack-dev
$ sudo apt-get install python-pip
$ sudo apt-get install python-dev
$ sudo pip instalējiet python-rtmidi
$ sudo pip instalēt mido
2. darbība: konfigurējiet Midi ievades vērtības
Galvenajā Python skriptā ir masīvs ar nosaukumu noteList, kas sastāv no 16 veseliem skaitļiem (165. rinda). Šīs ir MIDI piezīmju vērtības, kuras mūsu kontrolieris nosūta Pi, lai iedarbinātu skaņas. Tomēr katrs midi kontrolieris ir atšķirīgs, tādēļ, ja vien jums nav arī Akai LPD8, visticamāk, šīs vērtības būs jāmaina, lai tās atbilstu jūsu ierīcei.
Github repo ietver arī citu skriptu ar nosaukumu "midihelp.py", kas ir izveidots tieši šim nolūkam! Viss, kas jādara, ir izdrukāt ievades vērtības no pirmā MIDI kontroliera, kuru dators atpazīst konsolē. Viss, kas jums jādara, ir aizstāt šīs vērtības masīvā, ja tās atšķiras no noteList iekļautajām.
Piezīmju secība arī korelē ar to, kurš skaņas efekts tiek atskaņots katrai mapei, tāpēc paturiet to prātā.
3. darbība: pievienojiet papildu mapes ar paraugiem
Skripta paraugu komplekti tiek saglabāti, izmantojot mapes tajā pašā direktorijā, precīzi iestatot, kā 808 komplekts atrodas GitHub failā. Tādā veidā mapēs var tikt glabāti dažādi paraugu komplekti, kurus var viegli sakārtot un nomainīt.
Vienīgais, kas jāmaina pašā skriptā, ir mainīgais foldNum, kas tikai norāda skriptam, cik paraugu mapju ir. Pašlaik skriptam foldNum ir iestatīts uz vienu, jo tajā pašā direktorijā ir tikai viena apakšmape (808 komplekts.) Maksimālās mapes, ar kurām skripts šobrīd var rīkoties, ir 18, un to es izmantoju, taču tas ir diezgan triviāli mainiet to, informējiet mani, ja jums nepieciešama palīdzība.
Mapju nosaukumiem nav īsti nozīmes (ja vien tie visi ir atšķirīgi), jo skripts vienkārši nolasa mapju skaitu tajā pašā direktorijā un tādā veidā satver ceļus. Pašu failu nosaukumi tomēr ir svarīgi, vairāk par to nākamajā solī.
4. darbība: pievienojiet un konfigurējiet papildu paraugus jaunās mapēs
Skaņas tiek ielādētas paraugu ņemšanas ierīcē, izmantojot mapes tajā pašā direktorijā, kurā ir.wav faili ar nosaukumiem, kas numurēti no 0 līdz 15. Piemēru skatiet iekļautajā mapē 808. Katrai apakšmapei ar paraugiem vajadzētu izskatīties identiski.
Masīva noteList MIDI ievades indekss precīzi atbilst.wav faila nosaukumam.
Piemēram:
- aktivizējot noteList [0] saglabāto MIDI piezīmi, tiks atskaņots wav fails 0.wav.
- aktivizējot piezīmju sarakstā [8] saglabāto MIDI piezīmi, tiks atskaņots wav fails 8.wav.
Es to darīju daļēji tāpēc, lai ikvienu MIDI kontrolieri varētu viegli iestatīt darbam ar skriptu, kā arī lai es varētu viegli pagarināt vai ierobežot parauga un ievades numuru, kā arī sakārtot failus un skriptu tā, lai tas būtu iespējams skaņas, piemēram, vienmēr tiks saglabātas kā 0.wav, un tās iedarbinās pirmā MIDI piezīme.
Esmu izvēlējies 16 vērtības nedaudz patvaļīgi, lai tās atbilstu 16 kontroliera ieejām, tādēļ, ja vēlaties izveidot sekvenceri ar tikai vienu paraugu vai ar daudziem citiem, viss, kas jums jādara, ir atbilstoši numurēt audio failus un atņemiet vai pievienojiet NoteList masīvā saglabātos skaitļus, lai tie atbilstu.
Ja komplektā iekļautais 808 komplekts darbojas pareizi, bet jums ir problēmas ar saviem paraugiem, visticamāk, risinājums būs mainīt failu izlases ātrumu, lai tie atbilstu PyGame 22, 050 khz izlases ātrumam un bitu dziļumam 16. To var izdarīt, izmantojot Audacity vai jebkura cita audio rediģēšanas programmatūra. No turienes viņiem vajadzētu strādāt perfekti!
5. darbība: atsauce uz cipartastatūru
Ok, sekvencerā notiek daudz lietu, nekā es sākotnēji biju domājis, tāpēc es diezgan daudz piebāzu uz cipartastatūras, lai atbilstu paaugstinātajai funkcionalitātei. Paturot to prātā, zvaigznīte * un periods. abi darbojas kā funkciju taustiņi.
ATSAUCE
GALVENĀS FUNKCIJAS
[8] - Ieslēgt un izslēgt metronomu
[9] - Ieslēgt un izslēgt ierakstīšanas režīmu
[Enter] - Atskaņošanas/pauzes secība
[0] - Dzēst pašreizējo piezīmi secīgi
[Num Lock un *] - Izslēdzieties
[MIDI piezīme un.] - Nekvantējiet līdz pāra skaitļiem
TEMPO FUNKCIJAS
[+] - Kursa paātrināšana BPM
[-] - Kursa palēnināšana BPM
[+ un *] - strauji paātriniet BPM
[- un *] - strauji palēniniet BPM
[+ un.] - Fine Paātrināt BPM
[- un.] - Fine Slow Down BPM
SEKENCES FUNKCIJAS
[1-6] Atsaukt secību 1-6
[1-6 un.] Veikala secība 1-6
[0 un.] Notīrīt pašreizējo secību
PARAUGU mapju maiņa
[1-9 un *]-pārejiet uz parauga iepakojumu mapēs 1-9
[1-9 un * un.]-Pārslēdzieties uz parauga iepakojumu mapēs 10-18
SEKENCES PADOMI:
-Notīriet pašreizējo secību [0 un.] Un saglabājiet to visās secībās, kuras vēlaties izdzēst no atmiņas.
-Atgādiniet secību un saglabājiet to citā numurā, lai to kopētu.
Ieteicams:
Vienkārša bungu mašīna ar Arduino Uno un Mozzi: 4 soļi
Vienkārša bungu mašīna ar Arduino Uno un Mozzi: Dzīvošana Argentīnā nozīmē, ka starptautiskais pasts tiks nozagts vai iestrēgs muitā. Pievienojiet koronavīrusa karantīnu, un jūsu nākamais projekts ir ierobežots ar veco Arduino Uno dēli. Labas ziņas? Kā izcilais dzejnieks no Rolling Stones saka: “Laiks iet uz priekšu
Makey Makey elektriskās bungas / bungu mašīna: 8 soļi
Makey Makey elektriskās bungas / bungu mašīna: šī apmācība par to, kā izveidot elektrisko bungu komplektu, ir iekļūšana Makey Makey konkursā. Materiāls būs atkarīgs no pieejamības un personīgās izvēles. Kartonu var aizstāt ar izturīgākiem materiāliem un slāņveida ar putām/ citiem tekstiem
Aveņu Pi darbināta nevēlamu bungu mašīna: 15 soļi (ar attēliem)
Aveņu Pi darbināta nevēlamu bungu mašīna: šī pamācība parādīs, kā izveidot ar Raspberry Pi darbināmu robotu bungu mašīnu. Tas tiešām ir jautrs, radošs, interaktīvs projekts. Es jums parādīšu, kā darboties iekšēji, bet patiesās bungas būs jūsu ziņā, sniedzot jums
Arduino servo bungu mašīna: 4 soļi
Arduino servo bungu mašīna: Šī ir vienkārša divu mikroservo un Arduino Uno vadīta bungu mašīna vai robots. Servo ir uzstādīti uz L formas koka kronšteina, kas ar 4 stipriem magnētiem tiek turēts pie cilpas cilindra. Servo sviras ir pieskrūvētas pie diviem irbulīšiem, kas kalpo kā
Super GrooveAxe: mini bungu mašīna: 10 soļi (ar attēliem)
Super GrooveAxe: Mini bungu mašīna: sajūtiet sīko uzplaukumu! Vai jums kādreiz šķiet, ka jums pietrūkst sitienu? Vai jūsu dienai ir vajadzīgs labāks skaņu celiņš? Sajūtiet uzplaukumu ar Super GrooveAxe! Tas ir kabatas izmēra, ar baterijām darbināms bungu automāts & sekvenceris, ko varat ņemt līdzi jebkur. Tas padara priekšvakarā