NAME
Peta::Synth::Reverb - a feedback delay network reverb
VERSION
version 0.2610180
SYNOPSIS
my $reverb = Peta::Synth::Reverb->new(rate => 48000, time => 2.5);
my ($wet_left, $wet_right) = $reverb->process(\@send);
$reverb->set(damp => 0.6);
DESCRIPTION
Eight delay lines fed back through a Hadamard matrix, damped and attenuated to fall 60 dB in the reverb time. The input is the voices' reverb send (each channel's CC91); left and right come out decorrelated.
METHODS
new
new(rate => ..., time => 2.2, size => 1, damp => 0.45, level => 0.5, predelay => 0.02, on => 1). time is the reverb time (s), size scales the delay lines, damp (0 .. 1) how quickly the highs die, level the wet level.
set, params
Changes one parameter while it runs; all of them as a hash.
process
process(\@send): the reverb of the send, as left and right array references, or nothing when it is off.
active, advance
Whether it sounds (on, and a level above 0). advance($n, \@send, \@wet_left, \@wet_right): what an engine that ran it elsewhere reports.
quiet
Whether the tail has died away: nothing has gone in for longer than the predelay and the longest line, and the last quantum came out below -100 dB.
clear
Silences the tail.
AUTHOR
PetaMem s.r.o. <info@petamem.com>
COPYRIGHT
Copyright (c) 2026 PetaMem s.r.o.
LICENSE
This package is free software, dual-licensed under the Artistic License 2.0 and the BSD 2-Clause License. See the LICENSE file of the distribution.