synthesizer 3.3.1 → 3.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +4 -0
  3. data/examples/{metronome.rb → audio_input_metronome.rb} +8 -2
  4. data/examples/{step_editor.rb → audio_input_step_editor.rb} +10 -2
  5. data/examples/filter_band_pass.rb +73 -0
  6. data/examples/{lpf.rb → filter_serial.rb} +9 -2
  7. data/examples/oscillator_pan.rb +70 -0
  8. data/examples/{formant_vocoder.rb → oscillator_source_formant_vocoder.rb} +9 -2
  9. data/examples/{formant_vocoder_sweep.rb → oscillator_source_formant_vocoder_sweep.rb} +10 -3
  10. data/examples/{sync.rb → oscillator_sync.rb} +11 -3
  11. data/examples/oscillator_unison.rb +64 -0
  12. data/examples/oscillator_volume.rb +70 -0
  13. data/examples/{mono.rb → synth_mono.rb} +10 -2
  14. data/examples/{poly.rb → synth_poly.rb} +10 -2
  15. data/{examples → jupyter}/adsr.ipynb +20 -17
  16. data/jupyter/curves.ipynb +103 -0
  17. data/jupyter/shapes.ipynb +111 -0
  18. data/lib/audio_stream/audio_input_metronome.rb +1 -1
  19. data/lib/synthesizer/modulation/adsr.rb +12 -11
  20. data/lib/synthesizer/modulation/glide.rb +2 -2
  21. data/lib/synthesizer/modulation/lfo.rb +8 -8
  22. data/lib/synthesizer/oscillator.rb +9 -9
  23. data/lib/synthesizer/oscillator_source/formant_vocoder.rb +3 -2
  24. data/lib/synthesizer/shape.rb +4 -4
  25. data/lib/synthesizer/version.rb +1 -1
  26. data/samples/cinema.rb +730 -0
  27. data/samples/cinema_drum.wav +0 -0
  28. data/samples/daijoubu.rb +811 -0
  29. data/samples/daijoubu_drum.wav +0 -0
  30. data/samples/kira_power.rb +987 -0
  31. data/samples/kira_power_drum.wav +0 -0
  32. data/synthesizer.gemspec +1 -1
  33. metadata +29 -19
  34. data/examples/curves.ipynb +0 -105
  35. data/examples/shapes.ipynb +0 -116
@@ -0,0 +1,103 @@
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": 1,
6
+ "metadata": {
7
+ "scrolled": false
8
+ },
9
+ "outputs": [
10
+ {
11
+ "data": {
12
+ "text/html": [
13
+ "\n",
14
+ " <script>\n",
15
+ " requirejs.config({paths: { 'plotly': ['https://cdn.plot.ly/plotly-latest.min'] }})\n",
16
+ " </script>\n",
17
+ "\n",
18
+ "\n",
19
+ "<div id=\"4943b022-99a1-4b6a-8c42-f91015042791\" style=\"height: 100%; width: 100%;\"></div>\n",
20
+ "\n",
21
+ "<script>\n",
22
+ " require(['plotly'], function(Plotly) { \n",
23
+ "Plotly.newPlot(\n",
24
+ " '4943b022-99a1-4b6a-8c42-f91015042791',\n",
25
+ " [{\"x\":[0.0,0.02,0.04,0.06,0.08,0.1,0.12,0.14,0.16,0.18,0.2,0.22,0.24,0.26,0.28,0.3,0.32,0.34,0.36,0.38,0.4,0.42,0.44,0.46,0.48,0.5,0.52,0.54,0.56,0.58,0.6,0.62,0.64,0.66,0.68,0.7000000000000001,0.72,0.74,0.76,0.78,0.8,0.8200000000000001,0.84,0.86,0.88,0.9,0.92,0.9400000000000001,0.96,0.98,1.0],\"y\":[0.0,0.02,0.04,0.06,0.08,0.1,0.12000000000000001,0.14,0.16,0.18,0.19999999999999998,0.21999999999999997,0.23999999999999996,0.25999999999999995,0.27999999999999997,0.3,0.32,0.34,0.36000000000000004,0.38000000000000006,0.4000000000000001,0.4200000000000001,0.4400000000000001,0.46000000000000013,0.48000000000000015,0.5000000000000001,0.5200000000000001,0.5400000000000001,0.5600000000000002,0.5800000000000002,0.6000000000000002,0.6200000000000002,0.6400000000000002,0.6600000000000003,0.6800000000000003,0.7000000000000003,0.7200000000000003,0.7400000000000003,0.7600000000000003,0.7800000000000004,0.8000000000000004,0.8200000000000004,0.8400000000000004,0.8600000000000004,0.8800000000000004,0.9000000000000005,0.9200000000000005,0.9400000000000005,0.9600000000000005,0.9800000000000005,1.0000000000000004],\"name\":\"Straight\"},{\"x\":[0.0,0.02,0.04,0.06,0.08,0.1,0.12,0.14,0.16,0.18,0.2,0.22,0.24,0.26,0.28,0.3,0.32,0.34,0.36,0.38,0.4,0.42,0.44,0.46,0.48,0.5,0.52,0.54,0.56,0.58,0.6,0.62,0.64,0.66,0.68,0.7000000000000001,0.72,0.74,0.76,0.78,0.8,0.8200000000000001,0.84,0.86,0.88,0.9,0.92,0.9400000000000001,0.96,0.98,1.0],\"y\":[0.0,0.0004,0.0016,0.0036,0.0064,0.010000000000000002,0.014400000000000003,0.019600000000000003,0.0256,0.0324,0.039999999999999994,0.04839999999999999,0.057599999999999985,0.06759999999999998,0.07839999999999998,0.09,0.1024,0.11560000000000002,0.12960000000000002,0.14440000000000006,0.16000000000000006,0.17640000000000008,0.1936000000000001,0.21160000000000012,0.23040000000000013,0.2500000000000001,0.27040000000000014,0.29160000000000014,0.31360000000000016,0.3364000000000002,0.36000000000000026,0.3844000000000003,0.4096000000000003,0.4356000000000003,0.46240000000000037,0.4900000000000004,0.5184000000000004,0.5476000000000005,0.5776000000000006,0.6084000000000006,0.6400000000000006,0.6724000000000007,0.7056000000000007,0.7396000000000007,0.7744000000000008,0.8100000000000008,0.8464000000000009,0.8836000000000009,0.921600000000001,0.960400000000001,1.0000000000000009],\"name\":\"EaseIn\"},{\"x\":[0.0,0.02,0.04,0.06,0.08,0.1,0.12,0.14,0.16,0.18,0.2,0.22,0.24,0.26,0.28,0.3,0.32,0.34,0.36,0.38,0.4,0.42,0.44,0.46,0.48,0.5,0.52,0.54,0.56,0.58,0.6,0.62,0.64,0.66,0.68,0.7000000000000001,0.72,0.74,0.76,0.78,0.8,0.8200000000000001,0.84,0.86,0.88,0.9,0.92,0.9400000000000001,0.96,0.98,1.0],\"y\":[0.0,0.0396,0.0784,0.11639999999999999,0.1536,0.19,0.2256,0.2604,0.2944,0.3276,0.36,0.39159999999999995,0.42239999999999994,0.4523999999999999,0.4815999999999999,0.51,0.5376,0.5644,0.5904,0.6156,0.6400000000000001,0.6636000000000001,0.6864000000000001,0.7084000000000001,0.7296000000000001,0.7500000000000002,0.7696000000000002,0.7884000000000002,0.8064000000000002,0.8236000000000002,0.8400000000000002,0.8556000000000002,0.8704000000000003,0.8844000000000003,0.8976000000000003,0.9100000000000003,0.9216000000000002,0.9324000000000002,0.9424000000000002,0.9516000000000002,0.9600000000000002,0.9676000000000002,0.9744000000000003,0.9804000000000003,0.9856000000000003,0.9900000000000002,0.9936000000000001,0.9964000000000002,0.9984000000000002,0.9996000000000002,1.0],\"name\":\"EaseOut\"}],\n",
26
+ " {},\n",
27
+ " {\"linkText\":\"Export to plot.ly\",\"showLink\":true}\n",
28
+ ")\n",
29
+ "\n",
30
+ "window.addEventListener('resize', function() {\n",
31
+ " Plotly.Plots.resize(document.getElementById('4943b022-99a1-4b6a-8c42-f91015042791'))\n",
32
+ "})\n",
33
+ " }) \n",
34
+ "</script>"
35
+ ],
36
+ "text/plain": [
37
+ "#<Plotly::Offline::HTML:0x00007fe221a6e9f0 @id=\"4943b022-99a1-4b6a-8c42-f91015042791\", @data=[{:x=>[0.0, 0.02, 0.04, 0.06, 0.08, 0.1, 0.12, 0.14, 0.16, 0.18, 0.2, 0.22, 0.24, 0.26, 0.28, 0.3, 0.32, 0.34, 0.36, 0.38, 0.4, 0.42, 0.44, 0.46, 0.48, 0.5, 0.52, 0.54, 0.56, 0.58, 0.6, 0.62, 0.64, 0.66, 0.68, 0.7000000000000001, 0.72, 0.74, 0.76, 0.78, 0.8, 0.8200000000000001, 0.84, 0.86, 0.88, 0.9, 0.92, 0.9400000000000001, 0.96, 0.98, 1.0], :y=>[0.0, 0.02, 0.04, 0.06, 0.08, 0.1, 0.12000000000000001, 0.14, 0.16, 0.18, 0.19999999999999998, 0.21999999999999997, 0.23999999999999996, 0.25999999999999995, 0.27999999999999997, 0.3, 0.32, 0.34, 0.36000000000000004, 0.38000000000000006, 0.4000000000000001, 0.4200000000000001, 0.4400000000000001, 0.46000000000000013, 0.48000000000000015, 0.5000000000000001, 0.5200000000000001, 0.5400000000000001, 0.5600000000000002, 0.5800000000000002, 0.6000000000000002, 0.6200000000000002, 0.6400000000000002, 0.6600000000000003, 0.6800000000000003, 0.7000000000000003, 0.7200000000000003, 0.7400000000000003, 0.7600000000000003, 0.7800000000000004, 0.8000000000000004, 0.8200000000000004, 0.8400000000000004, 0.8600000000000004, 0.8800000000000004, 0.9000000000000005, 0.9200000000000005, 0.9400000000000005, 0.9600000000000005, 0.9800000000000005, 1.0000000000000004], :name=>\"Straight\"}, {:x=>[0.0, 0.02, 0.04, 0.06, 0.08, 0.1, 0.12, 0.14, 0.16, 0.18, 0.2, 0.22, 0.24, 0.26, 0.28, 0.3, 0.32, 0.34, 0.36, 0.38, 0.4, 0.42, 0.44, 0.46, 0.48, 0.5, 0.52, 0.54, 0.56, 0.58, 0.6, 0.62, 0.64, 0.66, 0.68, 0.7000000000000001, 0.72, 0.74, 0.76, 0.78, 0.8, 0.8200000000000001, 0.84, 0.86, 0.88, 0.9, 0.92, 0.9400000000000001, 0.96, 0.98, 1.0], :y=>[0.0, 0.0004, 0.0016, 0.0036, 0.0064, 0.010000000000000002, 0.014400000000000003, 0.019600000000000003, 0.0256, 0.0324, 0.039999999999999994, 0.04839999999999999, 0.057599999999999985, 0.06759999999999998, 0.07839999999999998, 0.09, 0.1024, 0.11560000000000002, 0.12960000000000002, 0.14440000000000006, 0.16000000000000006, 0.17640000000000008, 0.1936000000000001, 0.21160000000000012, 0.23040000000000013, 0.2500000000000001, 0.27040000000000014, 0.29160000000000014, 0.31360000000000016, 0.3364000000000002, 0.36000000000000026, 0.3844000000000003, 0.4096000000000003, 0.4356000000000003, 0.46240000000000037, 0.4900000000000004, 0.5184000000000004, 0.5476000000000005, 0.5776000000000006, 0.6084000000000006, 0.6400000000000006, 0.6724000000000007, 0.7056000000000007, 0.7396000000000007, 0.7744000000000008, 0.8100000000000008, 0.8464000000000009, 0.8836000000000009, 0.921600000000001, 0.960400000000001, 1.0000000000000009], :name=>\"EaseIn\"}, {:x=>[0.0, 0.02, 0.04, 0.06, 0.08, 0.1, 0.12, 0.14, 0.16, 0.18, 0.2, 0.22, 0.24, 0.26, 0.28, 0.3, 0.32, 0.34, 0.36, 0.38, 0.4, 0.42, 0.44, 0.46, 0.48, 0.5, 0.52, 0.54, 0.56, 0.58, 0.6, 0.62, 0.64, 0.66, 0.68, 0.7000000000000001, 0.72, 0.74, 0.76, 0.78, 0.8, 0.8200000000000001, 0.84, 0.86, 0.88, 0.9, 0.92, 0.9400000000000001, 0.96, 0.98, 1.0], :y=>[0.0, 0.0396, 0.0784, 0.11639999999999999, 0.1536, 0.19, 0.2256, 0.2604, 0.2944, 0.3276, 0.36, 0.39159999999999995, 0.42239999999999994, 0.4523999999999999, 0.4815999999999999, 0.51, 0.5376, 0.5644, 0.5904, 0.6156, 0.6400000000000001, 0.6636000000000001, 0.6864000000000001, 0.7084000000000001, 0.7296000000000001, 0.7500000000000002, 0.7696000000000002, 0.7884000000000002, 0.8064000000000002, 0.8236000000000002, 0.8400000000000002, 0.8556000000000002, 0.8704000000000003, 0.8844000000000003, 0.8976000000000003, 0.9100000000000003, 0.9216000000000002, 0.9324000000000002, 0.9424000000000002, 0.9516000000000002, 0.9600000000000002, 0.9676000000000002, 0.9744000000000003, 0.9804000000000003, 0.9856000000000003, 0.9900000000000002, 0.9936000000000001, 0.9964000000000002, 0.9984000000000002, 0.9996000000000002, 1.0], :name=>\"EaseOut\"}], @layout={}, @config={:linkText=>\"Export to plot.ly\", :showLink=>true}, @embedded=true>"
38
+ ]
39
+ },
40
+ "metadata": {},
41
+ "output_type": "display_data"
42
+ }
43
+ ],
44
+ "source": [
45
+ "$LOAD_PATH << File.dirname(__FILE__) + \"/../lib\"\n",
46
+ "$LOAD_PATH << File.dirname(__FILE__) + \"/../../ruby-audio_stream/lib\"\n",
47
+ "\n",
48
+ "require 'synthesizer'\n",
49
+ "\n",
50
+ "include Synthesizer\n",
51
+ "\n",
52
+ "xs = []\n",
53
+ "ys1 = []\n",
54
+ "ys2 = []\n",
55
+ "ys3 = []\n",
56
+ "\n",
57
+ "pos = ShapePos.new(1, 0)\n",
58
+ "samplerate = 50\n",
59
+ "step = 1.0/samplerate\n",
60
+ "phase = 0.0\n",
61
+ "\n",
62
+ "(samplerate+1).times {|i|\n",
63
+ " xs << i * step\n",
64
+ " ys1 << Modulation::Curve::Straight[phase]\n",
65
+ " ys2 << Modulation::Curve::EaseIn[phase]\n",
66
+ " ys3 << Modulation::Curve::EaseOut[phase]\n",
67
+ " phase = pos.next(step, 0, 0)\n",
68
+ "}\n",
69
+ "\n",
70
+ "traces = [\n",
71
+ " {x: xs, y: ys1, name: \"Straight\"},\n",
72
+ " {x: xs, y: ys2, name: \"EaseIn\"},\n",
73
+ " {x: xs, y: ys3, name: \"EaseOut\"},\n",
74
+ "]\n",
75
+ "Plotly::Plot.new(data: traces).show\n",
76
+ "\n",
77
+ "nil"
78
+ ]
79
+ },
80
+ {
81
+ "cell_type": "code",
82
+ "execution_count": null,
83
+ "metadata": {},
84
+ "outputs": [],
85
+ "source": []
86
+ }
87
+ ],
88
+ "metadata": {
89
+ "kernelspec": {
90
+ "display_name": "Ruby 2.7.1",
91
+ "language": "ruby",
92
+ "name": "ruby"
93
+ },
94
+ "language_info": {
95
+ "file_extension": ".rb",
96
+ "mimetype": "application/x-ruby",
97
+ "name": "ruby",
98
+ "version": "2.7.2"
99
+ }
100
+ },
101
+ "nbformat": 4,
102
+ "nbformat_minor": 2
103
+ }
@@ -0,0 +1,111 @@
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": 1,
6
+ "metadata": {},
7
+ "outputs": [
8
+ {
9
+ "data": {
10
+ "text/html": [
11
+ "\n",
12
+ " <script>\n",
13
+ " requirejs.config({paths: { 'plotly': ['https://cdn.plot.ly/plotly-latest.min'] }})\n",
14
+ " </script>\n",
15
+ "\n",
16
+ "\n",
17
+ "<div id=\"0114d1e2-a10f-4842-91e2-08d807f4a889\" style=\"height: 100%; width: 100%;\"></div>\n",
18
+ "\n",
19
+ "<script>\n",
20
+ " require(['plotly'], function(Plotly) { \n",
21
+ "Plotly.newPlot(\n",
22
+ " '0114d1e2-a10f-4842-91e2-08d807f4a889',\n",
23
+ " [{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299],\"y\":[0.0,0.06264832417874369,0.1250505236945281,0.18696144082725336,0.2481378479437379,0.3083394030591003,0.3673295940613788,0.42487666788983836,0.4807545410165316,0.5347436876541295,0.5866320022005455,0.6362156325320928,0.6832997808714386,0.7276994690840093,0.7692402653962486,0.8077589696806922,0.8431042546155973,0.8751372602002243,0.9037321392901133,0.9287765520091285,0.9501721070958866,0.9678347484506664,0.9816950853641806,0.991698665130853,0.9978061869755915,0.9999936564536084,0.9982524797167028,0.992589497275665,0.9830269571261583,0.969602427343661,0.9523686484908523,0.9313933264172864,0.9067588662653752,0.878562048727684,0.8469136498274179,0.811938005715857,0.773772524196507,0.7325671448950293,0.688483750195759,0.6416955292590559,0.5923862976180484,0.5407497750278535,0.48698882440436786,0.43131465484258347,0.3739459918455135,0.31510821802362127,0.2550324876406651,0.19395481848461218,0.13211516463136846,0.06975647374412641,0.007123732611892247,-0.055536995323039316,-0.11797953666742966,-0.17995857521140174,-0.24123061569515172,-0.30155494042174913,-0.360694554957803,-0.41841711920665464,-0.4744958601962072,-0.5287104629953566,-0.5808479362589023,-0.6307034490004961,-0.6780811353062289,-0.7227948638273908,-0.76466896902933,-0.8035389413235665,-0.8392520733718676,-0.8716680600231558,-0.9006595495263083,-0.9261126438533073,-0.9479273461671313,-0.9660179536764466,-0.980313394333687,-0.9907575060537568,-0.9973092573563939,-0.999942908565361,-0.9986481129311697,-0.9934299572800558,-0.9843089420295122,-0.9713209006488905,-0.9545168588814844,-0.9339628342811637,-0.9097395768511175,-0.8819422518036468,-0.8506800656873403,-0.8160758373504615,-0.7782655154260834,-0.7373976442346157,-0.6936327802020255,-0.6471428610864344,-0.598110530491217,-0.546728420318345,-0.49319839398099236,-0.43773075334857514,-0.3805434125398613,-0.32186104181006747,-0.26191418489530965,-0.20093835328207885,-0.13917310096006763,-0.07686108329331846,-0.014247103707104703,0.04842284806422373,0.11090256239000877,0.1729465770199536,0.23431114142458126,0.29475517441090326,0.3540412112511449,0.41193633660356666,0.4682130995602448,0.5226504072268887,0.5750343933241125,0.6251592583977144,0.672828078337052,0.7178535780251128,0.7600588670808599,0.7992781348033668,0.8353573015875323,0.8681546242521778,0.897541252902392,0.9234017371383939,0.9456344796221863,0.964152135220085,0.9788819541530244,0.989766067806515,0.9967617160773984,0.9998414153642309,0.9989930665413147,0.9942200024921842,0.9855409750158026,0.9729900811569103,0.9566166292499497,0.9364849452028347,0.9126741197816127,0.8852776978888557,0.8544033110565006,0.8201722545969569,0.7827190110737133,0.7421907219635727,0.6987466095861796,0.6525573515718872,0.6038044103254788,0.5526793201200544,0.4993829346218625,0.44412463780229616,0.38712152133712974,0.3285975317247179,0.26878259047385084,0.20791169081776104,0.14622397450298755,0.08396179228010088,0.02136975178730366,-0.04130624343253773,-0.1038199600060431,-0.16592580209926622,-0.2273797762829598,-0.2879404501025171,-0.34736990058668893,-0.40543464896869136,-0.4619065779475008,-0.5165638278857084,-0.5691916684230744,-0.6195833420814968,-0.6675408765471466,-0.7128758624385849,-0.7554101935052606,-0.7949767663483966,-0.8314201369152877,-0.8645971311878673,-0.8943774076663361,-0.9206439694380518,-0.9432936238199243,-0.9622373877685282,-0.9774008374652199,-0.988724400702844,-0.9961635909253451,-0.9996891820008162,-0.9992873230413596,-0.9949595928186702,-0.986722993561561,-0.9746098841597977,-0.9586678530366612,-0.9389595311896848,-0.9155623461340601,-0.8885682177153931,-0.8580831969868612,-0.8242270495694997,-0.7871327851324647,-0.7469461348417853,-0.7038249788305351,-0.6579387259397148,-0.6094676481666235,-0.5586021724354702,-0.5055421324726117,-0.45049598372555694,-0.3936799844100727,-0.33531734590276685,-0.2756373558170015,-0.21487447720726174,-0.1532674274409185,-0.09105824035620348,-0.02849131539084786,0.03418754258292841,0.09673208894492714,0.15889660674110137,0.22043687202466342,0.2811111133316532,0.34068096152151095,0.3989123862510398,0.4555766154026601,0.5104510338548244,0.5633200580636203,0.613975983019617,0.6622197982525406,0.7078619696779647,0.7507231842143968,0.7906350542454068,0.8274407791591952,0.8609957613666304,0.8911681743776237,0.9178394807040564,0.940904897554588,0.9602738084917828,0.9758701194342945,0.987632557605485,0.9955149122540149,0.9994862162006878,0.9995308674983135,0.9956486907266281,0.9878549376814616,0.9761802274554485,0.9606704261456825,0.941386466660904,0.9184041093361407,0.8918136442952662,0.8617195367307963,0.828240016494502,0.7915066136112039,0.7516636415405594,0.7088676302169408,0.6632867110947975,0.615099956615466,0.5644966766904371,0.5116756749649705,0.4568444677839538,0.4002184689284253,0.3420201433256714,0.28247813305768793,0.22182635910163118,0.1603031023312286,0.09815006738958512,0.03561143311112987,-0.027067106776723547,-0.08963930890343116,-0.15185934766454198,-0.21348278098965567,-0.27426751067492783,-0.333974733507296,-0.3923698794437709,-0.44922353315999164,-0.5043123353475918,-0.5574198602194655,-0.6083374657755111,-0.6568651134884335,-0.7028121541893346,-0.7459980770655995,-0.7862532188285154,-0.8234194302645377,-0.8573506975515388,-0.8879137158991003,-0.914988413259191,-0.9384684220497593,-0.9582614970379824,-0.9742898777414483,-0.9864905939235209,-0.9948157129826893,-0.9992325282639967,-0.9997236875527314,-0.9962872612455728,-0.9889367499313664,-0.9777010313517521,-0.962624246950013,-0.9437656284538611,-0.9211992651734592,-0.8950138129288858,-0.8653121457505735,-0.8322109517210758,-0.795840274545964,-0.7563430026548756,-0.7138743078398656,-0.6686010356364629,-0.620701049842435,-0.5703625337494147,-0.5177832508326379,-0.46316976780328517,-0.4067366430758034,-0.34870558383846073,-0.28930457503870943,-0.22876698370530862,-0.1673306421260117,-0.1052369134827197],\"name\":\"Sine\"},{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299],\"y\":[0.0,0.01995464852607709,0.03990929705215418,0.05986394557823127,0.07981859410430836,0.09977324263038545,0.11972789115646254,0.13968253968253963,0.15963718820861672,0.1795918367346938,0.1995464852607709,0.219501133786848,0.23945578231292508,0.25941043083900217,0.27936507936507926,0.29931972789115635,0.31927437641723344,0.33922902494331053,0.3591836734693876,0.3791383219954647,0.3990929705215418,0.4190476190476189,0.439002267573696,0.45895691609977307,0.47891156462585016,0.49886621315192725,0.5188208616780043,0.5387755102040814,0.5587301587301585,0.5786848072562356,0.5986394557823127,0.6185941043083898,0.6385487528344669,0.658503401360544,0.6784580498866211,0.6984126984126982,0.7183673469387752,0.7383219954648523,0.7582766439909294,0.7782312925170065,0.7981859410430836,0.8181405895691607,0.8380952380952378,0.8580498866213149,0.878004535147392,0.897959183673469,0.9179138321995461,0.9378684807256232,0.9578231292517003,0.9777777777777774,0.9977324263038545,-0.982312925170068,-0.9623582766439913,-0.9424036281179138,-0.9224489795918371,-0.9024943310657596,-0.882539682539683,-0.8625850340136054,-0.8426303854875288,-0.8226757369614512,-0.8027210884353746,-0.7827664399092971,-0.7628117913832204,-0.7428571428571429,-0.7229024943310662,-0.7029478458049887,-0.6829931972789121,-0.6630385487528345,-0.6430839002267579,-0.6231292517006803,-0.6031746031746037,-0.5832199546485262,-0.5632653061224495,-0.543310657596372,-0.5233560090702953,-0.5034013605442178,-0.48344671201814116,-0.4634920634920636,-0.443537414965987,-0.42358276643990944,-0.4036281179138328,-0.38367346938775526,-0.3637188208616786,-0.3437641723356011,-0.32380952380952444,-0.3038548752834469,-0.28390022675737026,-0.2639455782312927,-0.24399092970521608,-0.22403628117913854,-0.2040816326530619,-0.18412698412698436,-0.16417233560090772,-0.14421768707483018,-0.12426303854875353,-0.104308390022676,-0.08435374149659935,-0.06439909297052182,-0.044444444444445175,-0.02448979591836764,-0.004535147392290995,0.01541950113378654,0.03537414965986363,0.05532879818594072,0.07528344671201781,0.0952380952380949,0.11519274376417199,0.13514739229024908,0.15510204081632617,0.17505668934240326,0.19501133786848035,0.21496598639455744,0.23492063492063453,0.2548752834467116,0.2748299319727887,0.2947845804988658,0.3147392290249429,0.33469387755102,0.35464852607709707,0.37460317460317416,0.39455782312925125,0.41451247165532834,0.43446712018140543,0.4544217687074825,0.4743764172335596,0.4943310657596367,0.5142857142857138,0.5342403628117909,0.554195011337868,0.5741496598639451,0.5941043083900222,0.6140589569160992,0.6340136054421763,0.6539682539682534,0.6739229024943305,0.6938775510204076,0.7138321995464847,0.7337868480725618,0.7537414965986389,0.773696145124716,0.793650793650793,0.8136054421768701,0.8335600907029472,0.8535147392290243,0.8734693877551014,0.8934240362811785,0.9133786848072556,0.9333333333333327,0.9532879818594098,0.9732426303854869,0.993197278911564,-0.986848072562359,-0.9668934240362814,-0.9469387755102048,-0.9269841269841272,-0.9070294784580506,-0.8870748299319731,-0.8671201814058964,-0.8471655328798189,-0.8272108843537422,-0.8072562358276647,-0.7873015873015881,-0.7673469387755105,-0.7473922902494339,-0.7274376417233563,-0.7074829931972797,-0.6875283446712022,-0.6675736961451255,-0.647619047619048,-0.6276643990929713,-0.6077097505668938,-0.5877551020408172,-0.5678004535147396,-0.547845804988663,-0.5278911564625854,-0.5079365079365088,-0.48798185941043126,-0.4680272108843546,-0.4480725623582771,-0.42811791383220044,-0.4081632653061229,-0.38820861678004626,-0.3682539682539687,-0.3482993197278921,-0.32834467120181454,-0.3083900226757379,-0.28843537414966036,-0.2684807256235837,-0.24852607709750618,-0.22857142857142954,-0.208616780045352,-0.18866213151927536,-0.16870748299319782,-0.14875283446712118,-0.12879818594104364,-0.108843537414967,-0.08888888888888946,-0.06893424036281282,-0.04897959183673528,-0.029024943310658635,-0.009070294784581101,0.010884353741495989,0.03083900226757308,0.05079365079365017,0.07074829931972726,0.09070294784580435,0.11065759637188144,0.13061224489795853,0.15056689342403562,0.1705215419501127,0.1904761904761898,0.2104308390022669,0.23038548752834398,0.25034013605442107,0.27029478458049816,0.29024943310657525,0.31020408163265234,0.33015873015872943,0.3501133786848065,0.3700680272108836,0.3900226757369607,0.4099773242630378,0.4299319727891149,0.44988662131519197,0.46984126984126906,0.48979591836734615,0.5097505668934232,0.5297052154195003,0.5496598639455774,0.5696145124716545,0.5895691609977316,0.6095238095238087,0.6294784580498858,0.6494331065759629,0.66938775510204,0.689342403628117,0.7092970521541941,0.7292517006802712,0.7492063492063483,0.7691609977324254,0.7891156462585025,0.8090702947845796,0.8290249433106567,0.8489795918367338,0.8689342403628109,0.888888888888888,0.908843537414965,0.9287981859410421,0.9487528344671192,0.9687074829931963,0.9886621315192734,-0.9913832199546491,-0.9714285714285724,-0.9514739229024949,-0.9315192743764182,-0.9115646258503407,-0.8916099773242641,-0.8716553287981865,-0.8517006802721099,-0.8317460317460323,-0.8117913832199557,-0.7918367346938782,-0.7718820861678015,-0.751927437641724,-0.7319727891156473,-0.7120181405895698,-0.6920634920634932,-0.6721088435374156,-0.652154195011339,-0.6321995464852614,-0.6122448979591848,-0.5922902494331073,-0.5723356009070306,-0.5523809523809531,-0.5324263038548764,-0.5124716553287989,-0.49251700680272226,-0.4725623582766447,-0.4526077097505681,-0.43265306122449054,-0.4126984126984139,-0.39274376417233636,-0.3727891156462597,-0.3528344671201822,-0.33287981859410554,-0.312925170068028,-0.29297052154195136,-0.2730158730158738,-0.2530612244897972,-0.23310657596371964,-0.213151927437643,-0.19319727891156546,-0.17324263038548882,-0.15328798185941128,-0.13333333333333464,-0.1133786848072571,-0.09342403628118046,-0.07346938775510292,-0.053514739229026276,-0.03356009070294874],\"name\":\"Sawtooth\"},{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299],\"y\":[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0],\"name\":\"Square\"},{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299],\"y\":[0.0,0.039909297052154194,0.07981859410430839,0.11972789115646258,0.15963718820861678,0.19954648526077096,0.23945578231292514,0.2793650793650793,0.3192743764172335,0.3591836734693877,0.39909297052154186,0.43900226757369604,0.4789115646258502,0.5188208616780045,0.5587301587301586,0.5986394557823128,0.638548752834467,0.6784580498866212,0.7183673469387754,0.7582766439909295,0.7981859410430837,0.8380952380952379,0.8780045351473921,0.9179138321995463,0.9578231292517004,0.9977324263038546,0.9623582766439911,0.9224489795918369,0.8825396825396827,0.8426303854875286,0.8027210884353744,0.7628117913832202,0.722902494331066,0.6829931972789118,0.6430839002267577,0.6031746031746035,0.5632653061224493,0.5233560090702951,0.48344671201814093,0.44353741496598675,0.4036281179138326,0.3637188208616784,0.3238095238095242,0.28390022675737003,0.24399092970521585,0.20408163265306167,0.1641723356009075,0.12426303854875331,0.08435374149659913,0.04444444444444495,0.004535147392290773,-0.03537414965986363,-0.07528344671201781,-0.11519274376417199,-0.15510204081632617,-0.19501133786848035,-0.23492063492063453,-0.2748299319727887,-0.3147392290249429,-0.35464852607709707,-0.39455782312925125,-0.43446712018140543,-0.4743764172335596,-0.5142857142857138,-0.554195011337868,-0.5941043083900222,-0.6340136054421763,-0.6739229024943305,-0.7138321995464847,-0.7537414965986389,-0.793650793650793,-0.8335600907029472,-0.8734693877551014,-0.9133786848072556,-0.9532879818594098,-0.993197278911564,-0.9668934240362819,-0.9269841269841277,-0.8870748299319735,-0.8471655328798193,-0.8072562358276651,-0.767346938775511,-0.7274376417233568,-0.6875283446712026,-0.6476190476190484,-0.6077097505668942,-0.5678004535147401,-0.5278911564625859,-0.4879818594104317,-0.4480725623582775,-0.40816326530612335,-0.36825396825396917,-0.328344671201815,-0.2884353741496608,-0.24852607709750663,-0.20861678004535245,-0.16870748299319827,-0.12879818594104409,-0.0888888888888899,-0.048979591836735725,-0.009070294784581545,0.03083900226757308,0.07074829931972727,0.11065759637188147,0.15056689342403567,0.19047619047618985,0.23038548752834404,0.2702947845804982,0.3102040816326524,0.3501133786848066,0.39002267573696076,0.42993197278911494,0.4698412698412691,0.5097505668934234,0.5496598639455775,0.5895691609977317,0.6294784580498859,0.6693877551020401,0.7092970521541943,0.7492063492063484,0.7891156462585026,0.8290249433106568,0.868934240362811,0.9088435374149652,0.9487528344671193,0.9886621315192735,0.9714285714285722,0.931519274376418,0.8916099773242638,0.8517006802721097,0.8117913832199555,0.7718820861678013,0.7319727891156471,0.6920634920634929,0.6521541950113388,0.6122448979591846,0.5723356009070304,0.5324263038548762,0.49251700680272203,0.45260770975056785,0.4126984126984137,0.3727891156462595,0.3328798185941053,0.29297052154195113,0.25306122448979695,0.21315192743764277,0.1732426303854886,0.13333333333333441,0.09342403628118023,0.053514739229026054,0.013605442176871874,-0.02630385487528253,-0.06621315192743671,-0.10612244897959089,-0.14603174603174507,-0.18594104308389925,-0.22585034013605343,-0.2657596371882076,-0.3056689342403618,-0.34557823129251597,-0.38548752834467015,-0.42539682539682433,-0.4653061224489785,-0.5052154195011327,-0.5451247165532869,-0.585034013605441,-0.6249433106575952,-0.6648526077097494,-0.7047619047619036,-0.7446712018140578,-0.784580498866212,-0.8244897959183661,-0.8643990929705203,-0.9043083900226745,-0.9442176870748287,-0.9841269841269829,-0.975963718820863,-0.9360544217687088,-0.8961451247165546,-0.8562358276644004,-0.8163265306122462,-0.7764172335600921,-0.7365079365079379,-0.6965986394557837,-0.6566893424036295,-0.6167800453514753,-0.5768707482993212,-0.536961451247167,-0.4970521541950128,-0.4571428571428586,-0.41723356009070445,-0.37732426303855027,-0.3374149659863961,-0.2975056689342419,-0.2575963718820877,-0.21768707482993355,-0.17777777777777937,-0.1378684807256252,-0.097959183673471,-0.058049886621316826,-0.018140589569162646,0.021768707482991978,0.06167800453514617,0.10158730158730037,0.14149659863945457,0.18140589569160875,0.22131519274376293,0.2612244897959171,0.3011337868480713,0.3410430839002255,0.38095238095237965,0.42086167800453383,0.460770975056688,0.5006802721088423,0.5405895691609964,0.5804988662131506,0.6204081632653048,0.660317460317459,0.7002267573696132,0.7401360544217673,0.7800453514739215,0.8199546485260757,0.8598639455782299,0.899773242630384,0.9396825396825382,0.9795918367346924,0.9804988662131533,0.9405895691609991,0.9006802721088449,0.8607709750566908,0.8208616780045366,0.7809523809523824,0.7410430839002282,0.701133786848074,0.6612244897959199,0.6213151927437657,0.5814058956916115,0.5414965986394573,0.5015873015873031,0.46167800453514896,0.4217687074829948,0.3818594104308406,0.3419501133786864,0.30204081632653224,0.26213151927437806,0.22222222222222388,0.1823129251700697,0.14240362811791552,0.10249433106576133,0.06258503401360715,0.022675736961452975,-0.017233560090701427,-0.05714285714285561,-0.09705215419500979,-0.13696145124716397,-0.17687074829931815,-0.21678004535147233,-0.2566893424036265,-0.2965986394557807,-0.33650793650793487,-0.37641723356008905,-0.41632653061224323,-0.4562358276643974,-0.4961451247165516,-0.5360544217687058,-0.57596371882086,-0.6158730158730141,-0.6557823129251683,-0.6956916099773225,-0.7356009070294767,-0.7755102040816308,-0.815419501133785,-0.8553287981859392,-0.8952380952380934,-0.9351473922902476,-0.9750566893424018,-0.9850340136054441,-0.9451247165532899,-0.9052154195011357,-0.8653061224489815,-0.8253968253968273,-0.7854875283446732,-0.745578231292519,-0.7056689342403648,-0.6657596371882106,-0.6258503401360564,-0.5859410430839023,-0.5460317460317481,-0.5061224489795939,-0.46621315192743973,-0.42630385487528555,-0.38639455782313137,-0.3464852607709772,-0.306575963718823,-0.26666666666666883,-0.22675736961451465,-0.18684807256236047,-0.1469387755102063,-0.10702947845805211,-0.06712018140589793],\"name\":\"Triangle\"},{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299],\"y\":[-1.0,-0.9800453514739229,-0.9600907029478458,-0.9401360544217687,-0.9201814058956916,-0.9002267573696145,-0.8802721088435375,-0.8603174603174604,-0.8403628117913833,-0.8204081632653062,-0.8004535147392291,-0.780498866213152,-0.7605442176870749,-0.7405895691609978,-0.7206349206349207,-0.7006802721088436,-0.6807256235827666,-0.6607709750566895,-0.6408163265306124,-0.6208616780045353,-0.6009070294784582,-0.5809523809523811,-0.560997732426304,-0.5410430839002269,-0.5210884353741498,-0.5011337868480727,-0.48117913832199555,-0.46122448979591846,-0.44126984126984137,-0.4213151927437643,-0.4013605442176872,-0.3814058956916101,-0.361451247165533,-0.3414965986394559,-0.3215419501133788,-0.30158730158730174,-0.28163265306122465,-0.26167800453514756,-0.24172335600907047,-0.22176870748299338,-0.2018140589569163,-0.1818594104308392,-0.1619047619047621,-0.14195011337868502,-0.12199546485260793,-0.10204081632653084,-0.08208616780045375,-0.062131519274376656,-0.042176870748299566,-0.022222222222222476,-0.0022675736961453863,0.017687074829931815,0.037641723356008905,0.057596371882085995,0.07755102040816308,0.09750566893424018,0.11746031746031727,0.13741496598639436,0.15736961451247145,0.17732426303854854,0.19727891156462563,0.21723356009070272,0.2371882086167798,0.2571428571428569,0.277097505668934,0.2970521541950111,0.31700680272108817,0.33696145124716526,0.35691609977324235,0.37687074829931944,0.3968253968253965,0.4167800453514736,0.4367346938775507,0.4566893424036278,0.4766439909297049,0.496598639455782,0.5165532879818591,0.5365079365079362,0.5564625850340132,0.5764172335600903,0.5963718820861674,0.6163265306122445,0.6362811791383216,0.6562358276643987,0.6761904761904758,0.6961451247165529,0.71609977324263,0.7360544217687071,0.7560090702947841,0.7759637188208612,0.7959183673469383,0.8158730158730154,0.8358276643990925,0.8557823129251696,0.8757369614512467,0.8956916099773238,0.9156462585034009,0.935600907029478,0.955555555555555,0.9755102040816321,0.9954648526077092,-0.9845804988662135,-0.9646258503401364,-0.9446712018140593,-0.9247165532879822,-0.9047619047619051,-0.884807256235828,-0.8648526077097509,-0.8448979591836738,-0.8249433106575967,-0.8049886621315196,-0.7850340136054426,-0.7650793650793655,-0.7451247165532884,-0.7251700680272113,-0.7052154195011342,-0.6852607709750571,-0.66530612244898,-0.6453514739229029,-0.6253968253968258,-0.6054421768707487,-0.5854875283446717,-0.5655328798185946,-0.5455782312925175,-0.5256235827664404,-0.5056689342403633,-0.4857142857142861,-0.465759637188209,-0.4458049886621319,-0.42585034013605483,-0.40589569160997774,-0.38594104308390065,-0.36598639455782356,-0.34603174603174647,-0.3260770975056694,-0.3061224489795923,-0.2861678004535152,-0.2662131519274381,-0.24625850340136102,-0.22630385487528393,-0.20634920634920684,-0.18639455782312975,-0.16643990929705266,-0.14648526077097557,-0.12653061224489848,-0.10657596371882139,-0.0866213151927443,-0.06666666666666721,-0.04671201814059012,-0.026757369614513027,-0.006802721088435937,0.013151927437641264,0.033106575963718354,0.053061224489795444,0.07301587301587253,0.09297052154194962,0.11292517006802671,0.1328798185941038,0.1528344671201809,0.17278911564625798,0.19274376417233507,0.21269841269841216,0.23265306122448925,0.25260770975056634,0.27256235827664343,0.2925170068027205,0.3124716553287976,0.3324263038548747,0.3523809523809518,0.3723356009070289,0.392290249433106,0.41224489795918307,0.43219954648526016,0.45215419501133725,0.47210884353741434,0.4920634920634914,0.5120181405895685,0.5319727891156456,0.5519274376417227,0.5718820861677998,0.5918367346938769,0.611791383219954,0.6317460317460311,0.6517006802721081,0.6716553287981852,0.6916099773242623,0.7115646258503394,0.7315192743764165,0.7514739229024936,0.7714285714285707,0.7913832199546478,0.8113378684807249,0.831292517006802,0.851247165532879,0.8712018140589561,0.8911564625850332,0.9111111111111103,0.9310657596371874,0.9510204081632645,0.9709750566893416,0.9909297052154187,-0.989115646258504,-0.9691609977324269,-0.9492063492063498,-0.9292517006802727,-0.9092970521541957,-0.8893424036281186,-0.8693877551020415,-0.8494331065759644,-0.8294784580498873,-0.8095238095238102,-0.7895691609977331,-0.769614512471656,-0.7496598639455789,-0.7297052154195018,-0.7097505668934248,-0.6897959183673477,-0.6698412698412706,-0.6498866213151935,-0.6299319727891164,-0.6099773242630393,-0.5900226757369622,-0.5700680272108851,-0.550113378684808,-0.5301587301587309,-0.5102040816326538,-0.49024943310657665,-0.47029478458049956,-0.45034013605442247,-0.4303854875283454,-0.4104308390022683,-0.3904761904761912,-0.3705215419501141,-0.350566893424037,-0.33061224489795993,-0.31065759637188284,-0.29070294784580575,-0.27074829931972866,-0.25079365079365157,-0.23083900226757448,-0.2108843537414974,-0.1909297052154203,-0.1709750566893432,-0.15102040816326612,-0.13106575963718903,-0.11111111111111194,-0.09115646258503485,-0.07120181405895776,-0.05124716553288067,-0.03129251700680358,-0.011337868480726487,0.008616780045350714,0.028571428571427804,0.048526077097504894,0.06848072562358198,0.08843537414965907,0.10839002267573616,0.12834467120181325,0.14829931972789034,0.16825396825396743,0.18820861678004452,0.20816326530612161,0.2281179138321987,0.2480725623582758,0.2680272108843529,0.28798185941043,0.30793650793650706,0.32789115646258415,0.34784580498866124,0.36780045351473833,0.3877551020408154,0.4077097505668925,0.4276643990929696,0.4476190476190467,0.4675736961451238,0.4875283446712009,0.507482993197278,0.527437641723355,0.5473922902494321,0.5673469387755092,0.5873015873015863,0.6072562358276634,0.6272108843537405,0.6471655328798176,0.6671201814058947,0.6870748299319718,0.7070294784580489,0.726984126984126,0.746938775510203,0.7668934240362801,0.7868480725623572,0.8068027210884343,0.8267573696145114,0.8467120181405885,0.8666666666666656,0.8866213151927427,0.9065759637188198,0.9265306122448969,0.946485260770974,0.966439909297051],\"name\":\"RampUp\"},{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299],\"y\":[1.0,0.9800453514739229,0.9600907029478458,0.9401360544217687,0.9201814058956916,0.9002267573696145,0.8802721088435375,0.8603174603174604,0.8403628117913833,0.8204081632653062,0.8004535147392291,0.780498866213152,0.7605442176870749,0.7405895691609978,0.7206349206349207,0.7006802721088436,0.6807256235827666,0.6607709750566895,0.6408163265306124,0.6208616780045353,0.6009070294784582,0.5809523809523811,0.560997732426304,0.5410430839002269,0.5210884353741498,0.5011337868480727,0.48117913832199555,0.46122448979591846,0.44126984126984137,0.4213151927437643,0.4013605442176872,0.3814058956916101,0.361451247165533,0.3414965986394559,0.3215419501133788,0.30158730158730174,0.28163265306122465,0.26167800453514756,0.24172335600907047,0.22176870748299338,0.2018140589569163,0.1818594104308392,0.1619047619047621,0.14195011337868502,0.12199546485260793,0.10204081632653084,0.08208616780045375,0.062131519274376656,0.042176870748299566,0.022222222222222476,0.0022675736961453863,-0.017687074829931815,-0.037641723356008905,-0.057596371882085995,-0.07755102040816308,-0.09750566893424018,-0.11746031746031727,-0.13741496598639436,-0.15736961451247145,-0.17732426303854854,-0.19727891156462563,-0.21723356009070272,-0.2371882086167798,-0.2571428571428569,-0.277097505668934,-0.2970521541950111,-0.31700680272108817,-0.33696145124716526,-0.35691609977324235,-0.37687074829931944,-0.3968253968253965,-0.4167800453514736,-0.4367346938775507,-0.4566893424036278,-0.4766439909297049,-0.496598639455782,-0.5165532879818591,-0.5365079365079362,-0.5564625850340132,-0.5764172335600903,-0.5963718820861674,-0.6163265306122445,-0.6362811791383216,-0.6562358276643987,-0.6761904761904758,-0.6961451247165529,-0.71609977324263,-0.7360544217687071,-0.7560090702947841,-0.7759637188208612,-0.7959183673469383,-0.8158730158730154,-0.8358276643990925,-0.8557823129251696,-0.8757369614512467,-0.8956916099773238,-0.9156462585034009,-0.935600907029478,-0.955555555555555,-0.9755102040816321,-0.9954648526077092,0.9845804988662135,0.9646258503401364,0.9446712018140593,0.9247165532879822,0.9047619047619051,0.884807256235828,0.8648526077097509,0.8448979591836738,0.8249433106575967,0.8049886621315196,0.7850340136054426,0.7650793650793655,0.7451247165532884,0.7251700680272113,0.7052154195011342,0.6852607709750571,0.66530612244898,0.6453514739229029,0.6253968253968258,0.6054421768707487,0.5854875283446717,0.5655328798185946,0.5455782312925175,0.5256235827664404,0.5056689342403633,0.4857142857142861,0.465759637188209,0.4458049886621319,0.42585034013605483,0.40589569160997774,0.38594104308390065,0.36598639455782356,0.34603174603174647,0.3260770975056694,0.3061224489795923,0.2861678004535152,0.2662131519274381,0.24625850340136102,0.22630385487528393,0.20634920634920684,0.18639455782312975,0.16643990929705266,0.14648526077097557,0.12653061224489848,0.10657596371882139,0.0866213151927443,0.06666666666666721,0.04671201814059012,0.026757369614513027,0.006802721088435937,-0.013151927437641264,-0.033106575963718354,-0.053061224489795444,-0.07301587301587253,-0.09297052154194962,-0.11292517006802671,-0.1328798185941038,-0.1528344671201809,-0.17278911564625798,-0.19274376417233507,-0.21269841269841216,-0.23265306122448925,-0.25260770975056634,-0.27256235827664343,-0.2925170068027205,-0.3124716553287976,-0.3324263038548747,-0.3523809523809518,-0.3723356009070289,-0.392290249433106,-0.41224489795918307,-0.43219954648526016,-0.45215419501133725,-0.47210884353741434,-0.4920634920634914,-0.5120181405895685,-0.5319727891156456,-0.5519274376417227,-0.5718820861677998,-0.5918367346938769,-0.611791383219954,-0.6317460317460311,-0.6517006802721081,-0.6716553287981852,-0.6916099773242623,-0.7115646258503394,-0.7315192743764165,-0.7514739229024936,-0.7714285714285707,-0.7913832199546478,-0.8113378684807249,-0.831292517006802,-0.851247165532879,-0.8712018140589561,-0.8911564625850332,-0.9111111111111103,-0.9310657596371874,-0.9510204081632645,-0.9709750566893416,-0.9909297052154187,0.989115646258504,0.9691609977324269,0.9492063492063498,0.9292517006802727,0.9092970521541957,0.8893424036281186,0.8693877551020415,0.8494331065759644,0.8294784580498873,0.8095238095238102,0.7895691609977331,0.769614512471656,0.7496598639455789,0.7297052154195018,0.7097505668934248,0.6897959183673477,0.6698412698412706,0.6498866213151935,0.6299319727891164,0.6099773242630393,0.5900226757369622,0.5700680272108851,0.550113378684808,0.5301587301587309,0.5102040816326538,0.49024943310657665,0.47029478458049956,0.45034013605442247,0.4303854875283454,0.4104308390022683,0.3904761904761912,0.3705215419501141,0.350566893424037,0.33061224489795993,0.31065759637188284,0.29070294784580575,0.27074829931972866,0.25079365079365157,0.23083900226757448,0.2108843537414974,0.1909297052154203,0.1709750566893432,0.15102040816326612,0.13106575963718903,0.11111111111111194,0.09115646258503485,0.07120181405895776,0.05124716553288067,0.03129251700680358,0.011337868480726487,-0.008616780045350714,-0.028571428571427804,-0.048526077097504894,-0.06848072562358198,-0.08843537414965907,-0.10839002267573616,-0.12834467120181325,-0.14829931972789034,-0.16825396825396743,-0.18820861678004452,-0.20816326530612161,-0.2281179138321987,-0.2480725623582758,-0.2680272108843529,-0.28798185941043,-0.30793650793650706,-0.32789115646258415,-0.34784580498866124,-0.36780045351473833,-0.3877551020408154,-0.4077097505668925,-0.4276643990929696,-0.4476190476190467,-0.4675736961451238,-0.4875283446712009,-0.507482993197278,-0.527437641723355,-0.5473922902494321,-0.5673469387755092,-0.5873015873015863,-0.6072562358276634,-0.6272108843537405,-0.6471655328798176,-0.6671201814058947,-0.6870748299319718,-0.7070294784580489,-0.726984126984126,-0.746938775510203,-0.7668934240362801,-0.7868480725623572,-0.8068027210884343,-0.8267573696145114,-0.8467120181405885,-0.8666666666666656,-0.8866213151927427,-0.9065759637188198,-0.9265306122448969,-0.946485260770974,-0.966439909297051],\"name\":\"RampDown\"}],\n",
24
+ " {},\n",
25
+ " {\"linkText\":\"Export to plot.ly\",\"showLink\":true}\n",
26
+ ")\n",
27
+ "\n",
28
+ "window.addEventListener('resize', function() {\n",
29
+ " Plotly.Plots.resize(document.getElementById('0114d1e2-a10f-4842-91e2-08d807f4a889'))\n",
30
+ "})\n",
31
+ " }) \n",
32
+ "</script>"
33
+ ],
34
+ "text/plain": [
35
+ "#<Plotly::Offline::HTML:0x00007f83f5c179d0 @id=\"0114d1e2-a10f-4842-91e2-08d807f4a889\", @data=[{:x=>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299], :y=>[0.0, 0.06264832417874369, 0.1250505236945281, 0.18696144082725336, 0.2481378479437379, 0.3083394030591003, 0.3673295940613788, 0.42487666788983836, 0.4807545410165316, 0.5347436876541295, 0.5866320022005455, 0.6362156325320928, 0.6832997808714386, 0.7276994690840093, 0.7692402653962486, 0.8077589696806922, 0.8431042546155973, 0.8751372602002243, 0.9037321392901133, 0.9287765520091285, 0.9501721070958866, 0.9678347484506664, 0.9816950853641806, 0.991698665130853, 0.9978061869755915, 0.9999936564536084, 0.9982524797167028, 0.992589497275665, 0.9830269571261583, 0.969602427343661, 0.9523686484908523, 0.9313933264172864, 0.9067588662653752, 0.878562048727684, 0.8469136498274179, 0.811938005715857, 0.773772524196507, 0.7325671448950293, 0.688483750195759, 0.6416955292590559, 0.5923862976180484, 0.5407497750278535, 0.48698882440436786, 0.43131465484258347, 0.3739459918455135, 0.31510821802362127, 0.2550324876406651, 0.19395481848461218, 0.13211516463136846, 0.06975647374412641, 0.007123732611892247, -0.055536995323039316, -0.11797953666742966, -0.17995857521140174, -0.24123061569515172, -0.30155494042174913, -0.360694554957803, -0.41841711920665464, -0.4744958601962072, -0.5287104629953566, -0.5808479362589023, -0.6307034490004961, -0.6780811353062289, -0.7227948638273908, -0.76466896902933, -0.8035389413235665, -0.8392520733718676, -0.8716680600231558, -0.9006595495263083, -0.9261126438533073, -0.9479273461671313, -0.9660179536764466, -0.980313394333687, -0.9907575060537568, -0.9973092573563939, -0.999942908565361, -0.9986481129311697, -0.9934299572800558, -0.9843089420295122, -0.9713209006488905, -0.9545168588814844, -0.9339628342811637, -0.9097395768511175, -0.8819422518036468, -0.8506800656873403, -0.8160758373504615, -0.7782655154260834, -0.7373976442346157, -0.6936327802020255, -0.6471428610864344, -0.598110530491217, -0.546728420318345, -0.49319839398099236, -0.43773075334857514, -0.3805434125398613, -0.32186104181006747, -0.26191418489530965, -0.20093835328207885, -0.13917310096006763, -0.07686108329331846, -0.014247103707104703, 0.04842284806422373, 0.11090256239000877, 0.1729465770199536, 0.23431114142458126, 0.29475517441090326, 0.3540412112511449, 0.41193633660356666, 0.4682130995602448, 0.5226504072268887, 0.5750343933241125, 0.6251592583977144, 0.672828078337052, 0.7178535780251128, 0.7600588670808599, 0.7992781348033668, 0.8353573015875323, 0.8681546242521778, 0.897541252902392, 0.9234017371383939, 0.9456344796221863, 0.964152135220085, 0.9788819541530244, 0.989766067806515, 0.9967617160773984, 0.9998414153642309, 0.9989930665413147, 0.9942200024921842, 0.9855409750158026, 0.9729900811569103, 0.9566166292499497, 0.9364849452028347, 0.9126741197816127, 0.8852776978888557, 0.8544033110565006, 0.8201722545969569, 0.7827190110737133, 0.7421907219635727, 0.6987466095861796, 0.6525573515718872, 0.6038044103254788, 0.5526793201200544, 0.4993829346218625, 0.44412463780229616, 0.38712152133712974, 0.3285975317247179, 0.26878259047385084, 0.20791169081776104, 0.14622397450298755, 0.08396179228010088, 0.02136975178730366, -0.04130624343253773, -0.1038199600060431, -0.16592580209926622, -0.2273797762829598, -0.2879404501025171, -0.34736990058668893, -0.40543464896869136, -0.4619065779475008, -0.5165638278857084, -0.5691916684230744, -0.6195833420814968, -0.6675408765471466, -0.7128758624385849, -0.7554101935052606, -0.7949767663483966, -0.8314201369152877, -0.8645971311878673, -0.8943774076663361, -0.9206439694380518, -0.9432936238199243, -0.9622373877685282, -0.9774008374652199, -0.988724400702844, -0.9961635909253451, -0.9996891820008162, -0.9992873230413596, -0.9949595928186702, -0.986722993561561, -0.9746098841597977, -0.9586678530366612, -0.9389595311896848, -0.9155623461340601, -0.8885682177153931, -0.8580831969868612, -0.8242270495694997, -0.7871327851324647, -0.7469461348417853, -0.7038249788305351, -0.6579387259397148, -0.6094676481666235, -0.5586021724354702, -0.5055421324726117, -0.45049598372555694, -0.3936799844100727, -0.33531734590276685, -0.2756373558170015, -0.21487447720726174, -0.1532674274409185, -0.09105824035620348, -0.02849131539084786, 0.03418754258292841, 0.09673208894492714, 0.15889660674110137, 0.22043687202466342, 0.2811111133316532, 0.34068096152151095, 0.3989123862510398, 0.4555766154026601, 0.5104510338548244, 0.5633200580636203, 0.613975983019617, 0.6622197982525406, 0.7078619696779647, 0.7507231842143968, 0.7906350542454068, 0.8274407791591952, 0.8609957613666304, 0.8911681743776237, 0.9178394807040564, 0.940904897554588, 0.9602738084917828, 0.9758701194342945, 0.987632557605485, 0.9955149122540149, 0.9994862162006878, 0.9995308674983135, 0.9956486907266281, 0.9878549376814616, 0.9761802274554485, 0.9606704261456825, 0.941386466660904, 0.9184041093361407, 0.8918136442952662, 0.8617195367307963, 0.828240016494502, 0.7915066136112039, 0.7516636415405594, 0.7088676302169408, 0.6632867110947975, 0.615099956615466, 0.5644966766904371, 0.5116756749649705, 0.4568444677839538, 0.4002184689284253, 0.3420201433256714, 0.28247813305768793, 0.22182635910163118, 0.1603031023312286, 0.09815006738958512, 0.03561143311112987, -0.027067106776723547, -0.08963930890343116, -0.15185934766454198, -0.21348278098965567, -0.27426751067492783, -0.333974733507296, -0.3923698794437709, -0.44922353315999164, -0.5043123353475918, -0.5574198602194655, -0.6083374657755111, -0.6568651134884335, -0.7028121541893346, -0.7459980770655995, -0.7862532188285154, -0.8234194302645377, -0.8573506975515388, -0.8879137158991003, -0.914988413259191, -0.9384684220497593, -0.9582614970379824, -0.9742898777414483, -0.9864905939235209, -0.9948157129826893, -0.9992325282639967, -0.9997236875527314, -0.9962872612455728, -0.9889367499313664, -0.9777010313517521, -0.962624246950013, -0.9437656284538611, -0.9211992651734592, -0.8950138129288858, -0.8653121457505735, -0.8322109517210758, -0.795840274545964, -0.7563430026548756, -0.7138743078398656, -0.6686010356364629, -0.620701049842435, -0.5703625337494147, -0.5177832508326379, -0.46316976780328517, -0.4067366430758034, -0.34870558383846073, -0.28930457503870943, -0.22876698370530862, -0.1673306421260117, -0.1052369134827197], :name=>\"Sine\"}, {:x=>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299], :y=>[0.0, 0.01995464852607709, 0.03990929705215418, 0.05986394557823127, 0.07981859410430836, 0.09977324263038545, 0.11972789115646254, 0.13968253968253963, 0.15963718820861672, 0.1795918367346938, 0.1995464852607709, 0.219501133786848, 0.23945578231292508, 0.25941043083900217, 0.27936507936507926, 0.29931972789115635, 0.31927437641723344, 0.33922902494331053, 0.3591836734693876, 0.3791383219954647, 0.3990929705215418, 0.4190476190476189, 0.439002267573696, 0.45895691609977307, 0.47891156462585016, 0.49886621315192725, 0.5188208616780043, 0.5387755102040814, 0.5587301587301585, 0.5786848072562356, 0.5986394557823127, 0.6185941043083898, 0.6385487528344669, 0.658503401360544, 0.6784580498866211, 0.6984126984126982, 0.7183673469387752, 0.7383219954648523, 0.7582766439909294, 0.7782312925170065, 0.7981859410430836, 0.8181405895691607, 0.8380952380952378, 0.8580498866213149, 0.878004535147392, 0.897959183673469, 0.9179138321995461, 0.9378684807256232, 0.9578231292517003, 0.9777777777777774, 0.9977324263038545, -0.982312925170068, -0.9623582766439913, -0.9424036281179138, -0.9224489795918371, -0.9024943310657596, -0.882539682539683, -0.8625850340136054, -0.8426303854875288, -0.8226757369614512, -0.8027210884353746, -0.7827664399092971, -0.7628117913832204, -0.7428571428571429, -0.7229024943310662, -0.7029478458049887, -0.6829931972789121, -0.6630385487528345, -0.6430839002267579, -0.6231292517006803, -0.6031746031746037, -0.5832199546485262, -0.5632653061224495, -0.543310657596372, -0.5233560090702953, -0.5034013605442178, -0.48344671201814116, -0.4634920634920636, -0.443537414965987, -0.42358276643990944, -0.4036281179138328, -0.38367346938775526, -0.3637188208616786, -0.3437641723356011, -0.32380952380952444, -0.3038548752834469, -0.28390022675737026, -0.2639455782312927, -0.24399092970521608, -0.22403628117913854, -0.2040816326530619, -0.18412698412698436, -0.16417233560090772, -0.14421768707483018, -0.12426303854875353, -0.104308390022676, -0.08435374149659935, -0.06439909297052182, -0.044444444444445175, -0.02448979591836764, -0.004535147392290995, 0.01541950113378654, 0.03537414965986363, 0.05532879818594072, 0.07528344671201781, 0.0952380952380949, 0.11519274376417199, 0.13514739229024908, 0.15510204081632617, 0.17505668934240326, 0.19501133786848035, 0.21496598639455744, 0.23492063492063453, 0.2548752834467116, 0.2748299319727887, 0.2947845804988658, 0.3147392290249429, 0.33469387755102, 0.35464852607709707, 0.37460317460317416, 0.39455782312925125, 0.41451247165532834, 0.43446712018140543, 0.4544217687074825, 0.4743764172335596, 0.4943310657596367, 0.5142857142857138, 0.5342403628117909, 0.554195011337868, 0.5741496598639451, 0.5941043083900222, 0.6140589569160992, 0.6340136054421763, 0.6539682539682534, 0.6739229024943305, 0.6938775510204076, 0.7138321995464847, 0.7337868480725618, 0.7537414965986389, 0.773696145124716, 0.793650793650793, 0.8136054421768701, 0.8335600907029472, 0.8535147392290243, 0.8734693877551014, 0.8934240362811785, 0.9133786848072556, 0.9333333333333327, 0.9532879818594098, 0.9732426303854869, 0.993197278911564, -0.986848072562359, -0.9668934240362814, -0.9469387755102048, -0.9269841269841272, -0.9070294784580506, -0.8870748299319731, -0.8671201814058964, -0.8471655328798189, -0.8272108843537422, -0.8072562358276647, -0.7873015873015881, -0.7673469387755105, -0.7473922902494339, -0.7274376417233563, -0.7074829931972797, -0.6875283446712022, -0.6675736961451255, -0.647619047619048, -0.6276643990929713, -0.6077097505668938, -0.5877551020408172, -0.5678004535147396, -0.547845804988663, -0.5278911564625854, -0.5079365079365088, -0.48798185941043126, -0.4680272108843546, -0.4480725623582771, -0.42811791383220044, -0.4081632653061229, -0.38820861678004626, -0.3682539682539687, -0.3482993197278921, -0.32834467120181454, -0.3083900226757379, -0.28843537414966036, -0.2684807256235837, -0.24852607709750618, -0.22857142857142954, -0.208616780045352, -0.18866213151927536, -0.16870748299319782, -0.14875283446712118, -0.12879818594104364, -0.108843537414967, -0.08888888888888946, -0.06893424036281282, -0.04897959183673528, -0.029024943310658635, -0.009070294784581101, 0.010884353741495989, 0.03083900226757308, 0.05079365079365017, 0.07074829931972726, 0.09070294784580435, 0.11065759637188144, 0.13061224489795853, 0.15056689342403562, 0.1705215419501127, 0.1904761904761898, 0.2104308390022669, 0.23038548752834398, 0.25034013605442107, 0.27029478458049816, 0.29024943310657525, 0.31020408163265234, 0.33015873015872943, 0.3501133786848065, 0.3700680272108836, 0.3900226757369607, 0.4099773242630378, 0.4299319727891149, 0.44988662131519197, 0.46984126984126906, 0.48979591836734615, 0.5097505668934232, 0.5297052154195003, 0.5496598639455774, 0.5696145124716545, 0.5895691609977316, 0.6095238095238087, 0.6294784580498858, 0.6494331065759629, 0.66938775510204, 0.689342403628117, 0.7092970521541941, 0.7292517006802712, 0.7492063492063483, 0.7691609977324254, 0.7891156462585025, 0.8090702947845796, 0.8290249433106567, 0.8489795918367338, 0.8689342403628109, 0.888888888888888, 0.908843537414965, 0.9287981859410421, 0.9487528344671192, 0.9687074829931963, 0.9886621315192734, -0.9913832199546491, -0.9714285714285724, -0.9514739229024949, -0.9315192743764182, -0.9115646258503407, -0.8916099773242641, -0.8716553287981865, -0.8517006802721099, -0.8317460317460323, -0.8117913832199557, -0.7918367346938782, -0.7718820861678015, -0.751927437641724, -0.7319727891156473, -0.7120181405895698, -0.6920634920634932, -0.6721088435374156, -0.652154195011339, -0.6321995464852614, -0.6122448979591848, -0.5922902494331073, -0.5723356009070306, -0.5523809523809531, -0.5324263038548764, -0.5124716553287989, -0.49251700680272226, -0.4725623582766447, -0.4526077097505681, -0.43265306122449054, -0.4126984126984139, -0.39274376417233636, -0.3727891156462597, -0.3528344671201822, -0.33287981859410554, -0.312925170068028, -0.29297052154195136, -0.2730158730158738, -0.2530612244897972, -0.23310657596371964, -0.213151927437643, -0.19319727891156546, -0.17324263038548882, -0.15328798185941128, -0.13333333333333464, -0.1133786848072571, -0.09342403628118046, -0.07346938775510292, -0.053514739229026276, -0.03356009070294874], :name=>\"Sawtooth\"}, {:x=>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299], :y=>[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0], :name=>\"Square\"}, {:x=>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299], :y=>[0.0, 0.039909297052154194, 0.07981859410430839, 0.11972789115646258, 0.15963718820861678, 0.19954648526077096, 0.23945578231292514, 0.2793650793650793, 0.3192743764172335, 0.3591836734693877, 0.39909297052154186, 0.43900226757369604, 0.4789115646258502, 0.5188208616780045, 0.5587301587301586, 0.5986394557823128, 0.638548752834467, 0.6784580498866212, 0.7183673469387754, 0.7582766439909295, 0.7981859410430837, 0.8380952380952379, 0.8780045351473921, 0.9179138321995463, 0.9578231292517004, 0.9977324263038546, 0.9623582766439911, 0.9224489795918369, 0.8825396825396827, 0.8426303854875286, 0.8027210884353744, 0.7628117913832202, 0.722902494331066, 0.6829931972789118, 0.6430839002267577, 0.6031746031746035, 0.5632653061224493, 0.5233560090702951, 0.48344671201814093, 0.44353741496598675, 0.4036281179138326, 0.3637188208616784, 0.3238095238095242, 0.28390022675737003, 0.24399092970521585, 0.20408163265306167, 0.1641723356009075, 0.12426303854875331, 0.08435374149659913, 0.04444444444444495, 0.004535147392290773, -0.03537414965986363, -0.07528344671201781, -0.11519274376417199, -0.15510204081632617, -0.19501133786848035, -0.23492063492063453, -0.2748299319727887, -0.3147392290249429, -0.35464852607709707, -0.39455782312925125, -0.43446712018140543, -0.4743764172335596, -0.5142857142857138, -0.554195011337868, -0.5941043083900222, -0.6340136054421763, -0.6739229024943305, -0.7138321995464847, -0.7537414965986389, -0.793650793650793, -0.8335600907029472, -0.8734693877551014, -0.9133786848072556, -0.9532879818594098, -0.993197278911564, -0.9668934240362819, -0.9269841269841277, -0.8870748299319735, -0.8471655328798193, -0.8072562358276651, -0.767346938775511, -0.7274376417233568, -0.6875283446712026, -0.6476190476190484, -0.6077097505668942, -0.5678004535147401, -0.5278911564625859, -0.4879818594104317, -0.4480725623582775, -0.40816326530612335, -0.36825396825396917, -0.328344671201815, -0.2884353741496608, -0.24852607709750663, -0.20861678004535245, -0.16870748299319827, -0.12879818594104409, -0.0888888888888899, -0.048979591836735725, -0.009070294784581545, 0.03083900226757308, 0.07074829931972727, 0.11065759637188147, 0.15056689342403567, 0.19047619047618985, 0.23038548752834404, 0.2702947845804982, 0.3102040816326524, 0.3501133786848066, 0.39002267573696076, 0.42993197278911494, 0.4698412698412691, 0.5097505668934234, 0.5496598639455775, 0.5895691609977317, 0.6294784580498859, 0.6693877551020401, 0.7092970521541943, 0.7492063492063484, 0.7891156462585026, 0.8290249433106568, 0.868934240362811, 0.9088435374149652, 0.9487528344671193, 0.9886621315192735, 0.9714285714285722, 0.931519274376418, 0.8916099773242638, 0.8517006802721097, 0.8117913832199555, 0.7718820861678013, 0.7319727891156471, 0.6920634920634929, 0.6521541950113388, 0.6122448979591846, 0.5723356009070304, 0.5324263038548762, 0.49251700680272203, 0.45260770975056785, 0.4126984126984137, 0.3727891156462595, 0.3328798185941053, 0.29297052154195113, 0.25306122448979695, 0.21315192743764277, 0.1732426303854886, 0.13333333333333441, 0.09342403628118023, 0.053514739229026054, 0.013605442176871874, -0.02630385487528253, -0.06621315192743671, -0.10612244897959089, -0.14603174603174507, -0.18594104308389925, -0.22585034013605343, -0.2657596371882076, -0.3056689342403618, -0.34557823129251597, -0.38548752834467015, -0.42539682539682433, -0.4653061224489785, -0.5052154195011327, -0.5451247165532869, -0.585034013605441, -0.6249433106575952, -0.6648526077097494, -0.7047619047619036, -0.7446712018140578, -0.784580498866212, -0.8244897959183661, -0.8643990929705203, -0.9043083900226745, -0.9442176870748287, -0.9841269841269829, -0.975963718820863, -0.9360544217687088, -0.8961451247165546, -0.8562358276644004, -0.8163265306122462, -0.7764172335600921, -0.7365079365079379, -0.6965986394557837, -0.6566893424036295, -0.6167800453514753, -0.5768707482993212, -0.536961451247167, -0.4970521541950128, -0.4571428571428586, -0.41723356009070445, -0.37732426303855027, -0.3374149659863961, -0.2975056689342419, -0.2575963718820877, -0.21768707482993355, -0.17777777777777937, -0.1378684807256252, -0.097959183673471, -0.058049886621316826, -0.018140589569162646, 0.021768707482991978, 0.06167800453514617, 0.10158730158730037, 0.14149659863945457, 0.18140589569160875, 0.22131519274376293, 0.2612244897959171, 0.3011337868480713, 0.3410430839002255, 0.38095238095237965, 0.42086167800453383, 0.460770975056688, 0.5006802721088423, 0.5405895691609964, 0.5804988662131506, 0.6204081632653048, 0.660317460317459, 0.7002267573696132, 0.7401360544217673, 0.7800453514739215, 0.8199546485260757, 0.8598639455782299, 0.899773242630384, 0.9396825396825382, 0.9795918367346924, 0.9804988662131533, 0.9405895691609991, 0.9006802721088449, 0.8607709750566908, 0.8208616780045366, 0.7809523809523824, 0.7410430839002282, 0.701133786848074, 0.6612244897959199, 0.6213151927437657, 0.5814058956916115, 0.5414965986394573, 0.5015873015873031, 0.46167800453514896, 0.4217687074829948, 0.3818594104308406, 0.3419501133786864, 0.30204081632653224, 0.26213151927437806, 0.22222222222222388, 0.1823129251700697, 0.14240362811791552, 0.10249433106576133, 0.06258503401360715, 0.022675736961452975, -0.017233560090701427, -0.05714285714285561, -0.09705215419500979, -0.13696145124716397, -0.17687074829931815, -0.21678004535147233, -0.2566893424036265, -0.2965986394557807, -0.33650793650793487, -0.37641723356008905, -0.41632653061224323, -0.4562358276643974, -0.4961451247165516, -0.5360544217687058, -0.57596371882086, -0.6158730158730141, -0.6557823129251683, -0.6956916099773225, -0.7356009070294767, -0.7755102040816308, -0.815419501133785, -0.8553287981859392, -0.8952380952380934, -0.9351473922902476, -0.9750566893424018, -0.9850340136054441, -0.9451247165532899, -0.9052154195011357, -0.8653061224489815, -0.8253968253968273, -0.7854875283446732, -0.745578231292519, -0.7056689342403648, -0.6657596371882106, -0.6258503401360564, -0.5859410430839023, -0.5460317460317481, -0.5061224489795939, -0.46621315192743973, -0.42630385487528555, -0.38639455782313137, -0.3464852607709772, -0.306575963718823, -0.26666666666666883, -0.22675736961451465, -0.18684807256236047, -0.1469387755102063, -0.10702947845805211, -0.06712018140589793], :name=>\"Triangle\"}, {:x=>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299], :y=>[-1.0, -0.9800453514739229, -0.9600907029478458, -0.9401360544217687, -0.9201814058956916, -0.9002267573696145, -0.8802721088435375, -0.8603174603174604, -0.8403628117913833, -0.8204081632653062, -0.8004535147392291, -0.780498866213152, -0.7605442176870749, -0.7405895691609978, -0.7206349206349207, -0.7006802721088436, -0.6807256235827666, -0.6607709750566895, -0.6408163265306124, -0.6208616780045353, -0.6009070294784582, -0.5809523809523811, -0.560997732426304, -0.5410430839002269, -0.5210884353741498, -0.5011337868480727, -0.48117913832199555, -0.46122448979591846, -0.44126984126984137, -0.4213151927437643, -0.4013605442176872, -0.3814058956916101, -0.361451247165533, -0.3414965986394559, -0.3215419501133788, -0.30158730158730174, -0.28163265306122465, -0.26167800453514756, -0.24172335600907047, -0.22176870748299338, -0.2018140589569163, -0.1818594104308392, -0.1619047619047621, -0.14195011337868502, -0.12199546485260793, -0.10204081632653084, -0.08208616780045375, -0.062131519274376656, -0.042176870748299566, -0.022222222222222476, -0.0022675736961453863, 0.017687074829931815, 0.037641723356008905, 0.057596371882085995, 0.07755102040816308, 0.09750566893424018, 0.11746031746031727, 0.13741496598639436, 0.15736961451247145, 0.17732426303854854, 0.19727891156462563, 0.21723356009070272, 0.2371882086167798, 0.2571428571428569, 0.277097505668934, 0.2970521541950111, 0.31700680272108817, 0.33696145124716526, 0.35691609977324235, 0.37687074829931944, 0.3968253968253965, 0.4167800453514736, 0.4367346938775507, 0.4566893424036278, 0.4766439909297049, 0.496598639455782, 0.5165532879818591, 0.5365079365079362, 0.5564625850340132, 0.5764172335600903, 0.5963718820861674, 0.6163265306122445, 0.6362811791383216, 0.6562358276643987, 0.6761904761904758, 0.6961451247165529, 0.71609977324263, 0.7360544217687071, 0.7560090702947841, 0.7759637188208612, 0.7959183673469383, 0.8158730158730154, 0.8358276643990925, 0.8557823129251696, 0.8757369614512467, 0.8956916099773238, 0.9156462585034009, 0.935600907029478, 0.955555555555555, 0.9755102040816321, 0.9954648526077092, -0.9845804988662135, -0.9646258503401364, -0.9446712018140593, -0.9247165532879822, -0.9047619047619051, -0.884807256235828, -0.8648526077097509, -0.8448979591836738, -0.8249433106575967, -0.8049886621315196, -0.7850340136054426, -0.7650793650793655, -0.7451247165532884, -0.7251700680272113, -0.7052154195011342, -0.6852607709750571, -0.66530612244898, -0.6453514739229029, -0.6253968253968258, -0.6054421768707487, -0.5854875283446717, -0.5655328798185946, -0.5455782312925175, -0.5256235827664404, -0.5056689342403633, -0.4857142857142861, -0.465759637188209, -0.4458049886621319, -0.42585034013605483, -0.40589569160997774, -0.38594104308390065, -0.36598639455782356, -0.34603174603174647, -0.3260770975056694, -0.3061224489795923, -0.2861678004535152, -0.2662131519274381, -0.24625850340136102, -0.22630385487528393, -0.20634920634920684, -0.18639455782312975, -0.16643990929705266, -0.14648526077097557, -0.12653061224489848, -0.10657596371882139, -0.0866213151927443, -0.06666666666666721, -0.04671201814059012, -0.026757369614513027, -0.006802721088435937, 0.013151927437641264, 0.033106575963718354, 0.053061224489795444, 0.07301587301587253, 0.09297052154194962, 0.11292517006802671, 0.1328798185941038, 0.1528344671201809, 0.17278911564625798, 0.19274376417233507, 0.21269841269841216, 0.23265306122448925, 0.25260770975056634, 0.27256235827664343, 0.2925170068027205, 0.3124716553287976, 0.3324263038548747, 0.3523809523809518, 0.3723356009070289, 0.392290249433106, 0.41224489795918307, 0.43219954648526016, 0.45215419501133725, 0.47210884353741434, 0.4920634920634914, 0.5120181405895685, 0.5319727891156456, 0.5519274376417227, 0.5718820861677998, 0.5918367346938769, 0.611791383219954, 0.6317460317460311, 0.6517006802721081, 0.6716553287981852, 0.6916099773242623, 0.7115646258503394, 0.7315192743764165, 0.7514739229024936, 0.7714285714285707, 0.7913832199546478, 0.8113378684807249, 0.831292517006802, 0.851247165532879, 0.8712018140589561, 0.8911564625850332, 0.9111111111111103, 0.9310657596371874, 0.9510204081632645, 0.9709750566893416, 0.9909297052154187, -0.989115646258504, -0.9691609977324269, -0.9492063492063498, -0.9292517006802727, -0.9092970521541957, -0.8893424036281186, -0.8693877551020415, -0.8494331065759644, -0.8294784580498873, -0.8095238095238102, -0.7895691609977331, -0.769614512471656, -0.7496598639455789, -0.7297052154195018, -0.7097505668934248, -0.6897959183673477, -0.6698412698412706, -0.6498866213151935, -0.6299319727891164, -0.6099773242630393, -0.5900226757369622, -0.5700680272108851, -0.550113378684808, -0.5301587301587309, -0.5102040816326538, -0.49024943310657665, -0.47029478458049956, -0.45034013605442247, -0.4303854875283454, -0.4104308390022683, -0.3904761904761912, -0.3705215419501141, -0.350566893424037, -0.33061224489795993, -0.31065759637188284, -0.29070294784580575, -0.27074829931972866, -0.25079365079365157, -0.23083900226757448, -0.2108843537414974, -0.1909297052154203, -0.1709750566893432, -0.15102040816326612, -0.13106575963718903, -0.11111111111111194, -0.09115646258503485, -0.07120181405895776, -0.05124716553288067, -0.03129251700680358, -0.011337868480726487, 0.008616780045350714, 0.028571428571427804, 0.048526077097504894, 0.06848072562358198, 0.08843537414965907, 0.10839002267573616, 0.12834467120181325, 0.14829931972789034, 0.16825396825396743, 0.18820861678004452, 0.20816326530612161, 0.2281179138321987, 0.2480725623582758, 0.2680272108843529, 0.28798185941043, 0.30793650793650706, 0.32789115646258415, 0.34784580498866124, 0.36780045351473833, 0.3877551020408154, 0.4077097505668925, 0.4276643990929696, 0.4476190476190467, 0.4675736961451238, 0.4875283446712009, 0.507482993197278, 0.527437641723355, 0.5473922902494321, 0.5673469387755092, 0.5873015873015863, 0.6072562358276634, 0.6272108843537405, 0.6471655328798176, 0.6671201814058947, 0.6870748299319718, 0.7070294784580489, 0.726984126984126, 0.746938775510203, 0.7668934240362801, 0.7868480725623572, 0.8068027210884343, 0.8267573696145114, 0.8467120181405885, 0.8666666666666656, 0.8866213151927427, 0.9065759637188198, 0.9265306122448969, 0.946485260770974, 0.966439909297051], :name=>\"RampUp\"}, {:x=>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299], :y=>[1.0, 0.9800453514739229, 0.9600907029478458, 0.9401360544217687, 0.9201814058956916, 0.9002267573696145, 0.8802721088435375, 0.8603174603174604, 0.8403628117913833, 0.8204081632653062, 0.8004535147392291, 0.780498866213152, 0.7605442176870749, 0.7405895691609978, 0.7206349206349207, 0.7006802721088436, 0.6807256235827666, 0.6607709750566895, 0.6408163265306124, 0.6208616780045353, 0.6009070294784582, 0.5809523809523811, 0.560997732426304, 0.5410430839002269, 0.5210884353741498, 0.5011337868480727, 0.48117913832199555, 0.46122448979591846, 0.44126984126984137, 0.4213151927437643, 0.4013605442176872, 0.3814058956916101, 0.361451247165533, 0.3414965986394559, 0.3215419501133788, 0.30158730158730174, 0.28163265306122465, 0.26167800453514756, 0.24172335600907047, 0.22176870748299338, 0.2018140589569163, 0.1818594104308392, 0.1619047619047621, 0.14195011337868502, 0.12199546485260793, 0.10204081632653084, 0.08208616780045375, 0.062131519274376656, 0.042176870748299566, 0.022222222222222476, 0.0022675736961453863, -0.017687074829931815, -0.037641723356008905, -0.057596371882085995, -0.07755102040816308, -0.09750566893424018, -0.11746031746031727, -0.13741496598639436, -0.15736961451247145, -0.17732426303854854, -0.19727891156462563, -0.21723356009070272, -0.2371882086167798, -0.2571428571428569, -0.277097505668934, -0.2970521541950111, -0.31700680272108817, -0.33696145124716526, -0.35691609977324235, -0.37687074829931944, -0.3968253968253965, -0.4167800453514736, -0.4367346938775507, -0.4566893424036278, -0.4766439909297049, -0.496598639455782, -0.5165532879818591, -0.5365079365079362, -0.5564625850340132, -0.5764172335600903, -0.5963718820861674, -0.6163265306122445, -0.6362811791383216, -0.6562358276643987, -0.6761904761904758, -0.6961451247165529, -0.71609977324263, -0.7360544217687071, -0.7560090702947841, -0.7759637188208612, -0.7959183673469383, -0.8158730158730154, -0.8358276643990925, -0.8557823129251696, -0.8757369614512467, -0.8956916099773238, -0.9156462585034009, -0.935600907029478, -0.955555555555555, -0.9755102040816321, -0.9954648526077092, 0.9845804988662135, 0.9646258503401364, 0.9446712018140593, 0.9247165532879822, 0.9047619047619051, 0.884807256235828, 0.8648526077097509, 0.8448979591836738, 0.8249433106575967, 0.8049886621315196, 0.7850340136054426, 0.7650793650793655, 0.7451247165532884, 0.7251700680272113, 0.7052154195011342, 0.6852607709750571, 0.66530612244898, 0.6453514739229029, 0.6253968253968258, 0.6054421768707487, 0.5854875283446717, 0.5655328798185946, 0.5455782312925175, 0.5256235827664404, 0.5056689342403633, 0.4857142857142861, 0.465759637188209, 0.4458049886621319, 0.42585034013605483, 0.40589569160997774, 0.38594104308390065, 0.36598639455782356, 0.34603174603174647, 0.3260770975056694, 0.3061224489795923, 0.2861678004535152, 0.2662131519274381, 0.24625850340136102, 0.22630385487528393, 0.20634920634920684, 0.18639455782312975, 0.16643990929705266, 0.14648526077097557, 0.12653061224489848, 0.10657596371882139, 0.0866213151927443, 0.06666666666666721, 0.04671201814059012, 0.026757369614513027, 0.006802721088435937, -0.013151927437641264, -0.033106575963718354, -0.053061224489795444, -0.07301587301587253, -0.09297052154194962, -0.11292517006802671, -0.1328798185941038, -0.1528344671201809, -0.17278911564625798, -0.19274376417233507, -0.21269841269841216, -0.23265306122448925, -0.25260770975056634, -0.27256235827664343, -0.2925170068027205, -0.3124716553287976, -0.3324263038548747, -0.3523809523809518, -0.3723356009070289, -0.392290249433106, -0.41224489795918307, -0.43219954648526016, -0.45215419501133725, -0.47210884353741434, -0.4920634920634914, -0.5120181405895685, -0.5319727891156456, -0.5519274376417227, -0.5718820861677998, -0.5918367346938769, -0.611791383219954, -0.6317460317460311, -0.6517006802721081, -0.6716553287981852, -0.6916099773242623, -0.7115646258503394, -0.7315192743764165, -0.7514739229024936, -0.7714285714285707, -0.7913832199546478, -0.8113378684807249, -0.831292517006802, -0.851247165532879, -0.8712018140589561, -0.8911564625850332, -0.9111111111111103, -0.9310657596371874, -0.9510204081632645, -0.9709750566893416, -0.9909297052154187, 0.989115646258504, 0.9691609977324269, 0.9492063492063498, 0.9292517006802727, 0.9092970521541957, 0.8893424036281186, 0.8693877551020415, 0.8494331065759644, 0.8294784580498873, 0.8095238095238102, 0.7895691609977331, 0.769614512471656, 0.7496598639455789, 0.7297052154195018, 0.7097505668934248, 0.6897959183673477, 0.6698412698412706, 0.6498866213151935, 0.6299319727891164, 0.6099773242630393, 0.5900226757369622, 0.5700680272108851, 0.550113378684808, 0.5301587301587309, 0.5102040816326538, 0.49024943310657665, 0.47029478458049956, 0.45034013605442247, 0.4303854875283454, 0.4104308390022683, 0.3904761904761912, 0.3705215419501141, 0.350566893424037, 0.33061224489795993, 0.31065759637188284, 0.29070294784580575, 0.27074829931972866, 0.25079365079365157, 0.23083900226757448, 0.2108843537414974, 0.1909297052154203, 0.1709750566893432, 0.15102040816326612, 0.13106575963718903, 0.11111111111111194, 0.09115646258503485, 0.07120181405895776, 0.05124716553288067, 0.03129251700680358, 0.011337868480726487, -0.008616780045350714, -0.028571428571427804, -0.048526077097504894, -0.06848072562358198, -0.08843537414965907, -0.10839002267573616, -0.12834467120181325, -0.14829931972789034, -0.16825396825396743, -0.18820861678004452, -0.20816326530612161, -0.2281179138321987, -0.2480725623582758, -0.2680272108843529, -0.28798185941043, -0.30793650793650706, -0.32789115646258415, -0.34784580498866124, -0.36780045351473833, -0.3877551020408154, -0.4077097505668925, -0.4276643990929696, -0.4476190476190467, -0.4675736961451238, -0.4875283446712009, -0.507482993197278, -0.527437641723355, -0.5473922902494321, -0.5673469387755092, -0.5873015873015863, -0.6072562358276634, -0.6272108843537405, -0.6471655328798176, -0.6671201814058947, -0.6870748299319718, -0.7070294784580489, -0.726984126984126, -0.746938775510203, -0.7668934240362801, -0.7868480725623572, -0.8068027210884343, -0.8267573696145114, -0.8467120181405885, -0.8666666666666656, -0.8866213151927427, -0.9065759637188198, -0.9265306122448969, -0.946485260770974, -0.966439909297051], :name=>\"RampDown\"}], @layout={}, @config={:linkText=>\"Export to plot.ly\", :showLink=>true}, @embedded=true>"
36
+ ]
37
+ },
38
+ "metadata": {},
39
+ "output_type": "display_data"
40
+ }
41
+ ],
42
+ "source": [
43
+ "$LOAD_PATH << File.dirname(__FILE__) + \"/../lib\"\n",
44
+ "$LOAD_PATH << File.dirname(__FILE__) + \"/../../ruby-audio_stream/lib\"\n",
45
+ "\n",
46
+ "require 'synthesizer'\n",
47
+ "\n",
48
+ "include Synthesizer\n",
49
+ "\n",
50
+ "xs = []\n",
51
+ "ys1 = []\n",
52
+ "ys2 = []\n",
53
+ "ys3 = []\n",
54
+ "ys4 = []\n",
55
+ "ys5 = []\n",
56
+ "ys6 = []\n",
57
+ "\n",
58
+ "hz = 440.0\n",
59
+ "sample = 44100.0\n",
60
+ "delta = hz / sample\n",
61
+ "pos = ShapePos.new(1, 0)\n",
62
+ "phase = 0.0\n",
63
+ "\n",
64
+ "300.times {|i|\n",
65
+ " xs << i\n",
66
+ " ys1 << Shape::Sine[phase]\n",
67
+ " ys2 << Shape::Sawtooth[phase]\n",
68
+ " ys3 << Shape::Square[phase]\n",
69
+ " ys4 << Shape::Triangle[phase]\n",
70
+ " ys5 << Shape::RampUp[phase]\n",
71
+ " ys6 << Shape::RampDown[phase]\n",
72
+ " phase = pos.next(delta, 0, 0)\n",
73
+ "}\n",
74
+ "\n",
75
+ "traces = [\n",
76
+ " {x: xs, y: ys1, name: \"Sine\"},\n",
77
+ " {x: xs, y: ys2, name: \"Sawtooth\"},\n",
78
+ " {x: xs, y: ys3, name: \"Square\"},\n",
79
+ " {x: xs, y: ys4, name: \"Triangle\"},\n",
80
+ " {x: xs, y: ys5, name: \"RampUp\"},\n",
81
+ " {x: xs, y: ys6, name: \"RampDown\"},\n",
82
+ "]\n",
83
+ "Plotly::Plot.new(data: traces).show\n",
84
+ "\n",
85
+ "nil"
86
+ ]
87
+ },
88
+ {
89
+ "cell_type": "code",
90
+ "execution_count": null,
91
+ "metadata": {},
92
+ "outputs": [],
93
+ "source": []
94
+ }
95
+ ],
96
+ "metadata": {
97
+ "kernelspec": {
98
+ "display_name": "Ruby 2.7.1",
99
+ "language": "ruby",
100
+ "name": "ruby"
101
+ },
102
+ "language_info": {
103
+ "file_extension": ".rb",
104
+ "mimetype": "application/x-ruby",
105
+ "name": "ruby",
106
+ "version": "2.7.2"
107
+ }
108
+ },
109
+ "nbformat": 4,
110
+ "nbformat_minor": 2
111
+ }
@@ -11,7 +11,7 @@ module AudioStream
11
11
 
12
12
  @synth = Synthesizer::PolySynth.new(
13
13
  oscillators: Synthesizer::Oscillator.new(
14
- source: Synthesizer::OscillatorSource::Sine,
14
+ source: Synthesizer::OscillatorSource::Sine.instance,
15
15
  phase: 0,
16
16
  ),
17
17
  amplifier: Synthesizer::Amplifier.new(
@@ -2,22 +2,22 @@ module Synthesizer
2
2
  module Modulation
3
3
  class Adsr
4
4
 
5
- # @param attack [AudioStream::Rate] attack sec (0.0~)
5
+ # @param attack [AudioStream::Rate | Float] attack sec (0.0~)
6
6
  # @param attack_curve [Synthesizer::Curve]
7
- # @param hold [AudioStream::Rate] hold sec (0.0~)
8
- # @param decay [AudioStream::Rate] decay sec (0.0~)
7
+ # @param hold [AudioStream::Rate | Float] hold sec (0.0~)
8
+ # @param decay [AudioStream::Rate | Float] decay sec (0.0~)
9
9
  # @param sustain_curve [Synthesizer::Curve]
10
10
  # @param sustain [Float] sustain level (0.0~1.0)
11
- # @param release [AudioStream::Rate] release sec (0.0~)
11
+ # @param release [AudioStream::Rate | Float] release sec (0.0~)
12
12
  # @param release_curve [Synthesizer::Curve]
13
- def initialize(attack:, attack_curve: Curve::EaseOut, hold: AudioStream::Rate.sec(0.0), decay:, sustain_curve: Curve::EaseOut, sustain:, release:, release_curve: Curve::EaseOut)
14
- @attack = attack
13
+ def initialize(attack:, attack_curve: Curve::EaseOut, hold: 0.0, decay:, sustain_curve: Curve::EaseOut, sustain:, release:, release_curve: Curve::EaseOut)
14
+ @attack = AudioStream::Rate.sec(attack)
15
15
  @attack_curve = attack_curve
16
- @hold = hold
17
- @decay = decay
16
+ @hold = AudioStream::Rate.sec(hold)
17
+ @decay = AudioStream::Rate.sec(decay)
18
18
  @sustain_curve = sustain_curve
19
19
  @sustain = sustain
20
- @release = release
20
+ @release = AudioStream::Rate.sec(release)
21
21
  @release_curve = release_curve
22
22
  end
23
23
 
@@ -107,8 +107,9 @@ module Synthesizer
107
107
  end
108
108
 
109
109
  def plot_data(soundinfo)
110
- note_on = note_on_envelope(soundinfo, sustain: false)
111
- note_off = note_off_envelope(soundinfo, sustain: false)
110
+ samplecount = soundinfo.window_size.to_f
111
+ note_on = note_on_envelope(soundinfo, samplecount, sustain: false)
112
+ note_off = note_off_envelope(soundinfo, samplecount, sustain: false)
112
113
  last = 0.0
113
114
 
114
115
  xs = []
@@ -2,9 +2,9 @@ module Synthesizer
2
2
  module Modulation
3
3
  class Glide
4
4
 
5
- # @param time [AudioStream::Rate] glide time sec (0.0~)
5
+ # @param time [AudioStream::Rate | Float] glide time sec (0.0~)
6
6
  def initialize(time:)
7
- @time = time
7
+ @time = AudioStream::Rate.sec(time)
8
8
 
9
9
  @base = 0.0
10
10
  @current = 0.0
@@ -3,18 +3,18 @@ module Synthesizer
3
3
  class Lfo
4
4
 
5
5
  # @param shape [Synthesizer::Shape]
6
- # @param delay [AudioStream::Rate] delay sec (0.0~)
7
- # @param attack [AudioStream::Rate] attack sec (0.0~)
6
+ # @param delay [AudioStream::Rate | Float] delay sec (0.0~)
7
+ # @param attack [AudioStream::Rate | Float] attack sec (0.0~)
8
8
  # @param attack_curve [Synthesizer::Curve]
9
9
  # @param phase [Float] phase percent (0.0~1.0)
10
- # @param rate [AudioStream::Rate] wave freq (0.0~)
11
- def initialize(shape: Shape::Sine, delay: AudioStream::Rate.sec(0.0), attack: AudioStream::Rate.sec(0.0), attack_curve: Curve::Straight, phase: 0.0, rate: AudioStream::Rate.freq(3.5))
10
+ # @param rate [AudioStream::Rate | Float] wave freq (0.0~)
11
+ def initialize(shape: Shape::Sine, delay: 0.0, attack: 0.0, attack_curve: Curve::Straight, phase: 0.0, rate: 0.3)
12
12
  @shape = shape
13
- @delay = delay
14
- @attack = attack
13
+ @delay = AudioStream::Rate.sec(delay)
14
+ @attack = AudioStream::Rate.sec(attack)
15
15
  @attack_curve = attack_curve
16
- @phase = phase
17
- @rate = rate
16
+ @phase = phase.to_f
17
+ @rate = AudioStream::Rate.sec(rate)
18
18
  end
19
19
 
20
20
  def generator(note_perform, samplecount, &block)
@@ -14,16 +14,16 @@ module Synthesizer
14
14
  attr_reader :uni_stereo
15
15
 
16
16
  # @param source [Synthesizer::OscillatorSource] oscillator waveform source
17
- # @param volume [Float] oscillator volume. mute=0.0 max=1.0
18
- # @param pan [Float] oscillator pan. left=-1.0 center=0.0 right=1.0 (-1.0~1.0)
19
- # @param tune_semis [Integer] oscillator pitch semitone
20
- # @param tune_cents [Integer] oscillator pitch cent
17
+ # @param volume [ModulationValue | Float] oscillator volume. mute=0.0 max=1.0
18
+ # @param pan [ModulationValue | Float] oscillator pan. left=-1.0 center=0.0 right=1.0 (-1.0~1.0)
19
+ # @param tune_semis [ModulationValue | Integer] oscillator pitch semitone
20
+ # @param tune_cents [ModulationValue | Integer] oscillator pitch cent
21
21
  # @param sym [nil] TODO not implemented
22
- # @param phase [Float] oscillator waveform shape start phase percent (0.0~1.0,nil) nil=random
23
- # @param sync [Integer] oscillator sync pitch 1.0=semitone 12.0=octave (0.0~48.0)
24
- # @param uni_num [Float] oscillator voicing number (1.0~16.0)
25
- # @param uni_detune [Float] oscillator voicing detune percent. 0.01=1cent 1.0=semitone (0.0~1.0)
26
- # @param uni_stereo [Float] oscillator voicing spread pan. -1.0=full inv 0.0=mono 1.0=full (-1.0~1.0)
22
+ # @param phase [ModulationValue | Float] oscillator waveform shape start phase percent (0.0~1.0,nil) nil=random
23
+ # @param sync [ModulationValue | Integer] oscillator sync pitch 1.0=semitone 12.0=octave (0.0~48.0)
24
+ # @param uni_num [ModulationValue | Float] oscillator voicing number (1.0~16.0)
25
+ # @param uni_detune [ModulationValue | Float] oscillator voicing detune percent. 0.01=1cent 1.0=semitone (0.0~1.0)
26
+ # @param uni_stereo [ModulationValue | Float] oscillator voicing spread pan. -1.0=full inv 0.0=mono 1.0=full (-1.0~1.0)
27
27
  def initialize(source: OscillatorSource::Sine.instance, volume: 1.0, pan: 0.0, tune_semis: 0, tune_cents: 0, sym: 0, phase: nil, sync: 0, uni_num: 1.0, uni_detune: 0.0, uni_stereo: 0.0)
28
28
  @source = source
29
29
 
@@ -21,7 +21,7 @@ module Synthesizer
21
21
  end
22
22
 
23
23
  def vowels=(vowels)
24
- vowels = vowels + [vowels[0]]
24
+ #vowels = vowels + [vowels[0]]
25
25
  @vowels = vowels.map {|v| @@f[v]}
26
26
  @vowels_len = @vowels.length
27
27
  end
@@ -104,7 +104,8 @@ module Synthesizer
104
104
  def initialize(soundinfo, note_perform, init_phase, pronunciation)
105
105
  super(soundinfo, note_perform, init_phase)
106
106
 
107
- @pronunciation_mod = ModulationValue.balance_generator(note_perform, @pronunciation)
107
+ synth = note_perform.synth
108
+ @pronunciation_mod = ModulationValue.balance_generator(note_perform, synth.soundinfo.window_size.to_f, pronunciation)
108
109
  @tmpbufs = Array.new(5) {|i| Vdsp::DoubleArray.new(soundinfo.window_size+2)}
109
110
  @pulse_context = Pulse.instance.generate_context(soundinfo, note_perform, init_phase)
110
111
  end
@@ -18,11 +18,11 @@ module Synthesizer
18
18
  RampUp = ->(phase) { (phase % 1.0) * 2 - 1 }
19
19
  RampDown = ->(phase) { (phase % 1.0) * -2 + 1 }
20
20
 
21
- PositiveRampUp = ->(phase) { phase % 1.0}
22
- PositiveRampDown = ->(phase) { (phase % 1.0) * -1 + 1}
21
+ PositiveRampUp = ->(phase) { phase % 1.0 }
22
+ PositiveRampDown = ->(phase) { (phase % 1.0) * -1 + 1 }
23
23
 
24
- ForeverRampUp = ->(phase) { phase}
25
- ForeverRampDown = ->(phase) { -phase}
24
+ ForeverRampUp = ->(phase) { phase }
25
+ ForeverRampDown = ->(phase) { -phase }
26
26
 
27
27
  # Complex
28
28
  self.constants.tap {|consts|
@@ -1,3 +1,3 @@
1
1
  module Synthesizer
2
- VERSION = "3.3.1"
2
+ VERSION = "3.4.0"
3
3
  end