@ Sof v1.0 @
' TransformBuilder GUI v2.0

@ FrontEnd @
 name = AudioFrontEnd;
 input_data_type = SAMPLED_DATA;
 audio_input = {
   sample_frequency = 8000.0;
   file_type = BINARY;
   file_format = RAW;
   byte_order = LITTLE_ENDIAN;
   compression_type = LINEAR;
   sample_precision = NONE;
   sample_num_bytes = 2;
   num_channels = 1;
   amplitude_range = 1.0;
};
 data_mode = FRAME_BASED;
 frame_duration = 0.01;
 signal_duration = 0.1;
 inputflag = true;

@ Algorithm 0 @
#% 54 25
 name = CoefficientLabel;
 variable = SAMPLED_DATA;
 type = INPUT;

@ Algorithm 1 @
#% 54 81
 name = "Window";
 algorithm = RECTANGULAR;
 implementation = MULTIPLICATION;
 constants = ;
 alignment = LEFT;
 normalization = NONE;
 compute_mode = CROSS_FRAME;
 duration = 0.025;
 debug_level = NONE;

@ Algorithm 2 @
#% 186 112
 name = "Statistics";
 algorithm = MEAN;
 implementation = LINEAR;
 compute_mode = FRAME_INTERNAL;
 data_mode = FRAME_BASED;
 debug_level = NONE;

@ Algorithm 3 @
#% 49 240
 name = "Filter";
 algorithm = LTI;
 implementation = CCDE;
 compute_mode = FRAME_INTERNAL;
 ma_coef = 1.0, -0.97;
 ar_coef = 0;
 ma_lag = 0, -1;
 ar_lag = -1.0;
 debug_level = NONE;

@ Algorithm 4 @
#% 185 244
 name = "Energy";
 algorithm = SUM;
 implementation = LOG;
 floor = 1.0;
 debug_level = NONE;

@ Algorithm 5 @
#% 49 310
 name = "Window";
 algorithm = HAMMING;
 implementation = MULTIPLICATION;
 constants = ;
 alignment = LEFT;
 normalization = NONE;
 compute_mode = CROSS_FRAME;
 duration = 0.025;
 debug_level = NONE;

@ Algorithm 6 @
#% 49 373
 name = "Spectrum";
 algorithm = FOURIER;
 implementation = MAGNITUDE;
 ft = {
   algorithm = FFT;
   implementation = RADIX_2;
 direction = FORWARD;
 output_type = FULL;
 resolution = FIXED;
 input_length = -1;
 output_length = -1;
 order = 256;
 debug_level = NONE;
};
 debug_level = NONE;

@ Algorithm 7 @
#% 49 436
 name = "FilterBank";
 algorithm = FREQUENCY;
 implementation = TRIANGULAR;
 compute_mode = FRAME_INTERNAL;
 input_mode = FULL;
 scale = MEL;
 frequency_sampling_method = ORDER;
 order = 24;
 bandwidth = 85.84258;
 debug_level = NONE;

@ Algorithm 8 @
#% 49 501
 name = "Cepstrum";
 algorithm = IDCT;
 implementation = TYPE_III;
 order = 12;
 debug_level = NONE;

@ Algorithm 9 @
#% 49 560
 name = "Window";
 algorithm = LIFTER;
 implementation = MULTIPLICATION;
 constants = 1, 22, 11;
 alignment = LEFT;
 normalization = NONE;
 compute_mode = FRAME_INTERNAL;
 duration = 0.001625;
 debug_level = NONE;

@ Algorithm 10 @
#% 49 628
 name = "Mask";
 algorithm = REMOVE;
 implementation = INDEX;
 mask = 0;
 debug_level = NONE;

@ Algorithm 11 @
#% 173 714
 name = "Connection";
 algorithm = CHANNEL;
 implementation = CONCATENATE;
 debug_level = NONE;

@ Algorithm 12 @
#% 191 841
 name = "Connection";
 algorithm = CHANNEL;
 implementation = CONCATENATE;
 debug_level = NONE;

@ Algorithm 13 @
#% 347 761
 name = "Calculus";
 algorithm = DIFFERENTIATION;
 implementation = REGRESSION;
 compute_mode = CROSS_FRAME;
 order = 1;
 delta_win = 2;
 debug_level = NONE;

@ Algorithm 14 @
#% 348 811
 name = "Calculus";
 algorithm = DIFFERENTIATION;
 implementation = REGRESSION;
 compute_mode = CROSS_FRAME;
 order = 1;
 delta_win = 2;
 debug_level = NONE;

@ Algorithm 15 @
#% 191 901
 name = "Output";
 algorithm = DATA;
 implementation = FEATURES;
 feature_output = {
   file_type = TEXT;
   file_format = SOF;
   compression_type = LINEAR;
   num_channels = 1;
   amplitude_range = 1.0;
};
 file_extension = _std39.sof;
 data_mode = FRAME_BASED;
 debug_level = NONE;

@ Algorithm 16 @
#% 110 168
 name = "Math";
 algorithm = FUNCTION_CALCULATOR;
 implementation = ENUMERATE;
 num_operands = 2;
 constant = 0.0;
 function = IDENTITY, IDENTITY;
 operation = ASSIGN, SUBTRACT;
 weight = ;
 debug_level = NONE;

@ DiGraph<Long> 0 @
weighted = true;
vertices =
        {0, {0}},
        {1, {1}},
        {2, {2}},
        {3, {3}},
        {4, {4}},
        {5, {5}},
        {6, {6}},
        {7, {7}},
        {8, {8}},
        {9, {9}},
        {10, {10}},
        {11, {11}},
        {12, {12}},
        {13, {13}},
        {14, {14}},
        {15, {15}},
        {16, {16}};
arcs =
        {0, 1, 0},
        {1, 2, 0},
        {1, 16, 0},
        {2, 16, 1},
        {3, 5, 0},
        {4, 11, 1},
        {5, 6, 0},
        {6, 7, 0},
        {7, 8, 0},
        {8, 9, 0},
        {9, 10, 0},
        {10, 11, 0},
        {11, 13, 0},
        {11, 12, 0},
        {12, 15, 0},
        {13, 14, 0},
        {13, 12, 1},
        {14, 12, 2},
        {16, 3, 0},
        {16, 4, 0};
