LMMS Sharing Platform

Share your work with the LMMS community.

All Content      Tutorials      Advanced      Synth Piano Velocity Demo.mmpz

by Sample Text (sampletext)
Size: 11 KB
License: Creative Commons (by)
LMMS Version: 1.2.2
Submitted: 2026-01-21 05:47:40
Updated: 2026-01-21 05:47:40
Popularity:  20   3
Rating:    1
Name: Synth Piano Velocity Demo.mmpz  Download
Description:

I have reposted this demo project, since I included the wrong link to a soundfont that I used as a reference for the synth I have made.

This project demonstrates the synth's ability to mimic the real piano's sound at lower velocities, thanks to the velocity sensing function inside the synth parameters. The synth still resembles the piano even when higher notes are played, such as A6.

Comments:
I wanted to say this is the best piano that I have heard in LMMS yet. All your effort and research into Fourier analysis over the past year (and a bit?) has paid off. I don't really know much about ZynAddSubFX, so I can't really look though your patch to see how you did it. However, previously, I was trying to do something similar in Xpressive, where I started with Fourier series, realised that wasn't working for me, then switched to frames of STFT (+ using different expressions on different octaves) - these were all based on analysis of the Korg M1 with Matlab. I read your comment that that you used scripts, how can we access the scripts in ZynAddSubFX as I am curious to learn more about ZynAddSubFX. I loaded an old school piano riff I made years ago in Fruity Loops with the M1 VST and exported it as MIDI into LMMS, hit play and it has been the only patch so far where it has sounded good to me. Posted by: ewanpettigrew  on 2026-01-23 11:34:36
To answer the question about the scripts, they are not inside ZynAddSubFX. I wrote my own python script that does an FFT, then it converts that data that can be imported into a .xpf preset. I plan to open source it at some point, but I want to improve its algorithm more. Also, the way it currently works is not very user friendly, because it required a repeated 1000 second sample of the instrument to get a precision level of 0.001 Hz. I have to manually make a 1000 second sample of the piano by repeating the first half second of the note over and over again and applying a crossfade to both ends of that half-secocnd clip and kind-of overlapping each of those clips to get a continuous drone of the piano's sound. Posted by: sampletext  on 2026-01-23 15:35:29
Thanks, I get you now. They sound sound like my Matlab scripts. They weren't made to be user friendly (just to get the job done) :) Posted by: ewanpettigrew  on 2026-01-23 22:26:46