Built-in Synthesiser
How the built-in synthesiser works — FluidSynth, with a bundled soundfont.
Overview
Pianove uses FluidSynth as its audio backend via the pyFluidSynth Python binding. FluidSynth is a real-time software synthesiser that plays back MIDI using a SoundFont 2 file (.sf2). The application bundles a Salamander Grand Piano soundfont so no soundfont needs to be downloaded or configured manually.
libfluidsynth library, which must be installed separately. See System Requirements for platform-specific instructions.Bundled SoundFont
The included soundfont is the Salamander Grand Piano (C5 Light) by Alexander Holm, sampled from a real Yamaha C5 grand piano and distributed under the Creative Commons Attribution 3.0 license. It covers the full 88-key piano range with multiple velocity layers. The file ships inside pianove/assets/soundfonts/ alongside the application and is loaded automatically on startup.
Piano playback uses MIDI program 0 (Acoustic Grand Piano) and responds to the sustain (damper) pedal via MIDI CC 64. The audio channel, sample rate (44100 Hz), and gain are configured internally and require no user adjustment.
Volume Control
Volume is adjustable from the Settings tab. The slider maps linearly to FluidSynth's gain parameter (0.0 – 1.0). The setting is saved persistently and restored on the next launch.
Fallback Behaviour
If FluidSynth is not available (library not installed or import fails), Pianove starts normally without sound. Exercise steps can still be completed — the app detects note input from the MIDI device regardless of audio output. A warning is displayed in the Settings tab when audio is unavailable.