NAME

Peta::Synth::Engine::Perl - the voices rendered in Perl

VERSION

version 0.2610180

DESCRIPTION

The reference engine: what Peta::Synth::Voice describes, computed in plain Perl. On perl5 it is the engine that is always there; on pperl its loops are compiled by the JIT. See Peta::Synth::Engine for the interface.

METHODS

new, name

new(%arg) makes the engine (it dies where it cannot run here); name is perl.

render

render(\@voices, $n, $rate): the voices' next $n samples, mixed, as array references: left, right and the reverb send.

FUNCTIONS

noise, waves, wave_blocks, string, fm, rough

A voice's parts for a quantum, ($voice, $n, $nb) (waves and wave_blocks with the rate): its noise bands; its partials read from wave sequences, and where each block reads (which every engine reads by); its string; its FM; the noise on its partials (the factor their sum is taken times). Each a fresh array of $n samples, what they carry on kept in the voice; the PDL engine uses them as they are.

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.