Daftar Isi:

Modul Synth Raspberry Pi Stompbox: 6 Langkah (dengan Gambar)
Modul Synth Raspberry Pi Stompbox: 6 Langkah (dengan Gambar)

Video: Modul Synth Raspberry Pi Stompbox: 6 Langkah (dengan Gambar)

Video: Modul Synth Raspberry Pi Stompbox: 6 Langkah (dengan Gambar)
Video: DIY TOUCH ARDUINO SYNTHESIZER 2024, November
Anonim
Modul Synth Raspberry Pi Stompbox
Modul Synth Raspberry Pi Stompbox
Modul Synth Raspberry Pi Stompbox
Modul Synth Raspberry Pi Stompbox

Tujuan dari proyek ini adalah untuk menempatkan modul suara berbasis Fluidsynth ke dalam stompbox. Istilah teknis terdengar "modul suara" dalam hal ini berarti perangkat yang menerima pesan MIDI (yaitu nilai nada, volume, tikungan nada, dll.) dan mensintesis suara musik yang sebenarnya. Gabungkan ini dengan pengontrol MIDI - yang sangat banyak, murah, dan seringkali sangat keren (seperti keytar!) - dan Anda memiliki synthesizer yang dapat Anda mod dan atur tanpa henti, dan desain dengan cara yang sesuai dengan gaya bermain Anda.

Gambaran umum dari proyek ini adalah bahwa kami mengambil komputer linux single-board kecil (dalam hal ini Raspberry Pi 3), memasang LCD karakter, beberapa tombol tekan, dan kartu suara USB (karena suara onboard Pi tidak terlalu bagus), dan masukkan semuanya ke dalam stompbox Hammond 1590bb (seperti yang digunakan untuk efek gitar) dengan beberapa koneksi luar untuk MIDI USB, daya, dan keluaran audio. Kemudian kami mengonfigurasi perangkat lunak internal untuk menjalankan program saat startup yang menjalankan FluidSynth (penyaring perangkat lunak gratis multi-platform yang luar biasa), mengontrol LCD, dan memungkinkan kami mengubah patch dan pengaturan menggunakan tombol.

Saya tidak akan membahas detail langkah demi langkah pada build ini (ada banyak tutorial hey-i-made-a-cool-raspberry-pi-case di luar sana), tetapi akan mencoba untuk fokus pada mengapa saya membuat berbagai pilihan dalam konstruksi dan desain saat saya pergi. Dengan cara ini semoga Anda bisa melakukan modifikasi sesuai dengan tujuan Anda sendiri tanpa terjebak melakukan hal-hal yang nantinya ternyata tidak berhasil.

PEMBARUAN (Mei 2020): Meskipun instruksi ini masih merupakan tempat yang bagus untuk memulai proyek seperti ini, saya telah membuat banyak peningkatan di sisi perangkat keras dan perangkat lunak. Perangkat lunak terbaru adalah FluidPatcher, tersedia di GitHub - lihat wiki untuk banyak detail tentang pengaturan Raspberry Pi. Lihat situs saya Geek Funk Labs untuk berita dan pembaruan berkelanjutan di SquishBox!

Perlengkapan

Ini adalah daftar singkat (dan penjelasan untuk) komponen yang lebih penting:

  • Komputer Raspberry Pi 3 - Komputer linux papan tunggal apa pun dapat bekerja, tetapi Pi 3 memiliki kekuatan pemrosesan yang cukup untuk menjalankan Fluidsynth tanpa latensi apa pun, dan memori yang cukup untuk memuat font suara yang besar. Kekurangannya adalah suara onboardnya buruk, jadi Anda memerlukan kartu suara USB. CHIP adalah alternatif yang saya jelajahi (jejak lebih kecil, suara lebih baik, tetapi lebih sedikit memori/prosesor)
  • Kandang Hammond 1590BB - Saya sarankan membeli yang sudah dilapisi bubuk jika Anda menginginkan warna, kecuali mengecat stompbox adalah sesuatu yang Anda sukai. Saya melihat-lihat banyak papan pesan tetapi saya pikir saya tidak memiliki kesabaran atau jenis cat yang tepat, karena setelah dua kali mencoba, hasil saya cukup biasa-biasa saja.
  • USB Sound Card - Anda dapat menemukan yang sesuai dengan harga yang cukup murah. Menurut tutorial Adafruit yang indah ini (salah satu dari banyak), Anda harus tetap menggunakan yang menggunakan chipset CM109 untuk kompatibilitas maksimum.
  • LCD Karakter - ada banyak tempat berbeda untuk mendapatkannya, tetapi pinout tampaknya cukup standar. Pastikan Anda mendapatkan lampu latar sehingga Anda dapat melihat preset Anda saat bermain di klub berasap.
  • stompswitches sesaat (2) - Sedikit lebih sulit diperoleh, tetapi saya mendapatkan sesaat alih-alih beralih sehingga saya dapat memiliki lebih banyak fleksibilitas. Saya dapat mensimulasikan sakelar dalam perangkat lunak jika saya menginginkan perilaku itu, tetapi dengan cara ini saya juga dapat memiliki fungsi yang berbeda untuk ketukan pendek, tekan lama, dll.
  • Adafruit Perma-Proto Hat untuk Pi - Ini membantu saya menghubungkan LCD dan komponen lain ke port expander Pi tanpa menghabiskan banyak ruang ekstra. Jika saya mencoba menggunakan perfboard biasa, itu harus menonjol di sisi Pi agar saya dapat terhubung ke semua pin GPIO yang diperlukan. Pelapisan dua sisi dan lubang pemasangan yang serasi juga sangat berguna. Mengingat semua ini, itu benar-benar pilihan termurah.
  • Konektor USB - 1 perempuan tipe B untuk daya, dan dua masing-masing tipe A laki-laki dan perempuan untuk membuat beberapa kabel extender yang tipis dan fleksibel untuk koneksi internal.
  • Jack audio 1/4" - Saya menggunakan satu stereo dan satu mono. Dengan begitu stereo dapat berupa jack headphone/mono, atau hanya membawa sinyal kiri jika jack lainnya terhubung.

Langkah 1: Elektronik Internal

Elektronik Internal
Elektronik Internal
Elektronik Internal
Elektronik Internal
Elektronik Internal
Elektronik Internal

Kami akan menghubungkan LCD dan komponen terkaitnya serta tombol tekan ke Pi Hat. Selain itu, kami akan menambahkan jack USB-B dan USB-A untuk menghubungkan daya dan perangkat MIDI, masing-masing. Kami membawa port USB-A karena kami perlu menggunakan salah satu port USB Pi untuk menghubungkan kartu suara, yang ingin kami miliki di dalam enklosur, jadi kami tidak dapat membuat port USB rata dengan sisi kotak. Saya menggunakan port USB-B untuk daya karena saya merasa itu bisa mengambil lebih banyak hukuman daripada konektor daya micro-USB Pi, ditambah lagi saya tidak dapat menemukan orientasi yang baik di mana konektor bisa berada di sebelah tepi kotak.

Anda perlu menggunakan pisau untuk memotong jejak di antara lubang tempat Anda akan menyolder pin untuk jack USB. Berhati-hatilah untuk tidak memotong jejak internal apa pun di papan yang menghubungkan pin lain - atau jika Anda secara tidak sengaja (seperti saya) menyambungkannya kembali menggunakan kabel jumper. Pin Vcc dan GND jack USB-B masing-masing pergi ke 5V dan GND pada port expander Pi. Dengan cara ini Anda dapat memberi daya pada stompbox Anda dengan pengisi daya telepon (dengan asumsi itu memiliki arus listrik yang cukup - 700mA tampaknya berfungsi untuk saya, tetapi Anda mungkin ingin lebih memastikan bahwa port USB memiliki cukup daya untuk memberi daya pada pengontrol Anda) dan kabel USB A-B.

Saya menemukan bahwa panjang kabel pita bekerja sangat baik untuk menghubungkan benda-benda dengan banyak pin tanpa terlalu banyak spageti kawat. Saya melakukan ini daripada menyolder header laki-laki ke LCD dan kemudian menyoldernya ke topi karena saya merasa perlu kebebasan untuk memposisikan LCD sehingga saya bisa membuatnya terpusat dengan baik. LCD harus dilengkapi dengan potensiometer yang Anda gunakan untuk mengatur kontras - pastikan Anda meletakkannya di tempat yang tidak akan tertutup oleh LCD, sehingga Anda dapat membuat lubang di kotak untuk mencapainya dan menyesuaikan kontras sekali semuanya sudah dirakit.

Konsultasikan skema untuk detail tentang apa yang terhubung di mana. Perhatikan bahwa tombol terhubung ke 3.3V - bukan 5V! Pin GPIO hanya dinilai untuk 3.3V - 5V akan merusak CPU Anda. Soket USB-A terhubung ke strip kabel pita lain, yang kemudian dapat Anda solder ke colokan USB yang akan Anda sambungkan ke salah satu port USB Pi untuk pengontrol MIDI Anda. Potong logam tambahan dari steker sehingga tidak terlalu menonjol, dan gunakan lem panas untuk menghilangkan ketegangan - tidak harus cantik karena akan disembunyikan di dalam kotak.

Langkah 2: Pengkabelan Output Audio

Kabel Output Audio
Kabel Output Audio
Kabel Output Audio
Kabel Output Audio
Kabel Output Audio
Kabel Output Audio

Tidak peduli seberapa kecil kartu suara USB yang Anda temukan, itu atau stekernya kemungkinan akan menonjol terlalu jauh dari port USB Pi agar semuanya muat di dalam kotak. Jadi, solder satu lagi konektor USB pendek dari beberapa kabel pita, colokan USB, dan lem panas seperti yang ditunjukkan pada gambar di atas. Kartu suara saya masih agak terlalu tebal untuk dimasukkan ke dalam enklosur dengan yang lainnya, jadi saya melepas plastiknya dan membungkusnya dengan selotip agar tidak korslet.

Untuk mendapatkan audio dari kartu suara ke jack 1/4" Anda, potong ujung headphone 3,5 mm atau kabel AUX. Pastikan konektor tersebut memiliki 3 konektor - tip, ring, dan sleeve (TRS), bukan 2 atau 4 Selongsong harus ditanahkan, ujung biasanya saluran kanan, dan cincin (konektor tengah) biasanya kiri. Anda cukup menghubungkan ujung dan cincin ke dua jack mono (TS - tip, selongsong) 1/4" dan selesai dengan itu, tetapi Anda bisa mendapatkan lebih banyak keserbagunaan dengan sedikit kabel ekstra. Temukan jack TS yang memiliki kontak sesaat ketiga, seperti yang ditunjukkan secara skematis pada diagram di atas. Memasukkan steker memutus kontak ini, sehingga Anda dapat mengetahui dari diagram sinyal kiri kemudian akan menuju ke soket TS jika steker dimasukkan, dan ke ring soket TRS jika tidak ada steker yang dimasukkan. Dengan cara ini Anda dapat mencolokkan headphone ke soket stereo, satu kabel mono ke soket stereo untuk sinyal gabungan kanan/kiri (mono), atau kabel di setiap soket untuk output kanan dan kiri (stereo) yang terpisah.

Saya menghubungkan pin ground dari jack ke kabel yang berasal dari kartu suara, sehingga semua yang ada di dalam kotak berbagi ground yang sama dan saya menghindari dengungan buruk loop ground. Bergantung pada apa yang Anda colokkan, bagaimanapun, ini mungkin memiliki efek sebaliknya - jadi Anda mungkin ingin memasukkan sakelar untuk memungkinkan Anda menghubungkan atau "mengangkat" tanah pada jack 1/4".

Langkah 3: Mempersiapkan Kandang

Mempersiapkan Kandang
Mempersiapkan Kandang
Mempersiapkan Kandang
Mempersiapkan Kandang
Mempersiapkan Kandang
Mempersiapkan Kandang

Langkah ini mencakup pemotongan lubang di kotak untuk layar, tombol, konektor, dll. dan epoksi di penutup untuk memasang topi Pi.

Mulailah dengan menempatkan semua komponen di dalam enklosur untuk memastikan semuanya pas dan diorientasikan dengan cara yang benar. Kemudian, ukur dan tandai dengan hati-hati di mana Anda akan membuat lubang. Saat memotong lubang bundar, saya sarankan memulai dengan yang kecil dan bekerja hingga ukuran yang Anda butuhkan - lebih mudah untuk memusatkan lubang dan kecil kemungkinan bor Anda macet. Lubang persegi panjang dapat dipotong dengan mengebor lubang di sudut yang berlawanan dari bukaan yang dimaksud, kemudian memotong dengan jigsaw ke dua sudut lainnya. Ketebalan aluminium ini benar-benar dipotong dengan jigsaw selama Anda melakukannya dengan lembut. File persegi sangat membantu untuk mengkuadratkan sudut bukaan. Buat bukaan untuk colokan USB sedikit lebar jika Anda memiliki kabel yang gemuk.

Epoksi dua tahap (seperti Lem Gorilla pada gambar) berfungsi dengan baik untuk menempelkan penyangga topi ke penutup logam. Gosok permukaan selungkup dan bagian bawah standoffs sedikit dengan wol baja atau obeng sehingga epoksi bisa mendapatkan pegangan yang lebih baik. Saya sarankan untuk memasang standoff Anda ke topi Pi sebelum merekatkannya sehingga Anda tahu mereka diposisikan dengan benar - tidak ada banyak ruang gerak di sini. Saya hanya menggunakan tiga kebuntuan karena LCD saya berada di jalan keempat. Campurkan kedua komponen epoksi, tempelkan beberapa ke standoff dan klem di tempatnya. Hindari menggoyangkan atau memposisikan ulang bagian setelah lebih dari 10-15 detik, atau ikatan akan rapuh. Berikan waktu 24 jam untuk menyiapkan agar Anda dapat terus bekerja. Dibutuhkan beberapa hari untuk menyembuhkan sepenuhnya, jadi jangan stres ikatan yang tidak perlu.

Kecuali jika Anda ingin membuat hobi lain dari mengecat stompbox, saya sarankan membiarkan aluminium kosong (bukan tampilan yang buruk sebenarnya) atau membeli kandang yang sudah dicat. Cat tidak ingin mengikat logam. Jika Anda ingin mencobanya, amplas di mana pun Anda ingin cat menempel, gunakan cat semprot primer body mobil yang bagus terlebih dahulu, aplikasikan beberapa lapis warna yang Anda inginkan, lalu biarkan mengering selama mungkin. Serius - para maniak di papan pesan menyarankan hal-hal seperti membiarkannya di bawah sinar matahari langsung selama tiga bulan, atau dalam oven pemanggang roti yang disetel rendah selama seminggu. Setelah mengampelas sisa-sisa pekerjaan cat pertama saya yang berkerut dan terkelupas, upaya kedua saya masih mendapatkan keripik dan goresan dari benda-benda seperti pena di tas pertunjukan saya, dan hasil akhirnya dapat penyok dengan kuku. Saya memutuskan untuk menyerah dan memilih gaya punk, menggunakan spidol putih untuk hurufnya.

Langkah 4: Pengaturan Perangkat Lunak

Pengaturan Perangkat Lunak
Pengaturan Perangkat Lunak
Pengaturan Perangkat Lunak
Pengaturan Perangkat Lunak

Sebelum Anda memasukkan semuanya ke dalam stompbox dan mengencangkannya, Anda perlu mengatur perangkat lunak pada Raspberry Pi. Saya sarankan memulai dengan instalasi baru dari OS Raspbian, jadi dapatkan salinan terbaru dari situs Raspberry Pi Foundation dan ikuti instruksi di sana untuk mencitrakannya ke kartu SD. Ambil keyboard dan layar atau gunakan kabel konsol untuk masuk ke Pi Anda untuk pertama kalinya, dan masuk ke baris perintah. Untuk memastikan Anda memiliki pembaruan perangkat lunak dan firmware terbaru, masukkan

sudo apt-get update && sudo apt-get upgrade

sudo rpi-update

Selanjutnya, Anda ingin memastikan Anda dapat menggunakan wifi untuk ssh ke Pi dan membuat modifikasi setelah dikancingkan di dalam enklosur. Pertama, nyalakan server ssh dengan mengetik

sudo raspi-config

dan pergi ke "Opsi Antarmuka" dan aktifkan server ssh. Sekarang, tambahkan jaringan nirkabel ke pi dengan mengedit file wpa_supplicant.conf:

sudo vi /etc/wpa_supplicant/wpa_supplicant.conf

dan tambahkan baris berikut di akhir:

jaringan={

ssid="jaringan-anda" psk="kata sandi-anda" }

Ganti jaringan Anda dan kata sandi Anda di atas dengan nilai untuk jaringan apa pun yang Anda inginkan agar Pi terhubung secara default - kemungkinan besar router wifi Anda di rumah, atau mungkin hotspot di ponsel atau laptop Anda yang berjalan dalam mode titik akses. Alternatif lain untuk menghubungkan ke Pi Anda adalah dengan mengaturnya sebagai titik akses wifi, sehingga Anda dapat menghubungkannya di mana pun Anda berada. Antarmuka yang saya tulis di bawah ini juga memungkinkan Anda untuk memasangkan perangkat bluetooth lain dengan Pi, setelah itu Anda dapat menghubungkannya menggunakan serial-over-bluetooth.

Untuk menginstal FluidSynth, ketik

sudo apt-get install fluidynth

File yang dilampirkan pada langkah ini menyediakan antarmuka antara kontrol stompbox dan FluidSynth, dan harus disalin ke direktori /home/pi. Berikut adalah penjelasan singkat tentang apa yang dilakukan setiap file:

  • squishbox.py - Sebuah skrip python yang memulai dan berkomunikasi dengan instance FluidSynth, membaca input dari tombol stompbox, dan menulis informasi ke LCD
  • config_squishbox.yaml - Sebuah file konfigurasi dalam format YAML (kebanyakan) yang dapat dibaca manusia yang menyimpan pengaturan dan informasi patch untuk program squishbox
  • fluidynth.py - Pembungkus python yang menyediakan binding ke fungsi C di pustaka FluidSynth, dengan banyak binding tambahan yang saya tambahkan untuk mengakses lebih banyak fungsi FluidSynth
  • ModWaves.sf2 - Soundfont yang sangat kecil yang saya sediakan untuk mendemonstrasikan penggunaan dan kekuatan modulator dalam format Soundfont

Memiliki skrip python yang mengatur proses FluidSynth dan menangani semua tombol/LCD berfungsi dengan cukup baik - pesan MIDI langsung masuk ke FluidSynth dan skrip hanya berinteraksi dengannya saat diperlukan.

Skrip python membutuhkan beberapa pustaka python yang tidak diinstal secara default. Anda dapat menginstalnya langsung dari Python Package Index menggunakan alat pip praktis:

sudo pip instal RPLCD pyyaml

Terakhir, Anda ingin Pi menjalankan skrip python saat boot. Untuk mewujudkannya, edit file rc.local:

sudo vi /etc/rc.local

Masukkan baris berikut tepat sebelum baris 'keluar 0' terakhir dalam file:

python /home/pi/squishbox.py &

Langkah 5: Majelis Akhir

Majelis Akhir
Majelis Akhir
Majelis Akhir
Majelis Akhir
Majelis Akhir
Majelis Akhir

Sebelum memasukkan semua bagian ke dalam kotak, adalah ide yang sangat baik untuk menyambungkan semuanya dan memastikan perangkat lunak berfungsi, seperti yang ditunjukkan pada gambar di atas. Gambar 3-6 menunjukkan semua bagian individu dan secara bertahap bagaimana mereka masuk ke dalam kotak saya. LCD sebenarnya ditahan di tempatnya oleh kabel yang menekannya, tetapi Anda bisa menggunakan lem panas atau menambahkan beberapa sekrup pemasangan lagi jika Anda tidak menyukainya. Selotip oranye pada tutup kotak adalah untuk menjaga agar Pi tidak korslet pada logam.

Anda mungkin harus bereksperimen dan mengkonfigurasi ulang agar semuanya sesuai. Nyaman itu bagus - semakin sedikit bagian yang bergoyang di dalam kotak, semakin baik. Panas sepertinya tidak menjadi masalah, dan saya tidak punya masalah dengan sinyal wifi yang diblokir oleh enklosur. Tidak digambarkan adalah beberapa kaki karet perekat (Anda dapat menemukannya di toko perangkat keras) di bagian bawah kotak agar tidak tergelincir saat Anda melakukan sesi menginjak.

Perhatikan benturan/remas/tekuk yang tidak terduga saat benda-benda disekrup. Satu hal yang harus diperiksa adalah ada cukup ruang untuk jack 1/4 saat kabel dimasukkan - ujungnya menonjol sedikit lebih jauh daripada kontak jack. Juga, dalam build saya, saya memasang Pi agak terlalu dekat ke tepi dari kotak dan bibir pada tutupnya menekan ujung kartu SD dan membentaknya - saya harus membuat takik di bibir agar ini tidak terjadi.

Langkah 6: Penggunaan

Image
Image
Penggunaan
Penggunaan
Penggunaan
Penggunaan

Modul suara yang saya jelaskan dalam langkah-langkah ini dan menjalankan perangkat lunak yang disediakan di atas cukup berguna dan dapat diperluas, tetapi banyak modifikasi/variasi yang mungkin dilakukan. Saya hanya akan menjelaskan secara singkat antarmuka di sini - Saya berencana untuk terus memperbaruinya di repositori github, di mana saya berharap akan terus memperbarui wiki juga. Terakhir, saya akan membahas bagaimana Anda dapat mengubah pengaturan, menambahkan suara baru, dan membuat modifikasi Anda sendiri.

Untuk memulai, colokkan pengontrol MIDI USB ke soket USB-A kotak, catu daya 5V ke soket USB-B, dan sambungkan headphone atau ampli. Setelah beberapa saat LCD akan menampilkan pesan "squishbox v xx.x". Setelah nomor tambalan dan nama muncul, Anda seharusnya dapat memainkan nada. Ketukan singkat pada salah satu tombol untuk mengubah tambalan, menahan salah satu tombol selama beberapa detik akan membawa Anda ke menu pengaturan, dan menahan salah satu tombol selama kira-kira lima detik memberi Anda opsi untuk memulai ulang program, mem-boot ulang Pi, atau mematikan Pi (NB Pi tidak memutuskan daya ke pin GPIO-nya saat berhenti, sehingga LCD tidak akan pernah mati. Tunggu sekitar 30 detik sebelum mencabutnya).

Pilihan menu pengaturan adalah:

  • Perbarui Patch - simpan perubahan apa pun yang Anda buat pada tambalan saat ini ke file
  • Simpan Patch Baru - simpan tambalan saat ini dan perubahan apa pun sebagai tambalan baru
  • Pilih Bank - file konfigurasi dapat memiliki beberapa set tambalan, ini memungkinkan Anda beralih di antara mereka
  • Set Gain - atur volume output keseluruhan (opsi 'gain' fluidsynth), terlalu tinggi memberikan output yang terdistorsi
  • Chorus/Reverb - ubah pengaturan reverb dan chorus set saat ini
  • MIDI Connect - coba sambungkan perangkat MIDI baru jika Anda menukarnya saat program sedang berjalan
  • Bluetooth Pair - letakkan Pi dalam mode penemuan sehingga Anda dapat memasangkan perangkat bluetooth lain dengannya
  • Status Wifi - laporkan alamat IP Pi saat ini sehingga Anda dapat ssh ke dalamnya

File config_squishbox.yaml berisi informasi yang menjelaskan setiap patch, serta hal-hal seperti perutean MIDI, parameter efek, dll. File ini ditulis dalam format YAML, yang merupakan cara lintas bahasa untuk merepresentasikan data yang dapat diurai oleh komputer tetapi juga manusia. -dapat dibaca. Ini bisa menjadi sangat kompleks, tetapi di sini saya hanya menggunakannya sebagai cara untuk mewakili struktur kamus Python bersarang (array/hash asosiatif dalam bahasa lain), dan urutan (daftar/array). Saya menaruh banyak komentar di file konfigurasi sampel dan mencoba menyusunnya sehingga orang dapat secara progresif melihat apa yang dilakukan setiap fitur. Lihatlah dan bereksperimen jika Anda penasaran, dan jangan ragu untuk mengajukan pertanyaan di komentar. Anda dapat melakukan banyak hal untuk mengubah suara dan fungsionalitas modul hanya dengan mengedit file ini. Anda dapat masuk dan mengedit dari jarak jauh, atau FTP file konfigurasi yang dimodifikasi ke Pi, lalu mulai ulang menggunakan antarmuka atau dengan mengetik

sudo python /home/pi/squishbox.py &

pada baris perintah. Script ditulis untuk mematikan instance lain yang sedang berjalan saat memulai sehingga tidak akan ada konflik. Skrip akan mengeluarkan beberapa peringatan pada baris perintah saat dijalankan saat mencari perangkat MIDI untuk terhubung dan mencari di berbagai lokasi untuk font suara Anda. Itu tidak rusak, ini hanya pemrograman malas di pihak saya - saya bisa menangkapnya tetapi saya mengklaim mereka diagnostik.

Saat Anda menginstal FluidSynth, Anda juga mendapatkan font suara FluidR3_GM.sf2 gratis yang cukup bagus. GM adalah singkatan dari MIDI umum yang artinya berisi "semua" instrumen, yang ditetapkan ke preset dan nomor bank yang disepakati bersama sehingga pemain MIDI yang memutar file menggunakan soundfont ini akan dapat menemukan suara yang kira-kira tepat untuk piano, terompet, bagpipe, dll. Jika Anda menginginkan lebih banyak/suara yang berbeda, Anda dapat menemukan banyak font suara gratis di internet. Yang terpenting, spesifikasi soundfont tersedia secara luas, sebenarnya cukup kuat, dan ada editor open-source yang bagus untuk soundfont yang disebut Polyphone. Dengan ini Anda dapat membuat font suara Anda sendiri dari file WAV mentah, ditambah Anda dapat menambahkan modulator ke font 'font. Modulator memungkinkan Anda untuk mengontrol banyak elemen sintesis (misalnya amplop ADSR, amplop modulasi, LFO, dll.) secara real time. File ModWaves.sf2 yang saya sertakan di atas memberikan contoh penggunaan modulator untuk memungkinkan Anda memetakan resonansi filter dan frekuensi cutoff ke pesan MIDI perubahan kontrol (yang dapat dikirim dengan tombol/slider pada pengontrol Anda). Ada begitu banyak potensi di sini - mainkan!

Harapan saya bahwa tutorial ini memicu banyak ide dan memberi orang lain kerangka kerja yang baik untuk membangun kreasi synth unik mereka sendiri, serta mendukung ketersediaan dan pengembangan berkelanjutan dari soundfont yang bagus, spesifikasi soundfont, dan perangkat lunak gratis yang hebat seperti FluidSynth dan Polyphone. Bangunan yang saya uraikan di sini bukanlah yang terbaik atau satu-satunya cara untuk menyatukan sesuatu seperti ini. Di sisi perangkat keras, kemungkinan modifikasi mungkin berupa kotak yang lebih besar dengan lebih banyak tombol, input/output MIDI lama (5-pin), dan/atau input audio. Skrip python dapat dimodifikasi (permintaan maaf atas komentar saya yang jarang) untuk memberikan perilaku lain yang mungkin lebih cocok untuk Anda - Saya sedang berpikir untuk menambahkan mode "efek" ke setiap tambalan di mana ia akan bertindak seperti stompbox efek nyata, mengubah pengaturan pada dan mati. Seseorang juga dapat menambahkan beberapa perangkat lunak tambahan untuk memberikan efek audio digital. Saya juga berpikir akan bekerja lebih baik untuk menjalankan Pi dalam mode wifi AP seperti yang dijelaskan di atas, dan kemudian bahkan dapat menyediakan antarmuka web yang ramah untuk mengedit file konfigurasi. Silakan posting ide/pertanyaan/diskusi Anda sendiri di feed komentar.

Saya ingin memberikan alat peraga mega yang besar kepada pembuat FluidSynth dan Polyphone untuk menyediakan perangkat lunak sumber terbuka gratis yang dapat kita semua gunakan untuk membuat musik yang hebat. Saya suka menggunakan hal ini, dan Anda membuatnya mungkin!

Direkomendasikan: