-
Hello,
I would like to synthesise piano music using fluidsynth and the SalamanderGrandPiano soundfont. I am particularly intersted in the hammernoise that are presnt in that soundfount. I need these synthesis to be fully scriptable and integrated in my python environment, end therfore I am currently bound to fluidsynth.
Unfortunately the original version of this soundfont comes in SFZ format that is not understood by fluidsynth, so I started to use polyphony to convert SFZ to SF2, but unfortunately the results are far from useful - the hammernoise is somewehre at the start of the sound and not at the end. Apparently, polyphony (I use 1.9) does not handle the trigger=release tags that are used for the hammer sound in the SFZ files. After reading the tutorial on custom releases I started to add short loops (10-60 samples) to all the relXXLR samples and enabling the loop playback in the lreated instrument in selecting the loop symbol with the black loop and the red fadeout in assuming this would play the rease after the loop when the noteoff event is received (as is necessary for a custom release).
While this clearly changes the result in fluidsynth it does not really do what I did expect. Now the complete hammernoise sound is looped over the note duration and not, as desired, the silence at the begin of the hammer sound is looped and the release part played at the end of the sound in the release part.
Here my questions:
- Am I missing anything - maybe I have missed a parameter to change?
- Does anybody have encounteder the same problem,a dn can describe a solution ?
- Any other comments?
Many thanks for your help. -
I finally found the culprit: polyphone does not set the vol env release parameter that is specified for all the release related sounds in the sfz file, in setting a few parameters I seem to have a result that is more or less equivalent to what I get when synthesizing using the sfz file and sforzando - I describe the changes compared to the state that polyphone offers after parsing the sfz files here below:
Changes to samples sections:
SalamanderGrandPi-3: loop region 10:75,
SalamanderGrandPi-4: loop region 10:75,
SalamanderGrandPi-5: loop region 10:75,
SalamanderGrandPi-6: loop region 10:75,
SalamanderGrandPi-7: loop region 10:75,
SalamanderGrandPi-8: loop region 10:75,
SalamanderGrandPi-9: loop region 10:75,
SalamanderGrandPi-10: loop region 10:75,
Changes to instrument sections:
SalamanderGrandPi-3: Attenuation: 7.6, loop playback: loop until release, volEnvRelease: 5
SalamanderGrandPi-4: Attenuation: 7.6, loop playback: loop until release, volEnvRelease: 3.5
SalamanderGrandPi-5: Attenuation: 7.6, loop playback: loop until release, volEnvRelease: 3
SalamanderGrandPi-6: Attenuation: 7.6, loop playback: loop until release, volEnvRelease: 2.5
SalamanderGrandPi-7: Attenuation: 7.6, loop playback: loop until release, volEnvRelease: 3
SalamanderGrandPi-8: Attenuation: 7.6, loop playback: loop until release, volEnvRelease: 3
SalamanderGrandPi-9: Attenuation: 7.6, loop playback: loop until release, volEnvRelease: 4
SalamanderGrandPi-10: Attenuation: 100, loop playback: loop until release, volEnvRelease: 5 -
Hi Roebel I guess you managed the differences between sfz and sf2 correctly.
You faced two problems:
* the note triggered on a release, that is not trivial to make with sf2
(cf this link https://www.polyphone.io/o/documentation…ses-in-an-instrument)
* volume might slightly change
Here is what I found when making the export function
https://www.polyphone.io/o/documentation…font-formats#doc_sfz
If you think there is a bug somewhere, or if something can be improve I can create a ticket for this.
Sign in or register to take part in discussions.
Polyphone needs you!
Polyphone is free but there are costs associated with its website and development. A small donation will help a lot.
Donate
Learn the basics
Try a tutorial
Scroll to
top
top