Generate
Tones, silence, samples, and arrangements from a compact Ruby DSL.
Pure Ruby audio toolkit v0.2.0
Read, transform, process, and write audio with immutable APIs, streaming pipelines, production DSP, and a sequencing DSL.
gem install wavify
Ruby 3.1+ · MIT licensed · Core codecs in pure Ruby
The signal chain
Tones, silence, samples, and arrangements from a compact Ruby DSL.
Trim, fade, mix, resample, and convert with immutable operations.
Filters, dynamics, delay, reverb, modulation, and mastering chains.
Process long recordings chunk by chunk with stateful DSP tails intact.
Write production-ready audio without leaving your Ruby process.
Readable by design
Start with a tone, shape its edges, convert the bit depth, and write a WAV. Each transform returns a new audio value, so chains stay predictable and easy to test.
Read the quick startrequire "wavify"
format = Wavify::Core::Format::CD_QUALITY
Wavify::Audio
.tone(
frequency: 440.0,
duration: 1.0,
waveform: :sine,
format: format
)
.fade_in(0.02, curve: :exp)
.fade_out(0.05, curve: :log)
.with_bit_depth(16, dither: true)
.write("tone.wav")
Codec I/O
WAV, AIFF, FLAC, and raw PCM are implemented in Ruby. OGG Vorbis support is available through optional native gems.
Ready on RubyGems
gem install wavify
View on RubyGems