Changes for version 0.2610180 - 2026-10-18
- First release.
Documentation
a note's partials, level and brightness; beside FluidSynth's
MIDI files to sound, with the synthesizer of Peta::Synth
Modules
the Bark scale, the threshold in quiet, masking
MIDI in and out in real time, as MIDI::RtMidi::FFI has it, with no library
a client of the ALSA sequencer, with no library
MIDI bytes into events
MIDI devices as MIDI::RtMidi::FFI::Device has them, on the ALSA sequencer
a MIDI input as MIDI::RtMidi::FFI::Device::In has it
a MIDI output as MIDI::RtMidi::FFI::Device::Out has it
events into MIDI bytes
a MIDI message as an event: its name and fields
MP3 (MPEG-1 and MPEG-2 Layer III) encoder
samples into Layer III's frequency lines
Layer III's filterbank with PDL
how much noise a granule's bands can take
a granule's lines into Layer III's integers and codes
the tables of ISO 11172-3 an MP3 encoder needs
a software synthesizer in Perl
measuring sound: a note's partials, its level and brightness over time
the keys held, played one after another in a pattern
the master equalizer
the engines that render voices
the voices rendered on the graphics card
the voices rendered with PDL
the voices rendered in Perl
the discrete Fourier transform: radix 2, in place
FluidSynth as a reference: the same events, played from a SoundFont
MIDI as it is played: the ALSA sequencer, raw devices
MIDI bytes from a device or a pipe
Standard MIDI Files, read and written
MIDI bytes as a device sends them, into events
sound to WAV, FLAC, MP3, Ogg Vorbis and Opus files
a FLAC encoder in Perl
sound to PipeWire as it plays (pperl)
sound to the sound server as it plays (PulseAudio or PipeWire)
the General MIDI instruments, their variations, and the drum kits
what a piece will cost to render, second by second, before it is rendered
a feedback delay network reverb
the synthesizer behind a web page
the synthesizer: channels, voices, engine, reverb
a sounding note: partials, noise, envelope, pitch
partials compiled into wave sequences, made once and kept
Ogg Vorbis encoder
a Vorbis codebook
Vorbis' MDCT through an FFT
Vorbis' MDCT with PDL
Ogg pages around Vorbis packets
how coarsely each MDCT bin may be quantized
how often Peta::Vorbis::Encode's codebook entries are written
Provides
in lib/Peta/MP3/Encode.pm
in lib/Peta/MP3/Encode/Filterbank/PDL.pm
in lib/Peta/Synth/Engine/PDL.pm
in lib/Peta/Synth/Output.pm
in lib/Peta/Synth/Output.pm
in lib/Peta/Synth/Output.pm
in lib/Peta/Synth/Output.pm
in lib/Peta/Vorbis/Encode/Ogg.pm
in lib/Peta/Vorbis/Encode/MDCT/PDL.pm
Examples
- examples/midi/arpeggiator.mid
- examples/midi/brass.mid
- examples/midi/guitars.mid
- examples/midi/keys.mid
- examples/midi/new-synthesis.mid
- examples/midi/percussion.mid
- examples/midi/petasynth-demo.mid
- examples/midi/strings.mid
- examples/midi/synth.mid
- examples/midi/woods.mid
- examples/midi/world.mid
- examples/new-synthesis-bank.json