+++ /dev/null
-//Parameters for piano.dsp
-//©Romain Michon (rmichon@ccrma.stanford.edu), 2011
-//licence: FAUST-STK
-
-#include "instrument.h"
-
-#define _LOOKUP_TABLE_H_
-
-//**********************************************************************
-
-extern LookupTable noteOffDelayTime;
-
-/* pianoDriverC.sb */
-/* Coupling Filter */
-
-extern LookupTable singleStringDecayRate;
-extern LookupTable singleStringZero;
-extern LookupTable singleStringPole;
-extern LookupTable releaseLoopGain;
-extern LookupTable detuningHz;
-extern LookupTable stiffnessCoefficient;
-extern LookupTable strikePosition;
-extern LookupTable EQGain;
-extern LookupTable EQBandwidthFactor;
-
-/* PianoDriverA */
-/* HammerFilter */
-extern LookupTable loudPole;
-extern LookupTable softPole;
-extern LookupTable normalizedVelocity;
-extern LookupTable loudGain;
-extern LookupTable softGain;
-
-
-/* Soundboard */
-extern LookupTable sustainPedalLevel;
-extern LookupTable DryTapAmpT60;
-extern double DryTapAmpCurrent;
-extern LookupTable DCBa1;
-
-
-/* pianoDriverB */
-/* High Notes */
-extern LookupTable secondStageAmpRatio;
-extern LookupTable r1_1db;
-extern LookupTable r1_2db;
-extern LookupTable r2db;
-extern LookupTable r3db;
-extern LookupTable secondPartialFactor;
-extern LookupTable thirdPartialFactor;
-extern LookupTable bq4_gEarBalled;
-
-//***************************************************************
-
-/* PianoDriver.sb */
-double noteOffDelayTime_points[5*2] = {
- 89.000,3.000,
- 93.000,2.000,
- 95.000,1.500,
- 99.782,1.020,
- 108.000,0.300,
-};
-LookupTable noteOffDelayTime(¬eOffDelayTime_points[0], 5);
-
-/* pianoDriverC.sb */
-/* Coupling Filter */
-
-double singleStringDecayRate_points[17*2] = {
- 21.000,-1.500,
- 24.000,-1.500,
- 28.000,-1.500,
- 29.000,-6.000,
- 36.000,-6.000,
- 42.000,-6.100,
- 48.000,-7.000,
- 52.836,-7.000,
- 60.000,-7.300,
- 66.000,-7.700,
- 72.000,-8.000,
- 78.000,-8.800,
- 84.000,-10.000,
- 88.619,-11.215,
- 92.368,-12.348,
- 95.684,-13.934,
- 99.000,-15.000
-};
-LookupTable singleStringDecayRate(&singleStringDecayRate_points[0], 17);
-
-double singleStringZero_points[17*2] = {
- 21.000,-1.000,
- 24.000,-1.000,
- 28.000,-1.000,
- 29.000,-1.000,
- 32.534,-1.000,
- 36.000,-0.700,
- 42.000,-0.400,
- 48.000,-0.200,
- 54.000,-0.120,
- 60.000,-0.080,
- 66.000,-0.070,
- 72.000,-0.070,
- 79.000,-0.065,
- 84.000,-0.063,
- 88.000,-0.060,
- 96.000,-0.050,
- 99.000,-0.050 };
-LookupTable singleStringZero(&singleStringZero_points[0], 17);
-
-double singleStringPole_points[17*2] = {
- 21.000,0.350,
- 24.604,0.318,
- 26.335,0.279,
- 28.000,0.250,
- 32.000,0.150,
- 36.000,0.000,
- 42.000,0.000,
- 48.000,0.000,
- 54.000,0.000,
- 60.000,0.000,
- 66.000,0.000,
- 72.000,0.000,
- 76.000,0.000,
- 84.000,0.000,
- 88.000,0.000,
- 96.000,0.000,
- 99.000,0.000 };
-LookupTable singleStringPole(&singleStringPole_points[0], 17);
-
-double releaseLoopGain_points[10*2] = {
- 21.000,0.865,
- 24.000,0.880,
- 29.000,0.896,
- 36.000,0.910,
- 48.000,0.920,
- 60.000,0.950,
- 72.000,0.965,
- 84.000,0.988,
- 88.000,0.997,
- 99.000,0.988 };
-LookupTable releaseLoopGain(&releaseLoopGain_points[0], 10);
-
-double detuningHz_points[18*2] = {
- 21.000,0.003,
- 24.000,0.003,
- 28.000,0.003,
- 29.000,0.060,
- 31.000,0.100,
- 36.000,0.110,
- 42.000,0.120,
- 48.000,0.200,
- 54.000,0.200,
- 60.000,0.250,
- 66.000,0.270,
- 72.232,0.300,
- 78.000,0.350,
- 84.000,0.500,
- 88.531,0.582,
- 92.116,0.664,
- 95.844,0.793,
- 99.000,1.000 };
-LookupTable detuningHz(&detuningHz_points[0], 18);
-
-double stiffnessCoefficient_points[10*2] = {
- 21.000,-0.850,
- 23.595,-0.850,
- 27.055,-0.830,
- 29.000,-0.700,
- 37.725,-0.516,
- 46.952,-0.352,
- 60.000,-0.250,
- 73.625,-0.036,
- 93.810,-0.006,
- 99.000,1.011 };
-LookupTable stiffnessCoefficient(&stiffnessCoefficient_points[0], 10);
-
-double strikePosition_points[12*2] = {
- 21.000,0.050,
- 24.000,0.050,
- 28.000,0.050,
- 35.000,0.050,
- 41.000,0.050,
- 42.000,0.125,
- 48.000,0.125,
- 60.000,0.125,
- 72.000,0.125,
- 84.000,0.125,
- 96.000,0.125,
- 99.000,0.125 };
-LookupTable strikePosition(&strikePosition_points[0], 12);
-
-double EQGain_points[14*2] = {
- 21.000,2.000,
- 24.000,2.000,
- 28.000,2.000,
- 30.000,2.000,
- 35.562,1.882,
- 41.000,1.200,
- 42.000,0.600,
- 48.000,0.500,
- 54.000,0.500,
- 59.928,0.502,
- 66.704,0.489,
- 74.201,0.477,
- 91.791,1.000,
- 99.000,1.000 };
-LookupTable EQGain(&EQGain_points[0], 14);
-
-double EQBandwidthFactor_points[13*2] = {
- 21.000,5.000,
- 24.112,5.000,
- 28.000,5.000,
- 35.000,4.956,
- 41.000,6.000,
- 42.000,2.000,
- 48.773,1.072,
- 57.558,1.001,
- 63.226,1.048,
- 69.178,1.120,
- 72.862,1.525,
- 80.404,2.788,
- 97.659,1.739 };
-LookupTable EQBandwidthFactor(&EQBandwidthFactor_points[0], 13);
-
-
-/* PianoDriverA */
-/* HammerFilter */
-
-double loudPole_points[19*2] = {
- 21.000,0.875,
- 23.719,0.871,
- 27.237,0.836,
- 28.996,0.828,
- 32.355,0.820,
- 36.672,0.816,
- 40.671,0.820,
- 45.788,0.812,
- 47.867,0.812,
- 54.000,0.810,
- 60.000,0.800,
- 66.000,0.800,
- 72.000,0.810,
- 78.839,0.824,
- 84.446,0.844,
- 89.894,0.844,
- 96.463,0.848,
- 103.512,0.840,
- 107.678,0.840 };
-LookupTable loudPole(&loudPole_points[0], 19);
-
-double softPole_points[16*2] = {
- 21.000,0.990,
- 24.000,0.990,
- 28.000,0.990,
- 29.000,0.990,
- 36.000,0.990,
- 42.000,0.990,
- 48.000,0.985,
- 54.000,0.970,
- 60.000,0.960,
- 66.000,0.960,
- 72.000,0.960,
- 78.000,0.970,
- 84.673,0.975,
- 91.157,0.990,
- 100.982,0.970,
- 104.205,0.950 };
-LookupTable softPole(&softPole_points[0], 16);
-
-double normalizedVelocity_points[8*2] = {
- 0.000,0.000,
- 0.170,0.318,
- 0.316,0.546,
- 0.460,0.709,
- 0.599,0.825,
- 0.717,0.894,
- 0.841,0.945,
- 1.000,1.000 };
-LookupTable normalizedVelocity(&normalizedVelocity_points[0], 8);
-
-double loudGain_points[16*2] = {
- 21.873,0.891,
- 25.194,0.870,
- 30.538,0.848,
- 35.448,0.853,
- 41.513,0.842,
- 47.434,0.826,
- 53.644,0.820,
- 60.720,0.815,
- 65.630,0.820,
- 72.995,0.853,
- 79.060,0.920,
- 85.270,1.028,
- 91.624,1.247,
- 95.668,1.296,
- 99.000,1.300,
- 100.000,1.100 };
-LookupTable loudGain(&loudGain_points[0], 16);
-
-double softGain_points[15*2] = {
- 20.865,0.400,
- 22.705,0.400,
- 25.960,0.400,
- 28.224,0.400,
- 31.196,0.400,
- 36.715,0.400,
- 44.499,0.400,
- 53.981,0.400,
- 60.000,0.350,
- 66.000,0.350,
- 72.661,0.350,
- 81.435,0.430,
- 88.311,0.450,
- 93.040,0.500,
- 96.434,0.500 };
-LookupTable softGain(&softGain_points[0], 15);
-
-
-/* Soundboard */
-
-double sustainPedalLevel_points[13*2] = {
- 21.000,0.050,
- 24.000,0.050,
- 31.000,0.030,
- 36.000,0.025,
- 48.000,0.010,
- 60.000,0.005,
- 66.000,0.003,
- 72.000,0.002,
- 78.000,0.002,
- 84.000,0.003,
- 90.000,0.003,
- 96.000,0.003,
- 108.000,0.002 };
-LookupTable sustainPedalLevel(&sustainPedalLevel_points[0], 13);
-
-double DryTapAmpT60_points[16*2] = {
- 21.001,0.491,
- 26.587,0.498,
- 34.249,0.470,
- 40.794,0.441,
- 47.977,0.392,
- 55.000,0.370,
- 60.000,0.370,
- 66.000,0.370,
- 71.934,0.370,
- 78.000,0.370,
- 83.936,0.390,
- 88.557,0.387,
- 92.858,0.400,
- 97.319,0.469,
- 102.400,0.500,
- 107.198,0.494 };
-LookupTable DryTapAmpT60(&DryTapAmpT60_points[0], 16);
-
-double DryTapAmpCurrent = 0.15;
-
-double DCBa1_points[18*2] = {
- 21.000,-0.999,
- 24.000,-0.999,
- 30.000,-0.999,
- 36.000,-0.999,
- 42.000,-0.999,
- 48.027,-0.993,
- 60.000,-0.995,
- 72.335,-0.960,
- 78.412,-0.924,
- 84.329,-0.850,
- 87.688,-0.770,
- 91.000,-0.700,
- 92.000,-0.910,
- 96.783,-0.850,
- 99.000,-0.800,
- 100.000,-0.850,
- 104.634,-0.700,
- 107.518,-0.500 };
-LookupTable DCBa1(&DCBa1_points[0], 18);
-
-/* pianoDriverB */
-/* High Notes */
-
-double secondStageAmpRatio_points[6*2] = {
- 82.277,-18.508,
- 88.000,-30.000,
- 90.000,-30.000,
- 93.451,-30.488,
- 98.891,-30.633,
- 107.573,-30.633 };
-LookupTable secondStageAmpRatio(&secondStageAmpRatio_points[0], 6);
-
-double r1_1db_points[3*2] = {
- 100.000,-75.000,
- 103.802,-237.513,
- 108.000,-400.000 };
-LookupTable r1_1db(&r1_1db_points[0], 3);
-
-double r1_2db_points[4*2] = {
- 98.388,-16.562,
- 100.743,-75.531,
- 103.242,-154.156,
- 108.000,-300.000 };
-LookupTable r1_2db(&r1_2db_points[0], 4);
-
-double r2db_points[2*2] = {
- 100.000,-115.898,
- 107.858,-250.000 };
-LookupTable r2db(&r2db_points[0], 2);
-
-double r3db_points[2*2] = {
- 100.000,-150.000,
- 108.000,-400.000 };
-LookupTable r3db(&r3db_points[0], 2);
-
-double secondPartialFactor_points[2*2] = {
- 88.000,2.000,
- 108.000,2.100 };
-LookupTable secondPartialFactor(&secondPartialFactor_points[0], 2);
-
-double thirdPartialFactor_points[2*2] = {
- 88.000,3.100,
- 108.000,3.100 };
-LookupTable thirdPartialFactor(&thirdPartialFactor_points[0], 2);
-
-double bq4_gEarBalled_points[6*2] = {
- 100.000,0.040,
- 102.477,0.100,
- 104.518,0.300,
- 106.000,0.500,
- 107.000,1.000,
- 108.000,1.500 };
-LookupTable bq4_gEarBalled(&bq4_gEarBalled_points[0], 6);
-
-//************************************************************************
-
-float getValueDryTapAmpT60 (float index){
- return DryTapAmpT60.getValue(index);
-}
-
-float getValueSustainPedalLevel (float index){
- return sustainPedalLevel.getValue(index);
-}
-
-float getValueLoudPole(float index){
- return loudPole.getValue(index);
-}
-
-float getValuePoleValue(float index){
- return softPole.getValue(index);
-}
-
-float getValueLoudGain(float index){
- return loudGain.getValue(index);
-}
-
-float getValueSoftGain(float index){
- return softGain.getValue(index);
-}
-
-float getValueDCBa1(float index){
- return DCBa1.getValue(index);
-}
-
-float getValuer1_1db(float index){
- return r1_1db.getValue(index);
-}
-
-float getValuer1_2db(float index){
- return r1_2db.getValue(index);
-}
-
-float getValuer2db(float index){
- return r2db.getValue(index);
-}
-
-float getValuer3db(float index){
- return r3db.getValue(index);
-}
-
-float getValueSecondStageAmpRatio(float index){
- return secondStageAmpRatio.getValue(index);
-}
-
-float getValueSecondPartialFactor(float index){
- return secondPartialFactor.getValue(index);
-}
-
-float getValueThirdPartialFactor(float index){
- return thirdPartialFactor.getValue(index);
-}
-
-float getValueBq4_gEarBalled(float index){
- return bq4_gEarBalled.getValue(index);
-}
-
-float getValueStrikePosition(float index){
- return strikePosition.getValue(index);
-}
-
-float getValueEQBandWidthFactor(float index){
- return EQBandwidthFactor.getValue(index);
-}
-
-float getValueEQGain(float index){
- return EQGain.getValue(index);
-}
-
-float getValueDetuningHz(float index){
- return detuningHz.getValue(index);
-}
-
-float getValueSingleStringDecayRate(float index){
- return singleStringDecayRate.getValue(index);
-}
-
-float getValueSingleStringZero(float index){
- return singleStringZero.getValue(index);
-}
-
-float getValueSingleStringPole(float index){
- return singleStringPole.getValue(index);
-}
-
-float getValueStiffnessCoefficient(float index){
- return stiffnessCoefficient.getValue(index);
-}
-
-float getValueReleaseLoopGain(float index){
- return releaseLoopGain.getValue(index);
-}
-
-//Harpsichord
-
-double loopFilterb0_points[18*2] = {
- 35.000,0.94373,
- 36.000,0.94731,
- 46.000,0.94731,
- 47.000,0.96202,
- 52.000,0.96202,
- 53.000,0.97477,
- 58.000,0.97477,
- 59.000,0.97733,
- 64.000,0.97733,
- 65.000,0.97971,
- 70.000,0.97971,
- 71.000,0.97971,
- 76.000,0.97971,
- 77.000,0.98698,
- 82.000,0.98698,
- 83.000,0.98462,
- 86.000,0.98462,
- 87.000,0.98611,
-};
-extern LookupTable loopFilterb0;
-LookupTable loopFilterb0(&loopFilterb0_points[0], 18);
-
-float getValueLoopFilterb0(float index){
- return loopFilterb0.getValue(index);
-}
-
-double loopFilterb1_points[18*2] = {
- 35.000,0.60010,
- 36.000,-0.59124,
- 46.000,-0.59124,
- 47.000,-0.21243,
- 52.000,-0.21243,
- 53.000,-0.39280,
- 58.000,-0.39280,
- 59.000,-0.48307,
- 64.000,-0.48307,
- 65.000,0.51965,
- 70.000,0.51965,
- 71.000,0.51965,
- 76.000,0.51965,
- 77.000,-0.42463,
- 82.000,-0.42463,
- 83.000,0.85655,
- 86.000,0.85655,
- 87.000,0.68851,
-};
-extern LookupTable loopFilterb1;
-LookupTable loopFilterb1(&loopFilterb1_points[0], 18);
-
-float getValueLoopFilterb1(float index){
- return loopFilterb1.getValue(index);
-}
-
-double loopFilterb2_points[18*2] = {
- 35.000,-0.00360,
- 36.000,-0.12249,
- 46.000,-0.12249,
- 47.000,-0.16044,
- 52.000,-0.16044,
- 53.000,-0.21680,
- 58.000,-0.21680,
- 59.000,-0.16346,
- 64.000,-0.16346,
- 65.000,0.22162,
- 70.000,0.22162,
- 71.000,0.22162,
- 76.000,0.22162,
- 77.000,-0.14973,
- 82.000,-0.14973,
- 83.000,0.24937,
- 86.000,0.24937,
- 87.000,0.14838,
-};
-extern LookupTable loopFilterb2;
-LookupTable loopFilterb2(&loopFilterb2_points[0], 18);
-
-float getValueLoopFilterb2(float index){
- return loopFilterb2.getValue(index);
-}
-
-double loopFiltera1_points[18*2] = {
- 35.000,0.5941,
- 36.000,-0.65928,
- 46.000,-0.65928,
- 47.000,-0.24222,
- 52.000,-0.24222,
- 53.000,-0.41402,
- 58.000,-0.41402,
- 59.000,-0.50837,
- 64.000,-0.50837,
- 65.000,0.51263,
- 70.000,0.51263,
- 71.000,0.51263,
- 76.000,0.51263,
- 77.000,-0.43976,
- 82.000,-0.43976,
- 83.000,0.85396,
- 86.000,0.85396,
- 87.000,0.68332,
-};
-extern LookupTable loopFiltera1;
-LookupTable loopFiltera1(&loopFiltera1_points[0], 18);
-
-float getValueLoopFiltera1(float index){
- return loopFiltera1.getValue(index);
-}
-
-double loopFiltera2_points[18*2] = {
- 35.000,-0.02641,
- 36.000,-0.10275,
- 46.000,-0.10275,
- 47.000,-0.15842,
- 52.000,-0.15842,
- 53.000,-0.21653,
- 58.000,-0.21653,
- 59.000,-0.15833,
- 64.000,-0.15833,
- 65.000,0.22025,
- 70.000,0.22025,
- 71.000,0.22025,
- 76.000,0.22025,
- 77.000,-0.14583,
- 82.000,-0.14583,
- 83.000,0.24405,
- 86.000,0.24405,
- 87.000,0.14370,
-};
-extern LookupTable loopFiltera2;
-LookupTable loopFiltera2(&loopFiltera2_points[0], 18);
-
-float getValueLoopFiltera2(float index){
- return loopFiltera2.getValue(index);
-}
-
-//bass
-
-double bassLoopFilterb0_points[19*2] = {
- 24.000,0.54355,
- 26.000,0.54355,
- 27.000,0.55677,
- 29.000,0.55677,
- 32.000,0.55677,
- 33.000,0.83598,
- 36.000,0.83598,
- 43.000,0.83598,
- 44.000,0.88292,
- 48.000,0.88292,
- 51.000,0.88292,
- 52.000,0.77805,
- 54.000,0.77805,
- 57.000,0.77805,
- 58.000,0.91820,
- 60.000,0.91820,
- 61.000,0.91820,
- 63.000,0.94594,
- 65.000,0.91820,
-};
-extern LookupTable bassLoopFilterb0;
-LookupTable bassLoopFilterb0(&bassLoopFilterb0_points[0], 18);
-
-float getValueBassLoopFilterb0(float index){
- return bassLoopFilterb0.getValue(index);
-}
-
-double bassLoopFilterb1_points[19*2] = {
- 24.000,-0.36586,
- 26.000,-0.36586,
- 27.000,-0.37628,
- 29.000,-0.37628,
- 32.000,-0.37628,
- 33.000,-0.60228,
- 36.000,-0.60228,
- 43.000,-0.60228,
- 44.000,-0.65721,
- 48.000,-0.65721,
- 51.000,-0.65721,
- 52.000,-0.51902,
- 54.000,-0.51902,
- 57.000,-0.51902,
- 58.000,-0.80765,
- 60.000,-0.80765,
- 61.000,-0.80765,
- 63.000,-0.83230,
- 65.000,-0.83230,
-};
-extern LookupTable bassLoopFilterb1;
-LookupTable bassLoopFilterb1(&bassLoopFilterb1_points[0], 18);
-
-float getValueBassLoopFilterb1(float index){
- return bassLoopFilterb1.getValue(index);
-}
-
-double bassLoopFiltera1_points[19*2] = {
- 24.000,-0.81486,
- 26.000,-0.81486,
- 27.000,-0.81147,
- 29.000,-0.81147,
- 32.000,-0.81147,
- 33.000,-0.76078,
- 36.000,-0.76078,
- 43.000,-0.76078,
- 44.000,-0.77075,
- 48.000,-0.77075,
- 51.000,-0.77075,
- 52.000,-0.73548,
- 54.000,-0.73548,
- 57.000,-0.73548,
- 58.000,-0.88810,
- 60.000,-0.88810,
- 61.000,-0.88810,
- 63.000,-0.88537,
- 65.000,-0.88537,
-};
-extern LookupTable bassLoopFiltera1;
-LookupTable bassLoopFiltera1(&bassLoopFiltera1_points[0], 18);
-
-float getValueBassLoopFiltera1(float index){
- return bassLoopFiltera1.getValue(index);
-}
\ No newline at end of file