Coding Jadi Musik? Kenalan dengan Tidal Cycles dan Strudel

Source: Gemini (AI Generated)
Musik merupakan bagian yang tidak dapat dipisahkan dari hidup kita saat ini. Musik hadir menemani aktivitas kita sehari-hari, dimulai dari lagu tradisional hingga musik digital. Untuk menciptakan sebuah musik, biasanya kita akan menggunakan instrumen-instrumen yang kemudian direkam dan disatukan. Seiring dengan perkembangan teknologi, menciptakan musik tidak lagi terbatas dengan menggunakan instrumen fisik. Aplikasi seperti FL Studio, memberikan kemudahan menciptakan musik melalui software digital. Tapi taukah kamu bahwa saat ini muncul sebuah tren baru yang menggabungkan live coding dengan music composing dalam waktu yang bersamaan?
Live Coding Musik?

Gambar 1. Alur proses coding menjadi suara musik.
Live coding merupakan praktik menulis dan menjalankan sebuah kode komputer secara langsung (real-time) untuk menciptakan sesuatu. Dengan konsep ini, maka kita dapat menciptakan sebuah musik dengan menulis baris-baris kode yang akan menghasilkan suara, ritme, atau melodi yang bisa didengar. Jika kita lihat pada Gambar 1, developer akan menuliskan sebuah baris-baris kode ke dalam komputer. Baris kode ini kemudian diinterpretasikan oleh komputer dengan melihat pola-pola yang ada. Pola-pola ini kemudian diterjemahkan ke dalam suara yang akan dihasilkan oleh Audio Engine yang kemudian bisa kita dengarkan melalui speaker.
Untuk dapat mencapai hal ini, maka kita perlu menggunakan software dan juga library khusus yang dapat menerjemahkan kode menjadi suara musik. Untuk itu, mari kita kenalan dengan Tidal Cycles dan Strudel.
Tidal Cycles: Pionir Musik Algoritmik
Tidal Cycles (atau disingkat Tidal) merupakan sebuah software untuk membuat sebuah pattern dengan kode. Tidal diciptakan oleh Alex McLean dengan berbasiskan bahasa Haskell yang berfokus kepada menciptakan dan memanipulasikan pola audiovisual. Tidal menggunakan kekuatan matematis dan logika komputasi untuk mengatur pola ritme, melodi, dan harmoni.
Misalnya kita mau membuat suara Bass Drum dan Snare, maka kita dapat menuliskan dengan syntax berikut:
d1 $ sound “bd sn”
Tidal akan menerjemahkan kode “bd” sebagai Base Drum dan “sn” sebagai Snare dan memainkan suara yang sesuai. Namun yang menarik, Tidal sebenarnya tidak menciptakan suara secara langsung. Suara dihasilkan dengan mengirimkan instruksi ke SuperCollider sound environment melalui framework SuperDirt, menggunakan MIDI atau Open Sound Control (OSC). Kode yang ditulis dapat langsung diterjemahkan menjadi suara elektronik. Fleksibilitas sistem pola (pattern) ini memungkinkan musisi dengan cepat dapat berimprovisasi, mengulang, atau memodifikasi musik secara real-time.
Strudel: Versi Ringan dalam Browser

Gambar 2. Coding musik menggunakan Strudel
Sebagai pionir, Tidal Cycles telah membuka jalan bagi berkembangnya praktik musik algoritmik dan live coding di berbagai komunitas. Namun, kompleksitas instalasi dan kebutuhan akan perangkat lunak tambahan sering kali menjadi tantangan bagi pemula yang baru ingin mencoba. Dari kebutuhan inilah kemudian lahir Strudel, sebuah platform live coding berbasis web yang terinspirasi langsung dari Tidal Cycles. Dibuat berbasiskan JavaScript, Strudel hadir dengan tujuan untuk mempertahankan kekuatan sistem pola khas Tidal, sekaligus menyederhanakan proses agar siapa pun dapat segera menulis kode dan mendengarkan musik mereka hanya melalui browser.
sound(“bd sd”)
Berbeda dengan Tidal yang menggunakan SuperDirt, Strudel menggunakan web audio-based synthesiser mereka sendiri yang dikenal sebagai SuperDough. Strudel mendukung penggunaan efek suara seperti delay atau reverb, dan kontrol melodi menggunakan skala.
Tidal Cycles vs Strudel: Mana yang Terbaik?
Agar lebih mudah untuk memahami Tidal dan Strudel, yuk kita lihat perbandingannya.
| Aspek | Tidal Cycles | Strudel |
| Bahasa Pemrograman | Haskell | JavaScript |
| Output Suara | SuperCollider + SuperDirt | Web Audio SuperDough |
| Kompleksitas | Tinggi | Rendah |
| Kelebihan | Library musik lebih lengkap, dipakai oleh komunitas luas | Sederhana, dapat dijalankan dengan browser |
| Kekurangan | Kompleksitas tinggi, perlu pemahaman lebih | Library belum selengkap Tidal |
Kesimpulan
Live coding musik menawarkan cara yang inovatif dan unik untuk menciptakan musik melalui bahasa pemrograman. Baik Tidal Cycles maupun Strudel membawa konsep coding musik dengan kelebihannya masing-masing. Tidal Cycles, dengan basis Haskell-nya, menawarkan fleksibilitas dan kekuatan bagi musisi dan programmer yang ingin menggali lebih dalam dunia musik algoritmik. Sementara itu, Strudel hadir sebagai alternatif yang lebih ramah pengguna dengan berbasis JavaScript dan dapat diakses langsung melalui browser.
Terlepas dari perbedaan teknis, keduanya mewakili perpaduan menarik antara pemrograman dan kreativitas musik. Jadi apakah kalian akan mencoba Tidal Cycles atau Strudel?
Penulis
Muhamad Keenan Ario, S.Kom., M.Kom.
Referensi
- Live code with Tidal Cycles | Tidal Cycles. (n.d.). https://tidalcycles.org/
- Getting started Strudel. (n.d.). Strudel. https://strudel.cc/workshop/getting-started/
- Create your best music | FL Studio. (n.d.). https://www.image-line.com/
- (n.d.). GitHub – musikinformatik/SuperDirt: Tidal Audio Engine. GitHub. https://github.com/musikinformatik/SuperDirt
- (n.d.). strudel. Codeberg.org. https://codeberg.org/uzu/strudel