Sign in

Soundfont examples that contain envelope modulators

Category: Help
  • A3 16 0
    Message from Audio2000 3536 on
    I would prefer SF2 player plugins to just contain volume envelope parameters ADSR but unfortunately none exist in Linux.
    Apparently the only way to do this is by having to modify every instrument one at a time using Modulators which does not seem efficient, apparently it is the same case with SFZ instruments as well, have to be added to each instrument.  Would be nice to at least be able to add these parameters to multiple instrument files at once.
    Anyways I just wanted to see how hard it was to setup Modulators per soundfont in Polyphone, I have never done this before.
    If anyone has any tips to share about this that would be great, but I guess the main reason for this post is does anyone know of any examples of soundfonts available to download on this site or internet that contain modulators for volume envelope parameters such as attack decay sustain release (ADSR)?
    I have read that once these are added, then you can access them through MIDI CC parameter numbers, which is another issue because not easy to access these parameters either.
    Just wanted to get idea to see if they are worth trying.

    Thank you if anyone has any info/example soundfonts to share.
  • BO 276 13
    Message from bottrop on
    this is not a sf2 issue. you should look at sf2's as ingredients. if you want to cook them in a different way, you will have to find solutions in the kitchen (synthesizers, DAWs).
    regards bottrop
  • A3 16 0
    Message from Audio2000 3536 on
    Okay, thank you for the reply.
    I am not sure which of my questions above it is referring to.
    Modulators are a feature within soundfonts are they not?  They get saved inside of them don't they?
    They are like the seeds (modulators) inside my watermelon (soundfont instrument)

    If anyone has any examples of soundfonts that contain modulators for the volume envelope parameters ADSR please let me know.
    Just trying to get an idea because nothing I tried while trying to link them / save them in soundfonts worked.

    Thank You
  • BO 276 13
    Message from bottrop on
    all wave files contain modulators. it is impossible to play wave files wirhout modulators (speed, bitrate, frequency.....)
    regards
  • A3 16 0
    Message from Audio2000 3536 on
    umm okay
    As mentioned, do you or any other users know how to setup a modulator for volume envelope parameters where you can share the information how to do so globally to an existing instrument?  or know of any example soundfonts (links to any) that contain modulators for these specific volume envelope parameters so I can learn how to set them up properly?
    For example in Polyphone I would like to be able to set (say the volume attack) to a MIDI CC (say CC70) and then be able to save the soundfont with those CCs linked and then open that soundfont in Fluidsynth based player and use them.
    Thank You
  • BO 276 13
    Message from bottrop on
    the Volume attack is played by the soundfont protocol just like you saved it in the sf2.
    VolumeEnv.sf2
  • A3 16 0
    Message from Audio2000 3536 on
    Linux / Polyphone 2.2.0

    Again, okay
    Thank you for providing this example.
    Question, does your example include anything regarding MIDI CC and the bottom modulator section to apply to global level of instruments, as mentioned in my post above?
    I didn't see any cells with bold rectangles indicating that the bottom modulator MIDI CC section was used in your example.  I know very little about this bottom modulator section.
    As mentioned, in my tests I have selected a cell, I then linked a MIDI CC value and then typed in 2400 which shows 4 whatever that means and then I assigned the attack action in the drop down on the right.
    I then saved the soundfont, tried it in a soundfont player plugin and did not notice anything happen when I tried that CC link.  
    Do you or anyone else know anything about what I have mentioned above?
    Thank You
  • ZI 188 0
    I did something you can already do in the soundfont below: I added all the default modulators to the instrument. (In the instruments section, click on the Toolbox-Menu: "Override a default modulator...", select all from the drop-down menu and add them to the instrument. ).

    So you have the chance to see all the modulators that are already applied by default behind the scenes. (This is what bottrop says).
    Note: Default modulators are located in the Instruments level.

    You can examine and understand these together with the soundfont specification. (You should look not only at the modulators section, but also at the generators section.

    https://freepats.zenvoid.org/sf2/sfspec24.pdf 
    DefaultModulators(z1).sf2
  • A3 16 0
    Message from Audio2000 3536 on
    @ziyametedemircan
    Thank you for your response.
    I have looked into that pdf in the past for a different issue but did think about this including modulator info, mentioned here instead because was looking to combine this question/answer with how it is done specifically in Polyphone.
    I will give this a look again for modulators.
    I will also try out the sf2 you have provided, thank you for providing this as well.

    I was told that modulators were what I was looking for when trying to understand how to set MIDI CC links to ADSR volume parameters.
    As bottrop mentioned and you, I did know the same terminology/process was used for many other things in soundfonts as well.
    I actually read earlier that really there are three layers of them (each override the previous layers)
    1. Default modulators dictated by the SF Spec. These are applied to every instrument.. (this is the level I believe bottrop had mentioned)
    2. Instrument level modulators.
    3. Preset level modulators.
    It is the "Preset" global level modulator that I believe I am looking for that just applies to the entire soundfont preset.
    This is where I was looking to use the Polyhpone modulator bottom section to setup the MIDI CC links to the ADSR volume parameters.
    DId not understand the X multplying values and all of that meant, do not know where to read about this, not really in Polyphone manual section.
    If you know of any place to find please let me know.
    Anyways, as mentioned I still have to look into the two items you mentioned, just wanted to share some information and say thank you before I did.
  • ZI 188 0
    This is going to be a long message because I need to explain some things.

    Of course, to control the modulators from outside, you need to use MIDI-CC. As far as I know, there are two assigned to this. These are used for Attack(cc73) and Release(cc72). However, the device you will use this with must support these controls in the MIDI send/receive list. And some things need to be set in the soundfont. (I used other CCs below, but once you understand the subject well, you can use these two by assigning the necessary values.)

    Another issue: These modulators need to be in the Preset section of the Soundfont (relative). Why?: Because: we have to make changes relative to the existing values of the instrument.
    In other words, these controls will only be able to change the existing values to a certain extent. And the audible change rate in some of them will be relatively much less or not even enough to be heard.

    Reason: Because relative values work with the multiplication system (x). Whatever the value assigned in the Instruments section is, it multiplies it by the value you specify in the preset section. For example: If the attack value is not specified (let's say the sample already has its own attack in the audio recording and does not need to be specified as a parameter), the value here will be "0.001". The multiplication of this value will of course be small since it is proportional to its own value. However, if the attack value of another instrument is "1.000", we will obtain much higher results in the multiplications of this value.

    What if we want to reduce an attack or release value that has already been assigned as a parameter: In this case, the modulator we will use must work in both negative and positive directions. Based on this and logically, it is necessary to assign the positive-bipolar one. This means that, apart from the ADSR values we are used to, the value of 63 is 0, that is, the value remains unchanged, and the values above 63 work as an increaser and the values below as a decreaser. (Again: If the sample recording has an attack in it, we cannot reduce it with a parameter. Here we are talking about the parameters entered as values in the soundfont by the editor).

    Perhaps the best thing to do is to find five unused consecutive CCs (and working with MSB) and assign them in the same order as we used ADHSR. For example: cc20~cc24. So when we know which number it starts from, we can easily remember what the rest are. A:cc20, D:cc21, H:cc22, S:cc23, R:cc24.

    Now we need to know in which ranges these generators work. We need to enter these values into the modulators so that we can have full control. When we find and enter these values from sfspec, the result will be as in the soundfont I attached.

    Note that I only used "Positive Bipolar Linear Plot" here. Some of these may already be convex or concave in the soundfont interpreter. I preferred to give the values as linear, because I am assigning relative values.

    These are designed to be controlled when you open the virtual keyboard of Polyphone and expand the controller area (with the downward pointing arrow at the bottom right of the virtual keyboard). When you select the first control, for example CC-20, you can set a value by turning the round button below it and then test the result by pressing a key on the virtual keyboard. Remember 63=0 (unchanged), values less than 63: to decrease the existing effect, values greater than 63: to increase the existing effect.

    This was a long and time-consuming post, but I hope it helps you.
    ADSRControl(z01).sf2
  • A3 16 0
    Message from Audio2000 3536 on
    I still obviously have to test this, but just in case it takes me longer than expected to achieve my desired results, I wanted to make sure I signed in to tell you how much I really appreciate this.
    No apologies needed for long posts I do not mind them, especially ones like this that really take the time to help and explain things.  I just apologize to you for me not knowing enough, which caused you to have to take time to type a long post (wow there is tongue twister) 
    Now I cannot say I will not have questions, but this is very helpful.
    Thank you again for providing these instructions as well as for providing an example to work with.
  • Message from Audio2000 3536 on
    @ziyametedemircan
    (Sorry I tested this a while ago, have been all over the place with soundfont player related issues)
    Something that first stood out was the 63=0 value part, after testing glad you mentioned this, cause not knowing this would have produced some confusing test results
    Everything worked from your example, I was able to apply the same principles from your example to an example of my own which worked. Only thing that confuses me a little is the number values.

    I wish Linux soundfont players would just include volume envelope parameters but they do not.
    This leads to making users have to modify each soundfont to add these common parameters.
    Because of this, my goal was to only have to make modifications on a “Preset” level for ease of editing.
    First, I thought that if a value was added on global level in the “Presets” section that that would just override any values used in the “Instruments” section.
    You mentioned that the values are relative and that the value in “Instruments” multiplies with the value in “Presets” but I cannot seem to make sense of the numbers that show up.
    So for example the “volume attack” from example you provided
    Instrument Value = 0.055
    Preset Value = 1.000
    Modulator Section = x8000
    Says
    Multiply from 0.00984315
    To: 101.593
    I have seen a little about some of these in the sfspec

    As mentioned just tricky now because might not be able to generate global values and just apply to many already created soundfonts.
    Saw that there is a copy and paste for modulators which could be helpful, but does not copy the values in the cells above so would have to copy them manually for each instrument as well.
    Anyways, the main thing though is that they do work, thank you again so much for taking the time to explain this and for providing the example I was looking for.

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