{"id":1112,"date":"2026-06-26T20:30:58","date_gmt":"2026-06-26T20:30:58","guid":{"rendered":"https:\/\/dkdivedude.com\/?p=1112"},"modified":"2026-07-08T11:40:55","modified_gmt":"2026-07-08T11:40:55","slug":"formant-vowel-filter","status":"publish","type":"post","link":"https:\/\/dkdivedude.com\/?p=1112","title":{"rendered":"Formant Vowel Filter &#8211; C Code"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\"><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">For about seven years I have had a lot of fun manipulating sound, or more specifically sound generated from a software synthesizer I am programming, with DSP \u2013 Digital Signal Processing. For my synthesizer I have programmed not just tone generation via multiple synthesis methods, but also modulation, effects, and filtering of those tones.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In the past I have tried out new DSP code ideas directly in Visual Studio, compiling the C\/C++ code, and then open my VST3 plugin in the Reaper DAW software., However, I recently came upon \u201cFormula\u201d and VST or stand-alone program that allow one to quickly create and test DSP C code within the App. You may find information about \u201cFormula\u201d, including a download link here; <a href=\"https:\/\/soundspear.com\/product\/formula\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/soundspear.com\/product\/formula<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The App itself contains, at the time of writing, about formulas, pieces of C code, anywhere from filters, to delay, chorus, reverb, and distortion. One of these included formula\u2019s, are \u201cFormant vowel\u201d which is a formant filter that can make a waveform such as a sawtooth, sound like a person speaking vowels. I incorporated this into my synthesizer, and quickly expanded the code from being able to \u201conly\u201d generate 5 vowels via a cutoff parameter ranging from 0 to 1, to code that could smoothly mix between two adjacent vowels. It sounds cool when applying an envelope, and\/or LFO to the cutoff frequency. As I was unable to submit my enhanced version to the developer, I am publishing it here on my website for anyone to use as they wish.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Note if you&#8217;re not using the &#8220;Fomula&#8221; app to test this, you need to replace &#8220;KNOB_1&#8221; with your variable holding the current cutoff frequency, from 0.01f to 0.99f.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>\/*\n    Author or source: Alex\n    \n    Public source code by alex@smartelectronix.com\n    Simple example of implementation of formant filter\n    Vowelnum can be 0,1,2,3,4 &lt;=> A,E,I,O,U\n    Good for spectral rich input like saw or square\n    \n    Expanded by Ren\u00e9 W. Feuerlein on June 25th, 2026\n    to smoothly mix between two adjacent vowels, although\n    mixing from 5th to 1st has issues, so note I'm mixing \n    from 5th to second. Sounds great with an envelope or \n    LFO modulating the cutoff frequency. DKDiveDude.com\n*\/\n\nconst double coeff&#91;5&#93;&#91;11&#93;= {\n\t{  8.11044e-06,\t\n\t   8.943665402,   -36.83889529,    92.01697887,    -154.337906,      181.6233289,\n\t -151.8651235,     89.09614114,   -35.10298511,       8.388101016,    -0.923313471  \/\/\/A\n\t},\n\t{4.36215e-06,\n\t   8.90438318,    -36.55179099,    91.05750846,    -152.422234,      179.1170248,  \/\/\/E\n\t -149.6496211,     87.78352223,   -34.60687431,       8.282228154,    -0.914150747\n\t},\n\t{   3.33819e-06,\n\t    8.893102966,    -36.49532826,   90.96543286,    -152.4545478,   179.4835618,\n\t -150.315433,        88.43409371,    -34.98612086,   8.407803364,    -0.932568035  \/\/\/I\n\t},\n\t{   1.13572e-06,\n\t    8.994734087,    -37.2084849,    93.22900521,    -156.6929844,   184.596544,   \/\/\/O\n\t -154.3755513,       90.49663749,    -35.58964535,   8.478996281,    -0.929252233\n\t},\n\t{   4.09431e-07,\n\t    8.997322763,    -37.20218544,   93.11385476,    -156.2530937,   183.7080141,  \/\/\/U\n\t -153.2631681,       89.59539726,    -35.12454591,   8.338655623,    -0.910251753\n\t}\n};\n\/\/---------------------------------------------------------------------------------\nstatic float memory&#91;10&#93;={0,0,0,0,0,0,0,0,0,0};\n\/\/---------------------------------------------------------------------------------\n\nformula_main\n{\n    \/\/ Limit cutoff range\n    float cutoff = KNOB_1;\n\n    float cutoffMin = 0.01f;\n    float cutoffMax = 0.99f;\n\n    cutoff = std::clamp (cutoff, cutoffMin, cutoffMax);\n\n    int vowelNum1 = fmin(4, 5 * cutoff);\n    \n    int vowelNum2 = vowelNum1 + 1;\n    if (vowelNum2 > 4) vowelNum2 = 1;\n\n    \/\/ Mix Ratio - First divide cutoff range into the five vowel sections\n    float cutoffSectionRange = (cutoffMax - cutoffMin) \/ 5;\n    \n    float mix1 = (vowelNum1 + 1) - (cutoff - cutoffMin) \/ cutoffSectionRange;\n    float mix2 = 1.0f - mix1;\n\n\t  float res1 = (float) ( coeff&#91;vowelNum1&#93;&#91;0&#93;  * input +\n\t\t\t\t\t\t coeff&#91;vowelNum1&#93;&#91;1&#93; * memory&#91;0&#93; +\n\t\t\t\t\t\t coeff&#91;vowelNum1&#93;&#91;2&#93; * memory&#91;1&#93; +\n\t\t\t\t\t\t coeff&#91;vowelNum1&#93;&#91;3&#93; * memory&#91;2&#93; +\n\t\t\t\t\t\t coeff&#91;vowelNum1&#93;&#91;4&#93; * memory&#91;3&#93; +\n\t\t\t\t\t\t coeff&#91;vowelNum1&#93;&#91;5&#93; * memory&#91;4&#93; +\n\t\t\t\t\t\t coeff&#91;vowelNum1&#93;&#91;6&#93; * memory&#91;5&#93; +\n\t\t\t\t\t\t coeff&#91;vowelNum1&#93;&#91;7&#93; * memory&#91;6&#93; +\n\t\t\t\t\t\t coeff&#91;vowelNum1&#93;&#91;8&#93; * memory&#91;7&#93; +\n\t\t\t\t\t\t coeff&#91;vowelNum1&#93;&#91;9&#93; * memory&#91;8&#93; +\n\t\t\t\t\t\t coeff&#91;vowelNum1&#93;&#91;10&#93; * memory&#91;9&#93; );\n\t\t\t\t\t\t \n\t  float res2 = (float) ( coeff&#91;vowelNum2&#93;&#91;0&#93;  * input +\n\t\t\t\t\t\t coeff&#91;vowelNum2&#93;&#91;1&#93; * memory&#91;0&#93; +\n\t\t\t\t\t\t coeff&#91;vowelNum2&#93;&#91;2&#93; * memory&#91;1&#93; +\n\t\t\t\t\t\t coeff&#91;vowelNum2&#93;&#91;3&#93; * memory&#91;2&#93; +\n\t\t\t\t\t\t coeff&#91;vowelNum2&#93;&#91;4&#93; * memory&#91;3&#93; +\n\t\t\t\t\t\t coeff&#91;vowelNum2&#93;&#91;5&#93; * memory&#91;4&#93; +\n\t\t\t\t\t\t coeff&#91;vowelNum2&#93;&#91;6&#93; * memory&#91;5&#93; +\n\t\t\t\t\t\t coeff&#91;vowelNum2&#93;&#91;7&#93; * memory&#91;6&#93; +\n\t\t\t\t\t\t coeff&#91;vowelNum2&#93;&#91;8&#93; * memory&#91;7&#93; +\n\t\t\t\t\t\t coeff&#91;vowelNum2&#93;&#91;9&#93; * memory&#91;8&#93; +\n\t\t\t\t\t\t coeff&#91;vowelNum2&#93;&#91;10&#93; * memory&#91;9&#93; );\n\n    float resCombined = res1 * mix1 + res2 * mix2;\n\n\t  memory&#91;9&#93;= memory&#91;8&#93;;\n\t  memory&#91;8&#93;= memory&#91;7&#93;;\n\t  memory&#91;7&#93;= memory&#91;6&#93;;\n\t  memory&#91;6&#93;= memory&#91;5&#93;;\n\t  memory&#91;5&#93;= memory&#91;4&#93;;\n\t  memory&#91;4&#93;= memory&#91;3&#93;;\n\t  memory&#91;3&#93;= memory&#91;2&#93;;\n\t  memory&#91;2&#93;= memory&#91;1&#93;;\n\t  memory&#91;1&#93;= memory&#91;0&#93;;   \n\t  memory&#91;0&#93;=(double) resCombined;\n\t\n\t  return resCombined;\n}\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #6A9955\">\/*<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">    Author or source: Alex<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">    Public source code by alex@smartelectronix.com<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">    Simple example of implementation of formant filter<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">    Vowelnum can be 0,1,2,3,4 &lt;=&gt; A,E,I,O,U<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">    Good for spectral rich input like saw or square<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">    Expanded by Ren\u00e9 W. Feuerlein on June 25th, 2026<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">    to smoothly mix between two adjacent vowels, although<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">    mixing from 5th to 1st has issues, so note I&#39;m mixing <\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">    from 5th to second. Sounds great with an envelope or <\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">    LFO modulating the cutoff frequency. DKDiveDude.com<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*\/<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #569CD6\">const<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4FC1FF\">double<\/span><span style=\"color: #D4D4D4\"> coeff&#91;5&#93;&#91;11&#93;= {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t{  <\/span><span style=\"color: #B5CEA8\">8.11044e-06<\/span><span style=\"color: #D4D4D4\">,\t<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t   <\/span><span style=\"color: #B5CEA8\">8.943665402<\/span><span style=\"color: #D4D4D4\">,   -<\/span><span style=\"color: #B5CEA8\">36.83889529<\/span><span style=\"color: #D4D4D4\">,    <\/span><span style=\"color: #B5CEA8\">92.01697887<\/span><span style=\"color: #D4D4D4\">,    -<\/span><span style=\"color: #B5CEA8\">154.337906<\/span><span style=\"color: #D4D4D4\">,      <\/span><span style=\"color: #B5CEA8\">181.6233289<\/span><span style=\"color: #D4D4D4\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t -<\/span><span style=\"color: #B5CEA8\">151.8651235<\/span><span style=\"color: #D4D4D4\">,     <\/span><span style=\"color: #B5CEA8\">89.09614114<\/span><span style=\"color: #D4D4D4\">,   -<\/span><span style=\"color: #B5CEA8\">35.10298511<\/span><span style=\"color: #D4D4D4\">,       <\/span><span style=\"color: #B5CEA8\">8.388101016<\/span><span style=\"color: #D4D4D4\">,    -<\/span><span style=\"color: #B5CEA8\">0.923313471<\/span><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #6A9955\">\/\/\/A<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t},<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t{<\/span><span style=\"color: #B5CEA8\">4.36215e-06<\/span><span style=\"color: #D4D4D4\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t   <\/span><span style=\"color: #B5CEA8\">8.90438318<\/span><span style=\"color: #D4D4D4\">,    -<\/span><span style=\"color: #B5CEA8\">36.55179099<\/span><span style=\"color: #D4D4D4\">,    <\/span><span style=\"color: #B5CEA8\">91.05750846<\/span><span style=\"color: #D4D4D4\">,    -<\/span><span style=\"color: #B5CEA8\">152.422234<\/span><span style=\"color: #D4D4D4\">,      <\/span><span style=\"color: #B5CEA8\">179.1170248<\/span><span style=\"color: #D4D4D4\">,  <\/span><span style=\"color: #6A9955\">\/\/\/E<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t -<\/span><span style=\"color: #B5CEA8\">149.6496211<\/span><span style=\"color: #D4D4D4\">,     <\/span><span style=\"color: #B5CEA8\">87.78352223<\/span><span style=\"color: #D4D4D4\">,   -<\/span><span style=\"color: #B5CEA8\">34.60687431<\/span><span style=\"color: #D4D4D4\">,       <\/span><span style=\"color: #B5CEA8\">8.282228154<\/span><span style=\"color: #D4D4D4\">,    -<\/span><span style=\"color: #B5CEA8\">0.914150747<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t},<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t{   <\/span><span style=\"color: #B5CEA8\">3.33819e-06<\/span><span style=\"color: #D4D4D4\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t    <\/span><span style=\"color: #B5CEA8\">8.893102966<\/span><span style=\"color: #D4D4D4\">,    -<\/span><span style=\"color: #B5CEA8\">36.49532826<\/span><span style=\"color: #D4D4D4\">,   <\/span><span style=\"color: #B5CEA8\">90.96543286<\/span><span style=\"color: #D4D4D4\">,    -<\/span><span style=\"color: #B5CEA8\">152.4545478<\/span><span style=\"color: #D4D4D4\">,   <\/span><span style=\"color: #B5CEA8\">179.4835618<\/span><span style=\"color: #D4D4D4\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t -<\/span><span style=\"color: #B5CEA8\">150.315433<\/span><span style=\"color: #D4D4D4\">,        <\/span><span style=\"color: #B5CEA8\">88.43409371<\/span><span style=\"color: #D4D4D4\">,    -<\/span><span style=\"color: #B5CEA8\">34.98612086<\/span><span style=\"color: #D4D4D4\">,   <\/span><span style=\"color: #B5CEA8\">8.407803364<\/span><span style=\"color: #D4D4D4\">,    -<\/span><span style=\"color: #B5CEA8\">0.932568035<\/span><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #6A9955\">\/\/\/I<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t},<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t{   <\/span><span style=\"color: #B5CEA8\">1.13572e-06<\/span><span style=\"color: #D4D4D4\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t    <\/span><span style=\"color: #B5CEA8\">8.994734087<\/span><span style=\"color: #D4D4D4\">,    -<\/span><span style=\"color: #B5CEA8\">37.2084849<\/span><span style=\"color: #D4D4D4\">,    <\/span><span style=\"color: #B5CEA8\">93.22900521<\/span><span style=\"color: #D4D4D4\">,    -<\/span><span style=\"color: #B5CEA8\">156.6929844<\/span><span style=\"color: #D4D4D4\">,   <\/span><span style=\"color: #B5CEA8\">184.596544<\/span><span style=\"color: #D4D4D4\">,   <\/span><span style=\"color: #6A9955\">\/\/\/O<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t -<\/span><span style=\"color: #B5CEA8\">154.3755513<\/span><span style=\"color: #D4D4D4\">,       <\/span><span style=\"color: #B5CEA8\">90.49663749<\/span><span style=\"color: #D4D4D4\">,    -<\/span><span style=\"color: #B5CEA8\">35.58964535<\/span><span style=\"color: #D4D4D4\">,   <\/span><span style=\"color: #B5CEA8\">8.478996281<\/span><span style=\"color: #D4D4D4\">,    -<\/span><span style=\"color: #B5CEA8\">0.929252233<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t},<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t{   <\/span><span style=\"color: #B5CEA8\">4.09431e-07<\/span><span style=\"color: #D4D4D4\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t    <\/span><span style=\"color: #B5CEA8\">8.997322763<\/span><span style=\"color: #D4D4D4\">,    -<\/span><span style=\"color: #B5CEA8\">37.20218544<\/span><span style=\"color: #D4D4D4\">,   <\/span><span style=\"color: #B5CEA8\">93.11385476<\/span><span style=\"color: #D4D4D4\">,    -<\/span><span style=\"color: #B5CEA8\">156.2530937<\/span><span style=\"color: #D4D4D4\">,   <\/span><span style=\"color: #B5CEA8\">183.7080141<\/span><span style=\"color: #D4D4D4\">,  <\/span><span style=\"color: #6A9955\">\/\/\/U<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t -<\/span><span style=\"color: #B5CEA8\">153.2631681<\/span><span style=\"color: #D4D4D4\">,       <\/span><span style=\"color: #B5CEA8\">89.59539726<\/span><span style=\"color: #D4D4D4\">,    -<\/span><span style=\"color: #B5CEA8\">35.12454591<\/span><span style=\"color: #D4D4D4\">,   <\/span><span style=\"color: #B5CEA8\">8.338655623<\/span><span style=\"color: #D4D4D4\">,    -<\/span><span style=\"color: #B5CEA8\">0.910251753<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">};<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">\/\/---------------------------------------------------------------------------------<\/span><\/span>\n<span class=\"line\"><span style=\"color: #9CDCFE\">static<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">float<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">memory<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #B5CEA8\">10<\/span><span style=\"color: #D4D4D4\">&#93;={<\/span><span style=\"color: #B5CEA8\">0<\/span><span style=\"color: #D4D4D4\">,<\/span><span style=\"color: #B5CEA8\">0<\/span><span style=\"color: #D4D4D4\">,<\/span><span style=\"color: #B5CEA8\">0<\/span><span style=\"color: #D4D4D4\">,<\/span><span style=\"color: #B5CEA8\">0<\/span><span style=\"color: #D4D4D4\">,<\/span><span style=\"color: #B5CEA8\">0<\/span><span style=\"color: #D4D4D4\">,<\/span><span style=\"color: #B5CEA8\">0<\/span><span style=\"color: #D4D4D4\">,<\/span><span style=\"color: #B5CEA8\">0<\/span><span style=\"color: #D4D4D4\">,<\/span><span style=\"color: #B5CEA8\">0<\/span><span style=\"color: #D4D4D4\">,<\/span><span style=\"color: #B5CEA8\">0<\/span><span style=\"color: #D4D4D4\">,<\/span><span style=\"color: #B5CEA8\">0<\/span><span style=\"color: #D4D4D4\">};<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">\/\/---------------------------------------------------------------------------------<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #9CDCFE\">formula_main<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #6A9955\">\/\/ Limit cutoff range<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">float<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">cutoff<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #4FC1FF\">KNOB_1<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">float<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">cutoffMin<\/span><span style=\"color: #D4D4D4\"> = 0.01<\/span><span style=\"color: #9CDCFE\">f<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">float<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">cutoffMax<\/span><span style=\"color: #D4D4D4\"> = 0.99<\/span><span style=\"color: #9CDCFE\">f<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">cutoff<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #C8C8C8\">std<\/span><span style=\"color: #D4D4D4\">::<\/span><span style=\"color: #DCDCAA\">clamp<\/span><span style=\"color: #D4D4D4\"> (<\/span><span style=\"color: #9CDCFE\">cutoff<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #9CDCFE\">cutoffMin<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #9CDCFE\">cutoffMax<\/span><span style=\"color: #D4D4D4\">);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">int<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">vowelNum1<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #DCDCAA\">fmin<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #B5CEA8\">4<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #B5CEA8\">5<\/span><span style=\"color: #D4D4D4\"> * <\/span><span style=\"color: #9CDCFE\">cutoff<\/span><span style=\"color: #D4D4D4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">int<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">vowelNum2<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #9CDCFE\">vowelNum1<\/span><span style=\"color: #D4D4D4\"> + <\/span><span style=\"color: #B5CEA8\">1<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #C586C0\">if<\/span><span style=\"color: #D4D4D4\"> (<\/span><span style=\"color: #9CDCFE\">vowelNum2<\/span><span style=\"color: #D4D4D4\"> &gt; <\/span><span style=\"color: #B5CEA8\">4<\/span><span style=\"color: #D4D4D4\">) <\/span><span style=\"color: #9CDCFE\">vowelNum2<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #B5CEA8\">1<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #6A9955\">\/\/ Mix Ratio - First divide cutoff range into the five vowel sections<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">float<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">cutoffSectionRange<\/span><span style=\"color: #D4D4D4\"> = (<\/span><span style=\"color: #9CDCFE\">cutoffMax<\/span><span style=\"color: #D4D4D4\"> - <\/span><span style=\"color: #9CDCFE\">cutoffMin<\/span><span style=\"color: #D4D4D4\">) \/ <\/span><span style=\"color: #B5CEA8\">5<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">float<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">mix1<\/span><span style=\"color: #D4D4D4\"> = (<\/span><span style=\"color: #9CDCFE\">vowelNum1<\/span><span style=\"color: #D4D4D4\"> + <\/span><span style=\"color: #B5CEA8\">1<\/span><span style=\"color: #D4D4D4\">) - (<\/span><span style=\"color: #9CDCFE\">cutoff<\/span><span style=\"color: #D4D4D4\"> - <\/span><span style=\"color: #9CDCFE\">cutoffMin<\/span><span style=\"color: #D4D4D4\">) \/ <\/span><span style=\"color: #9CDCFE\">cutoffSectionRange<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">float<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">mix2<\/span><span style=\"color: #D4D4D4\"> = 1.0<\/span><span style=\"color: #9CDCFE\">f<\/span><span style=\"color: #D4D4D4\"> - <\/span><span style=\"color: #9CDCFE\">mix1<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t  <\/span><span style=\"color: #9CDCFE\">float<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">res1<\/span><span style=\"color: #D4D4D4\"> = (<\/span><span style=\"color: #9CDCFE\">float<\/span><span style=\"color: #D4D4D4\">) ( <\/span><span style=\"color: #9CDCFE\">coeff<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #9CDCFE\">vowelNum1<\/span><span style=\"color: #D4D4D4\">&#93;&#91;<\/span><span style=\"color: #B5CEA8\">0<\/span><span style=\"color: #D4D4D4\">&#93;  * <\/span><span style=\"color: #9CDCFE\">input<\/span><span style=\"color: #D4D4D4\"> +<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t\t\t\t\t\t <\/span><span style=\"color: #9CDCFE\">coeff<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #9CDCFE\">vowelNum1<\/span><span style=\"color: #D4D4D4\">&#93;&#91;<\/span><span style=\"color: #B5CEA8\">1<\/span><span style=\"color: #D4D4D4\">&#93; * <\/span><span style=\"color: #9CDCFE\">memory<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #B5CEA8\">0<\/span><span style=\"color: #D4D4D4\">&#93; +<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t\t\t\t\t\t <\/span><span style=\"color: #9CDCFE\">coeff<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #9CDCFE\">vowelNum1<\/span><span style=\"color: #D4D4D4\">&#93;&#91;<\/span><span style=\"color: #B5CEA8\">2<\/span><span style=\"color: #D4D4D4\">&#93; * <\/span><span style=\"color: #9CDCFE\">memory<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #B5CEA8\">1<\/span><span style=\"color: #D4D4D4\">&#93; +<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t\t\t\t\t\t <\/span><span style=\"color: #9CDCFE\">coeff<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #9CDCFE\">vowelNum1<\/span><span style=\"color: #D4D4D4\">&#93;&#91;<\/span><span style=\"color: #B5CEA8\">3<\/span><span style=\"color: #D4D4D4\">&#93; * <\/span><span style=\"color: #9CDCFE\">memory<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #B5CEA8\">2<\/span><span style=\"color: #D4D4D4\">&#93; +<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t\t\t\t\t\t <\/span><span style=\"color: #9CDCFE\">coeff<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #9CDCFE\">vowelNum1<\/span><span style=\"color: #D4D4D4\">&#93;&#91;<\/span><span style=\"color: #B5CEA8\">4<\/span><span style=\"color: #D4D4D4\">&#93; * <\/span><span style=\"color: #9CDCFE\">memory<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #B5CEA8\">3<\/span><span style=\"color: #D4D4D4\">&#93; +<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t\t\t\t\t\t <\/span><span style=\"color: #9CDCFE\">coeff<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #9CDCFE\">vowelNum1<\/span><span style=\"color: #D4D4D4\">&#93;&#91;<\/span><span style=\"color: #B5CEA8\">5<\/span><span style=\"color: #D4D4D4\">&#93; * <\/span><span style=\"color: #9CDCFE\">memory<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #B5CEA8\">4<\/span><span style=\"color: #D4D4D4\">&#93; +<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t\t\t\t\t\t <\/span><span style=\"color: #9CDCFE\">coeff<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #9CDCFE\">vowelNum1<\/span><span style=\"color: #D4D4D4\">&#93;&#91;<\/span><span style=\"color: #B5CEA8\">6<\/span><span style=\"color: #D4D4D4\">&#93; * <\/span><span style=\"color: #9CDCFE\">memory<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #B5CEA8\">5<\/span><span style=\"color: #D4D4D4\">&#93; +<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t\t\t\t\t\t <\/span><span style=\"color: #9CDCFE\">coeff<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #9CDCFE\">vowelNum1<\/span><span style=\"color: #D4D4D4\">&#93;&#91;<\/span><span style=\"color: #B5CEA8\">7<\/span><span style=\"color: #D4D4D4\">&#93; * <\/span><span style=\"color: #9CDCFE\">memory<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #B5CEA8\">6<\/span><span style=\"color: #D4D4D4\">&#93; +<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t\t\t\t\t\t <\/span><span style=\"color: #9CDCFE\">coeff<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #9CDCFE\">vowelNum1<\/span><span style=\"color: #D4D4D4\">&#93;&#91;<\/span><span style=\"color: #B5CEA8\">8<\/span><span style=\"color: #D4D4D4\">&#93; * <\/span><span style=\"color: #9CDCFE\">memory<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #B5CEA8\">7<\/span><span style=\"color: #D4D4D4\">&#93; +<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t\t\t\t\t\t <\/span><span style=\"color: #9CDCFE\">coeff<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #9CDCFE\">vowelNum1<\/span><span style=\"color: #D4D4D4\">&#93;&#91;<\/span><span style=\"color: #B5CEA8\">9<\/span><span style=\"color: #D4D4D4\">&#93; * <\/span><span style=\"color: #9CDCFE\">memory<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #B5CEA8\">8<\/span><span style=\"color: #D4D4D4\">&#93; +<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t\t\t\t\t\t <\/span><span style=\"color: #9CDCFE\">coeff<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #9CDCFE\">vowelNum1<\/span><span style=\"color: #D4D4D4\">&#93;&#91;<\/span><span style=\"color: #B5CEA8\">10<\/span><span style=\"color: #D4D4D4\">&#93; * <\/span><span style=\"color: #9CDCFE\">memory<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #B5CEA8\">9<\/span><span style=\"color: #D4D4D4\">&#93; );<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t\t\t\t\t\t <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t  <\/span><span style=\"color: #9CDCFE\">float<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">res2<\/span><span style=\"color: #D4D4D4\"> = (<\/span><span style=\"color: #9CDCFE\">float<\/span><span style=\"color: #D4D4D4\">) ( <\/span><span style=\"color: #9CDCFE\">coeff<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #9CDCFE\">vowelNum2<\/span><span style=\"color: #D4D4D4\">&#93;&#91;<\/span><span style=\"color: #B5CEA8\">0<\/span><span style=\"color: #D4D4D4\">&#93;  * <\/span><span style=\"color: #9CDCFE\">input<\/span><span style=\"color: #D4D4D4\"> +<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t\t\t\t\t\t <\/span><span style=\"color: #9CDCFE\">coeff<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #9CDCFE\">vowelNum2<\/span><span style=\"color: #D4D4D4\">&#93;&#91;<\/span><span style=\"color: #B5CEA8\">1<\/span><span style=\"color: #D4D4D4\">&#93; * <\/span><span style=\"color: #9CDCFE\">memory<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #B5CEA8\">0<\/span><span style=\"color: #D4D4D4\">&#93; +<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t\t\t\t\t\t <\/span><span style=\"color: #9CDCFE\">coeff<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #9CDCFE\">vowelNum2<\/span><span style=\"color: #D4D4D4\">&#93;&#91;<\/span><span style=\"color: #B5CEA8\">2<\/span><span style=\"color: #D4D4D4\">&#93; * <\/span><span style=\"color: #9CDCFE\">memory<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #B5CEA8\">1<\/span><span style=\"color: #D4D4D4\">&#93; +<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t\t\t\t\t\t <\/span><span style=\"color: #9CDCFE\">coeff<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #9CDCFE\">vowelNum2<\/span><span style=\"color: #D4D4D4\">&#93;&#91;<\/span><span style=\"color: #B5CEA8\">3<\/span><span style=\"color: #D4D4D4\">&#93; * <\/span><span style=\"color: #9CDCFE\">memory<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #B5CEA8\">2<\/span><span style=\"color: #D4D4D4\">&#93; +<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t\t\t\t\t\t <\/span><span style=\"color: #9CDCFE\">coeff<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #9CDCFE\">vowelNum2<\/span><span style=\"color: #D4D4D4\">&#93;&#91;<\/span><span style=\"color: #B5CEA8\">4<\/span><span style=\"color: #D4D4D4\">&#93; * <\/span><span style=\"color: #9CDCFE\">memory<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #B5CEA8\">3<\/span><span style=\"color: #D4D4D4\">&#93; +<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t\t\t\t\t\t <\/span><span style=\"color: #9CDCFE\">coeff<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #9CDCFE\">vowelNum2<\/span><span style=\"color: #D4D4D4\">&#93;&#91;<\/span><span style=\"color: #B5CEA8\">5<\/span><span style=\"color: #D4D4D4\">&#93; * <\/span><span style=\"color: #9CDCFE\">memory<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #B5CEA8\">4<\/span><span style=\"color: #D4D4D4\">&#93; +<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t\t\t\t\t\t <\/span><span style=\"color: #9CDCFE\">coeff<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #9CDCFE\">vowelNum2<\/span><span style=\"color: #D4D4D4\">&#93;&#91;<\/span><span style=\"color: #B5CEA8\">6<\/span><span style=\"color: #D4D4D4\">&#93; * <\/span><span style=\"color: #9CDCFE\">memory<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #B5CEA8\">5<\/span><span style=\"color: #D4D4D4\">&#93; +<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t\t\t\t\t\t <\/span><span style=\"color: #9CDCFE\">coeff<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #9CDCFE\">vowelNum2<\/span><span style=\"color: #D4D4D4\">&#93;&#91;<\/span><span style=\"color: #B5CEA8\">7<\/span><span style=\"color: #D4D4D4\">&#93; * <\/span><span style=\"color: #9CDCFE\">memory<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #B5CEA8\">6<\/span><span style=\"color: #D4D4D4\">&#93; +<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t\t\t\t\t\t <\/span><span style=\"color: #9CDCFE\">coeff<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #9CDCFE\">vowelNum2<\/span><span style=\"color: #D4D4D4\">&#93;&#91;<\/span><span style=\"color: #B5CEA8\">8<\/span><span style=\"color: #D4D4D4\">&#93; * <\/span><span style=\"color: #9CDCFE\">memory<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #B5CEA8\">7<\/span><span style=\"color: #D4D4D4\">&#93; +<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t\t\t\t\t\t <\/span><span style=\"color: #9CDCFE\">coeff<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #9CDCFE\">vowelNum2<\/span><span style=\"color: #D4D4D4\">&#93;&#91;<\/span><span style=\"color: #B5CEA8\">9<\/span><span style=\"color: #D4D4D4\">&#93; * <\/span><span style=\"color: #9CDCFE\">memory<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #B5CEA8\">8<\/span><span style=\"color: #D4D4D4\">&#93; +<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t\t\t\t\t\t <\/span><span style=\"color: #9CDCFE\">coeff<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #9CDCFE\">vowelNum2<\/span><span style=\"color: #D4D4D4\">&#93;&#91;<\/span><span style=\"color: #B5CEA8\">10<\/span><span style=\"color: #D4D4D4\">&#93; * <\/span><span style=\"color: #9CDCFE\">memory<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #B5CEA8\">9<\/span><span style=\"color: #D4D4D4\">&#93; );<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">float<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">resCombined<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #9CDCFE\">res1<\/span><span style=\"color: #D4D4D4\"> * <\/span><span style=\"color: #9CDCFE\">mix1<\/span><span style=\"color: #D4D4D4\"> + <\/span><span style=\"color: #9CDCFE\">res2<\/span><span style=\"color: #D4D4D4\"> * <\/span><span style=\"color: #9CDCFE\">mix2<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t  <\/span><span style=\"color: #9CDCFE\">memory<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #B5CEA8\">9<\/span><span style=\"color: #D4D4D4\">&#93;= <\/span><span style=\"color: #9CDCFE\">memory<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #B5CEA8\">8<\/span><span style=\"color: #D4D4D4\">&#93;;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t  <\/span><span style=\"color: #9CDCFE\">memory<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #B5CEA8\">8<\/span><span style=\"color: #D4D4D4\">&#93;= <\/span><span style=\"color: #9CDCFE\">memory<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #B5CEA8\">7<\/span><span style=\"color: #D4D4D4\">&#93;;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t  <\/span><span style=\"color: #9CDCFE\">memory<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #B5CEA8\">7<\/span><span style=\"color: #D4D4D4\">&#93;= <\/span><span style=\"color: #9CDCFE\">memory<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #B5CEA8\">6<\/span><span style=\"color: #D4D4D4\">&#93;;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t  <\/span><span style=\"color: #9CDCFE\">memory<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #B5CEA8\">6<\/span><span style=\"color: #D4D4D4\">&#93;= <\/span><span style=\"color: #9CDCFE\">memory<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #B5CEA8\">5<\/span><span style=\"color: #D4D4D4\">&#93;;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t  <\/span><span style=\"color: #9CDCFE\">memory<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #B5CEA8\">5<\/span><span style=\"color: #D4D4D4\">&#93;= <\/span><span style=\"color: #9CDCFE\">memory<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #B5CEA8\">4<\/span><span style=\"color: #D4D4D4\">&#93;;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t  <\/span><span style=\"color: #9CDCFE\">memory<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #B5CEA8\">4<\/span><span style=\"color: #D4D4D4\">&#93;= <\/span><span style=\"color: #9CDCFE\">memory<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #B5CEA8\">3<\/span><span style=\"color: #D4D4D4\">&#93;;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t  <\/span><span style=\"color: #9CDCFE\">memory<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #B5CEA8\">3<\/span><span style=\"color: #D4D4D4\">&#93;= <\/span><span style=\"color: #9CDCFE\">memory<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #B5CEA8\">2<\/span><span style=\"color: #D4D4D4\">&#93;;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t  <\/span><span style=\"color: #9CDCFE\">memory<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #B5CEA8\">2<\/span><span style=\"color: #D4D4D4\">&#93;= <\/span><span style=\"color: #9CDCFE\">memory<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #B5CEA8\">1<\/span><span style=\"color: #D4D4D4\">&#93;;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t  <\/span><span style=\"color: #9CDCFE\">memory<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #B5CEA8\">1<\/span><span style=\"color: #D4D4D4\">&#93;= <\/span><span style=\"color: #9CDCFE\">memory<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #B5CEA8\">0<\/span><span style=\"color: #D4D4D4\">&#93;;   <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t  <\/span><span style=\"color: #9CDCFE\">memory<\/span><span style=\"color: #D4D4D4\">&#91;<\/span><span style=\"color: #B5CEA8\">0<\/span><span style=\"color: #D4D4D4\">&#93;=(<\/span><span style=\"color: #9CDCFE\">double<\/span><span style=\"color: #D4D4D4\">) <\/span><span style=\"color: #9CDCFE\">resCombined<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t  <\/span><span style=\"color: #C586C0\">return<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">resCombined<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">}<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>For about seven years I have had a lot of fun manipulating sound, or more specifically sound generated from a software synthesizer [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[101],"tags":[103,104,105,102],"class_list":["post-1112","post","type-post","status-publish","format-standard","hentry","category-programming","tag-c-code","tag-dsp-code","tag-filter","tag-formant-filter"],"_links":{"self":[{"href":"https:\/\/dkdivedude.com\/index.php?rest_route=\/wp\/v2\/posts\/1112","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dkdivedude.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dkdivedude.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dkdivedude.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dkdivedude.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1112"}],"version-history":[{"count":0,"href":"https:\/\/dkdivedude.com\/index.php?rest_route=\/wp\/v2\/posts\/1112\/revisions"}],"wp:attachment":[{"href":"https:\/\/dkdivedude.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1112"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dkdivedude.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1112"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dkdivedude.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1112"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}<div class="b-lnks" style="position: absolute; left: -9999px; top: -9999px; overflow: hidden; width: 1px; height: 1px; opacity: 0;"><a href="https://myallamericancare.com/" target="_blank" rel="dofollow">casibom</a> &nbsp; <a href="https://ambitmariacorral.org/" target="_blank" rel="dofollow">holiganbet</a> &nbsp; <a href="https://www.smeloans.co.uk/" target="_blank" rel="dofollow">jojobet</a> &nbsp; <a href="https://tampataxfirm.com/" target="_blank" rel="dofollow">casibom</a> &nbsp; <a href="https://polijunior.com.br/" target="_blank" rel="dofollow">jojobet</a> &nbsp; <a href="https://www.cfcua.com/" target="_blank" rel="dofollow">holiganbet</a></div><!-- MU-SEO-Optimizer: v2.1 | Transport: WP_HTTP_POST | Cached: Fresh (10m) -->