Talaan ng mga Nilalaman:
- Hakbang 1: Mga Dependance
- Hakbang 2: I-configure ang Mga Halaga ng Midi Input
- Hakbang 3: Magdagdag ng Karagdagang Mga Folder Sa Mga Sampol
- Hakbang 4: Magdagdag at I-configure ang Mga Karagdagang Sample Sa Loob ng Mga Bagong Folder
- Hakbang 5: Sanggunian sa Numero ng Pad
Video: Machine ng Raspberry Pi Drum: 5 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:10
Sample Sequencer, sa pamamagitan ng isang Raspberry Pi + Python.
Ang tagapagsunud-sunod ay mayroong 4 polyphony at pinapayagan ang gumagamit na mag-imbak at magbigay ng 6 na magkakaibang pagkakasunud-sunod na maaari nilang kahalili sa pagitan ng real time, at sinusuportahan ang kakayahang magbago sa pagitan ng iba't ibang mga sample.
Isinulat ko ang script sa isang paraan na ganap na mapapatakbo sa talagang anumang MIDI controller at tunog. Gumagamit ako ng 18 magkakaibang mga tunog na bangko, 16 bawat sample, subalit ang pagdaragdag o pagbabawas ng mga bangko at sample ay madali at hindi nangangailangan ng maraming pagbabago. Kung mayroon kang anumang problema kunan ako ng isang email: [email protected]
Hanapin ang code sa GitHub sa:
Mangyaring ipaalam sa akin kung ginagamit mo ito, at lalo na kung gumawa ka ng isang video kasama nito!
Hakbang 1: Mga Dependance
Ang program na ito ay nangangailangan ng sumusunod (hindi built in) na Mga Modyul ng Python:
mido
pygame
numpy
Gayunpaman, itinapon ni Mido ang ilang mga komplikasyon dahil ang Mido mismo ay nangangailangan ng ilang mga dependance. Upang matiyak na naka-install silang lahat, i-type lamang ang mga sumusunod na utos sa terminal ng iyong Raspberry Pi (tinatanggal ang '$') at magiging maayos ang lahat. Ang iba pang mga module ay maaaring mai-install nang normal.
$ sudo apt-get update
$ sudo apt-get install na mahahalagang build
$ sudo apt-get install libasound-dev o 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 i-install ang python-rtmidi
$ sudo pip install mido
Hakbang 2: I-configure ang Mga Halaga ng Midi Input
Sa loob ng pangunahing Python Script mayroong isang array na tinatawag na noteList na binubuo ng 16 na integer (linya 165.) Ito ang mga halagang tala ng MIDI na ipinapadala ng aming controller sa Pi upang ma-trigger ang mga tunog. Ang bawat midi controller ay magkakaiba, kaya maliban kung mayroon ka ding isang Akai LPD8 malamang na kailangan mong baguhin ang mga halagang ito upang tumugma sa iyong aparato.
Ang Github repo ay nagsasama rin ng isa pang script na tinatawag na "midihelp.py" na partikular na ginawa para sa hangaring ito! Ang lahat ng ginagawa nito ay i-print ang mga halaga ng pag-input mula sa unang MIDI controller na kinikilala ng computer sa console. Ang kailangan mo lang gawin ay palitan ang mga halagang ito sa array kung naiiba ang mga ito sa mga kasama sa noteList.
Ang pagkakasunud-sunod sa mga tala ay nakikipag-ugnay din sa aling tunog na epekto sa bawat folder ang nilalaro, kaya't tandaan din iyon.
Hakbang 3: Magdagdag ng Karagdagang Mga Folder Sa Mga Sampol
Ang mga sample kit sa loob ng script ay nakaimbak sa pamamagitan ng mga folder sa parehong direktoryo, i-set up nang eksakto kung paano ang 808 kit ay nasa loob ng file ng GitHub. Sa ganitong paraan maaari akong magkaroon ng lahat ng mga iba't ibang mga hanay ng sample na nakaimbak sa loob ng mga folder na madaling ayos at pinalitan.
Ang tanging bagay na dapat baguhin sa script mismo ay ang variable foldNum na nagsasabi lamang sa script kung gaano karaming mga folder ng mga sample ang mayroong. Sa kasalukuyan ang script ay may foldNum na nakatakda sa isa dahil mayroon lamang isang subfolder sa parehong direktoryo (ang 808 kit.) Ang maximum na mga folder na maaaring hawakan ng script sa ngayon ay 18, na kung gaano karami ang ginagamit ko, subalit medyo walang halaga ito sa baguhin ito, ipaalam sa akin kung kailangan mo ng tulong.
Ang mga pangalan ng mga folder ay hindi talaga mahalaga (basta magkakaiba ang lahat) habang binabasa lamang ng Script ang dami ng mga folder sa parehong direktoryo at inaagaw ang mga landas sa ganoong paraan. Ang mga pangalan ng mga file mismo ay mahalaga, higit pa sa susunod na hakbang.
Hakbang 4: Magdagdag at I-configure ang Mga Karagdagang Sample Sa Loob ng Mga Bagong Folder
Ang mga tunog ay na-load sa sampler sa pamamagitan ng mga folder sa parehong direktoryo na naglalaman ng.wav file na may mga pangalan na may bilang sa pagitan ng 0-15. Tingnan ang kasama na 808 folder para sa isang halimbawa nito. BAWAT subfolder na may mga sample ay dapat magmukhang magkapareho sa bawat isa.
Ang index ng mga input ng MIDI sa array noteList ay tumutugma nang eksakto sa.wav file name.
Halimbawa:
- kapag na-trigger mo ang tala ng MIDI na nakaimbak sa noteList [0] ang wav file na 0.wav ay maglalaro.
- kapag na-trigger mo ang tala ng MIDI na nakaimbak sa noteList [8] ang wav file 8.wav ay maglaro.
Ginawa ko ito sa bahagi upang ang bawat solong MIDI controller ay madaling mai-set up upang gumana sa script, at sa gayon madali kong mapalawak o malilimitahan ang sample at input number, pati na rin ayusin ang mga file at script kaya ang kick drum ang mga tunog, halimbawa, ay laging mai-save bilang 0.wav at mai-trigger ng unang tala ng MIDI.
Pinili ko ang 16 na halagang medyo arbitraryo upang tumutugma sa 16 na input sa aking controller, kaya kung mas gugustuhin mong gumawa ng isang tagapagsunud-sunod na may lamang 1 sample, o sa marami pang iba, ang kailangan mo lang gawin ay bilangin ang mga audio file nang naaayon at ibawas o idagdag ang mga numero na nakaimbak sa loob ng noteList array upang tumugma.
Kung ang isinama na 808 kit ay gumagana nang maayos ngunit mayroon kang problema sa iyong sariling mga sample ang solusyon ay malamang na baguhin ang sample rate ng mga file upang tumugma sa 22, 050khz sample rate ng PyGame at lalim ng bit ng 16. Maaari mo itong gawin sa Audacity o anumang iba pang software sa pag-edit ng Audio. Dapat silang ganap na gumana mula doon!
Hakbang 5: Sanggunian sa Numero ng Pad
Ok mayroong maraming mga bagay na nangyayari sa loob ng tagapagsunud-sunod, higit sa una kong naisip, kaya't nag-crammed ako nang kaunti sa isang Number Pad upang tumugma sa pinataas na pag-andar. Sa isipan ito, ang Asterisk * at ang Panahon. parehong gumana bilang mga function key.
SANGGUNIAN
MAINFUNCTIONS
[8] - I-toggle at i-off ang Metronome
[9] - I-toggle at i-off ang Mode ng Pagrekord
[Enter] - Pagkakasunud-sunod ng Pag-play / I-pause
[0] - Tanggalin ang Kasalukuyang Tandaan sa Sequence
[Num Lock at *] - Patayin
[Tandaan MIDI at.] - Huwag sukatin sa pantay na mga numero
TEMPO FUNCTIONS
[+] - Bilis ng Kurso sa BPM
[-] - Kurso na Mabagal BPM
[+ at *] - Mabilis na Pabilisin ang BPM
[- at *] - Mabilis na Mabagal ang BPM
[+ at.] - Fine Speed Up BPM
[- at.] - Fine Slow Down BPM
Mga pagpapatakbo ng pagkakasunud-sunod
[1-6] Recall Sequence 1-6
[1-6 at.] Sequence ng Tindahan 1-6
[0 at.] I-clear ang Kasalukuyang Sequence
PAGBABAGO NG SAMPLE FOLDERS
[1-9 at *] - Baguhin sa Sample Pack sa Mga Folder 1-9
[1-9 at * at.] - Baguhin sa Sample Pack sa Mga Folder 10-18
Mga Tip sa Pagkakasunud-sunod:
-Linisin ang kasalukuyang pagkakasunud-sunod [0 at.] At iimbak ito sa anumang mga pagkakasunud-sunod na nais mong i-clear sa memorya.
-Recall ang isang pagkakasunud-sunod at iimbak ito sa ibang numero upang makopya ito.
Inirerekumendang:
Simpleng Drum Machine Na May Arduino Uno at Mozzi: 4 na Hakbang
Simpleng Drum Machine Na May Arduino Uno at Mozzi: Ang pamumuhay sa Argentina ay nangangahulugang ang international mail ay ninakaw o ma-stuck sa customs. Magdagdag ng Coronavirus quarantine at ang iyong susunod na proyekto ay pinaghihigpitan sa isang matandang Arduino Uno board. Magandang balita? Tulad ng sinabi ng dakilang makata mula sa Rolling Stones na "Ang oras ay nasa m
Micro: bit - Micro Drum Machine: 10 Hakbang (na may Mga Larawan)
Micro: bit - Micro Drum Machine: Ito ay isang micro: bit micro drum machine, na sa halip na bumubuo lamang ng tunog, kumilos nang malakas. Ito ay mabigat na inspirasyon ng mga kuneho mula sa micro: bit orchestra. Tumagal ako ng ilang oras upang makahanap ng ilang solenoids na madaling gamitin sa mocro: bit,
Makey Makey Electric Drums / Drum Machine: 8 Hakbang
Makey Makey Electric Drums / Drum Machine: Ang tutorial na ito sa kung paano bumuo ng isang hanay ng mga electric drums, ay isang pagpasok sa kumpetisyon ng Makey Makey. Materyal, mag-iiba sa kakayahang magamit at mga personal na pagpipilian. Ang Cardboard ay maaaring mapalitan ng mas matibay na mga materyales, at may layered may foam / iba pa para sa tex
Isang Raspberry Pi Powered Junk Drum Machine: 15 Hakbang (na may Mga Larawan)
Isang Raspberry Pi Powered Junk Drum Machine: Ipapakita sa iyo ng Instructable na ito kung paano gumawa ng isang Raspberry Pi na pinapatakbo na robotic drum machine. Ito ay talagang isang masaya, malikhain, interactive na proyekto. Ipapakita ko sa iyo kung paano gawin ang panloob na pagtatrabaho, ngunit ang aktwal na drums ay nasa iyo, bibigyan ka
Wear Drum: Mga Drum sa iyong Damit !: 7 Mga Hakbang
Drum Wear: Drum sa iyong Damit !: Tingnan ang mga sumasakay ng anumang bus sa lungsod. Marami sa kanila ay naka-plug sa kanilang mga manlalaro ng musika, tinapik hanggang sa matalo, nagpapanggap na mayroon silang mga tambol na magagamit nila. Ngayon hindi na kailangang magpanggap! Ang pagbibihis ng drum ay nagbibigay sa mga naghahangad na drummer na isang ganap na portable at fu