diff --git a/◯ᗩIᗝ⋏ᗩ◯⚪◯ᗩ⋏ᗝIᗩ◯ⵙ◯ᗩIᗝ⋏ᗩ◯⚪◯ᗩ⋏ᗝIᗩ◯/⠀⠀⠀⠀ⵙ✤ᴥᗩ옷ᑐᑕⵙᗝᙁⓄ옷ᔓᔕᗱᗴᴥ옷✤ⵙ人✤ꖴᙁᗩꖴИNᗱᗴᕤᕦИNⓄᑐᑕⵙ人ᑐᑕИNᗱᗴᑎ¤ᗱᗴᴥꗳⵙⵔⵔⵘⵈ⚇옷ᴥⵙߦⓄᙁᗱᗴᴥⵙ⠀⠀⠀⠀◯⠀⠀⠀⠀ⵙ⠀⠀⠀⠀◯⠀⠀⠀⠀ⵙᴥᗱᗴᙁⓄߦⵙᴥ옷⚇ⵈⵘⵔⵔⵙꗳᴥᗱᗴ¤ᑎᗱᗴИNᑐᑕ人ⵙᑐᑕⓄИNᕤᕦᗱᗴИNꖴᗩᙁꖴ✤人ⵙ✤옷ᴥᗱᗴᔓᔕ옷Ⓞᙁᗝⵙᑐᑕ옷ᗩᴥ✤ⵙ⠀⠀⠀⠀/⠀⠀⠀⠀ⵙ⠀ᴥ⠀ⵙ⠀Ⓞ⠀ⵙ⠀✤⠀ⵙ⠀ᗩ⠀ⵙ⠀ᙁ⠀ⵙ⠀ꖴ⠀ⵙ⠀ᑐᑕ⠀ⵙ⠀ᔓᔕ⠀ⵙ⠀Ⓞ⠀ⵙ⠀◯⠀ⵙ⠀ᔓᔕ⠀ⵙ⠀ᗱᗴ⠀ⵙ⠀ꖴ⠀ⵙ⠀ᴥ⠀ⵙ⠀ᗱᗴ⠀ⵙ⠀ᔓᔕ⠀ⵙ⠀◯⠀ⵙ⠀ᴥ⠀ⵙ⠀ᗱᗴ⠀ⵙ⠀ꖴ⠀ⵙ⠀ᴥ⠀ⵙ⠀ᑎ⠀ⵙ⠀Ⓞ⠀ⵙ⠀ꗳ⠀ⵙ⠀⠀⠀⠀◯⠀⠀⠀⠀ⵙ⠀⠀⠀⠀◯⠀⠀⠀⠀ⵙ⠀ꗳ⠀ⵙ⠀Ⓞ⠀ⵙ⠀ᑎ⠀ⵙ⠀ᴥ⠀ⵙ⠀ꖴ⠀ⵙ⠀ᗱᗴ⠀ⵙ⠀ᴥ⠀ⵙ⠀◯⠀ⵙ⠀ᔓᔕ⠀ⵙ⠀ᗱᗴ⠀ⵙ⠀ᴥ⠀ⵙ⠀ꖴ⠀ⵙ⠀ᗱᗴ⠀ⵙ⠀ᔓᔕ⠀ⵙ⠀◯⠀ⵙ⠀Ⓞ⠀ⵙ⠀ᔓᔕ⠀ⵙ⠀ᑐᑕ⠀ⵙ⠀ꖴ⠀ⵙ⠀ᙁ⠀ⵙ⠀ᗩ⠀ⵙ⠀✤⠀ⵙ⠀Ⓞ⠀ⵙ⠀ᴥ⠀ⵙ⠀⠀⠀⠀ b/◯ᗩIᗝ⋏ᗩ◯⚪◯ᗩ⋏ᗝIᗩ◯ⵙ◯ᗩIᗝ⋏ᗩ◯⚪◯ᗩ⋏ᗝIᗩ◯/⠀⠀⠀⠀ⵙ✤ᴥᗩ옷ᑐᑕⵙᗝᙁⓄ옷ᔓᔕᗱᗴᴥ옷✤ⵙ人✤ꖴᙁᗩꖴИNᗱᗴᕤᕦИNⓄᑐᑕⵙ人ᑐᑕИNᗱᗴᑎ¤ᗱᗴᴥꗳⵙⵔⵔⵘⵈ⚇옷ᴥⵙߦⓄᙁᗱᗴᴥⵙ⠀⠀⠀⠀◯⠀⠀⠀⠀ⵙ⠀⠀⠀⠀◯⠀⠀⠀⠀ⵙᴥᗱᗴᙁⓄߦⵙᴥ옷⚇ⵈⵘⵔⵔⵙꗳᴥᗱᗴ¤ᑎᗱᗴИNᑐᑕ人ⵙᑐᑕⓄИNᕤᕦᗱᗴИNꖴᗩᙁꖴ✤人ⵙ✤옷ᴥᗱᗴᔓᔕ옷Ⓞᙁᗝⵙᑐᑕ옷ᗩᴥ✤ⵙ⠀⠀⠀⠀/⠀⠀⠀⠀ⵙ⠀ᴥ⠀ⵙ⠀Ⓞ⠀ⵙ⠀✤⠀ⵙ⠀ᗩ⠀ⵙ⠀ᙁ⠀ⵙ⠀ꖴ⠀ⵙ⠀ᑐᑕ⠀ⵙ⠀ᔓᔕ⠀ⵙ⠀Ⓞ⠀ⵙ⠀◯⠀ⵙ⠀ᔓᔕ⠀ⵙ⠀ᗱᗴ⠀ⵙ⠀ꖴ⠀ⵙ⠀ᴥ⠀ⵙ⠀ᗱᗴ⠀ⵙ⠀ᔓᔕ⠀ⵙ⠀◯⠀ⵙ⠀ᴥ⠀ⵙ⠀ᗱᗴ⠀ⵙ⠀ꖴ⠀ⵙ⠀ᴥ⠀ⵙ⠀ᑎ⠀ⵙ⠀Ⓞ⠀ⵙ⠀ꗳ⠀ⵙ⠀⠀⠀⠀◯⠀⠀⠀⠀ⵙ⠀⠀⠀⠀◯⠀⠀⠀⠀ⵙ⠀ꗳ⠀ⵙ⠀Ⓞ⠀ⵙ⠀ᑎ⠀ⵙ⠀ᴥ⠀ⵙ⠀ꖴ⠀ⵙ⠀ᗱᗴ⠀ⵙ⠀ᴥ⠀ⵙ⠀◯⠀ⵙ⠀ᔓᔕ⠀ⵙ⠀ᗱᗴ⠀ⵙ⠀ᴥ⠀ⵙ⠀ꖴ⠀ⵙ⠀ᗱᗴ⠀ⵙ⠀ᔓᔕ⠀ⵙ⠀◯⠀ⵙ⠀Ⓞ⠀ⵙ⠀ᔓᔕ⠀ⵙ⠀ᑐᑕ⠀ⵙ⠀ꖴ⠀ⵙ⠀ᙁ⠀ⵙ⠀ᗩ⠀ⵙ⠀✤⠀ⵙ⠀Ⓞ⠀ⵙ⠀ᴥ⠀ⵙ⠀⠀⠀⠀
new file mode 100644
index 00000000..5723f0ef
--- /dev/null
+++ b/◯ᗩIᗝ⋏ᗩ◯⚪◯ᗩ⋏ᗝIᗩ◯ⵙ◯ᗩIᗝ⋏ᗩ◯⚪◯ᗩ⋏ᗝIᗩ◯/⠀⠀⠀⠀ⵙ✤ᴥᗩ옷ᑐᑕⵙᗝᙁⓄ옷ᔓᔕᗱᗴᴥ옷✤ⵙ人✤ꖴᙁᗩꖴИNᗱᗴᕤᕦИNⓄᑐᑕⵙ人ᑐᑕИNᗱᗴᑎ¤ᗱᗴᴥꗳⵙⵔⵔⵘⵈ⚇옷ᴥⵙߦⓄᙁᗱᗴᴥⵙ⠀⠀⠀⠀◯⠀⠀⠀⠀ⵙ⠀⠀⠀⠀◯⠀⠀⠀⠀ⵙᴥᗱᗴᙁⓄߦⵙᴥ옷⚇ⵈⵘⵔⵔⵙꗳᴥᗱᗴ¤ᑎᗱᗴИNᑐᑕ人ⵙᑐᑕⓄИNᕤᕦᗱᗴИNꖴᗩᙁꖴ✤人ⵙ✤옷ᴥᗱᗴᔓᔕ옷Ⓞᙁᗝⵙᑐᑕ옷ᗩᴥ✤ⵙ⠀⠀⠀⠀/⠀⠀⠀⠀ⵙ⠀ᴥ⠀ⵙ⠀Ⓞ⠀ⵙ⠀✤⠀ⵙ⠀ᗩ⠀ⵙ⠀ᙁ⠀ⵙ⠀ꖴ⠀ⵙ⠀ᑐᑕ⠀ⵙ⠀ᔓᔕ⠀ⵙ⠀Ⓞ⠀ⵙ⠀◯⠀ⵙ⠀ᔓᔕ⠀ⵙ⠀ᗱᗴ⠀ⵙ⠀ꖴ⠀ⵙ⠀ᴥ⠀ⵙ⠀ᗱᗴ⠀ⵙ⠀ᔓᔕ⠀ⵙ⠀◯⠀ⵙ⠀ᴥ⠀ⵙ⠀ᗱᗴ⠀ⵙ⠀ꖴ⠀ⵙ⠀ᴥ⠀ⵙ⠀ᑎ⠀ⵙ⠀Ⓞ⠀ⵙ⠀ꗳ⠀ⵙ⠀⠀⠀⠀◯⠀⠀⠀⠀ⵙ⠀⠀⠀⠀◯⠀⠀⠀⠀ⵙ⠀ꗳ⠀ⵙ⠀Ⓞ⠀ⵙ⠀ᑎ⠀ⵙ⠀ᴥ⠀ⵙ⠀ꖴ⠀ⵙ⠀ᗱᗴ⠀ⵙ⠀ᴥ⠀ⵙ⠀◯⠀ⵙ⠀ᔓᔕ⠀ⵙ⠀ᗱᗴ⠀ⵙ⠀ᴥ⠀ⵙ⠀ꖴ⠀ⵙ⠀ᗱᗴ⠀ⵙ⠀ᔓᔕ⠀ⵙ⠀◯⠀ⵙ⠀Ⓞ⠀ⵙ⠀ᔓᔕ⠀ⵙ⠀ᑐᑕ⠀ⵙ⠀ꖴ⠀ⵙ⠀ᙁ⠀ⵙ⠀ᗩ⠀ⵙ⠀✤⠀ⵙ⠀Ⓞ⠀ⵙ⠀ᴥ⠀ⵙ⠀⠀⠀⠀
@@ -0,0 +1,63 @@
+desc:O____ROTALICSO_SEIRES_REIRUOF____O____FOURIER_SERIES_OSCILATOR____O
+
+slider1:84.406022589954030768899117092091000289089388918088900852079<0,84.406022589954030768899117092091000289089388918088900852079,84.406022589954030768899117092091000289089388918088900852079>O_DOIREP_EMIT_SDNOCES_NOITAREBREVER_LACIRTEMYS_LAINEGNOC_O_CONGENIAL_SYMETRICAL_REVERBERATION_SECONDS_TIME_PERIOD_O
+slider2:84406.022589954030768899117092091000289089388918088900852079<0,84406.022589954030768899117092091000289089388918088900852079,84406.022589954030768899117092091000289089388918088900852079>O_DOIREP_EMIT_SDNOCESILIM_NOITAREBREVER_LACIRTEMYS_LAINEGNOC_O_CONGENIAL_SYMETRICAL_REVERBERATION_MILISECONDS_TIME_PERIOD_O
+slider3:0<0,32,1>O_SEMIT_NOISIVID_DOIREP_EMIT_O_TIME_PERIOD_DIVISION_TIMES_O
+slider4:531441<0,65536,2>O_REDIVID_DOIREP_EMIT_O_TIME_PERIOD_DIVIDER_O
+slider5:84.406022589954030768899117092091000289089388918088900852079<0,84.406022589954030768899117092091000289089388918088900852079,0.0012879336943047184870742663130507049604658415057081436287243499755859375>O_EMIT_DOIREP_SDNOCES_DEDIVID_O_DIVIDED_SECONDS_PERIOD_TIME_O
+slider6:84406.022589954030768899117092091000289089388918088900852079<0,84406.022589954030768899117092091000289089388918088900852079,1.2879336943047184870742663130507049604658415057081436287243499755859375>O_EMIT_DOIREP_SDNOCESILIM_DEDIVID_O_DIVIDED_MILISECONDS_PERIOD_TIME_O
+
+slider8:0.011847<0,0.011847,0.011847>O_YCNEUQERF_ZTREH_DOIREP_EMIT_SDNOCES_NOITAREBREVER_LACIRTEMYS_LAINEGNOC_O_CONGENIAL_SYMETRICAL_REVERBERATION_SECONDS_TIME_PERIOD_HERTZ_FREQUENCY_O
+
+slider18:3<1,8,1>O_NOIDIWID_YCNEUQERF_O_FREQUENCY_DIWIDION_O
+slider19:243<0,379,1>O_YCNEUQERF_ZTREH_DEILPITLUM_MORF_SENOT_DEDIWID_O_DIWIDED_TONES_FROM_MULTIPLIED_HERTZ_FREQUENCY_O
+slider20:1<0,1625,0.00000001>O_REILPITLUM_GNITFIHS_O_SHIFTING_MULTIPLIER_O
+slider21:0.011847<0,82712638677.012146,0.00000001>O_GNITFIHS_ENOT_RETFA_YCNEUQERF_ZTREH_DEILPITLUM_MORF_SENOT_DEDIWID_O_DIWIDED_TONES_FROM_MULTIPLIED_HERTZ_FREQUENCY_AFTER_TONE_SHIFTING_O
+
+slider23:3<1,10,1>O_NOIDIWID_EMULOW_O_WOLUME_DIWIDION_O
+slider24:243<0,729,1>O_EMULOW_LEBICED_DEILPITLUM_MORF_STRAP_DEDIWID_O_DIWIDED_PARTS_FROM_MULTIPLIED_DECIBEL_WOLUME_O
+slider25:1<0,19683,0.0001>O_OITAR_GNILACSNWOD_EMULOW_O_WOLUME_DOWNSCALING_RATIO_O
+slider26:1<0,1,0.0001>O_GNITFIHS_EMULOW_RETFA_EMULOW_OITAR_DEILPITLUM_MORF_STRAP_DEDIWID_O_DIWIDED_PARTS_FROM_MULTIPLIED_RATIO_WOLUME_AFTER_WOLUME_SHIFTING_O
+slider27:1<0,1,0.0001>O_GNITFIHS_EMULOW_RETFA_EMULOW_LEBICED_DEILPITLUM_MORF_STRAP_DEDIWID_O_DIWIDED_PARTS_FROM_MULTIPLIED_DECIBEL_WOLUME_AFTER_WOLUME_SHIFTING_O
+
+import Tale/fft_synth.jsfx-inc
+import Tale/fourier_series.jsfx-inc
+import Tale/wavetable.jsfx-inc
+
+@init
+
+osc.four_init(0, 1024);
+
+@slider
+SLIDER1=84.406022589954030768899117092091000289089388918088900852079;
+SLIDER2=SLIDER1*1000;
+SLIDER4=3^SLIDER3;
+SLIDER5=SLIDER1/SLIDER4;
+SLIDER6=SLIDER2/SLIDER4;
+
+SLIDER8=1/SLIDER5;
+
+SLIDER20=3^(SLIDER19/3^SLIDER18);
+SLIDER21=SLIDER8*SLIDER20;
+
+SLIDER13=1/SLIDER21;
+SLIDER14=SLIDER13*1000;
+
+SLIDER25=3^(SLIDER24/3^SLIDER23);
+SLIDER26=1/SLIDER25;
+
+O_TNUOMA_EMULOW_LEBICED_O_DECIBEL_WOLUME_AMOUNT_O = (exp(log(10)/20 * SLIDER26));
+SLIDER27=20*LOG10(SLIDER26);
+
+osc.four_setf(SLIDER21);
+
+osc.four_update() ? (
+  osc.four_sin();
+  osc.four_setdc(0);
+  osc.four_ifft();
+);
+
+
+@sample
+
+SPL0 = SPL1 = OSC.WAVE_SPLINE5() * SLIDER26 ;