Schedule

Yuya Fujiwara
Yuya Fujiwara

I am Software engineer.

How to make the Groovebox

Ruby isn't just for the Web. Did you know you can create music with it too?

In this talk, I will demonstrate how groovebox-ruby was built from scratch as a functional groovebox using Ruby. What is a groovebox? It's a machine for sketching musical ideas, equipped with tools like synthesizers, step sequencers, filters, samplers, and interactive controls such as buttons, knobs, and displays.

With groovebox-ruby, I began by implementing synthesizer basics like VCOs (Voltage Controlled Oscillators) and VCFs (Voltage Controlled Filters) to understand how these components shape sound. I then added a step sequencer, allowing users to program patterns and interact dynamically with MIDI inputs.

Reimplementing these features in Ruby deepened my understanding of synthesizers, particularly the roles of oscillators and filters. Ruby's extensibility also enabled modular design, such as chaining filters, using MIDI controllers, and building a distributed step sequencer with dRuby.