Saya ingin berbicara tentang cara mengatasi masalah yang mungkin akrab bagi penggemar synthesizer perangkat keras.
Apa yang harus saya lakukan jika saya ingin memasang controller dan synthesizer MIDI, tetapi salah satunya hanya memiliki konektor USB dan tidak ada MIDI? Selain itu, untuk alasan yang jelas, saya ingin melakukan semua ini tanpa menggunakan komputer.
Saya mencari di Internet beberapa kali untuk mencari perangkat, tetapi saya tidak menemukan apa pun kecuali beberapa tautan ke beberapa perangkat sirkulasi kecil untuk banyak uang, yang sudah dihentikan.
Pada titik tertentu saya sadar: Anda dapat mengambil Raspberry Pi dan melakukan segalanya di atasnya - ini adalah komputer nyata, dan di atasnya hal-hal seperti itu dilakukan dengan mudah.
Mungkin akan lemah untuk pemrosesan suara penuh, tetapi aliran pesan MIDI seharusnya sudah dipompa.
[Omong-omong, ada prosesor efek suara untuk Raspberry Pi , tetapi membutuhkan model Raspberry Pi terbaru, yang jauh lebih mahal, ditambah perisai tambahan, yang juga tidak murah, dan saya memutuskan untuk tidak repot].
Tidak lebih cepat dikatakan daripada dilakukan. Raspberry Pi mendapatkan model pertama dan membuat prototipe yang berfungsi dalam beberapa malam. Singkatnya cara kerjanya.
ALSA Midi
Pada awalnya, saya berencana untuk mengambil PureData dan menulis untuknya tambalan sederhana yang akan mentransfer pesan midi dari satu port ke port lainnya.
Tetapi ketika saya mulai mendapatkan MIDI di Linux, saya menemukan pendekatan yang lebih sederhana.
Linux memiliki sistem input / output suara standar - ALSA. Ini mendukung stream audio dan MIDI.
Agar program dapat menerima pesan MIDI melalui ALSA, Anda harus terlebih dahulu menghubungkannya ke sumber pesan-pesan ini. Tapi inilah yang kita butuhkan untuk menyelesaikan masalah ini! Tanpa berpikir dua kali, saya membuang PureData dan melakukan segalanya dengan alat asli ALSA.
Inilah hasilnya.
aconnect
Ketika Anda menghubungkan perangkat MIDI ke sistem, itu muncul di perangkat ALSA dan Anda dapat melakukan berbagai operasi dengan perintah standar dengannya. Kami tertarik pada tim aconnect
, yang hanya membuat koneksi-pemutusan port. Dokumentasi terperinci dapat ditemukan di sini .
Pada kenyataannya, kita hanya membutuhkan dua operasi: menampilkan daftar perangkat yang tersedia dan menghubungkan satu perangkat ke yang lain:
# MIDI-, aconnect -l # Arturia Keystep Xio aconnect 'Arturia KeyStep 32' 'Xio'
Saya membungkus perintah-perintah ini dengan skrip systemd start otomatis dan mengkonfigurasinya untuk memulai secara konstan dalam satu lingkaran, Anda dapat melihat bagaimana saya melakukannya di sini .
Alternatif
Jika Anda masih perlu memproses aliran MIDI sebelum mengirimnya ke output, Anda dapat menggunakan beberapa opsi:
Jika Anda tahu lebih banyak opsi - kirim.
Pembaruan: Ringkasan
Setelah satu setengah bulan percobaan, saya meringkas.
Sebagai hasilnya, latihan telah menunjukkan bahwa tidak masalah untuk transfer uang kertas - uang kertas sering keluar dan melompat.
Untuk transmisi jam, ini lebih atau kurang normal - dalam sinkronisasi arpeggiator synth yang dikontrol dengan ritme utama jambs, saya tidak dapat mendengarnya.
Tetapi untuk transfer pesan pengontrol, tampaknya ideal.
Sekarang Anda dapat menghubungkan Launch Control XL ke semua sintaks.
Referensi
Ketika saya terakhir mempelajari pertanyaan ini untuk beberapa alasan, saya tidak dapat menemukan apa pun.
Kali ini ada cukup banyak hal, saya akan memposting tautan di sini sehingga Anda tidak mengulangi jalan saya jika masalah yang sama muncul.