fluid-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[fluid-dev] More details about fluidsynth versions with implemented 'tun


From: Ruben Gjertsen
Subject: [fluid-dev] More details about fluidsynth versions with implemented 'tuning-keys' command.
Date: Mon, 15 Mar 2021 14:52:53 +0100

Hello,

I have been looking more into the issue with the command 'tuning-keys' in fluidsynth, and can give you some more details.
In recent Max versions (third-party external/plug-in for cycling74's software Max) it has not been working.

The developers from Ircam have no memory of implementing it, and I can see it is commented out in all recent code versions.
But I started working with such tunings based on a version from 2007 found here:
http://imtr.ircam.fr/imtr/FluidSynth_for_Max/MSP
In this version ’tuning-keys’ is actually working, and I based my microtonal organ on this.

With the 64-bit requirements, I was forced to stop using this version, and use versions based on more recent code.
In the old version, the 'tuning-keys' command was working, and it is still working on my old computers. We will have go back to old 
code found here:
http://download.savannah.gnu.org/releases/fluid/

I will pick some lines from the source code where I can see 'tuning-keys' in version 1.1.1 found here.



In the file "fluid_tuning.c":

void fluid_tuning_set_key(fluid_tuning_t* tuning, int key, double pitch)
{
  tuning->pitch[key] = pitch;
}

void fluid_tuning_set_octave(fluid_tuning_t* tuning, const double* pitch_deriv)
{
  int i;

  for (i = 0; i < 128; i++) {
    tuning->pitch[i] = i * 100.0 + pitch_deriv[i % 12];
  }
}

void fluid_tuning_set_all(fluid_tuning_t* tuning, const double* pitch)
{
  int i;

  for (i = 0; i < 128; i++) {
    tuning->pitch[i] = pitch[i];
  }
}

void fluid_tuning_set_pitch(fluid_tuning_t* tuning, int key, double pitch)
{
  if ((key >= 0) && (key < 128)) {
    tuning->pitch[key] = pitch;
  }
}


It seems like a much simpler thing to apply than 'tuning-octave', as you simple loop through and apply the input midicents to a key.



In the file "fluid_tuning.h":

struct _fluid_tuning_t {
  char* name;
  int bank;
  int prog;
  double pitch[128];  /* the pitch of every key, in cents */
  int refcount;         /* Tuning reference count */
};

fluid_tuning_t* new_fluid_tuning(const char* name, int bank, int prog);
void delete_fluid_tuning (fluid_tuning_t *tuning);
fluid_tuning_t *fluid_tuning_duplicate (fluid_tuning_t *tuning);
void fluid_tuning_ref (fluid_tuning_t *tuning);
int fluid_tuning_unref (fluid_tuning_t *tuning, int count);

void fluid_tuning_set_name(fluid_tuning_t* tuning, char* name);
char* fluid_tuning_get_name(fluid_tuning_t* tuning);

#define fluid_tuning_get_bank(_t) ((_t)->bank)
#define fluid_tuning_get_prog(_t) ((_t)->prog)

void fluid_tuning_set_pitch(fluid_tuning_t* tuning, int key, double pitch);
#define fluid_tuning_get_pitch(_t, _key) ((_t)->pitch[_key])



In the file "fluid_voice.c":
void 
fluid_voice_calculate_gen_pitch(fluid_voice_t* voice)
{
  fluid_tuning_t* tuning;
  fluid_real_t x;

  /* The GEN_PITCH is a hack to fit the pitch bend controller into the
   * modulator paradigm.  Now the nominal pitch of the key is set.
   * Note about SCALETUNE: SF2.01 8.1.3 says, that this generator is a
   * non-realtime parameter. So we don't allow modulation (as opposed
   * to _GEN(voice, GEN_SCALETUNE) When the scale tuning is varied,
   * one key remains fixed. Here C3 (MIDI number 60) is used.
   */
  if (fluid_channel_has_tuning(voice->channel)) {
    tuning = fluid_channel_get_tuning (voice->channel);
    x = fluid_tuning_get_pitch (tuning, (int)(voice->root_pitch / 100.0f));
    voice->gen[GEN_PITCH].val = voice->gen[GEN_SCALETUNE].val / 100.0f *
      (fluid_tuning_get_pitch (tuning, voice->key) - x) + x;
  } else {
    voice->gen[GEN_PITCH].val = voice->gen[GEN_SCALETUNE].val
      * (voice->key - voice->root_pitch / 100.0f) + voice->root_pitch;
  }
}

There are also some use of the 'key' variables (concerning tuning) in "fluid_synth.c", which I will not quote here.
"fluid_event_queue.h" and "fluid_cmd.h" contains some code for setting tunings.
"fluid_cmd.c", "fluid_chan.c" and "fluid_chan.h" has code for handling tunings.




Finally I will give some examples of what 'tuning-keys' commands may look like. The syntax is: tuning-keys bank channel midicent-list.
The list may be a bit longer than necessary to fill the keyboard, but that has not caused me any problems.
I do not know whether samples are chosen based on fixed keys or the actual pitch of each key. The diffence may be quite big with some of these tunings. It does, however, not sound bad with organ sounds.
After setting 'tuning-keys', you select it with 'tuning-select' as normal.


Command for harmonic series on 5 different channels (repeated fundamental until the lowest note on the keyboard):
tuning-keys 0 0 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 2362.368 3064.323 3562.368 3948.682 4264.323 4531.194 4762.368 4966.278 5148.682 5313.686 5464.323 5602.896 5731.194 5850.637 5962.368 6067.324 6166.278 6259.881 6348.682 6433.149 6513.687 6590.643 6664.323 6734.996 6802.896 6868.233 6931.194 6991.945 7050.637 7107.404 7162.368 7215.641 7267.324 7317.508 7366.278 7413.712 7459.881 7504.851 7548.682 7591.431 7633.149 7673.886 7713.687 7752.592 7790.643 7827.875 7864.323 7900.020 7934.996 7969.279 8002.896 8035.873 8068.233 8100.000 8131.194 8161.836 8191.946 8221.540 8250.637 8279.253 8307.404 8335.104 8362.368 8389.210 8415.642 8441.675 8467.323 8492.598 8517.508 8542.065 8566.278 8590.157 8613.712 8636.951 8659.881 8682.513 8704.852 8726.905 8748.682 8770.188 8791.431 8812.416 8833.149 8853.638 8873.886 8893.900 8913.687 8933.248 8952.592 8971.722 8990.643 9009.359 9027.875 9046.195 9064.323 9082.264 9100.021 9117.597 9134.996 9152.222 9169.278 9186.169 9202.896 9219.463 9235.873 9252.129 9268.233 9284.189 9300.000 9315.667 9331.194 9346.583 9361.836 9376.957 9391.945 9406.807 9421.540 9436.149 9450.637 9465.004 9479.253 9493.386 9507.404 9521.310 9535.104 9548.790 9562.368 9575.841 9589.210 9602.477 9615.642 9628.707 9641.675 9654.547 9667.323 9680.007 9692.598 9705.098 9717.508 9729.830 9742.065 9754.214 9766.278 9778.260 9790.157 9801.976 9813.712 9825.370 9836.951 9848.454 9859.881 9871.233 9882.513 9893.718 9904.852 9915.913 9926.905 9937.828 9948.682 9959.469 9970.188 9980.842 9991.431 10001.955 10012.416 10022.813 10033.149 10043.424 10053.638 10063.791 10073.886 10083.922 10093.900 10103.821 10113.687 10123.495 10133.248 10142.947 10152.592 10162.184 


tuning-keys 0 4 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 2362.368 3064.323 3562.368 3948.682 4264.323 4531.194 4762.368 4966.278 5148.682 5313.686 5464.323 5602.896 5731.194 5850.637 5962.368 6067.324 6166.278 6259.881 6348.682 6433.149 6513.687 6590.643 6664.323 6734.996 6802.896 6868.233 6931.194 6991.945 7050.637 7107.404 7162.368 7215.641 7267.324 7317.508 7366.278 7413.712 7459.881 7504.851 7548.682 7591.431 7633.149 7673.886 7713.687 7752.592 7790.643 7827.875 7864.323 7900.020 7934.996 7969.279 8002.896 8035.873 8068.233 8100.000 8131.194 8161.836 8191.946 8221.540 8250.637 8279.253 8307.404 8335.104 8362.368 8389.210 8415.642 8441.675 8467.323 8492.598 8517.508 8542.065 8566.278 8590.157 8613.712 8636.951 8659.881 8682.513 8704.852 8726.905 8748.682 8770.188 8791.431 8812.416 8833.149 8853.638 8873.886 8893.900 8913.687 8933.248 8952.592 8971.722 8990.643 9009.359 9027.875 9046.195 9064.323 9082.264 9100.021 9117.597 9134.996 9152.222 9169.278 9186.169 9202.896 9219.463 9235.873 9252.129 9268.233 9284.189 9300.000 9315.667 9331.194 9346.583 9361.836 9376.957 9391.945 9406.807 9421.540 9436.149 9450.637 9465.004 9479.253 9493.386 9507.404 9521.310 9535.104 9548.790 9562.368 9575.841 9589.210 9602.477 9615.642 9628.707 9641.675 9654.547 9667.323 9680.007 9692.598 9705.098 9717.508 9729.830 9742.065 9754.214 9766.278 9778.260 9790.157 9801.976 9813.712 9825.370 9836.951 9848.454 9859.881 9871.233 9882.513 9893.718 9904.852 9915.913 9926.905 9937.828 9948.682 9959.469 9970.188 9980.842 9991.431 10001.955 10012.416 10022.813 10033.149 10043.424 10053.638 10063.791 10073.886 10083.922 10093.900 10103.821 10113.687 10123.495 10133.248 10142.947 10152.592 10162.184 

tuning-keys 0 3 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 2362.368 3064.323 3562.368 3948.682 4264.323 4531.194 4762.368 4966.278 5148.682 5313.686 5464.323 5602.896 5731.194 5850.637 5962.368 6067.324 6166.278 6259.881 6348.682 6433.149 6513.687 6590.643 6664.323 6734.996 6802.896 6868.233 6931.194 6991.945 7050.637 7107.404 7162.368 7215.641 7267.324 7317.508 7366.278 7413.712 7459.881 7504.851 7548.682 7591.431 7633.149 7673.886 7713.687 7752.592 7790.643 7827.875 7864.323 7900.020 7934.996 7969.279 8002.896 8035.873 8068.233 8100.000 8131.194 8161.836 8191.946 8221.540 8250.637 8279.253 8307.404 8335.104 8362.368 8389.210 8415.642 8441.675 8467.323 8492.598 8517.508 8542.065 8566.278 8590.157 8613.712 8636.951 8659.881 8682.513 8704.852 8726.905 8748.682 8770.188 8791.431 8812.416 8833.149 8853.638 8873.886 8893.900 8913.687 8933.248 8952.592 8971.722 8990.643 9009.359 9027.875 9046.195 9064.323 9082.264 9100.021 9117.597 9134.996 9152.222 9169.278 9186.169 9202.896 9219.463 9235.873 9252.129 9268.233 9284.189 9300.000 9315.667 9331.194 9346.583 9361.836 9376.957 9391.945 9406.807 9421.540 9436.149 9450.637 9465.004 9479.253 9493.386 9507.404 9521.310 9535.104 9548.790 9562.368 9575.841 9589.210 9602.477 9615.642 9628.707 9641.675 9654.547 9667.323 9680.007 9692.598 9705.098 9717.508 9729.830 9742.065 9754.214 9766.278 9778.260 9790.157 9801.976 9813.712 9825.370 9836.951 9848.454 9859.881 9871.233 9882.513 9893.718 9904.852 9915.913 9926.905 9937.828 9948.682 9959.469 9970.188 9980.842 9991.431 10001.955 10012.416 10022.813 10033.149 10043.424 10053.638 10063.791 10073.886 10083.922 10093.900 10103.821 10113.687 10123.495 10133.248 10142.947 10152.592 10162.184

tuning-keys 0 2 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 2362.368 3064.323 3562.368 3948.682 4264.323 4531.194 4762.368 4966.278 5148.682 5313.686 5464.323 5602.896 5731.194 5850.637 5962.368 6067.324 6166.278 6259.881 6348.682 6433.149 6513.687 6590.643 6664.323 6734.996 6802.896 6868.233 6931.194 6991.945 7050.637 7107.404 7162.368 7215.641 7267.324 7317.508 7366.278 7413.712 7459.881 7504.851 7548.682 7591.431 7633.149 7673.886 7713.687 7752.592 7790.643 7827.875 7864.323 7900.020 7934.996 7969.279 8002.896 8035.873 8068.233 8100.000 8131.194 8161.836 8191.946 8221.540 8250.637 8279.253 8307.404 8335.104 8362.368 8389.210 8415.642 8441.675 8467.323 8492.598 8517.508 8542.065 8566.278 8590.157 8613.712 8636.951 8659.881 8682.513 8704.852 8726.905 8748.682 8770.188 8791.431 8812.416 8833.149 8853.638 8873.886 8893.900 8913.687 8933.248 8952.592 8971.722 8990.643 9009.359 9027.875 9046.195 9064.323 9082.264 9100.021 9117.597 9134.996 9152.222 9169.278 9186.169 9202.896 9219.463 9235.873 9252.129 9268.233 9284.189 9300.000 9315.667 9331.194 9346.583 9361.836 9376.957 9391.945 9406.807 9421.540 9436.149 9450.637 9465.004 9479.253 9493.386 9507.404 9521.310 9535.104 9548.790 9562.368 9575.841 9589.210 9602.477 9615.642 9628.707 9641.675 9654.547 9667.323 9680.007 9692.598 9705.098 9717.508 9729.830 9742.065 9754.214 9766.278 9778.260 9790.157 9801.976 9813.712 9825.370 9836.951 9848.454 9859.881 9871.233 9882.513 9893.718 9904.852 9915.913 9926.905 9937.828 9948.682 9959.469 9970.188 9980.842 9991.431 10001.955 10012.416 10022.813 10033.149 10043.424 10053.638 10063.791 10073.886 10083.922 10093.900 10103.821 10113.687 10123.495 10133.248 10142.947 10152.592 10162.184 

tuning-keys 0 1 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 1162.368 2362.368 3064.323 3562.368 3948.682 4264.323 4531.194 4762.368 4966.278 5148.682 5313.686 5464.323 5602.896 5731.194 5850.637 5962.368 6067.324 6166.278 6259.881 6348.682 6433.149 6513.687 6590.643 6664.323 6734.996 6802.896 6868.233 6931.194 6991.945 7050.637 7107.404 7162.368 7215.641 7267.324 7317.508 7366.278 7413.712 7459.881 7504.851 7548.682 7591.431 7633.149 7673.886 7713.687 7752.592 7790.643 7827.875 7864.323 7900.020 7934.996 7969.279 8002.896 8035.873 8068.233 8100.000 8131.194 8161.836 8191.946 8221.540 8250.637 8279.253 8307.404 8335.104 8362.368 8389.210 8415.642 8441.675 8467.323 8492.598 8517.508 8542.065 8566.278 8590.157 8613.712 8636.951 8659.881 8682.513 8704.852 8726.905 8748.682 8770.188 8791.431 8812.416 8833.149 8853.638 8873.886 8893.900 8913.687 8933.248 8952.592 8971.722 8990.643 9009.359 9027.875 9046.195 9064.323 9082.264 9100.021 9117.597 9134.996 9152.222 9169.278 9186.169 9202.896 9219.463 9235.873 9252.129 9268.233 9284.189 9300.000 9315.667 9331.194 9346.583 9361.836 9376.957 9391.945 9406.807 9421.540 9436.149 9450.637 9465.004 9479.253 9493.386 9507.404 9521.310 9535.104 9548.790 9562.368 9575.841 9589.210 9602.477 9615.642 9628.707 9641.675 9654.547 9667.323 9680.007 9692.598 9705.098 9717.508 9729.830 9742.065 9754.214 9766.278 9778.260 9790.157 9801.976 9813.712 9825.370 9836.951 9848.454 9859.881 9871.233 9882.513 9893.718 9904.852 9915.913 9926.905 9937.828 9948.682 9959.469 9970.188 9980.842 9991.431 10001.955 10012.416 10022.813 10033.149 10043.424 10053.638 10063.791 10073.886 10083.922 10093.900 10103.821 10113.687 10123.495 10133.248 10142.947 10152.592 10162.184 



Command for a random pelog tuning (5 versions on 5 channels):
tuning-keys 0 0 -6268.000 -6102.000 -5821.000 -5766.000 -5656.000 -5450.000 -5204.000 -5072.000 -4919.000 -4664.000 -4529.000 -4435.000 -4245.000 -4005.000 -3873.000 -3747.000 -3481.000 -3269.000 -3173.000 -2975.000 -2744.000 -2634.000 -2484.000 -2148.000 -1968.000 -1855.000 -1649.000 -1386.000 -1184.000 -1056.000 -788.000 -648.000 -535.000 -337.000 -95.000 15.000 156.000 437.000 536.000 644.000 848.000 1088.000 1198.000 1364.000 1511.000 1631.000 1741.000 1899.000 2130.000 2250.000 2404.000 2670.500 2853.500 2968.500 3166.500 3412.500 3540.500 3690.500 3944.500 4124.500 4239.500 4437.500 4657.500 4777.500 4931.500 5223.500 5363.500 5471.500 5661.500 5881.500 6017.500 6155.500 6439.500 6494.500 6604.500 6777.500 7017.500 7145.500 7271.500 7565.500 7700.500 7808.500 7998.500 8172.500 8300.500 8446.500 8700.500 8912.500 9108.500 9314.500 9577.500 9687.500 9841.500 10107.500 10162.500 10367.500 10575.500 10838.500 10958.500 11100.500 11436.500 11572.500 11674.500 11846.500 12066.500 12186.500 12328.500 12609.500 12744.500 12846.500 13019.500 13259.500 13389.500 13517.500 13853.500 14065.500 14180.500 14338.500 14601.500 14733.500 14886.500 15141.500 15261.500 15357.500 15555.500 15786.500 15924.500 16064.500 16332.500 16472.500 16582.500 16740.500 17003.500 tuning-keys 0 0 -6268.000 -6102.000 -5821.000 -5766.000 -5656.000 -5450.000 -5204.000 -5072.000 -4919.000 -4664.000 -4529.000 -4435.000 -4245.000 -4005.000 -3873.000 -3747.000 -3481.000 -3269.000 -3173.000 -2975.000 -2744.000 -2634.000 -2484.000 -2148.000 -1968.000 -1855.000 -1649.000 -1386.000 -1184.000 -1056.000 -788.000 -648.000 -535.000 -337.000 -95.000 15.000 156.000 437.000 536.000 644.000 848.000 1088.000 1198.000 1364.000 1511.000 1631.000 1741.000 1899.000 2130.000 2250.000 2404.000 2670.500 2853.500 2968.500 3166.500 3412.500 3540.500 3690.500 3944.500 4124.500 4239.500 4437.500 4657.500 4777.500 4931.500 5223.500 5363.500 5471.500 5661.500 5881.500 6017.500 6155.500 6439.500 6494.500 6604.500 6777.500 7017.500 7145.500 7271.500 7565.500 7700.500 7808.500 7998.500 8172.500 8300.500 8446.500 8700.500 8912.500 9108.500 9314.500 9577.500 9687.500 9841.500 10107.500 10162.500 10367.500 10575.500 10838.500 10958.500 11100.500 11436.500 11572.500 11674.500 11846.500 12066.500 12186.500 12328.500 12609.500 12744.500 12846.500 13019.500 13259.500 13389.500 13517.500 13853.500 14065.500 14180.500 14338.500 14601.500 14733.500 14886.500 15141.500 15261.500 15357.500 15555.500 15786.500 15924.500 16064.500 16332.500 16472.500 16582.500 16740.500 17003.500 

tuning-keys 0 4 -6268.000 -6118.000 -5863.000 -5751.000 -5649.000 -5443.000 -5180.000 -5048.000 -4907.000 -4623.000 -4492.500 -4386.500 -4188.500 -3925.500 -3815.500 -3689.500 -3395.500 -3265.000 -3155.000 -2951.000 -2711.000 -2579.000 -2441.000 -2160.000 -2025.000 -1915.000 -1747.500 -1507.500 -1375.500 -1221.500 -1021.500 -905.500 -790.500 -611.500 -391.500 -281.500 -139.500 144.500 280.500 386.500 558.500 789.500 917.500 1043.500 1298.500 1353.500 1463.500 1671.500 1891.500 2023.500 2161.500 2442.500 2577.500 2692.500 2850.500 3096.500 3228.500 3361.500 3629.500 3728.500 3824.500 3992.000 4255.000 4396.000 4558.000 4826.000 4956.000 5064.000 5231.500 5471.500 5603.500 5739.500 6011.500 6131.500 6241.500 6447.500 6667.500 6799.500 6941.500 7225.500 7351.500 7547.500 7745.500 7919.500 8049.500 8195.500 8342.500 8554.500 8650.500 8829.500 9071.500 9191.500 9341.500 9594.500 9714.500 9824.500 10048.500 10268.500 10426.500 10572.500 10853.500 10969.500 11084.500 11263.500 11526.500 11646.500 11772.500 12066.500 12186.500 12296.500 12510.500 12752.500 12882.500 13044.500 13314.500 13449.500 13564.500 13778.500 13998.500 14108.500 14258.500 14513.500 14639.500 14754.500 14952.500 15215.500 15347.500 15487.500 15768.500 15951.500 16066.500 16224.500 16487.500 tuning-keys 0 3 -6270.000 -6124.000 -5852.000 -5797.000 -5695.000 -5522.000 -5302.000 -5144.000 -4982.000 -4729.000 -4609.000 -4515.000 -4347.500 -4116.500 -3984.500 -3844.500 -3697.500 -3585.500 -3475.500 -3269.500 -3006.500 -2865.500 -2727.500 -2580.500 -2525.500 -2415.500 -2201.500 -1961.500 -1851.500 -1701.500 -1409.500 -1279.500 -1166.500 -960.500 -718.500 -598.500 -448.500 -167.500 -41.500 66.500 272.500 514.500 634.500 772.500 1108.500 1226.500 1334.500 1532.500 1706.500 1844.500 1970.500 2236.500 2419.500 2521.500 2725.500 2988.500 3116.500 3257.500 3549.500 3648.500 3763.500 3939.500 4202.500 4334.500 4484.500 4754.500 4889.500 5002.500 5208.500 5439.500 5567.500 5695.500 5963.500 6146.500 6248.500 6446.500 6709.500 6845.500 6999.500 7199.500 7319.500 7415.500 7573.500 7747.500 7888.500 8030.500 8297.000 8409.000 8517.000 8696.000 8947.000 9086.000 9236.000 9520.000 9732.000 9834.000 10007.000 10253.000 10389.000 10531.000 10785.000 10997.000 11112.000 11326.000 11589.000 11699.000 11825.000 12091.500 12221.500 12317.500 12493.500 12733.500 12853.500 12981.500 13128.500 13258.500 13360.500 13536.500 13782.500 13912.500 14038.500 14308.500 14491.500 14604.500 14810.500 15073.500 15231.500 15393.500 15663.500 15803.500 15911.500 16119.500 16339.500 

tuning-keys 0 2 -6264.000 -6126.000 -5856.000 -5757.000 -5552.000 -5394.000 -5163.000 -4961.000 -4820.000 -4526.000 -4391.000 -4281.000 -4067.000 -3821.000 -3711.000 -3573.000 -3289.000 -3109.000 -3007.000 -2801.000 -2559.000 -2427.000 -2299.000 -2031.000 -1891.000 -1783.000 -1607.000 -1344.000 -1206.000 -1052.000 -758.000 -642.000 -529.000 -356.000 -93.000 17.000 170.000 451.000 581.000 675.000 833.000 1096.000 1298.000 1452.000 1788.000 1928.000 2024.000 2200.000 2451.000 2581.000 2721.000 2987.000 3105.000 3220.000 3426.000 3689.000 3847.000 3987.000 4240.000 4380.000 4490.000 4688.000 4908.000 5047.000 5185.000 5332.000 5431.000 5533.000 5731.000 5994.000 6122.000 6250.000 6531.000 6643.000 6756.000 6946.000 7197.000 7323.000 7465.000 7759.000 7895.000 8001.000 8177.000 8440.000 8568.000 8706.000 8959.000 9142.000 9250.000 9458.000 9700.000 9820.000 9958.000 10230.000 10346.000 10442.000 10646.000 10888.000 11024.000 11150.000 11486.000 11612.000 11727.000 11951.000 12197.000 12325.000 12451.000 12745.000 12875.500 12983.500 13181.500 13444.500 13583.500 13721.500 13975.500 14115.500 14230.500 14420.500 14594.500 14714.500 14860.500 15114.500 15244.500 15340.500 15516.500 15736.500 15872.500 16005.500 16260.500 16395.500 16503.500 16701.500 16964.500 

tuning-keys 0 1 -6290.000 -6140.000 -5859.000 -5723.000 -5613.000 -5409.000 -5169.000 -5011.000 -4873.000 -4606.500 -4471.500 -4361.500 -4185.500 -3922.500 -3796.500 -3646.500 -3380.000 -3325.000 -3231.000 -3033.000 -2813.000 -2681.000 -2545.000 -2345.000 -2205.000 -2097.000 -1883.000 -1643.000 -1511.000 -1371.000 -1224.000 -1044.000 -948.000 -790.000 -616.000 -488.000 -335.000 -68.500 71.500 181.500 385.500 627.500 766.500 916.500 1197.500 1409.500 1605.500 1778.500 1998.500 2118.500 2260.500 2407.500 2590.500 2698.500 2871.500 3122.500 3242.500 3370.500 3642.500 3854.500 3969.500 4175.500 4438.500 4570.500 4732.500 5013.500 5193.500 5303.500 5493.500 5739.500 5859.500 6025.500 6317.500 6453.500 6568.500 6776.500 7039.500 7149.500 7303.500 7557.500 7697.500 7807.500 8021.500 8241.500 8377.500 8527.500 8808.500 8907.500 9022.500 9228.500 9448.500 9568.500 9734.500 9989.500 10115.500 10217.500 10390.500 10653.500 10763.500 10904.500 11185.500 11297.500 11391.500 11605.500 11845.500 11977.500 12127.500 12381.500 12564.500 12666.500 12890.500 13130.500 13262.500 13428.500 13720.500 13850.500 13960.500 14118.500 14381.500 14509.500 14637.500 14892.500 14991.500 15101.500 15273.500 15493.500 15625.500 15765.500 16035.500 16155.500 16351.500 16559.500 16822.500 

tuning-keys 0 3 -6270.000 -6124.000 -5852.000 -5797.000 -5695.000 -5522.000 -5302.000 -5144.000 -4982.000 -4729.000 -4609.000 -4515.000 -4347.500 -4116.500 -3984.500 -3844.500 -3697.500 -3585.500 -3475.500 -3269.500 -3006.500 -2865.500 -2727.500 -2580.500 -2525.500 -2415.500 -2201.500 -1961.500 -1851.500 -1701.500 -1409.500 -1279.500 -1166.500 -960.500 -718.500 -598.500 -448.500 -167.500 -41.500 66.500 272.500 514.500 634.500 772.500 1108.500 1226.500 1334.500 1532.500 1706.500 1844.500 1970.500 2236.500 2419.500 2521.500 2725.500 2988.500 3116.500 3257.500 3549.500 3648.500 3763.500 3939.500 4202.500 4334.500 4484.500 4754.500 4889.500 5002.500 5208.500 5439.500 5567.500 5695.500 5963.500 6146.500 6248.500 6446.500 6709.500 6845.500 6999.500 7199.500 7319.500 7415.500 7573.500 7747.500 7888.500 8030.500 8297.000 8409.000 8517.000 8696.000 8947.000 9086.000 9236.000 9520.000 9732.000 9834.000 10007.000 10253.000 10389.000 10531.000 10785.000 10997.000 11112.000 11326.000 11589.000 11699.000 11825.000 12091.500 12221.500 12317.500 12493.500 12733.500 12853.500 12981.500 13128.500 13258.500 13360.500 13536.500 13782.500 13912.500 14038.500 14308.500 14491.500 14604.500 14810.500 15073.500 15231.500 15393.500 15663.500 15803.500 15911.500 16119.500 16339.500


Command for a random slendro tuning(5 versions on 5 channels):
tuning-keys 0 0 -6117.000 -5831.000 -5598.000 -5342.000 -5104.000 -4859.000 -4605.000 -4347.000 -4079.000 -3821.000 -3566.000 -3310.000 -3078.000 -2843.000 -2595.000 -2362.000 -2124.000 -1894.000 -1635.000 -1398.000 -1180.000 -907.000 -675.000 -417.000 -182.000 51.000 287.000 555.000 788.000 1024.000 1261.000 1494.000 1739.000 1972.000 2208.000 2462.000 2748.000 2972.000 3209.000 3477.000 3707.000 3980.000 4204.000 4472.000 4729.000 4974.000 5210.000 5443.000 5701.000 5936.000 6184.000 6421.000 6689.000 6944.000 7182.000 7400.000 7637.000 7872.000 8128.000 8346.000 8605.000 8829.000 9084.000 9332.000 9567.000 9802.000 10034.000 10271.000 10525.000 10770.000 11056.000 11304.000 11549.000 11808.000 12064.000 12301.000 12531.000 12764.000 13032.000 13269.000 13502.000 13742.000 13978.000 14218.000 14454.000 14713.000 14967.000 15223.000 15481.000 15739.000 15984.000 16243.000 16501.000 16787.000 17024.000 17281.000 17516.000 17772.000 18045.000 18278.000 18516.000 18749.000 18967.000 19226.000 19512.000 19749.000 20006.000 20251.000 20486.000 20743.000 20993.000 21238.000 21471.000 21695.000 21950.000 22185.000 22421.000 22694.000 22929.000 23162.000 23395.000 23619.000 23852.000 24097.000 24356.000 24593.000 24829.000 25074.000 

tuning-keys 0 4 -7200.000 -6914.000 -6681.000 -6425.000 -6187.000 -5942.000 -5688.000 -5430.000 -5162.000 -4904.000 -4649.000 -4393.000 -4161.000 -3926.000 -3678.000 -3445.000 -3207.000 -2977.000 -2718.000 -2481.000 -2263.000 -1990.000 -1758.000 -1500.000 -1265.000 -1032.000 -796.000 -528.000 -295.000 -59.000 178.000 411.000 656.000 889.000 1125.000 1379.000 1665.000 1889.000 2126.000 2394.000 2624.000 2897.000 3121.000 3389.000 3646.000 3891.000 4127.000 4360.000 4618.000 4853.000 5101.000 5338.000 5606.000 5861.000 6099.000 6317.000 6554.000 6789.000 7045.000 7263.000 7522.000 7746.000 8001.000 8249.000 8484.000 8719.000 8951.000 9188.000 9442.000 9687.000 9973.000 10221.000 10466.000 10725.000 10981.000 11218.000 11448.000 11681.000 11949.000 12186.000 12419.000 12659.000 12895.000 13135.000 13371.000 13630.000 13884.000 14140.000 14398.000 14656.000 14901.000 15160.000 15418.000 15704.000 15941.000 16198.000 16433.000 16689.000 16962.000 17195.000 17433.000 17666.000 17884.000 18143.000 18429.000 18666.000 18923.000 19168.000 19403.000 19660.000 19910.000 20155.000 20388.000 20612.000 20867.000 21102.000 21338.000 21611.000 21846.000 22079.000 22312.000 22536.000 22769.000 23014.000 23273.000 23510.000 23746.000 23991.000 

tuning-keys 0 3 -6932.000 -6646.000 -6413.000 -6157.000 -5919.000 -5674.000 -5420.000 -5162.000 -4894.000 -4636.000 -4381.000 -4125.000 -3893.000 -3658.000 -3410.000 -3177.000 -2939.000 -2709.000 -2450.000 -2213.000 -1995.000 -1722.000 -1490.000 -1232.000 -997.000 -764.000 -528.000 -260.000 -27.000 209.000 446.000 679.000 924.000 1157.000 1393.000 1647.000 1933.000 2157.000 2394.000 2662.000 2892.000 3165.000 3389.000 3657.000 3914.000 4159.000 4395.000 4628.000 4886.000 5121.000 5369.000 5606.000 5874.000 6129.000 6367.000 6585.000 6822.000 7057.000 7313.000 7531.000 7790.000 8014.000 8269.000 8517.000 8752.000 8987.000 9219.000 9456.000 9710.000 9955.000 10241.000 10489.000 10734.000 10993.000 11249.000 11486.000 11716.000 11949.000 12217.000 12454.000 12687.000 12927.000 13163.000 13403.000 13639.000 13898.000 14152.000 14408.000 14666.000 14924.000 15169.000 15428.000 15686.000 15972.000 16209.000 16466.000 16701.000 16957.000 17230.000 17463.000 17701.000 17934.000 18152.000 18411.000 18697.000 18934.000 19191.000 19436.000 19671.000 19928.000 20178.000 20423.000 20656.000 20880.000 21135.000 21370.000 21606.000 21879.000 22114.000 22347.000 22580.000 22804.000 23037.000 23282.000 23541.000 23778.000 24014.000 24259.000 

tuning-keys 0 2 -6659.000 -6373.000 -6140.000 -5884.000 -5646.000 -5401.000 -5147.000 -4889.000 -4621.000 -4363.000 -4108.000 -3852.000 -3620.000 -3385.000 -3137.000 -2904.000 -2666.000 -2436.000 -2177.000 -1940.000 -1722.000 -1449.000 -1217.000 -959.000 -724.000 -491.000 -255.000 13.000 246.000 482.000 719.000 952.000 1197.000 1430.000 1666.000 1920.000 2206.000 2430.000 2667.000 2935.000 3165.000 3438.000 3662.000 3930.000 4187.000 4432.000 4668.000 4901.000 5159.000 5394.000 5642.000 5879.000 6147.000 6402.000 6640.000 6858.000 7095.000 7330.000 7586.000 7804.000 8063.000 8287.000 8542.000 8790.000 9025.000 9260.000 9492.000 9729.000 9983.000 10228.000 10514.000 10762.000 11007.000 11266.000 11522.000 11759.000 11989.000 12222.000 12490.000 12727.000 12960.000 13200.000 13436.000 13676.000 13912.000 14171.000 14425.000 14681.000 14939.000 15197.000 15442.000 15701.000 15959.000 16245.000 16482.000 16739.000 16974.000 17230.000 17503.000 17736.000 17974.000 18207.000 18425.000 18684.000 18970.000 19207.000 19464.000 19709.000 19944.000 20201.000 20451.000 20696.000 20929.000 21153.000 21408.000 21643.000 21879.000 22152.000 22387.000 22620.000 22853.000 23077.000 23310.000 23555.000 23814.000 24051.000 24287.000 24532.000 

tuning-keys 0 1 -6373.000 -6087.000 -5854.000 -5598.000 -5360.000 -5115.000 -4861.000 -4603.000 -4335.000 -4077.000 -3822.000 -3566.000 -3334.000 -3099.000 -2851.000 -2618.000 -2380.000 -2150.000 -1891.000 -1654.000 -1436.000 -1163.000 -931.000 -673.000 -438.000 -205.000 31.000 299.000 532.000 768.000 1005.000 1238.000 1483.000 1716.000 1952.000 2206.000 2492.000 2716.000 2953.000 3221.000 3451.000 3724.000 3948.000 4216.000 4473.000 4718.000 4954.000 5187.000 5445.000 5680.000 5928.000 6165.000 6433.000 6688.000 6926.000 7144.000 7381.000 7616.000 7872.000 8090.000 8349.000 8573.000 8828.000 9076.000 9311.000 9546.000 9778.000 10015.000 10269.000 10514.000 10800.000 11048.000 11293.000 11552.000 11808.000 12045.000 12275.000 12508.000 12776.000 13013.000 13246.000 13486.000 13722.000 13962.000 14198.000 14457.000 14711.000 14967.000 15225.000 15483.000 15728.000 15987.000 16245.000 16531.000 16768.000 17025.000 17260.000 17516.000 17789.000 18022.000 18260.000 18493.000 18711.000 18970.000 19256.000 19493.000 19750.000 19995.000 20230.000 20487.000 20737.000 20982.000 21215.000 21439.000 21694.000 21929.000 22165.000 22438.000 22673.000 22906.000 23139.000 23363.000 23596.000 23841.000 24100.000 24337.000 24573.000 24818.000 


Command for airplane sprectral analysis tuning (5 versions on 5 channels):
tuning-keys 0 0 2114.000 2114.000 2114.000 2114.000 2114.000 2114.000 2114.000 2114.000 2114.000 2114.000 2114.000 2114.000 2114.000 2114.000 2114.000 2114.000 2114.000 2114.000 2114.000 2114.000 2114.000 2114.000 2114.000 2114.000 2114.000 2920.000 3114.000 3114.000 3160.000 3180.000 3484.000 3518.000 3518.000 3528.000 3548.000 3548.000 3682.000 3692.000 3692.000 3730.000 3754.000 3804.000 3912.000 3912.000 3940.000 3950.000 4008.000 4068.000 4080.000 4170.000 4180.000 4314.000 4340.000 4348.000 4376.000 4392.000 4438.000 4440.000 4440.000 4444.000 4456.000 4458.000 4472.000 4482.000 4482.000 4502.000 4502.000 4510.000 4510.000 4528.000 4536.000 4560.000 4714.000 4780.000 4848.000 4942.000 4952.000 4976.000 4978.000 4984.000 5014.000 5016.000 5036.000 5054.000 5058.000 5088.000 5092.000 5100.000 5102.000 5104.000 5114.000 5140.000 5142.000 5150.000 5160.000 5166.000 5172.000 5174.000 5186.000 5192.000 5200.000 5216.000 5222.000 5240.000 5294.000 5694.000 5694.000 5698.000 5700.000 5704.000 5716.000 5720.000 5722.000 5722.000 5732.000 5734.000 5742.000 5744.000 5746.000 5758.000 5758.000 5770.000 5772.000 5772.000 

tuning-keys 0 4 2126.000 2126.000 2126.000 2126.000 2126.000 2126.000 2126.000 2126.000 2126.000 2126.000 2126.000 2126.000 2126.000 2920.000 3154.000 3160.000 3160.000 3160.000 3160.000 3518.000 3518.000 3680.000 3698.000 3728.000 3766.000 3804.000 3904.000 3998.000 4046.000 4050.000 4068.000 4328.000 4328.000 4334.000 4334.000 4346.000 4376.000 4382.000 4384.000 4396.000 4406.000 4408.000 4408.000 4428.000 4440.000 4444.000 4454.000 4472.000 4472.000 4478.000 4482.000 4486.000 4502.000 4518.000 4538.000 4542.000 4578.000 4578.000 4578.000 4714.000 4780.000 4972.000 4998.000 5002.000 5014.000 5014.000 5040.000 5054.000 5070.000 5072.000 5092.000 5104.000 5114.000 5122.000 5130.000 5130.000 5144.000 5150.000 5158.000 5178.000 5186.000 5188.000 5190.000 5194.000 5194.000 5194.000 5214.000 5216.000 5230.000 5230.000 5242.000 5244.000 5244.000 5248.000 5248.000 5252.000 5264.000 5264.000 5284.000 5294.000 5702.000 5704.000 5704.000 5706.000 5710.000 5722.000 5734.000 5738.000 5740.000 5740.000 5742.000 5756.000 

tuning-keys 0 3 2126.000 2126.000 2126.000 2126.000 2126.000 2126.000 2126.000 2126.000 2126.000 2126.000 2126.000 2126.000 2126.000 2126.000 2126.000 2126.000 2126.000 2126.000 2126.000 2126.000 2126.000 2126.000 2126.000 2126.000 2126.000 2308.000 2990.000 3114.000 3154.000 3318.000 3588.000 3588.000 3678.000 3684.000 3692.000 3730.000 3730.000 3766.000 3868.000 3914.000 3950.000 3988.000 4046.000 4050.000 4192.000 4274.000 4334.000 4334.000 4340.000 4344.000 4344.000 4360.000 4386.000 4386.000 4390.000 4398.000 4402.000 4406.000 4412.000 4428.000 4442.000 4452.000 4496.000 4510.000 4518.000 4518.000 4538.000 4542.000 4554.000 4554.000 4810.000 4844.000 4894.000 4922.000 4962.000 4972.000 4984.000 4994.000 5002.000 5014.000 5058.000 5060.000 5060.000 5092.000 5100.000 5108.000 5110.000 5114.000 5140.000 5142.000 5144.000 5148.000 5178.000 5186.000 5192.000 5192.000 5200.000 5214.000 5214.000 5230.000 5242.000 5242.000 5252.000 5284.000 5302.000 5706.000 5708.000 5710.000 5714.000 5716.000 5720.000 5726.000 5728.000 5732.000 5734.000 5748.000 5748.000 5748.000 5756.000 5756.000 5760.000 5768.000 5770.000 5772.000

tuning-keys 0 2 2114.000 2114.000 2114.000 2114.000 2114.000 2114.000 2114.000 2114.000 2114.000 2114.000 2114.000 2114.000 2114.000 2114.000 2114.000 2114.000 2114.000 2114.000 2114.000 2114.000 2114.000 2114.000 2114.000 2114.000 2114.000 3020.000 3020.000 3156.000 3156.000 3228.000 3476.000 3518.000 3678.000 3700.000 3716.000 3730.000 3748.000 3766.000 3914.000 3914.000 4166.000 4170.000 4170.000 4192.000 4192.000 4218.000 4274.000 4314.000 4340.000 4348.000 4366.000 4386.000 4386.000 4388.000 4402.000 4408.000 4410.000 4416.000 4416.000 4452.000 4464.000 4482.000 4502.000 4512.000 4532.000 4560.000 4578.000 4844.000 4844.000 4844.000 4848.000 4908.000 4972.000 4978.000 4994.000 5002.000 5002.000 5014.000 5060.000 5068.000 5070.000 5102.000 5104.000 5128.000 5154.000 5154.000 5158.000 5170.000 5172.000 5186.000 5186.000 5188.000 5188.000 5188.000 5190.000 5192.000 5194.000 5196.000 5196.000 5222.000 5284.000 5284.000 5294.000 5384.000 5700.000 5704.000 5704.000 5708.000 5710.000 5712.000 5712.000 5714.000 5714.000 5724.000 5732.000 5736.000 5740.000 5740.000 5758.000 5762.000 5762.000 5766.000 5770.000 6658.000 

tuning-keys 0 1 2988.000 2988.000 2988.000 2988.000 2988.000 2988.000 2988.000 2988.000 2988.000 2988.000 2988.000 2988.000 2988.000 2988.000 2988.000 2988.000 2988.000 2988.000 2988.000 2988.000 2988.000 2988.000 2988.000 2988.000 2988.000 3228.000 3318.000 3460.000 3484.000 3524.000 3594.000 3596.000 3612.000 3646.000 3678.000 3680.000 3692.000 3698.000 3722.000 3744.000 3754.000 3766.000 3766.000 3804.000 3912.000 3914.000 3940.000 3950.000 4046.000 4046.000 4070.000 4328.000 4334.000 4334.000 4340.000 4360.000 4372.000 4374.000 4384.000 4398.000 4406.000 4410.000 4412.000 4416.000 4438.000 4438.000 4442.000 4468.000 4504.000 4518.000 4536.000 4538.000 4554.000 4810.000 4810.000 4810.000 4844.000 4922.000 4972.000 4984.000 4994.000 4998.000 5004.000 5030.000 5030.000 5034.000 5036.000 5058.000 5084.000 5102.000 5130.000 5136.000 5140.000 5140.000 5150.000 5154.000 5170.000 5190.000 5202.000 5214.000 5222.000 5230.000 5240.000 5244.000 5262.000 5264.000 5704.000 5710.000 5724.000 5732.000 5736.000 5736.000 5740.000 5740.000 5742.000 5746.000 5748.000 5750.000 5756.000 5772.000 6652.000 6652.000 6658.000 6680.000 


It is also possible to create interpolations between any such tuning, with for instance 10 steps per second, and fluidsynth was handling that fine (the 2007 version).


Now, I would be interested if this functionality could be implemented in the new fluidsynth versions. Dealing the individual keys could be even less complicated to than program than fixed octave divisions of 12.
I do not have the necessary insights in how the different parts of the code work together and what the relevant variable names are. I also know Lisp better than C, so at the moment, I am not the right person to implement it. 

I hope you again can take it up for discussion.

All the best
Ruben Sverre Gjertsen


reply via email to

[Prev in Thread] Current Thread [Next in Thread]