A physically modeled piano synthesizer plugin using digital waveguide synthesis.
- Physical modeling synthesis based on digital waveguide string models
- Hammer-string interaction simulation
- Longitudinal string modes
- Soundboard resonance
- Available as VST, VST3, AU (macOS), and LV2 (Linux) plugins
- CMake 3.16 or higher
- C++17 compatible compiler
- Platform-specific dependencies:
- macOS: Xcode
- Windows: Visual Studio 2019 or higher
- Linux: GCC/Clang, ALSA, JACK, and X11 development libraries
# Configure
cmake -B build
# Build
cmake --build build --config ReleaseThe built plugins will be in build/Piano_artefacts/Release/.
The project includes a comprehensive test suite with unit tests for internal components and integration tests for audio output.
# Build and run tests
./test.sh
# Run with AddressSanitizer
./test.sh Release ON
# Run in Debug mode
./test.sh Debug- Unit Tests: Filter, Hammer, MSD2Filter, ResampleFIR, DWGS (Digital Waveguide String) classes
- Integration Tests: Scale test, Chord test, 4-minute stress test
This project is licensed under the GPL-3.0 License.
Based on physical modeling research and digital waveguide synthesis techniques.