Isi kandungan:
- Langkah 1: Tanggungan
- Langkah 2: Konfigurasikan Nilai Input Midi
- Langkah 3: Tambahkan Folder Tambahan Dengan Sampel
- Langkah 4: Tambah dan Konfigurasikan Sampel Tambahan Dalam Folder Baru
- Langkah 5: Rujukan Pad Nombor
Video: Mesin Drum Raspberry Pi: 5 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:07
Contoh Sequencer, melalui Raspberry Pi + Python.
Penjujukan itu mempunyai 4 polifoni dan membolehkan pengguna menyimpan dan memberi isyarat 6 urutan yang berbeza yang dapat mereka ganti dalam masa nyata, dan menyokong kemampuan untuk menukar antara sampel yang berbeza.
Saya menulis skrip dengan cara yang dapat dikendalikan sepenuhnya dengan pengawal dan suara MIDI. Saya menggunakan 18 bank suara yang berbeza, masing-masing 16 sampel, namun menambah atau mengurangkan bank dan sampel adalah mudah dan tidak memerlukan banyak pengubahsuaian. Sekiranya anda menghadapi masalah, tembak saya e-mel: [email protected]
Dapatkan kod di GitHub di:
Tolong beritahu saya jika anda menggunakannya, dan terutamanya jika anda membuat video dengannya!
Langkah 1: Tanggungan
Program ini memerlukan Modul Python berikut (tidak terbina dalam):
mido
permainan pyg
kekenyangan
Walau bagaimanapun, Mido menimbulkan beberapa komplikasi kerana Mido sendiri memerlukan beberapa tanggungan. Untuk memastikan semuanya dipasang, cukup masukkan perintah berikut ke terminal Raspberry Pi anda (menghilangkan '$') dan semuanya akan baik-baik saja. Modul lain boleh dipasang dengan normal.
$ sudo apt-get kemas kini
$ sudo apt-get install build-essential
$ sudo apt-get install libasound-dev atau libasound2-dev
$ sudo apt-get install libjack0
$ sudo apt-get install libjack-dev
$ sudo apt-get pasang python-pip
$ sudo apt-get install python-dev
$ sudo pip memasang python-rtmidi
$ sudo pip pasang mido
Langkah 2: Konfigurasikan Nilai Input Midi
Di dalam Skrip Python utama terdapat array yang disebut noteList yang terdiri daripada 16 bilangan bulat (baris 165.) Ini adalah nilai nota MIDI yang dihantar oleh pengawal kami ke Pi untuk mencetuskan suara. Walau bagaimanapun, setiap pengawal midi berbeza, jadi melainkan jika anda juga mempunyai Akai LPD8, kemungkinan besar anda perlu mengubah nilai ini agar sepadan dengan peranti anda.
Repo Github juga menyertakan skrip lain yang disebut "midihelp.py" yang dibuat khusus untuk tujuan ini! Yang dilakukannya adalah mencetak nilai input dari pengawal MIDI pertama yang dikenali komputer ke konsol. Yang harus anda lakukan ialah mengganti nilai-nilai ini dalam tatasusunan jika ia berbeza dengan yang disertakan dalam NoteList.
Urutan nota juga berkaitan dengan kesan suara setiap folder yang dimainkan, jadi ingatlah juga.
Langkah 3: Tambahkan Folder Tambahan Dengan Sampel
Kit sampel dalam skrip disimpan melalui folder di direktori yang sama, siapkan bagaimana kit 808 berada dalam fail GitHub. Dengan cara ini saya dapat menyimpan pelbagai jenis set sampel yang tersimpan di dalam folder yang mudah disusun dan diganti.
Satu-satunya perkara yang perlu diubah dalam skrip itu adalah variabel foldNum yang hanya memberitahu skrip berapa folder sampel yang ada. Pada masa ini skrip mempunyai foldNum diatur ke satu kerana hanya ada satu subfolder dalam direktori yang sama (kit 808.) Folder maksimum yang dapat dikendalikan oleh skrip pada masa ini adalah 18, iaitu berapa banyak yang saya gunakan, namun agak sepele untuk ubah ini, beritahu saya jika anda memerlukan bantuan.
Nama folder tidak begitu penting (asalkan semuanya berbeza) kerana Skrip hanya membaca jumlah folder dalam direktori yang sama dan mengambil jalan dengan cara itu. Nama-nama fail itu sendiri adalah penting, lebih banyak lagi pada langkah seterusnya.
Langkah 4: Tambah dan Konfigurasikan Sampel Tambahan Dalam Folder Baru
Bunyi dimuat ke dalam sampler melalui folder di direktori yang sama yang mengandungi fail.wav dengan nama bernombor antara 0-15. Lihat folder 808 yang disertakan untuk contoh ini. SETIAP subfolder dengan sampel harus kelihatan sama antara satu sama lain.
Indeks input MIDI dalam array noteList sepadan dengan nama fail.wav.
Sebagai contoh:
- apabila anda mencetuskan nota MIDI yang disimpan dalam noteList [0], fail wav 0.wav akan dimainkan.
- apabila anda mencetuskan nota MIDI yang disimpan dalam noteList [8], fail wav 8.wav akan dimainkan.
Saya melakukan ini sebahagiannya agar setiap pengawal MIDI dapat disiapkan dengan mudah untuk bekerja dengan skrip, dan juga saya dapat memperluas atau membatasi sampel dan nombor input dengan mudah, serta mengatur fail dan skrip sehingga kick drum bunyi, misalnya, akan selalu disimpan sebagai 0.wav dan akan dicetuskan oleh nota MIDI pertama.
Saya telah memilih 16 nilai dengan sewenang-wenangnya agar sesuai dengan 16 input pada pengawal saya, jadi jika anda lebih suka membuat penjujukan dengan hanya 1 sampel, atau dengan banyak lagi, yang perlu anda lakukan adalah menamakan fail audio dengan sewajarnya dan tolak atau tambah nombor yang disimpan di dalam array noteList untuk dipadankan.
Sekiranya kit 808 yang disertakan berfungsi dengan betul tetapi anda menghadapi masalah dengan sampel anda sendiri, penyelesaiannya kemungkinan besar adalah mengubah kadar sampel fail agar sesuai dengan kadar sampel PyGame 22, 050khz dan kedalaman bit 16. Anda boleh melakukan ini di Audacity atau mana-mana perisian penyuntingan Audio yang lain. Mereka mesti bekerja dengan sempurna dari sana!
Langkah 5: Rujukan Pad Nombor
Ok ada banyak perkara yang berlaku dalam penjujukan, lebih banyak daripada yang saya fikirkan pada awalnya, jadi saya menjejalkan Nombor Pad sedikit untuk menyesuaikan dengan peningkatan fungsi. Ini dalam fikiran, Asterisk * dan Tempoh. kedua-duanya beroperasi sebagai kunci fungsi.
RUJUKAN
FUNGSI UTAMA
[8] - Togol Metronome hidup dan mati
[9] - Hidupkan dan matikan Mod Rakaman
[Enter] - Urutan Main / Jeda
[0] - Padamkan Nota Semasa dalam Urutan
[Num Lock dan *] - Matikan
[Nota MIDI dan.] - Jangan membuat kuantiti hingga nombor genap
FUNGSI TEMPO
[+] - BPM Kelajuan Kursus
[-] - BPM Perlahan Kursus
[+ dan *] - Mempercepat BPM dengan pantas
[- dan *] - BPM Melambatkan Dengan Cepat
[+ dan.] - BPM Mempercepat Baik
[- dan.] - BPM Perlahan Halus
FUNGSI SEJENIS
[1-6] Urutan Ingat 1-6
[1-6 dan.] Urutan Kedai 1-6
[0 dan.] Kosongkan Urutan Semasa
MENUKAR FOLDER SAMPEL
[1-9 dan *] - Tukar ke Pek Sampel dalam Folder 1-9
[1-9 dan * dan.] - Tukar ke Pakej Sampel dalam Folder 10-18
PETUA RAHSIA:
-Kosongkan urutan semasa [0 dan.] Dan simpan ke urutan yang anda mahu dihapuskan dari ingatan.
-Rakamkan urutan dan simpan ke nombor lain untuk menyalinnya.
Disyorkan:
Mesin Drum Mudah Dengan Arduino Uno dan Mozzi: 4 Langkah
Mesin Drum Ringkas Dengan Arduino Uno dan Mozzi: Tinggal di Argentina bermaksud surat antarabangsa akan dicuri atau terjebak dalam kebiasaan. Tambahkan karantina Coronavirus dan projek anda seterusnya terhad kepada papan Arduino Uno lama. Berita baik? Seperti kata penyair hebat dari Rolling Stones, “Masa sudah hampir
Mikro: bit - Mesin Drum Mikro: 10 Langkah (dengan Gambar)
Mikro: bit - Mesin Drum Mikro: Ini adalah mesin gendang mikro: bit mikro, yang bukan hanya menghasilkan bunyi, dram secara aktif. Ia sangat diilhami oleh arnab dari orkestra mikro: bit. Saya mengambil masa untuk mencari beberapa solenoid yang mudah digunakan dengan mocro: bit
Putar Drum Band Rock X ke dalam Drum Elektronik Sendiri Midi: 4 Langkah (dengan Gambar)
Ubah Drum Band Rock X ke dalam Drum Elektronik Midi Berdiri Sendiri .: Saya bernasib baik kerana mendapat set drum x-box bekas, ia dalam bentuk agak kasar, dan tidak ada dayung, tetapi tidak ada yang tidak dapat diperbaiki. ubahnya menjadi set dram elektrik yang berdiri sendiri. Membaca nilai analog dari sensor piezo dan mengubahnya menjadi MIDI comman
Mesin Gendang / Drum Elektrik Makey Makey: 8 Langkah
Makey Makey Electric Drum / Drum Machine: Tutorial ini tentang cara membina satu set drum elektrik, adalah penyertaan dalam pertandingan Makey Makey. Bahan, akan berbeza-beza mengikut ketersediaan dan pilihan peribadi. Kardus boleh diganti dengan bahan yang lebih tahan lama, dan berlapis dengan busa / lain untuk tex
Drum Elektronik DIY (Modul Drum Diperlukan): 4 Langkah
Drum Elektronik DIY (Drum Module Req'd): Jadi tahun lalu saya perlu mendiamkan diri untuk rakan serumah saya, dan sebagai pemain drum yang sedikit menahan diri. Saya melayari internet dan menjumpai beberapa laman web hebat setelah membaca mengenai set drum DIY di Hack-a-day, dan apa yang anda tahu, satu