From b11975ea6c0158264bd28aeaf66d1f7e51ddfb5f Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Tue, 26 Oct 2021 12:12:33 +0100 Subject: [PATCH 01/88] FluidPitch.schelp --- .../HelpSource/Classes/FluidPitch.schelp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/release-packaging/HelpSource/Classes/FluidPitch.schelp b/release-packaging/HelpSource/Classes/FluidPitch.schelp index 55cba08..7802f31 100644 --- a/release-packaging/HelpSource/Classes/FluidPitch.schelp +++ b/release-packaging/HelpSource/Classes/FluidPitch.schelp @@ -4,14 +4,16 @@ CATEGORIES:: Libraries>FluidCorpusManipulation RELATED:: Guides/FluidCorpusManipulation, Classes/Pitch DESCRIPTION:: -This class implements three popular pitch descriptors, computed as frequency and the confidence in its value. It is part of the LINK:: Guides/FluidCorpusManipulation##Fluid Corpus Manipulation Toolkit::. For more explanations, learning material, and discussions on its musicianly uses, visit http://www.flucoma.org/ +FluidPitch implements three popular pitch descriptors. It outputs two values: the computed frequency and the confidence in the accuracy of that frequency. It is part of the LINK:: Guides/FluidCorpusManipulation##Fluid Corpus Manipulation Toolkit::. For more explanations, learning materials, and discussions on its musicianly uses, visit https://www.flucoma.org/reference/pitch -The process will return a multichannel control steam with [pitch, confidence] values, which will be repeated if no change happens within the algorithm, i.e. when the hopSize is larger than the server's kr period. A pitch of 0 Hz is yield (or -999.0 when the unit is in MIDI note) when the algorithm cannot find a fundamental at all. +FluidPitch outputs a multichannel control steam of [pitch, confidence] values. The 'unit' argument changes the unit of the pitch output. 'unit' set to 0 will return a frequency in Hz, 'unit' set to 1 will return the MIDI note (with a decimal for microtonal values). If the algorithm cannot determine a fundamental pitch at all, a frequency of 0 Hz is returned (or -999.0 when the unit is in MIDI note). + +When the hopSize is larger than the server's kr period, the returned values will be repeated until the next window is computed. CLASSMETHODS:: METHOD:: kr - The audio rate in, control rate out version of the object. + The audio rate in, control rate out ARGUMENT:: in The audio to be processed. @@ -21,7 +23,7 @@ ARGUMENT:: algorithm TABLE:: ## 0 || Cepstrum: Returns a pitch estimate as the location of the second highest peak in the Cepstrum of the signal (after DC). ## 1 || Harmonic Product Spectrum: Implements the Harmonic Product Spectrum algorithm for pitch detection . See e.g. FOOTNOTE:: A. Lerch, "An Introduction to Audio Content Analysis: Applications in Signal Processing and Music Informatics." John Wiley & Sons, 2012.https://onlinelibrary.wiley.com/doi/book/10.1002/9781118393550 :: - ## 2 || YinFFT: Implements the frequency domain version of the YIN algorithm, as described in FOOTNOTE::P. M. Brossier, "Automatic Annotation of Musical Audio for Interactive Applications.” QMUL, London, UK, 2007. :: See also https://essentia.upf.edu/documentation/reference/streaming_PitchYinFFT.html + ## 2 || YinFFT: Implements the frequency domain version of the YIN algorithm, as described in FOOTNOTE::P. M. Brossier, "Automatic Annotation of Musical Audio for Interactive Applications.” QMUL, London, UK, 2007. :: See also FOOTNOTE::https://essentia.upf.edu/documentation/reference/streaming_PitchYinFFT.html:: :: ARGUMENT:: minFreq @@ -40,7 +42,7 @@ ARGUMENT:: hopSize The window hop size. As sinusoidal estimation relies on spectral frames, we need to move the window forward. It can be any size but low overlap will create audible artefacts. The -1 default value will default to half of windowSize (overlap of 2). ARGUMENT:: fftSize - The inner FFT/IFFT size. It should be at least 4 samples long, at least the size of the window, and a power of 2. Making it larger allows an oversampling of the spectral precision. The -1 default value will use the next power of 2 equal or above the windowSize. + The inner FFT/IFFT size. It must be at least 4 samples long, at least the size of the window, and a power of 2. Making it larger allows an oversampling of the spectral precision. The -1 default value will use the next power of 2 equal to or above the windowSize. ARGUMENT:: maxFFTSize How large can the FFT be, by allocating memory at instantiation time. This cannot be modulated. From bff1b1fe803772c417e1ccf657e2438fb98a670f Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Tue, 26 Oct 2021 12:12:33 +0100 Subject: [PATCH 02/88] FluidPitch.schelp --- release-packaging/HelpSource/Classes/FluidPitch.schelp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/release-packaging/HelpSource/Classes/FluidPitch.schelp b/release-packaging/HelpSource/Classes/FluidPitch.schelp index 7802f31..475686d 100644 --- a/release-packaging/HelpSource/Classes/FluidPitch.schelp +++ b/release-packaging/HelpSource/Classes/FluidPitch.schelp @@ -6,7 +6,7 @@ RELATED:: Guides/FluidCorpusManipulation, Classes/Pitch DESCRIPTION:: FluidPitch implements three popular pitch descriptors. It outputs two values: the computed frequency and the confidence in the accuracy of that frequency. It is part of the LINK:: Guides/FluidCorpusManipulation##Fluid Corpus Manipulation Toolkit::. For more explanations, learning materials, and discussions on its musicianly uses, visit https://www.flucoma.org/reference/pitch -FluidPitch outputs a multichannel control steam of [pitch, confidence] values. The 'unit' argument changes the unit of the pitch output. 'unit' set to 0 will return a frequency in Hz, 'unit' set to 1 will return the MIDI note (with a decimal for microtonal values). If the algorithm cannot determine a fundamental pitch at all, a frequency of 0 Hz is returned (or -999.0 when the unit is in MIDI note). +FluidPitch outputs a multichannel control steam of [pitch, confidence] values. The 'unit' argument changes the unit of the pitch output. 'unit' set to 0 will return a frequency in Hz, 'unit' set to 1 will return the MIDI note (with a decimal for microtonal values). If the chosen algorithm cannot determine a fundamental pitch at all, a frequency of 0 Hz is returned (or -999.0 when the unit is in MIDI note). When the hopSize is larger than the server's kr period, the returned values will be repeated until the next window is computed. @@ -27,16 +27,16 @@ ARGUMENT:: algorithm :: ARGUMENT:: minFreq -The minimum frequency that the algorithm will search for an estimated fundamental. This sets the lowest value that will be generated. +The minimum frequency that the algorithm will search for an estimated fundamental. This sets the lowest value that will be generated. The default is 20. ARGUMENT:: maxFreq -The maximum frequency that the algorithm will search for an estimated fundamental. This sets the highest value that will be generated. +The maximum frequency that the algorithm will search for an estimated fundamental. This sets the highest value that will be generated. The default is 10000. ARGUMENT:: unit -The unit of the estimated value. The default of 0 is in Hz. A value of 1 will convert to MIDI note values. +The unit of the estimated frequency. The default of 0 is in Hz. A value of 1 will convert to MIDI note values. ARGUMENT:: windowSize - The window size. As sinusoidal estimation relies on spectral frames, we need to decide what precision we give it spectrally and temporally, in line with Gabor Uncertainty principles. http://www.subsurfwiki.org/wiki/Gabor_uncertainty + The window size. The number of samples used to calculate the FFT. ARGUMENT:: hopSize The window hop size. As sinusoidal estimation relies on spectral frames, we need to move the window forward. It can be any size but low overlap will create audible artefacts. The -1 default value will default to half of windowSize (overlap of 2). From c103897eb8b4ebcf35944eebc13318f8feaa7a13 Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Fri, 29 Oct 2021 18:48:33 +0100 Subject: [PATCH 03/88] edited example 8b-mlp-synth-control brought it in line with the max example. the user must put the synth params and 2D slider where they want them, _and then_ click 'add point'. also simplified some of the SC code. --- .../8b-mlp-synth-control.scd | 159 ++++++++++-------- 1 file changed, 85 insertions(+), 74 deletions(-) diff --git a/release-packaging/Examples/dataset/1-learning examples/8b-mlp-synth-control.scd b/release-packaging/Examples/dataset/1-learning examples/8b-mlp-synth-control.scd index 49a3d38..c756125 100644 --- a/release-packaging/Examples/dataset/1-learning examples/8b-mlp-synth-control.scd +++ b/release-packaging/Examples/dataset/1-learning examples/8b-mlp-synth-control.scd @@ -1,90 +1,101 @@ //1- make the gui then the synth below ( -var trained = 0, entering = 0; -var va = Array.fill(10,{0.5}); -var input = Buffer.alloc(s,2); -var output = Buffer.alloc(s,10); -var mlp = FluidMLPRegressor(s,[6],activation: 1,outputActivation: 1,maxIter: 1000,learnRate: 0.1,momentum: 0,batchSize: 1,validation: 0); -var entry = 0; +Window.closeAll; +s.waitForBoot{ + Task{ + var trained = 0, entering = 0; + var input_buffer = Buffer.alloc(s,2); + var output_buffer = Buffer.alloc(s,10); + var mlp = FluidMLPRegressor(s,[6],activation: 1,outputActivation: 1,maxIter: 1000,learnRate: 0.1,momentum: 0.9,batchSize: 1); + var entry_counter = 0; + var win, multislider, xyslider, synth, error_st, prediction_but, addPoints_but, train_but; + var item_width = 100; + var inData = FluidDataSet(s); + var outData = FluidDataSet(s); -~inData = FluidDataSet(s); -~outData = FluidDataSet(s); + win = Window("ChaosSynth", Rect(10, 10, 840, 320)).front; -w = Window("ChaosSynth", Rect(10, 10, 790, 320)).front; -a = MultiSliderView(w,Rect(10, 10, 400, 300)).elasticMode_(1).isFilled_(1); -a.value=va; -a.action = {arg q; - b.set(\val, q.value); - va = q.value;}; -f = Slider2D(w,Rect(420,10,300, 300)); -f.x = 0.5; -f.y = 0.5; -f.action = {arg x,y; //if trained, predict the point f.x f.y - if (entering == 1, { //if entering a point, add to the the database f.x f.y against the array va - input.setn(0, [f.x, f.y]); - output.setn(0, va); - ~inData.addPoint(entry.asSymbol,input); - ~outData.addPoint(entry.asSymbol,output); - entering = 0; - entry = entry + 1; - {d.value = 0;}.defer; - }, { //if not entering a point - if (trained == 1, { //if trained - input.setn(0, [f.x, f.y]); - mlp.predictPoint(input,output,{ - output.getn(0,10,{ - |x|va = x; b.set(\val, va); {a.value = va;}.defer;}); + multislider = MultiSliderView(win,Rect(10, 10, 400, 300)) + .elasticMode_(1) + .isFilled_(1) + .action_({ + arg ms; + // ms.value.postln; + synth.set(\val,ms.value); + output_buffer.setn(0,ms.value); + }) + .value_(0.5.dup(10)); + + xyslider = Slider2D(win,Rect(420,10,300, 300)) + .x_(0.5) + .y_(0.5) + .action_({ + arg sl; + + input_buffer.setn(0,[sl.x,sl.y]); + + if(prediction_but.value.asBoolean,{ + mlp.predictPoint(input_buffer,output_buffer,{ + output_buffer.getn(0,10,{ + arg output_values; + synth.set(\val, output_values); + { + multislider.value_(output_values) + }.defer; + }); + }); }); }); - }); -}; -c = Button(w, Rect(730,240,50, 20)).states_([["train", Color.red, Color.white], ["trained", Color.white, Color.grey]]).action_{ - mlp.fit(~inData,~outData,{|x| - trained = 1; - { - c.value = 1; - e.value = x.round(0.001).asString; - }.defer; - });//train the network -}; -d = Button(w, Rect(730,10,50, 20)).states_([["entry", Color.white, Color.grey], ["entry", Color.red, Color.white]]).action_{ - entering = 1; -}; -StaticText(w,Rect(732,260,50,20)).string_("Error:"); -e = TextField(w,Rect(730,280,50,20)).string_(0.asString); -StaticText(w,Rect(732,70,50,20)).string_("rate:"); -TextField(w,Rect(730,90,50,20)).string_(0.1.asString).action_{|in|mlp.learnRate = in.value.asFloat.postln;}; -StaticText(w,Rect(732,110,50,20)).string_("momentum:"); -TextField(w,Rect(730,130,50,20)).string_(0.0.asString).action_{|in|mlp.momentum = in.value.asFloat.postln;}; -StaticText(w,Rect(732,150,50,20)).string_("maxIter:"); -TextField(w,Rect(730,170,50,20)).string_(1000.asString).action_{|in| mlp.maxIter = in.value.asInteger.postln;}; -StaticText(w,Rect(732,190,50,20)).string_("validation:"); -TextField(w,Rect(730,210,50,20)).string_(0.0.asString).action_{|in|mlp.validation = in.value.asFloat.postln;}; -) + addPoints_but = Button(win, Rect(730,10,item_width, 20)) + .states_([["add points", Color.white, Color.grey]]) + .action_({ + inData.addPoint(entry_counter.asSymbol,input_buffer); + outData.addPoint(entry_counter.asSymbol,output_buffer); + entry_counter = entry_counter + 1; + inData.print; + outData.print; + }); -//2- the synth -( -b = { - arg val = #[0,0,0,0,0,0,0,0,0,0]; - var osc1, osc2, feed1, feed2, base1=69, base2=69, base3 = 130; - #feed2,feed1 = LocalIn.ar(2); - osc1 = MoogFF.ar(SinOsc.ar((((feed1 * val[0]) + val[1]) * base1).midicps,mul: (val[2] * 50).dbamp).atan,(base3 - (val[3] * (FluidLoudness.kr(feed2, 1, 0, hopSize: 64)[0].clip(-120,0) + 120))).lag(128/44100).midicps, val[4] * 3.5); - osc2 = MoogFF.ar(SinOsc.ar((((feed2 * val[5]) + val[6]) * base2).midicps,mul: (val[7] * 50).dbamp).atan,(base3 - (val[8] * (FluidLoudness.kr(feed1, 1, 0, hopSize: 64)[0].clip(-120,0) + 120))).lag(128/44100).midicps, val[9] * 3.5); - Out.ar(0,LeakDC.ar([osc1,osc2],mul: 0.1)); - LocalOut.ar([osc1,osc2]); -}.play; -) + train_but = Button(win, Rect(730,240,item_width, 20)) + .states_([["train", Color.red, Color.white]]) + .action_({ + mlp.fit(inData,outData,{ + arg loss; + {error_st.string_("loss: %".format(loss.round(0.001)))}.defer; + }); + }); + prediction_but = Button(win, Rect(730,40,item_width, 20)) + .states_([["Not Predicting", Color.black, Color.white],["Predicting",Color.black,Color.white]]); + error_st = StaticText(win,Rect(732,260,item_width,20)).string_("Error:"); + StaticText(win,Rect(732,70,item_width,20)).string_("rate:"); + TextField(win,Rect(730,90,item_width,20)).string_(0.1.asString).action_{|in|mlp.learnRate = in.value.asFloat.postln;}; + StaticText(win,Rect(732,110,item_width,20)).string_("momentum:"); + TextField(win,Rect(730,130,item_width,20)).string_(0.9.asString).action_{|in|mlp.momentum = in.value.asFloat.postln;}; + StaticText(win,Rect(732,150,item_width,20)).string_("maxIter:"); + TextField(win,Rect(730,170,item_width,20)).string_(1000.asString).action_{|in| mlp.maxIter = in.value.asInteger.postln;}; -~inData.print; -~outData.print; + s.sync; + + //2- the synth + synth = { + arg val = #[0,0,0,0,0,0,0,0,0,0]; + var osc1, osc2, feed1, feed2, base1=69, base2=69, base3 = 130; + #feed2,feed1 = LocalIn.ar(2); + osc1 = MoogFF.ar(SinOsc.ar((((feed1 * val[0]) + val[1]) * base1).midicps,mul: (val[2] * 50).dbamp).atan,(base3 - (val[3] * (FluidLoudness.kr(feed2, 1, 0, hopSize: 64)[0].clip(-120,0) + 120))).lag(128/44100).midicps, val[4] * 3.5); + osc2 = MoogFF.ar(SinOsc.ar((((feed2 * val[5]) + val[6]) * base2).midicps,mul: (val[7] * 50).dbamp).atan,(base3 - (val[8] * (FluidLoudness.kr(feed1, 1, 0, hopSize: 64)[0].clip(-120,0) + 120))).lag(128/44100).midicps, val[9] * 3.5); + Out.ar(0,LeakDC.ar([osc1,osc2],mul: 0.1)); + LocalOut.ar([osc1,osc2]); + }.play; + }.play(AppClock); +}; +) ///////// //3 - play with the multislider -//4 - when you like a spot, click entry (become read) then a position in the 2D graph where this point should be +//4 - when you like a spot, move the 2d slider to a position that you want to represent that sound and click "add point" //5 - do that for a few points -//6 - click train +//6 - click train, keep clicking train until the loss is at or below 0.01 or so. feel free to adjust the learning rate, momentum, and max iter. //7 - the 2D graph controls the 10D -//8 - if you like a new sound and you want to update the graph, just click entry, then where it should be in the 2D, then retrain when you are happy From 525ce00079bcf8936e4d8a56ce479acffa0033d6 Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Thu, 4 Nov 2021 17:47:15 +0000 Subject: [PATCH 04/88] FluidWaveform draws features & gate --- release-packaging/Classes/FluidPlotter.sc | 20 +--- release-packaging/Classes/FluidWaveform.sc | 101 +++++++++++++++--- .../HelpSource/Classes/FluidWaveform.schelp | 22 +++- 3 files changed, 110 insertions(+), 33 deletions(-) diff --git a/release-packaging/Classes/FluidPlotter.sc b/release-packaging/Classes/FluidPlotter.sc index 0503797..7c1681a 100644 --- a/release-packaging/Classes/FluidPlotter.sc +++ b/release-packaging/Classes/FluidPlotter.sc @@ -16,8 +16,8 @@ FluidPlotterPoint { } } -FluidPlotter { - var (catColors.size-1),{ + if(category_int > (categoryColors.size-1),{ "FluidPlotter:setCategories_ FluidPlotter doesn't have that many category colors. You can use the method 'setColor_' to set colors for individual points.".warn }); - color = catColors[category_int]; + color = categoryColors[category_int]; fp_pt.color_(color); }); this.refresh; diff --git a/release-packaging/Classes/FluidWaveform.sc b/release-packaging/Classes/FluidWaveform.sc index 88934e3..2c9aa84 100644 --- a/release-packaging/Classes/FluidWaveform.sc +++ b/release-packaging/Classes/FluidWaveform.sc @@ -1,15 +1,31 @@ -FluidWaveform { +FluidViewer { + var categoryColors; + + createCatColors { + categoryColors = "1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf".clump(6).collect{ + arg six; + Color(*six.clump(2).collect{ + arg two; + "0x%".format(two).interpret / 255; + }); + }; + } +} + +FluidWaveform : FluidViewer { *new { - arg audio_buf, slices_buf, bounds; - ^super.new.init(audio_buf,slices_buf, bounds); + arg audio_buf, slices_buf, feature_buf, bounds, lineWidth = 1; + ^super.new.init(audio_buf,slices_buf, feature_buf, bounds, lineWidth); } init { - arg audio_buf, slices_buf, bounds; + arg audio_buf, slices_buf, feature_buf, bounds, lineWidth; Task{ var path = "%%_%_FluidWaveform.wav".format(PathName.tmp,Date.localtime.stamp,UniqueID.next); - var sfv, win, userView; + var sfv, win, categoryCounter = 0; + + this.createCatColors; bounds = bounds ? Rect(0,0,800,200); win = Window("FluidWaveform",bounds); @@ -18,26 +34,77 @@ FluidWaveform { audio_buf.server.sync; sfv = SoundFileView(win,Rect(0,0,bounds.width,bounds.height)); + sfv.peakColor_(Color(*0.75.dup(3))); + sfv.rmsColor_(Color.black); + sfv.background_(Color.white); sfv.readFile(SoundFile(path)); sfv.gridOn_(false); File.delete(path); if(slices_buf.notNil,{ - slices_buf.loadToFloatArray(action:{ - arg slices_fa; - - userView = UserView(win,Rect(0,0,bounds.width,bounds.height)) - .drawFunc_({ - slices_fa.do{ - arg start_samp; - var x = start_samp.linlin(0,audio_buf.numFrames,0,bounds.width); - Pen.line(Point(x,0),Point(x,bounds.height)); - Pen.color_(Color.red); + slices_buf.numChannels.switch( + 1,{ + slices_buf.loadToFloatArray(action:{ + arg slices_fa; + UserView(win,Rect(0,0,bounds.width,bounds.height)) + .drawFunc_({ + Pen.width_(lineWidth); + slices_fa.do{ + arg start_samp; + var x = start_samp.linlin(0,audio_buf.numFrames,0,bounds.width); + Pen.line(Point(x,0),Point(x,bounds.height)); + Pen.color_(categoryColors[categoryCounter]); + Pen.stroke; + }; + categoryCounter = categoryCounter + 1; + }); + }); + }, + 2,{ + slices_buf.loadToFloatArray(action:{ + arg slices_fa; + slices_fa = slices_fa.clump(2); + UserView(win,Rect(0,0,bounds.width,bounds.height)) + .drawFunc_({ + Pen.width_(lineWidth); + slices_fa.do{ + arg arr; + var start = arr[0].linlin(0,audio_buf.numFrames,0,bounds.width); + var end = arr[1].linlin(0,audio_buf.numFrames,0,bounds.width); + Pen.addRect(Rect(start,0,end-start,bounds.height)); + Pen.color_(categoryColors[categoryCounter].alpha_(0.25)); + Pen.fill; + }; + categoryCounter = categoryCounter + 1; + }); + }); + },{ + "FluidWaveform - indices_buf has neither 1 nor 2 channels. Not sure what to do with this.".warn; + } + ); + }); + + if(feature_buf.notNil,{ + feature_buf.loadToFloatArray(action:{ + arg fa; + fa = fa.clump(feature_buf.numChannels).flop; + fa.do({ + arg channel; + channel = channel.resamp1(bounds.width).linlin(channel.minItem,channel.maxItem,bounds.height,0); + UserView(win,Rect(0,0,bounds.width,bounds.height)) + .drawFunc_({ + Pen.moveTo(Point(0,channel[0])); + channel[1..].do{ + arg val, i; + Pen.lineTo(Point(i+1,val)); + }; + Pen.color_(categoryColors[categoryCounter]); + categoryCounter = categoryCounter + 1; Pen.stroke; - }; + }); }); - }); + }) }); win.front; diff --git a/release-packaging/HelpSource/Classes/FluidWaveform.schelp b/release-packaging/HelpSource/Classes/FluidWaveform.schelp index 6979245..3545fc3 100644 --- a/release-packaging/HelpSource/Classes/FluidWaveform.schelp +++ b/release-packaging/HelpSource/Classes/FluidWaveform.schelp @@ -29,6 +29,7 @@ EXAMPLES:: code:: +s.boot; // load a sound to slice ~drums = Buffer.read(s,File.realpath(FluidBufAmpSlice.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Nicol-LoopE-M.wav"); @@ -39,5 +40,24 @@ code:: FluidBufAmpSlice.process(s,~drums,indices:~indices,fastRampUp: 10,fastRampDown: 2205,slowRampUp: 4410,slowRampDown: 4410,onThreshold: 10,offThreshold: 5,floor: -40,minSliceLength: 4410,highPassFreq: 20); // plot the buffer with the indices overlayed -FluidWaveform(~drums,~indices,Rect(0,0,800,200)); +FluidWaveform(~drums,~indices,nil,Rect(0,0,800,200)); + +// do a descriptor analysis +~features = Buffer(s); +FluidBufLoudness.process(s,~drums,features:~features,action:{"done".postln;}); + +// copy just the first channel of that buffer to display it +~features2 = Buffer(s); +FluidBufCompose.process(s,~features,numChans:1,destination:~features2); + +// plot the audio with the slices and the loudness analysis +FluidWaveform(~drums,~indices,~features2,Rect(0,0,1200,300)); + +// with gate info +~gate_analysis = Buffer(s); +FluidBufAmpGate.process(s,~drums,indices:~gate_analysis,onThreshold:-35,offThreshold:-35,minSliceLength:4410); + +// it will plot the ons and offs +FluidWaveform(~drums,~gate_analysis,~features2,Rect(0,0,1200,300)); + :: From 41a323852b78f5033593171b637379203bd6475a Mon Sep 17 00:00:00 2001 From: tremblap Date: Fri, 19 Nov 2021 14:51:58 -0500 Subject: [PATCH 05/88] new team is credited (#39) --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3300bf7..e5f62af 100644 --- a/README.md +++ b/README.md @@ -69,8 +69,8 @@ For ARM, we use the following default set of flags (with the Bela in mind): #### FluCoMa core development team (in alphabetical order) Owen Green, Gerard Roma, Pierre Alexandre Tremblay -#### Other contributors: -Alex Harker, Francesco Cameli +#### Other contributors (in alphabetical order): +James Bradbury, Francesco Cameli, Alex Harker, Ted Moore -- From 78f990f826fb86c19eaa29aa883669e05b61fb45 Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Sun, 28 Nov 2021 10:34:27 -0500 Subject: [PATCH 06/88] adding guides from UKH and CIRMMT --- ...ace Drum Sounds with other Sounds, 01).scd | 285 +++++++++++++ ...ds with other Sounds, 02 with Scalers).scd | 288 ++++++++++++++ .../Buffer Slicing Analysis and Plotting.scd | 131 ++++++ .../Classify Timbre with a Neural Network.scd | 231 +++++++++++ ...etQuery to Filter Out some Data Points.scd | 72 ++++ .../Guides/Decomposition Examples.scd | 129 ++++++ ...ionality Reduction (2D sound browsing).scd | 373 ++++++++++++++++++ ...Find the 5 Nearest Slices using KDTree.scd | 108 +++++ .../Examples/Guides/NMF Overview.scd | 150 +++++++ ...h from 2D space (01 a lot in language).scd | 80 ++++ ...Synth from 2D space (02 all on server).scd | 123 ++++++ ...Predicts FM Params from Audio Analysis.scd | 321 +++++++++++++++ .../Guides/Weighted Statistical Analysis.scd | 153 +++++++ 13 files changed, 2444 insertions(+) create mode 100644 release-packaging/Examples/Guides/Audio Query (Replace Drum Sounds with other Sounds, 01).scd create mode 100644 release-packaging/Examples/Guides/Audio Query (Replace Drum Sounds with other Sounds, 02 with Scalers).scd create mode 100644 release-packaging/Examples/Guides/Buffer Slicing Analysis and Plotting.scd create mode 100644 release-packaging/Examples/Guides/Classify Timbre with a Neural Network.scd create mode 100644 release-packaging/Examples/Guides/DataSetQuery to Filter Out some Data Points.scd create mode 100644 release-packaging/Examples/Guides/Decomposition Examples.scd create mode 100644 release-packaging/Examples/Guides/Dimensionality Reduction (2D sound browsing).scd create mode 100644 release-packaging/Examples/Guides/Find the 5 Nearest Slices using KDTree.scd create mode 100644 release-packaging/Examples/Guides/NMF Overview.scd create mode 100644 release-packaging/Examples/Guides/Neural Network Controls Synth from 2D space (01 a lot in language).scd create mode 100644 release-packaging/Examples/Guides/Neural Network Controls Synth from 2D space (02 all on server).scd create mode 100644 release-packaging/Examples/Guides/Neural Network Predicts FM Params from Audio Analysis.scd create mode 100644 release-packaging/Examples/Guides/Weighted Statistical Analysis.scd diff --git a/release-packaging/Examples/Guides/Audio Query (Replace Drum Sounds with other Sounds, 01).scd b/release-packaging/Examples/Guides/Audio Query (Replace Drum Sounds with other Sounds, 01).scd new file mode 100644 index 0000000..588c7da --- /dev/null +++ b/release-packaging/Examples/Guides/Audio Query (Replace Drum Sounds with other Sounds, 01).scd @@ -0,0 +1,285 @@ +/* +================================================= +| | +| LOAD AND ANALYZE THE SOURCE MATERIAL | +| | +================================================= +*/ + +( +// ============= 1. LOAD SOME FILES TO BE THE SOURCE MATERIAL =================== +// put your own folder path here! it's best if they're all mono for now. +~source_files_folder = "/Users/macprocomputer/Desktop/audio_files/"; + +~loader = FluidLoadFolder(~source_files_folder); // this is a nice helper class that will load a bunch of files from a folder. +~loader.play(s,{ // .play will cause it to *actually* do the loading + + // we really just want access to the buffer. there is also a .index with some info about the files + // but we'll igore that for now + ~source_buf = ~loader.buffer; + + "all files loaded".postln; + + // double check if they're all mono? the buffer of the loaded files will have as many channels as the file with the most channels + // so if this is 1, then we know all the files were mono. + "num channels: %".format(~source_buf.numChannels).postln +}); +) + +~loader.buffer +~loader.index.dopostln +// ~source_buf.plot +FluidBufNMF + +( +// ==================== 2. SLICE THE SOURCE MATERIAL ACCORDING TO SPECTRAL ONSETS ========================= +~source_indices_buf = Buffer(s); // a buffer for writing the indices into +FluidBufOnsetSlice.process(s,~source_buf,indices:~source_indices_buf,metric:9,threshold:0.15,minSliceLength:9,action:{ // do the slicing + ~source_indices_buf.loadToFloatArray(action:{ + arg indices_array; + + // post the results so that you can tweak the parameters and get what you want + "found % slices".format(indices_array.size-1).postln; + "average length: % seconds".format((~source_buf.duration / (indices_array.size-1)).round(0.001)).postln; + }) +}); +) + +( +// =========================== 3. DEFINE A FUNCTION FOR DOING THE ANALYSIS =================================== +~analyze_to_dataset = { + arg audio_buffer, slices_buffer, action; // the audio buffer to analyze, a buffer with the slice points, and an action to execute when done + ~nmfccs = 13; + Routine{ + var features_buf = Buffer(s); // a buffer for writing the MFCC analyses into + var stats_buf = Buffer(s); // a buffer for writing the statistical summary of the MFCC analyses into + var flat_buf = Buffer(s); // a buffer for writing only he mean MFCC values into + var dataset = FluidDataSet(s); // the dataset that all of these analyses will be stored in + slices_buffer.loadToFloatArray(action:{ // get the indices from the server loaded down to the language + arg slices_array; + + // iterate over each index in this array, paired with this next neighbor so that we know where to start + // and stop the analysis + slices_array.doAdjacentPairs{ + arg start_frame, end_frame, slice_index; + var num_frames = end_frame - start_frame; + + "analyzing slice: % / %".format(slice_index + 1,slices_array.size - 1).postln; + + // mfcc analysis, hop over that 0th coefficient because it relates to loudness and here we want to focus on timbre + FluidBufMFCC.process(s,audio_buffer,start_frame,num_frames,features:features_buf,startCoeff:1,numCoeffs:~nmfccs).wait; + + // get a statistical summary of the MFCC analysis for this slice + FluidBufStats.process(s,features_buf,stats:stats_buf).wait; + + // extract and flatten just the 0th frame (numFrames:1) of the statistical summary (because that is the mean) + FluidBufFlatten.process(s,stats_buf,numFrames:1,destination:flat_buf).wait; + + // now that the means are extracted and flattened, we can add this datapoint to the dataset: + dataset.addPoint("slice-%".format(slice_index),flat_buf); + }; + }); + + action.value(dataset); // execute the function and pass in the dataset that was created! + }.play; +}; +) + +( +// =================== 4. DO THE ANALYSIS ===================== +~analyze_to_dataset.(~source_buf,~source_indices_buf,{ // pass in the audio buffer of the source, and the slice points + arg ds; + ~source_dataset = ds; // set the ds to a global variable so we can access it later + ~source_dataset.print; +}); +) + +/* +================================================= +| | +| LOAD AND ANALYZE THE TARGET | +| | +================================================= +*/ + +( +// ============= 5. LOAD THE FILE =================== +~target_path = File.realpath(FluidBufPitch.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Nicol-LoopE-M.wav"; +~target_buf = Buffer.read(s,~target_path); +) + +( +// ============= 6. SLICE =================== +~target_indices_buf = Buffer(s); +FluidBufOnsetSlice.process(s,~target_buf,indices:~target_indices_buf,metric:9,threshold:0.5,action:{ + ~target_indices_buf.loadToFloatArray(action:{ + arg indices_array; + + // post the results so that you can tweak the parameters and get what you want + "found % slices".format(indices_array.size-1).postln; + "average length: % seconds".format((~target_buf.duration / (indices_array.size-1)).round(0.001)).postln; + }) +}); +) + +( +// =========== 7. USE THE SAME ANALYSIS FUNCTION +~analyze_to_dataset.(~target_buf,~target_indices_buf,{ + arg ds; + ~target_dataset = ds; + ~target_dataset.print; +}); +) + +( +// ======================= 8. TEST DRUM LOOP PLAYBACK ==================== +// play back the drum slices with a .wait in between so we hear the drum loop +Routine{ + ~target_indices_buf.loadToFloatArray(action:{ + arg target_indices_array; + + // prepend 0 (the start of the file) to the indices array + target_indices_array = [0] ++ target_indices_array; + + // append the total number of frames to know how long to play the last slice for + target_indices_array = target_indices_array ++ [~target_buf.numFrames]; + + + inf.do{ // loop for infinity + arg i; + + // get the index to play by modulo one less than the number of slices (we don't want to *start* playing from the + // last slice point, because that's the end of the file!) + var index = i % (target_indices_array.size - 1); + + // nb. that the minus one is so that the drum slice from the beginning of the file to the first index is call "-1" + // this is because that slice didn't actually get analyzed + var slice_id = index - 1; + var start_frame = target_indices_array[index]; + var dur_frames = target_indices_array[index + 1] - start_frame; + var dur_secs = dur_frames / ~target_buf.sampleRate; + + "playing slice: %".format(slice_id).postln; + + { + var sig = PlayBuf.ar(1,~target_buf,BufRateScale.ir(~target_buf),0,start_frame,0,2); + var env = EnvGen.kr(Env([0,1,1,0],[0.03,dur_secs-0.06,0.03]),doneAction:2); + sig = sig * env; // include this env if you like, but keep the line above because it will free the synth after the slice! + sig.dup; + }.play; + dur_secs.wait; + }; + }); +}.play; +) + +/* +================================================= +| | +| KDTREE THE DATA AND DO THE LOOKUP | +| | +================================================= +*/ + +( // ========== 9. FIT THE KDTREE TO THE SOURCE DATASET SO THAT WE CAN QUICKLY LOOKUP NEIGHBORS =============== +Routine{ + ~kdtree = FluidKDTree(s,10); + s.sync; + ~kdtree.fit(~source_dataset,{ + "kdtree fit".postln; + }); +}.play; +) + +( +// ========= 10. A LITTLE HELPER FUNCTION THAT WILL PLAY BACK A SLICE FROM THE SOURCE BY JUST PASSING THE INDEX ============= +~play_source_index = { + arg index; + { + var start_frame = Index.kr(~source_indices_buf,index); // lookup the start frame with the index *one the server* using Index.kr + var end_frame = Index.kr(~source_indices_buf,index+1); // same for the end frame + var num_frames = end_frame - start_frame; + var dur_secs = num_frames / SampleRate.ir(~source_buf); + var sig = PlayBuf.ar(1,~source_buf,BufRateScale.ir(~source_buf),0,start_frame,0,Done.freeSelf); + var env = EnvGen.kr(Env([0,1,1,0],[0.03,dur_secs-0.06,0.03]),doneAction:Done.freeSelf); + // sig = sig * env; // include this env if you like, but keep the line above because it will free the synth after the slice! + sig.dup; + }.play; +}; +) + +~target_dataset.print; + +( +// ======================= 11. TEST DRUM LOOP PLAYBACK ==================== +// play back the drum slices with a .wait in between so we hear the drum loop +// is is very similar to step 8 above, but now instead of playing the slice of +// the drum loop, it get's the analysis of the drum loop's slice into "query_buf", +// then uses that info to lookup the nearest neighbour in the source dataset and +// play that slice +Routine{ + var query_buf = Buffer.alloc(s,~nmfccs); // a buffer for doing the neighbor lookup with + ~target_indices_buf.loadToFloatArray(action:{ + arg target_indices_array; + + // prepend 0 (the start of the file) to the indices array + target_indices_array = [0] ++ target_indices_array; + + // append the total number of frames to know how long to play the last slice for + target_indices_array = target_indices_array ++ [~target_buf.numFrames]; + + + inf.do{ // loop for infinity + arg i; + + // get the index to play by modulo one less than the number of slices (we don't want to *start* playing from the + // last slice point, because that's the end of the file!) + var index = i % (target_indices_array.size - 1); + + // nb. that the minus one is so that the drum slice from the beginning of the file to the first index is call "-1" + // this is because that slice didn't actually get analyzed + var slice_id = index - 1; + var start_frame = target_indices_array[index]; + var dur_frames = target_indices_array[index + 1] - start_frame; + + // this will be used to space out the source slices according to the target timings + var dur_secs = dur_frames / ~target_buf.sampleRate; + + "target slice: %".format(slice_id).postln; + + // as long as this slice is not the one that starts at the beginning of the file (-1) and + // not the slice at the end of the file (because neither of these have analyses), let's + // do the lookup + if((slice_id >= 0) && (slice_id < (target_indices_array.size - 3)),{ + + // use the slice id to (re)create the slice identifier and load the data point into "query_buf" + ~target_dataset.getPoint("slice-%".format(slice_id.asInteger),query_buf,{ + // once it's loaded, use that buffer as the input to lookup the nearest + // neighbour data point in the kdtree of source slices + ~kdtree.kNearest(query_buf,{ + arg nearest; + var nearest_index; + + nearest.postln; + + // peel off just the integer part of the slice to use in the helper function + nearest_index = nearest.choose.asString.split($-)[1].asInteger; + nearest_index.postln; + ~play_source_index.(nearest_index); + }); + }); + }); + + // if you want to hear the drum set along side the neighbor slices, uncomment this function + { + var sig = PlayBuf.ar(1,~target_buf,BufRateScale.ir(~target_buf),0,start_frame,0,2); + var env = EnvGen.kr(Env([0,1,1,0],[0.03,dur_secs-0.06,0.03]),doneAction:2); + // sig = sig * env; // include this env if you like, but keep the line above because it will free the synth after the slice! + sig.dup * -8.dbamp; + }.play; + + dur_secs.wait; + }; + }); +}.play; +) \ No newline at end of file diff --git a/release-packaging/Examples/Guides/Audio Query (Replace Drum Sounds with other Sounds, 02 with Scalers).scd b/release-packaging/Examples/Guides/Audio Query (Replace Drum Sounds with other Sounds, 02 with Scalers).scd new file mode 100644 index 0000000..4618e6e --- /dev/null +++ b/release-packaging/Examples/Guides/Audio Query (Replace Drum Sounds with other Sounds, 02 with Scalers).scd @@ -0,0 +1,288 @@ +/* +================================================= +| | +| LOAD AND ANALYZE THE SOURCE MATERIAL | +| | +================================================= +*/ + +( +// ============= 1. LOAD SOME FILES TO BE THE SOURCE MATERIAL =================== +// put your own folder path here! it's best if they're all mono for now. +~source_files_folder = "/Users/macprocomputer/Desktop/sccm/files_fabrizio_01/src_files/"; + +~loader = FluidLoadFolder(~source_files_folder); // this is a nice helper class that will load a bunch of files from a folder. +~loader.play(s,{ // .play will cause it to *actually* do the loading + + // we really just want access to the buffer. there is also a .index with some info about the files + // but we'll igore that for now + ~source_buf = ~loader.buffer; + + "all files loaded".postln; + + // double check if they're all mono? the buffer of the loaded files will have as many channels as the file with the most channels + // so if this is 1, then we know all the files were mono. + "num channels: %".format(~source_buf.numChannels).postln +}); +) + +( +// ==================== 2. SLICE THE SOURCE MATERIAL ACCORDING TO SPECTRAL ONSETS ========================= +~source_indices_buf = Buffer(s); // a buffer for writing the indices into +FluidBufOnsetSlice.process(s,~source_buf,indices:~source_indices_buf,metric:9,threshold:0.5,minSliceLength:9,action:{ // do the slicing + ~source_indices_buf.loadToFloatArray(action:{ + arg indices_array; + + // post the results so that you can tweak the parameters and get what you want + "found % slices".format(indices_array.size-1).postln; + "average length: % seconds".format((~source_buf.duration / (indices_array.size-1)).round(0.001)).postln; + }) +}); +) + +( +// =========================== 3. DEFINE A FUNCTION FOR DOING THE ANALYSIS =================================== +~analyze_to_dataset = { + arg audio_buffer, slices_buffer, action; // the audio buffer to analyze, a buffer with the slice points, and an action to execute when done + ~nmfccs = 13; + Routine{ + var features_buf = Buffer(s); // a buffer for writing the MFCC analyses into + var stats_buf = Buffer(s); // a buffer for writing the statistical summary of the MFCC analyses into + var flat_buf = Buffer(s); // a buffer for writing only he mean MFCC values into + var dataset = FluidDataSet(s); // the dataset that all of these analyses will be stored in + slices_buffer.loadToFloatArray(action:{ // get the indices from the server loaded down to the language + arg slices_array; + + // iterate over each index in this array, paired with this next neighbor so that we know where to start + // and stop the analysis + slices_array.doAdjacentPairs{ + arg start_frame, end_frame, slice_index; + var num_frames = end_frame - start_frame; + + "analyzing slice: % / %".format(slice_index + 1,slices_array.size - 1).postln; + + // mfcc analysis, hop over that 0th coefficient because it relates to loudness and here we want to focus on timbre + FluidBufMFCC.process(s,audio_buffer,start_frame,num_frames,features:features_buf,startCoeff:1,numCoeffs:~nmfccs).wait; + + // get a statistical summary of the MFCC analysis for this slice + FluidBufStats.process(s,features_buf,stats:stats_buf).wait; + + // extract and flatten just the 0th frame (numFrames:1) of the statistical summary (because that is the mean) + FluidBufFlatten.process(s,stats_buf,numFrames:1,destination:flat_buf).wait; + + // now that the means are extracted and flattened, we can add this datapoint to the dataset: + dataset.addPoint("slice-%".format(slice_index),flat_buf); + }; + }); + + action.value(dataset); // execute the function and pass in the dataset that was created! + }.play; +}; +) + +( +// =================== 4. DO THE ANALYSIS ===================== +~analyze_to_dataset.(~source_buf,~source_indices_buf,{ // pass in the audio buffer of the source, and the slice points + arg ds; + ~source_dataset = ds; // set the ds to a global variable so we can access it later + ~source_dataset.print; +}); +) + +/* +================================================= +| | +| LOAD AND ANALYZE THE TARGET | +| | +================================================= +*/ + +( +// ============= 5. LOAD THE FILE =================== +~target_path = File.realpath(FluidBufPitch.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Nicol-LoopE-M.wav"; +~target_buf = Buffer.read(s,~target_path); +) + +( +// ============= 6. SLICE =================== +~target_indices_buf = Buffer(s); +FluidBufOnsetSlice.process(s,~target_buf,indices:~target_indices_buf,metric:9,threshold:0.5,action:{ + ~target_indices_buf.loadToFloatArray(action:{ + arg indices_array; + + // post the results so that you can tweak the parameters and get what you want + "found % slices".format(indices_array.size-1).postln; + "average length: % seconds".format((~target_buf.duration / (indices_array.size-1)).round(0.001)).postln; + }) +}); +) + +( +// =========== 7. USE THE SAME ANALYSIS FUNCTION +~analyze_to_dataset.(~target_buf,~target_indices_buf,{ + arg ds; + ~target_dataset = ds; + ~target_dataset.print; +}); +) + +( +// ======================= 8. TEST DRUM LOOP PLAYBACK ==================== +// play back the drum slices with a .wait in between so we hear the drum loop +Routine{ + ~target_indices_buf.loadToFloatArray(action:{ + arg target_indices_array; + + // prepend 0 (the start of the file) to the indices array + target_indices_array = [0] ++ target_indices_array; + + // append the total number of frames to know how long to play the last slice for + target_indices_array = target_indices_array ++ [~target_buf.numFrames]; + + + inf.do{ // loop for infinity + arg i; + + // get the index to play by modulo one less than the number of slices (we don't want to *start* playing from the + // last slice point, because that's the end of the file!) + var index = i % (target_indices_array.size - 1); + + // nb. that the minus one is so that the drum slice from the beginning of the file to the first index is call "-1" + // this is because that slice didn't actually get analyzed + var slice_id = index - 1; + var start_frame = target_indices_array[index]; + var dur_frames = target_indices_array[index + 1] - start_frame; + var dur_secs = dur_frames / ~target_buf.sampleRate; + + "playing slice: %".format(slice_id).postln; + + { + var sig = PlayBuf.ar(1,~target_buf,BufRateScale.ir(~target_buf),0,start_frame,0,2); + var env = EnvGen.kr(Env([0,1,1,0],[0.03,dur_secs-0.06,0.03]),doneAction:2); + // sig = sig * env; // include this env if you like, but keep the line above because it will free the synth after the slice! + sig.dup; + }.play; + dur_secs.wait; + }; + }); +}.play; +) + +/* +================================================= +| | +| KDTREE THE DATA AND DO THE LOOKUP | +| | +================================================= +*/ + +( +// ========== 9. FIT THE KDTREE TO THE SOURCE DATASET SO THAT WE CAN QUICKLY LOOKUP NEIGHBORS =============== +Routine{ + ~kdtree = FluidKDTree(s); + ~scaled_dataset = FluidDataSet(s); + + // leave only one of these scalers *not* commented-out. try all of them! + //~scaler = FluidStandardize(s); + ~scaler = FluidNormalize(s); + // ~scaler = FluidRobustScale(s); + + s.sync; + ~scaler.fitTransform(~source_dataset,~scaled_dataset,{ + ~kdtree.fit(~scaled_dataset,{ + "kdtree fit".postln; + }); + }); +}.play; +) + +( +// ========= 10. A LITTLE HELPER FUNCTION THAT WILL PLAY BACK A SLICE FROM THE SOURCE BY JUST PASSING THE INDEX ============= +~play_source_index = { + arg index, src_dur; + { + var start_frame = Index.kr(~source_indices_buf,index); // lookup the start frame with the index *one the server* using Index.kr + var end_frame = Index.kr(~source_indices_buf,index+1); // same for the end frame + var num_frames = end_frame - start_frame; + var dur_secs = min(num_frames / SampleRate.ir(~source_buf),src_dur); + var sig = PlayBuf.ar(1,~source_buf,BufRateScale.ir(~source_buf),0,start_frame,0,2); + var env = EnvGen.kr(Env([0,1,1,0],[0.03,dur_secs-0.06,0.03]),doneAction:2); + // sig = sig * env; // include this env if you like, but keep the line above because it will free the synth after the slice! + sig.dup; + }.play; +}; +) + +( +// ======================= 11. QUERY THE DRUM SONDS TO FIND "REPLACEMENTS" ==================== +// play back the drum slices with a .wait in between so we hear the drum loop +// is is very similar to step 8 above, but now instead of playing the slice of +// the drum loop, it get's the analysis of the drum loop's slice into "query_buf", +// then uses that info to lookup the nearest neighbour in the source dataset and +// play that slice +Routine{ + var query_buf = Buffer.alloc(s,~nmfccs); // a buffer for doing the neighbor lookup with + var scaled_buf = Buffer.alloc(s,~nmfccs); + ~target_indices_buf.loadToFloatArray(action:{ + arg target_indices_array; + + // prepend 0 (the start of the file) to the indices array + target_indices_array = [0] ++ target_indices_array; + + // append the total number of frames to know how long to play the last slice for + target_indices_array = target_indices_array ++ [~target_buf.numFrames]; + + + inf.do{ // loop for infinity + arg i; + + // get the index to play by modulo one less than the number of slices (we don't want to *start* playing from the + // last slice point, because that's the end of the file!) + var index = i % (target_indices_array.size - 1); + + // nb. that the minus one is so that the drum slice from the beginning of the file to the first index is call "-1" + // this is because that slice didn't actually get analyzed + var slice_id = index - 1; + var start_frame = target_indices_array[index]; + var dur_frames = target_indices_array[index + 1] - start_frame; + + // this will be used to space out the source slices according to the target timings + var dur_secs = dur_frames / ~target_buf.sampleRate; + + "target slice: %".format(slice_id).postln; + + // as long as this slice is not the one that starts at the beginning of the file (-1) and + // not the slice at the end of the file (because neither of these have analyses), let's + // do the lookup + if((slice_id >= 0) && (slice_id < (target_indices_array.size - 3)),{ + + // use the slice id to (re)create the slice identifier and load the data point into "query_buf" + ~target_dataset.getPoint("slice-%".format(slice_id.asInteger),query_buf,{ + // once it's loaded, scale it using the scaler + ~scaler.transformPoint(query_buf,scaled_buf,{ + // once it's neighbour data point in the kdtree of source slices + ~kdtree.kNearest(scaled_buf,{ + arg nearest; + + // peel off just the integer part of the slice to use in the helper function + var nearest_index = nearest.asString.split($-)[1].asInteger; + nearest_index.postln; + ~play_source_index.(nearest_index,dur_secs); + }); + }); + }); + }); + + // if you want to hear the drum set along side the neighbor slices, uncomment this function + /*{ + var sig = PlayBuf.ar(1,~target_buf,BufRateScale.ir(~target_buf),0,start_frame,0,2); + var env = EnvGen.kr(Env([0,1,1,0],[0.03,dur_secs-0.06,0.03]),doneAction:2); + // sig = sig * env; // include this env if you like, but keep the line above because it will free the synth after the slice! + sig.dup; + }.play;*/ + + dur_secs.wait; + }; + }); +}.play; +) \ No newline at end of file diff --git a/release-packaging/Examples/Guides/Buffer Slicing Analysis and Plotting.scd b/release-packaging/Examples/Guides/Buffer Slicing Analysis and Plotting.scd new file mode 100644 index 0000000..7fa01e9 --- /dev/null +++ b/release-packaging/Examples/Guides/Buffer Slicing Analysis and Plotting.scd @@ -0,0 +1,131 @@ +( +Window.closeAll; +s.waitForBoot{ + + Task{ + var buf = Buffer.read(s,File.realpath(FluidBufPitch.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Nicol-LoopE-M.wav"); + var slicepoints = Buffer(s); // FluidBufAmpSlice will write into this buffer the samples at which slices are detected. + var features_buf = Buffer(s); // a buffer for writing the analysis from FluidSpectralShape into + var stats_buf = Buffer(s); // a buffer for writing the statistic analyses into + var point_buf = Buffer(s,2); // a buffer that will be used to add points to the dataset - the analyses will be written into this buffer first + var ds = FluidDataSet(s); // a data set for storing the analysis of each slice (mean centroid & mean loudness) + var scaler = FluidNormalize(s); // a tool for normalizing a dataset (making it all range between zero and one) + var kdtree = FluidKDTree(s); // a kdtree for fast nearest neighbour lookup + + s.sync; + + FluidBufAmpSlice.process(s,buf,indices:slicepoints,fastRampUp:10,fastRampDown:2205,slowRampUp:4410,slowRampDown:4410,onThreshold:10,offThreshold:5,floor:-40,minSliceLength:4410,highPassFreq:20).wait; + // slice the drums buffer based on amplitude + // the samples at which slices are detected will be written into the "slicepoints" buffer + + FluidWaveform(buf,slicepoints,Rect(0,0,1600,400)); + // plot the drums buffer with the slicepoints overlayed + + slicepoints.loadToFloatArray(action:{ // bring the values in the slicepoints buffer from the server to the language as a float array + arg slicepoints_fa; // fa stands for float array + slicepoints_fa.postln; + slicepoints_fa.doAdjacentPairs{ + /* + take each of the adjacent pairs and pass them to this function as an array of 2 values + + nb. for example [0,1,2,3,4] will execute this function 4 times, passing these 2 value arrays: + [0,1] + [1,2] + [2,3] + [3,4] + + this will give us each slice point *and* the next slice point so that we + can tell the analyzers where to start analyzing and how many frames to analyze + */ + arg start_samps, end_samps, slice_i; + var num_samps = end_samps - start_samps; // the next slice point minus the current one will give us the difference how many slices to analyze) + + slice_i.postln; // post which slice index we're currently analyzing + + // the ".wait"s will pause the Task (that this whole things is in) until the analysis is done; + + FluidBufSpectralShape.process(s,buf,start_samps,num_samps,features:features_buf).wait; + /* analyze the drum buffer starting at `start_samps` and for `num_samps` samples + this returns a buffer (feautres_buf) that is 7 channels wide (for the 7 spectral analyses, see helpfile) and + however many frames long as there are fft frames in the slice */ + + FluidBufStats.process(s,features_buf,numChans:1,stats:stats_buf).wait; + /* perform a statistical analysis the spectral analysis, doing only the first channel (specified by `numChans:1`) + this will return just one channel because we asked it to analyze only 1 channel. that one channel will have 7 frames + corresponding to the 7 statistical analyses that it performs */ + + FluidBufCompose.process(s,stats_buf,0,1,destination:point_buf,destStartFrame:0).wait; + /* FluidBufCompose is essentially a "buf copy" operation. this will copy just the zeroth frame from `stats_buf` (mean) + into the zeroth buf of `point_buf` which is what we'll evenutally use to add the data to the dataset */ + + FluidBufLoudness.process(s,buf,start_samps,num_samps,features:features_buf).wait; + // do a loudness analysis + + FluidBufStats.process(s,features_buf,numChans:1,stats:stats_buf).wait; + // see above + + FluidBufCompose.process(s,stats_buf,0,1,destination:point_buf,destStartFrame:1).wait; + /* see above, but this time the mean loudnessi s being copied into the 1st frame of `point_buf` so that it doesn't overwrite the mean centroid */ + + ds.addPoint("point-%".format(slice_i),point_buf); + /* now that we've added the mean centroid and mean loudness into `point_buf`, we can use that buf to add the data that is in it to the dataset. + we also need to give it an identifer. here we're calling it "point-%", where the "%" is replaced by the index of the slice */ + + s.sync; + }; + }); + + scaler.fitTransform(ds,ds,{ + /* scale the dataset so that each dimension is scaled to between 0 and 1. this will do this operation "in place", so that once the + scaling is done on the dataset "ds" it will overwrite that dataset with the normalized values. that is why both the "sourceDataSet" and + "destDataSet" are the same here + */ + + kdtree.fit(ds,{ // fit the kdtree to the (now) normalized dataset + ds.dump({ // dump out that dataset to dictionary so that we can use it with the plotter! + arg ds_dict;// the dictionary version of this dataset + var previous = nil; // a variable for checking if the currently passed nearest neighbour is the same or different from the previous one + FluidPlotter(bounds:Rect(0,0,800,800),dict:ds_dict,mouseMoveAction:{ + /* make a FluidPlotter. nb. the dict is the dict from a FluidDataSet.dump. the mouseMoveAction is a callback function that is called + anytime the mouseDownAction or mouseMoveAction function is called on this view. i.e., anytime you click or drag on this plotter */ + + arg view, x, y, modifiers; + /* the function is passed: + (1) itself + (2) mouse x position (scaled to what the view's scales are) + (3) mouse y position (scaled to what the view's scales are) + (4) modifier keys that are pressed while clicking or dragging + */ + point_buf.setn(0,[x,y]); // write the x y position into a buffer so that we can use it to... + kdtree.kNearest(point_buf,{ // look up the nearest slice to that x y position + arg nearest; // this is reported back as a symbol, so... + nearest = nearest.asString; // we'll convert it to a string here + + if(nearest != previous,{ + /* if it's not the last one that was found, we can do something with it. this + is kind of like a debounce. we just don't want to retrigger this action each time a drag + happens if it is actually the same nearest neighbor*/ + + var index = nearest.split($-)[1].interpret; + // split at the hyphen and interpret the integer on the end to find out what slice index it is + + { + var startPos = Index.kr(slicepoints,index); // look up the start sample based on the index + var endPos = Index.kr(slicepoints,index + 1); // look up the end sample based on the index + var dur_secs = (endPos - startPos) / BufSampleRate.ir(buf); // figure out how long it is in seconds to create an envelope + var env = EnvGen.kr(Env([0,1,1,0],[0.03,dur_secs-0.06,0.03]),doneAction:2); + var sig = PlayBuf.ar(1,buf,BufRateScale.ir(buf),startPos:startPos); + sig.dup * env; + }.play; // play it! + + view.highlight_(nearest); // make this point a little bit bigger in the plot + previous = nearest; + }); + }); + }); + }); + }); + }); + }.play(AppClock); +} +) \ No newline at end of file diff --git a/release-packaging/Examples/Guides/Classify Timbre with a Neural Network.scd b/release-packaging/Examples/Guides/Classify Timbre with a Neural Network.scd new file mode 100644 index 0000000..d3c68b2 --- /dev/null +++ b/release-packaging/Examples/Guides/Classify Timbre with a Neural Network.scd @@ -0,0 +1,231 @@ +( +// 1. Instantiate some of the things we need. +Window.closeAll; +s.options.sampleRate_(48000); +s.options.device_("Fireface UC Mac (24006457)"); +s.waitForBoot{ + Task{ + var win; + ~nMFCCs = 13; + ~trombone = Buffer.read(s,"/Users/macprocomputer/Desktop/_flucoma/code/flucoma-core-src/AudioFiles/Olencki-TenTromboneLongTones-M.wav"); + ~oboe = Buffer.read(s,"/Users/macprocomputer/Desktop/_flucoma/code/flucoma-core-src/AudioFiles/Harker-DS-TenOboeMultiphonics-M.wav"); + ~timbre_buf = Buffer.alloc(s,~nMFCCs); + ~ds = FluidDataSet(s); + ~labels = FluidLabelSet(s); + ~point_counter = 0; + + s.sync; + + win = Window("MFCCs",Rect(0,0,800,300)); + + ~mfcc_multislider = MultiSliderView(win,win.bounds) + .elasticMode_(true) + .size_(~nMFCCs); + + win.front; + + }.play(AppClock); +}; +) + +/* +2. Play some trombone sounds. +*/ +( +{ + var sig = PlayBuf.ar(1,~trombone,BufRateScale.ir(~trombone),doneAction:2); + var mfccs = FluidMFCC.kr(sig,~nMFCCs,40,1,maxNumCoeffs:~nMFCCs); + SendReply.kr(Impulse.kr(30),"/mfccs",mfccs); + FluidKrToBuf.kr(mfccs,~timbre_buf); + sig.dup; +}.play; + +OSCFunc({ + arg msg; + {~mfcc_multislider.value_(msg[3..].linlin(-30,30,0,1))}.defer; +},"\mfccs"); +) + +/* +3. When you know the MFCC buf has trombone timbre data in it +(because you hear trombone and see it in the multislider), +execute this next block to add points to the dataset and +labels to the label set. + +Avoid adding points when there is silence inbetween trombone +tones, because... silence isn't trombone, so we don't want +to label it that way. + +Try adding points continuously during the first three or so +trombone tones. We'll save the rest to test on later. +*/ +( +var id = "example-%".format(~point_counter); +~ds.addPoint(id,~timbre_buf); +~labels.addLabel(id,"trombone"); +~point_counter = ~point_counter + 1; +) + +/* +4. Play some oboe sounds. +*/ +( +{ + var sig = PlayBuf.ar(1,~oboe,BufRateScale.ir(~oboe),doneAction:2); + var mfccs = FluidMFCC.kr(sig,~nMFCCs,40,1,maxNumCoeffs:~nMFCCs); + SendReply.kr(Impulse.kr(30),"/mfccs",mfccs); + FluidKrToBuf.kr(mfccs,~timbre_buf); + sig.dup; +}.play; + +OSCFunc({ + arg msg; + {~mfcc_multislider.value_(msg[3..].linlin(-30,30,0,1))}.defer; +},"\mfccs"); +) + +/* +5. All same as before with the trombone sounds. +*/ +( +var id = "example-%".format(~point_counter); +~ds.addPoint(id,~timbre_buf); +~labels.addLabel(id,"oboe"); +~point_counter = ~point_counter + 1; +) + +/* +6. Make an MLPClassifier (neural network) to train. For more information about the parameters +visit: https://learn.flucoma.org/reference/mlpclassifier +*/ +~mlpclassifier = FluidMLPClassifier(s,[5],1,learnRate:0.05,batchSize:5,validation:0.1); + +/* +7. You may want to do a ".fit" more than once. For this task a loss value less than 0.01 would +be pretty good. Loss values however are always very relative so it's not really possible +to make objective observations about what one should "aim" for with a loss value. The best +way to know if a neural network is successfully performing the task you would like it to +is to test it. Probably using examples that it has never seen before. +*/ +( +~mlpclassifier.fit(~ds,~labels,{ + arg loss; + loss.postln; +}); +) + +/* +8. Make a prediction buffer to write the MLPClassifier's predictions into. The predictions that +it outputs to a buffer are integers. "0" will be represent what ever the "zeroth" example +label it saw was (because we always start counting from zero in these cases). "1" will represent +the "first" example label it saw, etc. +*/ +~prediction_buf = Buffer.alloc(s,1); + +/* +9. Play some trombone sounds and make some predictions. It should show a 0. +*/ +( +{ + var sig = PlayBuf.ar(1,~trombone,BufRateScale.ir(~trombone),doneAction:2); + var mfccs = FluidMFCC.kr(sig,~nMFCCs,40,1,maxNumCoeffs:~nMFCCs); + FluidKrToBuf.kr(mfccs,~timbre_buf); + ~mlpclassifier.kr(Impulse.kr(30),~timbre_buf,~prediction_buf); + FluidBufToKr.kr(~prediction_buf).poll; + sig.dup; +}.play; +) + +/* +10. Play some oboe sounds and make some predictions. It should show a 1. +*/ +( +{ + var sig = PlayBuf.ar(1,~oboe,BufRateScale.ir(~oboe),doneAction:2); + var mfccs = FluidMFCC.kr(sig,~nMFCCs,40,1,maxNumCoeffs:~nMFCCs); + FluidKrToBuf.kr(mfccs,~timbre_buf); + ~mlpclassifier.kr(Impulse.kr(30),~timbre_buf,~prediction_buf); + FluidBufToKr.kr(~prediction_buf).poll; + sig.dup; +}.play; +) + +/* +11. During the silences it is reporting either trombone or oboe, because that's all +it knows about, let's zero out the timbre_buf to simulate silence and then add +some points that are labeled "silence". +*/ +~timbre_buf.setn(0,0.dup(~nMFCCs)) + +( +100.do{ + var id = "example-%".format(~point_counter); + ~ds.addPoint(id,~timbre_buf); + ~labels.addLabel(id,"silence"); + ~point_counter = ~point_counter + 1; +}; +) + +~ds.print; +~labels.print; + +~ds.write("/Users/macprocomputer/Desktop/_flucoma/code/Utrecht-2021/Lesson_Plans/classifier (pre-workshop)/%_ds.json".format(Date.localtime.stamp)); +~labels.write("/Users/macprocomputer/Desktop/_flucoma/code/Utrecht-2021/Lesson_Plans/classifier (pre-workshop)/%_labels.json".format(Date.localtime.stamp)) + +/* +12. Now go retrain some more and do some more predictions. The silent gaps between +tones should now report a "2". +*/ + +// ========================= DATA VERIFICATION ADDENDUM ============================ + +// This data is pretty well separated, except for that one trombone point. +~ds.read("/Users/macprocomputer/Desktop/_flucoma/code/Utrecht-2021/Lesson_Plans/classifier (pre-workshop)/211102_122330_ds.json"); +~labels.read("/Users/macprocomputer/Desktop/_flucoma/code/Utrecht-2021/Lesson_Plans/classifier (pre-workshop)/211102_122331_labels.json"); + +/* +This data is not well separated. Once can see that in the cluster that should probably be all silences, +there is a lot of oboe and trombone points mixed in! + +This will likely be confusing to a neural network! +*/ + +~ds.read("/Users/macprocomputer/Desktop/_flucoma/code/Utrecht-2021/Lesson_Plans/classifier (pre-workshop)/211102_122730_ds.json"); +~labels.read("/Users/macprocomputer/Desktop/_flucoma/code/Utrecht-2021/Lesson_Plans/classifier (pre-workshop)/211102_122731_labels.json"); + +( +Task{ + ~stand = FluidStandardize(s); + ~ds_plotter = FluidDataSet(s); + ~umap = FluidUMAP(s,2,30,0.5); + ~normer = FluidNormalize(s); + ~kdtree = FluidKDTree(s); + ~pt_buf = Buffer.alloc(s,2); + s.sync; + + ~stand.fitTransform(~ds,~ds_plotter,{ + ~umap.fitTransform(~ds_plotter,~ds_plotter,{ + ~normer.fitTransform(~ds_plotter,~ds_plotter,{ + ~kdtree.fit(~ds_plotter,{ + ~ds_plotter.dump({ + arg ds_dict; + ~labels.dump({ + arg label_dict; + // label_dict.postln; + ~plotter = FluidPlotter(bounds:Rect(0,0,800,800),dict:ds_dict,mouseMoveAction:{ + arg view, x, y; + ~pt_buf.setn(0,[x,y]); + ~kdtree.kNearest(~pt_buf,{ + arg nearest; + "%:\t%".format(nearest,label_dict.at("data").at(nearest.asString)[0]).postln; + }); + }); + ~plotter.categories_(label_dict); + }); + }); + }); + }); + }); + }); +}.play(AppClock); +) \ No newline at end of file diff --git a/release-packaging/Examples/Guides/DataSetQuery to Filter Out some Data Points.scd b/release-packaging/Examples/Guides/DataSetQuery to Filter Out some Data Points.scd new file mode 100644 index 0000000..6987910 --- /dev/null +++ b/release-packaging/Examples/Guides/DataSetQuery to Filter Out some Data Points.scd @@ -0,0 +1,72 @@ +( +// run the analysis +Routine{ + var time = Main.elapsedTime; + var ds = FluidDataSet(s); + var labels = FluidLabelSet(s); + var scaler = FluidStandardize(s); + var buf1 = Buffer.alloc(s,1); + var dsq = FluidDataSetQuery(s); + + ~pitch_features_buf = Buffer.new(s); + // specify some params for the analysis (these are the defaults, but we'll specify them here so we can use them later) + ~windowSize = 4096; + ~hopSize = 512; + + ~buf = Buffer.read(s,"/Users/macprocomputer/Desktop/_flucoma/code/flucoma-core-src/AudioFiles/Tremblay-FMTri-M.wav"); + + s.sync; + + FluidBufPitch.process(s,~buf,features:~pitch_features_buf,windowSize:~windowSize,hopSize:~hopSize).wait; + // {~pitch_features_buf.plot(separately:true)}.defer; + + ds.fromBuffer(~pitch_features_buf,action:{ + ds.print; + /*dsq.addRange(0,2,{ + dsq.filter(1,">",0.7,{ + dsq.transform(ds,ds,{ + ds.print;*/ + ds.dump({ + arg dict; + ~pitch_features_array = Array.newClear(dict.at("data").size); + dict.at("data").keysValuesDo({ + arg id, pt, i; + ~pitch_features_array[i] = [id,pt]; + }); + + ~pitch_features_sorted = ~pitch_features_array.sort({ + arg a, b; + a[1][0] < b[1][0]; + }); + + ~center_pos = ~pitch_features_sorted.collect({arg arr; (arr[0].asInteger * ~hopSize) / ~buf.sampleRate}); + + ~center_pos_buf = Buffer.loadCollection(s,~center_pos); + }); + /*}); + }); + });*/ + }); +}.play +) + +( +OSCdef(\fluidbufpitch_help,{ + arg msg; + msg[3].midiname.postln; +},"/fluidbufpitch_help"); + +{ + var trig = Impulse.kr(s.sampleRate / ~hopSize); + var index = (PulseCount.kr(trig) - 1) % BufFrames.ir(~center_pos_buf); + var centerPos = Index.kr(~center_pos_buf,index); + var pan = TRand.kr(-1.0,1.0,trig); + var sig; + var pitch, conf; + sig = TGrains.ar(2,trig,~buf,BufRateScale.ir(~buf),centerPos,~windowSize / BufSampleRate.ir(~buf),pan,0.5); + # pitch, conf = FluidPitch.kr(sig,unit:1,windowSize:4096); + pitch = FluidStats.kr(pitch,25)[0]; + SendReply.kr(Impulse.kr(30) * (conf > 0.6),"/fluidbufpitch_help",pitch); + sig; +}.play; +) \ No newline at end of file diff --git a/release-packaging/Examples/Guides/Decomposition Examples.scd b/release-packaging/Examples/Guides/Decomposition Examples.scd new file mode 100644 index 0000000..2141130 --- /dev/null +++ b/release-packaging/Examples/Guides/Decomposition Examples.scd @@ -0,0 +1,129 @@ +/* ================= FluidSines ================= +FluidSines will extract a sound into a sinusoidal and residual component. It does this by trying to recreate the input sound with a sinusoidal model. Anything that it can't confidently form as a sinusoid, is considered "residual". + +Useful for separating the stable, pitched components of a sound from the rest. +*/ + +// sines in L, residual in R +~buf = Buffer.read(s,File.realpath(FluidSines.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-AaS-SynthTwoVoices-M.wav"); + +( +y = { + var sig = PlayBuf.ar(1,~buf,BufRateScale.ir(~buf),loop:1); + var sines, residual; + # sines, residual = FluidSines.ar(sig,detectionThreshold:-40,minTrackLen:2); + [sines,residual]; +}.play; +) + +// isolate just sines or residual; +~song = Buffer.readChannel(s,File.realpath(FluidSines.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-beatRemember.wav",channels:[0]); + +( +y = { + arg mix = 0.5; + var sig = PlayBuf.ar(1,~song,BufRateScale.ir(~song),loop:1); + var sines, residual; + # sines, residual = FluidSines.ar(sig); + sig = SelectX.ar(mix,[sines,residual]); + sig.dup; +}.play; +) + +// just sines +y.set(\mix,0); + +// just residual +y.set(\mix,1); + +// a stereo example +~song = Buffer.read(s,File.realpath(FluidSines.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-beatRemember.wav"); + +( +y = { + arg mix = 0.5; + var sig = PlayBuf.ar(2,~song,BufRateScale.ir(~buf),loop:1); + var l, r, sinesL, residualL, sinesR, residualR, sines, residual; + # l, r = FluidSines.ar(sig); + # sinesL, residualL = l; + # sinesR, residualR = r; + sig = SelectX.ar(mix,[[sinesL,sinesR],[residualL,residualR]]); + sig; +}.play; +) + +// just sines +y.set(\mix,0); + +// just residual +y.set(\mix,1); + +// send just the 'sines' to a Reverb +( +{ + var sig = PlayBuf.ar(1,~song,BufRateScale.ir(~buf),loop:1); + var sines, residual; + var latency = ((15 * 512) + 1024 ) / ~song.sampleRate; + # sines, residual = FluidSines.ar(sig); + DelayN.ar(sig,latency,latency) + GVerb.ar(sines); +}.play; +) + +// send just the 'residual' to a Reverb +( +{ + var sig = PlayBuf.ar(1,~song,BufRateScale.ir(~buf),loop:1); + var sines, residual; + var latency = ((15 * 512) + 1024 ) / ~song.sampleRate; + # sines, residual = FluidSines.ar(sig); + DelayN.ar(sig,latency,latency) + GVerb.ar(residual); +}.play; +) + +/* ============== FluidHPSS =============== +FluidHPSS separates a sound into "harmonic" and "percussive" components. This can be useful for material where there is a somewhat realistic basis for these two types to exist, such as in a drum hit. It can also be interesting on material where the two are merged together in more complex ways. +*/ + +//load a soundfile to play +~buf = Buffer.readChannel(s,File.realpath(FluidSines.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-beatRemember.wav",channels:[0]); + +// run with basic parameters (left is harmonic, right is percussive) +{FluidHPSS.ar(PlayBuf.ar(1,~buf,loop:1))}.play + +// run in mode 2, listening to: +//the harmonic stream +{FluidHPSS.ar(PlayBuf.ar(1,~buf,loop:1),maskingMode:2)[0].dup}.play +// the percussive stream +{FluidHPSS.ar(PlayBuf.ar(1,~buf,loop:1),maskingMode:2)[1].dup}.play +// the residual stream +{FluidHPSS.ar(PlayBuf.ar(1,~buf,loop:1),maskingMode:2)[2].dup}.play + +// do the above again with another sound file +~buf = Buffer.read(s,File.realpath(FluidSines.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Nicol-LoopE-M.wav"); + +/* =================== FluidTransients ========================= +FluidTransients can separate out transient from residual material. Transient is quite a fuzzy term depending on who you are talking to. Producers might use it to talk about any sound that is bright, loud or percussive while an engineer could be referring to a short, full spectrum change in the signal. + +This algorithm is based on a "de-clicking" audio restoration approach. +*/ + +//load some buffer +~buf = Buffer.read(s,File.realpath(FluidTransients.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-AaS-SynthTwoVoices-M.wav"); + +// basic parameters +{FluidTransients.ar(PlayBuf.ar(1, ~buf, loop:1))}.play + +// just the transients +{FluidTransients.ar(PlayBuf.ar(1, ~buf, loop:1))[0].dup}.play + +// =================== Audio Transport ========================= +//load 2 files +( +b = Buffer.read(s,File.realpath(FluidAudioTransport.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-CEL-GlitchyMusicBoxMelo.wav"); +c = Buffer.read(s,File.realpath(FluidAudioTransport.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-CF-ChurchBells.wav"); +) +//listen to them +b.play +c.play +//stereo cross! +{FluidAudioTransport.ar(PlayBuf.ar(2,b,loop: 1),PlayBuf.ar(2,c,loop: 1),MouseX.kr())}.play; \ No newline at end of file diff --git a/release-packaging/Examples/Guides/Dimensionality Reduction (2D sound browsing).scd b/release-packaging/Examples/Guides/Dimensionality Reduction (2D sound browsing).scd new file mode 100644 index 0000000..d0e0a3f --- /dev/null +++ b/release-packaging/Examples/Guides/Dimensionality Reduction (2D sound browsing).scd @@ -0,0 +1,373 @@ +s.boot; +// 1. Load a folder of sounds +( +~load_folder = { + arg folder_path, action; + var loader = FluidLoadFolder(folder_path); + loader.play(s,{ + "loaded % soundfiles".format(loader.index.size).postln; + action.(loader.buffer); + }); +}; +// 2. Slice +~slice = { + arg buffer, action; + Routine{ + var indices = Buffer(s); + s.sync; + FluidBufNoveltySlice.process(s,buffer,indices:indices,threshold:0.5,action:{ + "% slices found".format(indices.numFrames).postln; + "average duration in seconds: %".format(buffer.duration/indices.numFrames).postln; + action.(buffer,indices); + }); + }.play; +}; +// 3. Analyze +~analyze = { + arg buffer, indices, action; + Routine{ + var feature_buf = Buffer(s); + var stats_buf = Buffer(s); + var point_buf = Buffer(s); + var cond = Condition.new; + var ds = FluidDataSet(s); + s.sync; + indices.loadToFloatArray(action:{ + arg fa; + fa.doAdjacentPairs{ + arg start, end, i; + var num = end - start; + + // === PICK YOUR ANALYSIS (JUST CHOOSE 1) === + FluidBufMFCC.process(s,buffer,start,num,features:feature_buf,numCoeffs:13,startCoeff:1).wait; + // FluidBufChroma.process(s,~loader.buffer,start,num,features:feature_buf).wait; + // FluidBufSpectralShape.process(s,buffer,start,num,features:feature_buf).wait; + //FluidBufPitch.process(s,buffer,start,num,features:feature_buf).wait; + + FluidBufStats.process(s,feature_buf,stats:stats_buf).wait; + FluidBufFlatten.process(s,stats_buf,numFrames:1,destination:point_buf).wait; + + ds.addPoint("slice-%".format(i),point_buf); + "% / % done".format(i+1,indices.numFrames-1).postln; + }; + + ds.print; + action.(buffer,indices,ds); + }); + }.play; +}; +// 4. Reduce to 2 Dimensions +~umap = { + arg buffer, indices, ds, action, numNeighbours = 15, minDist = 0.1; + Routine{ + var standardizer = FluidStandardize(s); + var umap = FluidUMAP(s,2,numNeighbours,minDist); + + var redux_ds = FluidDataSet(s); + + s.sync; + + standardizer.fitTransform(ds,redux_ds,{ + "standardization done".postln; + umap.fitTransform(redux_ds,redux_ds,{ + "umap done".postln; + action.(buffer,indices,redux_ds); + }); + }); + }.play; +}; +// 5. Gridify if Desired +~grid = { + arg buffer, indices, redux_ds, action; + Routine{ + var normer = FluidNormalize(s); + var grider = FluidGrid(s); + var newds = FluidDataSet(s); + + s.sync; + + normer.fitTransform(redux_ds,newds,{ + "normalization done".postln; + grider.fitTransform(newds,newds,{ + "grid done".postln; + action.(buffer,indices,newds); + }); + }); + }.play; +}; +// 6. Plot +~plot = { + arg buffer, indices, redux_ds, action; + Routine{ + var kdtree = FluidKDTree(s); + var buf_2d = Buffer.alloc(s,2); + var scaler = FluidNormalize(s); + var newds = FluidDataSet(s); + var xmin = 0, xmax = 1, ymin = 0, ymax = 1; + + s.sync; + + scaler.fitTransform(redux_ds,newds,{ + "scaling done".postln; + kdtree.fit(newds,{ + "kdtree fit".postln; + newds.dump({ + arg dict; + var previous, fp; + "ds dumped".postln; + fp = FluidPlotter(nil,Rect(0,0,800,800),dict,xmin:xmin,xmax:xmax,ymin:ymin,ymax:ymax,mouseMoveAction:{ + arg view, x, y; + [x,y].postln; + buf_2d.setn(0,[x,y]); + kdtree.kNearest(buf_2d,{ + arg nearest; + if(previous != nearest,{ + var index = nearest.asString.split($-)[1].asInteger; + previous = nearest; + nearest.postln; + index.postln; + { + var startPos = Index.kr(indices,index); + var dur_samps = Index.kr(indices,index + 1) - startPos; + var sig = PlayBuf.ar(1,buffer,BufRateScale.ir(buffer),startPos:startPos); + var dur_sec = dur_samps / BufSampleRate.ir(buffer); + var env = EnvGen.kr(Env([0,1,1,0],[0.03,dur_sec-0.06,0.03]),doneAction:2); + sig.dup * env; + }.play; + }); + }); + }); + action.(fp,newds); + }); + }); + }); + }.play; +}; +) + +~load_folder.("/Users/macprocomputer/Desktop/_flucoma/favs mono fewer/"); + +~slice.(); + +~indices.postln; + +FluidWaveform(~loader.buffer,~indices); + +~analyze.(); + +~umap.(); + +~grid.(); + +~plot.(); + +FluidLabelSet + +// ============== do all of it ======================= +( +var path = "/Users/macprocomputer/Desktop/_flucoma/data_saves/%_2D_browsing_Pitch".format(Date.localtime.stamp); +~load_folder.("/Users/macprocomputer/Desktop/_flucoma/favs mono/",{ + arg buffer0; + ~slice.(buffer0,{ + arg buffer1, indices1; + ~analyze.(buffer1, indices1,{ + arg buffer2, indices2, ds2; + + /* path.mkdir; + buffer2.write(path+/+"buffer.wav","wav"); + indices2.write(path+/+"indices.wav","wav","float"); + ds2.write(path+/+"ds.json");*/ + + ~umap.(buffer2,indices2,ds2,{ + arg buffer3, indices3, ds3; + + /* path.mkdir; + buffer3.write(path+/+"buffer.wav","wav"); + indices3.write(path+/+"indices.wav","wav","float"); + ds3.write(path+/+"ds.json");*/ + + ~plot.(buffer3,indices3,ds3,{ + arg plotter; + "done with all".postln; + ~fp = plotter; + }); + }); + }); + }); +}); +) + +/*=============== Know Your Data ================= + +hmmm... there's a lot of white space in that UMAP plot. A few options: + +1. Adjust the parameters of UMAP to make the plot look different. +- minDist +- numNeighbours +2. Gridify the whole thing to spread it out. +3. Remove some of the outliers to get a more full shape. + +===================================================*/ + +// #2 +( +Window.closeAll; +Task{ + var folder = "/Users/macprocomputer/Desktop/_flucoma/data_saves/211103_121441_2D_browsing/"; + var ds = FluidDataSet(s); + var buffer = Buffer.read(s,folder+/+"buffer.wav"); + var indices = Buffer.read(s,folder+/+"indices.wav"); + var normalizer = FluidNormalize(s); + var ds_grid = FluidDataSet(s); + var grid = FluidGrid(s); + var kdtree = FluidKDTree(s); + var pt_buf = Buffer.alloc(s,2); + + s.sync; + + ds.read(folder+/+"ds.json",{ + "read".postln; + normalizer.fitTransform(ds,ds_grid,{ + "normalized".postln; + grid.fitTransform(ds_grid,ds_grid,{ + "grid done".postln; + normalizer.fitTransform(ds_grid,ds_grid,{ + "normalized".postln; + kdtree.fit(ds_grid,{ + "tree fit".postln; + normalizer.fitTransform(ds,ds,{ + "normalized".postln; + ds.dump({ + arg ds_dict; + ds_grid.dump({ + arg ds_grid_dict; + + defer{ + var distances = Dictionary.new; + var max_dist = 0; + var win, plotter, uv; + + var previous; + ds_dict.at("data").keysValuesDo({ + arg id, pt; + var other, pt0, pt1, dist, distpoint; + + /* + id.postln; + pt.postln; + "".postln; + */ + + other = ds_grid_dict.at("data").at(id); + pt0 = Point(pt[0],pt[1]); + pt1 = Point(other[0],other[1]); + dist = pt0.dist(pt1); + distpoint = Dictionary.new; + + if(dist > max_dist,{max_dist = dist}); + + distpoint.put("pt0",pt0); + distpoint.put("pt1",pt1); + distpoint.put("dist",dist); + distances.put(id,distpoint); + }); + win = Window("FluidGrid",Rect(0,0,800,800)); + win.background_(Color.white); + uv = UserView(win,win.bounds) + .drawFunc_({ + var size_pt = Point(uv.bounds.width,uv.bounds.height); + + distances.keysValuesDo({ + arg id, distpoint; + var alpha = distpoint.at("dist") / max_dist; + var pt0 = distpoint.at("pt0") * size_pt; + var pt1 = distpoint.at("pt1") * size_pt; + + pt0.y = uv.bounds.height - pt0.y; + pt1.y = uv.bounds.height - pt1.y; + + /* id.postln; + distpoint.postln; + alpha.postln; + "".postln; + */ + + Pen.line(pt0,pt1); + Pen.color_(Color(1.0,0.0,0.0,0.25)); + Pen.stroke; + }); + }); + + plotter = FluidPlotter(win,win.bounds,ds_dict,{ + arg view, x, y; + pt_buf.setn(0,[x,y]); + kdtree.kNearest(pt_buf,{ + arg nearest; + if(previous != nearest,{ + var index = nearest.asString.split($-)[1].asInteger; + previous = nearest; + nearest.postln; + index.postln; + { + var startPos = Index.kr(indices,index); + var dur_samps = Index.kr(indices,index + 1) - startPos; + var sig = PlayBuf.ar(1,buffer,BufRateScale.ir(buffer),startPos:startPos); + var dur_sec = dur_samps / BufSampleRate.ir(buffer); + var env = EnvGen.kr(Env([0,1,1,0],[0.03,dur_sec-0.06,0.03]),doneAction:2); + sig.dup * env; + }.play; + }); + }); + }); + plotter.background_(Color(0,0,0,0)); + + ds_grid_dict.at("data").keysValuesDo({ + arg id, pt; + plotter.addPoint_("%-grid".format(id),pt[0],pt[1],0.75,Color.blue.alpha_(0.5)); + }); + + win.front; + }; + }) + }); + }); + }); + }); + }); + }); + }); +}.play(AppClock); +) + +// #3 +( +Routine{ + var folder = "/Users/macprocomputer/Desktop/_flucoma/data_saves/211103_152523_2D_browsing/"; + var ds = FluidDataSet(s); + var buffer = Buffer.read(s,folder+/+"buffer.wav"); + var indices = Buffer.read(s,folder+/+"indices.wav"); + var robust_scaler = FluidRobustScale(s,10,90); + var newds = FluidDataSet(s); + var dsq = FluidDataSetQuery(s); + s.sync; + + // {indices.plot}.defer; + ds.read(folder+/+"ds.json",{ + robust_scaler.fitTransform(ds,newds,{ + dsq.addRange(0,2,{ + dsq.filter(0,">",-1,{ + dsq.and(0,"<",1,{ + dsq.and(1,">",-1,{ + dsq.and(1,"<",1,{ + dsq.transform(newds,newds,{ + ~plot.(buffer,indices,newds); + }); + }); + }); + }); + }); + }); + }) + }); +}.play; +) \ No newline at end of file diff --git a/release-packaging/Examples/Guides/Find the 5 Nearest Slices using KDTree.scd b/release-packaging/Examples/Guides/Find the 5 Nearest Slices using KDTree.scd new file mode 100644 index 0000000..4b78122 --- /dev/null +++ b/release-packaging/Examples/Guides/Find the 5 Nearest Slices using KDTree.scd @@ -0,0 +1,108 @@ +( +Task{ + var folder = "/Users/macprocomputer/Desktop/_flucoma/data_saves/211103_152953_2D_browsing_MFCC/"; + // var folder = "/Users/macprocomputer/Desktop/_flucoma/data_saves/211103_161354_2D_browsing_SpectralShape/"; + // var folder = "/Users/macprocomputer/Desktop/_flucoma/data_saves/211103_161638_2D_browsing_Pitch/"; + ~ds_original = FluidDataSet(s); + ~buffer = Buffer.read(s,folder+/+"buffer.wav"); + ~indices = Buffer.read(s,folder+/+"indices.wav"); + ~kdtree = FluidKDTree(s,6); + ~ds = FluidDataSet(s); + + s.sync; + + ~indices.loadToFloatArray(action:{ + arg fa; + ~indices = fa; + }); + + ~ds_original.read(folder+/+"ds.json",{ + ~ds.read(folder+/+"ds.json",{ + ~kdtree.fit(~ds,{ + ~ds.dump({ + arg dict; + ~ds_dict = dict; + "kdtree fit".postln; + }); + }); + }); + }); +}.play; + +~play_id = { + arg id; + var index = id.asString.split($-)[1].asInteger; + var start_samps = ~indices[index]; + var end_samps = ~indices[index+1]; + var dur_secs = (end_samps - start_samps) / ~buffer.sampleRate; + { + var sig = PlayBuf.ar(1,~buffer,BufRateScale.ir(~buffer),startPos:start_samps); + var env = EnvGen.kr(Env([0,1,1,0],[0.03,dur_secs-0.06,0.03]),doneAction:2); + sig.dup;// * env; + }.play; + dur_secs; +}; +~pt_buf = Buffer.alloc(s,~ds_dict.at("cols")); +) + +( +// hear the 5 nearest points +Routine{ + // var id = "slice-558"; + var id = ~ds_dict.at("data").keys.choose; + ~ds.getPoint(id,~pt_buf,{ + ~kdtree.kNearest(~pt_buf,{ + arg nearest; + Routine{ + id.postln; + ~play_id.(id).wait; + nearest[1..].do{ + arg near; + 1.wait; + near.postln; + ~play_id.(near).wait; + }; + }.play; + }) + }); +}.play; +) + +// Standardize +( +Routine{ + var scaler = FluidStandardize(s); + s.sync; + scaler.fitTransform(~ds_original,~ds,{ + ~kdtree.fit(~ds,{ + "standardized & kdtree fit".postln; + }); + }); +}.play; +) + +// Normalize +( +Routine{ + var scaler = FluidNormalize(s); + s.sync; + scaler.fitTransform(~ds_original,~ds,{ + ~kdtree.fit(~ds,{ + "normalized & kdtree fit".postln; + }); + }); +}.play; +) + +// Robust Scaler +( +Routine{ + var scaler = FluidRobustScale(s); + s.sync; + scaler.fitTransform(~ds_original,~ds,{ + ~kdtree.fit(~ds,{ + "normalized & kdtree fit".postln; + }); + }); +}.play; +) \ No newline at end of file diff --git a/release-packaging/Examples/Guides/NMF Overview.scd b/release-packaging/Examples/Guides/NMF Overview.scd new file mode 100644 index 0000000..7adf4f9 --- /dev/null +++ b/release-packaging/Examples/Guides/NMF Overview.scd @@ -0,0 +1,150 @@ +s.options.sampleRate_(44100); +s.options.device_("Fireface UC Mac (24006457)"); + +( +// decompose! +s.waitForBoot{ + Routine{ + var drums = Buffer.read(s,File.realpath(FluidBufNMF.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Nicol-LoopE-M.wav"); + var resynth = Buffer(s); + var n_components = 2; + FluidBufNMF.process(s,drums,resynth:resynth,components:n_components).wait; + + "original sound".postln; + { + PlayBuf.ar(1,drums,BufRateScale.ir(drums),doneAction:2).dup; + }.play; + + (drums.duration + 1).wait; + + n_components.do{ + arg i; + + "decomposed part #%".format(i+1).postln; + { + PlayBuf.ar(n_components,resynth,BufRateScale.ir(resynth),doneAction:2)[i].dup; + }.play; + + (drums.duration + 1).wait; + }; + + "all decomposed parts spread across the stereo field".postln; + + { + Splay.ar(PlayBuf.ar(n_components,resynth,BufRateScale.ir(resynth),doneAction:2)); + }.play; + + }.play; +} +) + +// ok so what is it doing? +( +Routine{ + var n_components = 2; + var drums = Buffer.read(s,File.realpath(FluidBufNMF.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Nicol-LoopE-M.wav"); + ~bases = Buffer(s); + ~activations = Buffer(s); + ~resynth = Buffer(s); + FluidBufNMF.process(s,drums,bases:~bases,activations:~activations,resynth:~resynth,components:n_components).wait; + { + ~bases.plot("bases"); + ~activations.plot("activations"); + }.defer; +}.play; +) + +// base as a filter +( +Routine{ + var drums = Buffer.read(s,File.realpath(FluidBufNMF.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Nicol-LoopE-M.wav"); + var voice = Buffer.read(s,File.realpath(FluidBufNMF.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-AaS-VoiceQC-B2K-M.wav"); + var song = Buffer.read(s,File.realpath(FluidBufNMF.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-beatRemember.wav"); + s.sync; + + "drums through the drums bases as filters".postln; + { + var src = PlayBuf.ar(1,drums,BufRateScale.ir(drums),doneAction:2); + var sig = FluidNMFFilter.ar(src,~bases,2); + sig; + }.play; + + (drums.duration+1).wait; + + "voice through the drum bases as filters".postln; + { + var src = PlayBuf.ar(1,voice,BufRateScale.ir(voice),doneAction:2); + var sig = FluidNMFFilter.ar(src,~bases,2); + sig; + }.play; + + (voice.duration+1).wait; + + "song through the drum bases as filters".postln; + { + var src = PlayBuf.ar(2,song,BufRateScale.ir(song),doneAction:2)[0]; + var sig = FluidNMFFilter.ar(src,~bases,2); + sig; + }.play; +}.play; +) + +// activations as an envelope +( +{ + var activation = PlayBuf.ar(2,~activations,BufRateScale.ir(~activations),doneAction:2); + var sig = WhiteNoise.ar(0.dbamp) * activation; + sig; +}.play; +) + +// put them together... +( +{ + var activation = PlayBuf.ar(2,~activations,BufRateScale.ir(~activations),doneAction:2); + var sig = WhiteNoise.ar(0.dbamp); + sig = FluidNMFFilter.ar(sig,~bases,2) * activation; + sig; +}.play; +) + +// as a matcher, train on only 4 of the 22 seconds + +( +Task{ + var dog = Buffer.readChannel(s,File.realpath(FluidBufNMF.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-BaB-SoundscapeGolcarWithDog.wav",channels:[0]); + var bases = Buffer(s); + var match = [0,0]; + var win = Window("FluidNMFMatch",Rect(0,0,200,400)); + var uv = UserView(win,win.bounds) + .drawFunc_{ + var w = uv.bounds.width / 2; + Pen.color_(Color.green); + match.do{ + arg match_val, i; + var match_norm = match_val.linlin(0,30,0,uv.bounds.height); + var top = uv.bounds.height - match_norm; + /*top.postln;*/ + Pen.addRect(Rect(i * w,top,w,match_norm)); + Pen.draw; + }; + }; + + OSCdef(\nmfmatch,{ + arg msg; + match = msg[3..]; + {uv.refresh}.defer; + },"/nmfmatch"); + + win.front; + + s.sync; + + FluidBufNMF.process(s,dog,numFrames:dog.sampleRate * 4,bases:bases,components:2).wait; + { + var sig = PlayBuf.ar(1,dog,BufRateScale.ir(dog),doneAction:2); + SendReply.kr(Impulse.kr(30),"/nmfmatch",FluidNMFMatch.kr(sig,bases,2)); + sig; + }.play; +}.play(AppClock); +) \ No newline at end of file diff --git a/release-packaging/Examples/Guides/Neural Network Controls Synth from 2D space (01 a lot in language).scd b/release-packaging/Examples/Guides/Neural Network Controls Synth from 2D space (01 a lot in language).scd new file mode 100644 index 0000000..5d1622c --- /dev/null +++ b/release-packaging/Examples/Guides/Neural Network Controls Synth from 2D space (01 a lot in language).scd @@ -0,0 +1,80 @@ +( +~counter = 0; +~predicting = false; +~prediction_buf = Buffer.alloc(s,10); +Window.closeAll; +~win = Window("MLP Regressor",Rect(0,0,1000,400)); +~multisliderview = MultiSliderView(~win,Rect(0,0,400,400)) +.size_(10) +.elasticMode_(true) +.action_({ + arg msv; + // ~synth.set(\val,msv.value); + // msv.value.postln; + ~y_buf.setn(0,msv.value); +}); + +Slider2D(~win,Rect(400,0,400,400)) +.action_({ + arg s2d; + [s2d.x,s2d.y].postln; + ~x_buf.setn(0,[s2d.x,s2d.y]); + + if(~predicting,{ + ~nn.predictPoint(~x_buf,~y_buf,{ + ~y_buf.getn(0,10,{ + {~multisliderview.value_(prediction_values)}.defer; + }); + }); + }); +}); + +Button(~win,Rect(800,0,200,20)) +.states_([["Add Point"]]) +.action_({ + arg but; + var id = "example-%".format(~counter); + ~ds_input.addPoint(id,~x_buf); + ~ds_output.addPoint(id,~y_buf); + ~counter = ~counter + 1; + + ~ds_input.print; + ~ds_output.print; +}); + +Button(~win,Rect(800,20,200,20)) +.states_([["Train"]]) +.action_({ + arg but; + ~nn.fit(~ds_input,~ds_output,{ + arg loss; + "loss: %".format(loss).postln; + }); +}); + +Button(~win,Rect(800,40,200,20)) +.states_([["Not Predicting",Color.yellow,Color.black],["Is Predicting",Color.green,Color.black]]) +.action_({ + arg but; + ~predicting = but.value.asBoolean; +}); + +~win.front; + +~ds_input = FluidDataSet(s); +~ds_output = FluidDataSet(s); +~x_buf = Buffer.alloc(s,2); +~y_buf = Buffer.alloc(s,10); +~nn = FluidMLPRegressor(s,[7],FluidMLPRegressor.sigmoid,FluidMLPRegressor.sigmoid,learnRate:0.1,batchSize:1,validation:0); + +~synth = { + //arg val = #[0,0,0,0,0,0,0,0,0,0]; + var val = FluidBufToKr.kr(~y_buf) + var osc1, osc2, feed1, feed2, base1=69, base2=69, base3 = 130; + #feed2,feed1 = LocalIn.ar(2); + osc1 = MoogFF.ar(SinOsc.ar((((feed1 * val[0]) + val[1]) * base1).midicps,mul: (val[2] * 50).dbamp).atan,(base3 - (val[3] * (FluidLoudness.kr(feed2, 1, 0, hopSize: 64)[0].clip(-120,0) + 120))).lag(128/44100).midicps, val[4] * 3.5); + osc2 = MoogFF.ar(SinOsc.ar((((feed2 * val[5]) + val[6]) * base2).midicps,mul: (val[7] * 50).dbamp).atan,(base3 - (val[8] * (FluidLoudness.kr(feed1, 1, 0, hopSize: 64)[0].clip(-120,0) + 120))).lag(128/44100).midicps, val[9] * 3.5); + Out.ar(0,LeakDC.ar([osc1,osc2],mul: 0.1)); + LocalOut.ar([osc1,osc2]); +}.play; +) \ No newline at end of file diff --git a/release-packaging/Examples/Guides/Neural Network Controls Synth from 2D space (02 all on server).scd b/release-packaging/Examples/Guides/Neural Network Controls Synth from 2D space (02 all on server).scd new file mode 100644 index 0000000..c9c7fcb --- /dev/null +++ b/release-packaging/Examples/Guides/Neural Network Controls Synth from 2D space (02 all on server).scd @@ -0,0 +1,123 @@ +( +s.waitForBoot{ + // a counter that will increment each time we add a point to the datasets + // (so that they each can have a unique identifier) + ~counter = 0; + + ~ds_input = FluidDataSet(s); // dataset to hold the input data points (xy position) + ~ds_output = FluidDataSet(s); // data set to hold the output data points (the 10 synth parameters) + ~x_buf = Buffer.alloc(s,2); // a buffer for holding the current xy position (2 dimensions) + ~y_buf = Buffer.alloc(s,10); // a buffer for holding the current synthparameters (10 parameters) + + // the neural network. for more info on these arguments, visit learn.flucoma.com/reference/mlpregressor + ~nn = FluidMLPRegressor(s,[7],FluidMLPRegressor.sigmoid,FluidMLPRegressor.sigmoid,learnRate:0.1,batchSize:1,validation:0); + + // just nice to close any open windows, in case this script gets run multiple times... + // that way the windows don't pile up + Window.closeAll; + + ~win = Window("MLP Regressor",Rect(0,0,1000,400)); + + Slider2D(~win,Rect(0,0,400,400)) + .action_({ + arg s2d; + // [s2d.x,s2d.y].postln; + + // we're sendinig these values up to the synth, once there, they will get written into the buffer + // for the mlp to use as input + ~synth.set(\x,s2d.x,\y,s2d.y); + }); + + ~multisliderview = MultiSliderView(~win,Rect(400,0,400,400)) + .size_(10) // we know that it will need 10 sliders + .elasticMode_(true) // this will ensure that the sliders are spread out evenly across the whole view + .action_({ + arg msv; + + // here we'll just set these values directly into the buffer + // on the server they get read out of the buffer and used to control the synthesizer + ~y_buf.setn(0,msv.value); + }); + + // a button for adding points to the datasets, both datasets at the same time + // with the same identifier + Button(~win,Rect(800,0,200,20)) + .states_([["Add Point"]]) + .action_({ + arg but; + var id = "example-%".format(~counter); // use the counter to create a unique identifier + ~ds_input.addPoint(id,~x_buf); // add a point to the input dataset using whatever values are in x_buf + ~ds_output.addPoint(id,~y_buf); // add a pointi to the output dataset using whatever values a are in y_buf + ~counter = ~counter + 1; // increment the counter! + + // nice to just see every time what is going into the datasets + ~ds_input.print; + ~ds_output.print; + }); + + // a button to train train the neural network. you can push the button multiple times to watch the loss + // decrease. each time you press it, the neural network doesn't reset, it just keeps training from where it left off + Button(~win,Rect(800,20,200,20)) + .states_([["Train"]]) + .action_({ + arg but; + ~nn.fit(~ds_input,~ds_output,{ // provide the dataset to use as input and the dataset to use os output + arg loss; + "loss: %".format(loss).postln; // post the loss so we can watch it go down after multiple trainings + }); + }); + + // a button to control when the neural network is actually making predictions + // we want it to *not* be making predictions while we're adding points to the datasets (because we want + // the neural network to not be writing into y_buf) + Button(~win,Rect(800,40,200,20)) + .states_([["Not Predicting",Color.yellow,Color.black],["Is Predicting",Color.green,Color.black]]) + .action_({ + arg but; + ~synth.set(\predicting,but.value); // send the "boolean" (0 or 1) up to the synth + }); + + ~win.front; + + ~synth = { + arg predicting = 0, x = 0, y = 0; + var osc1, osc2, feed1, feed2, base1=69, base2=69, base3 = 130, val, trig; + + FluidKrToBuf.kr([x,y],~x_buf); // receive the xy positions as arguments to the synth, then write them into the buffer here + + // if predicting is 1 "trig" will be impulses 30 times per second, if 0 it will be just a stream of zeros + trig = Impulse.kr(30) * predicting; + + // the neural network will make a prediction each time a trigger, or impulse, is received in the first argument + // the next two arguments are (1) which buffer to use as input to the neural network, and (2) which buffer + // to write the output prediction into + ~nn.kr(trig,~x_buf,~y_buf); + + // read the 10 synth parameter values out of this buffer. val is a control rate stream of the 10 values + // when the neural network is making predictions (predicting == 1), it will be writing the predictions + // into that buffer, so that is what will be read out of here. when the neural network is not making predictions + // (predicting == 0) it will not be writing values into the buffer, so you can use the MultiSliderView above to + // write values into the buffer -- they'll still get read out into a control stream right here to control the synth! + val = FluidBufToKr.kr(~y_buf); + + // if we are making predictions (trig is a series of impulses), send the values back to the language so that we can + // update the values in the multislider. this is basically only for aesthetic purposes. it's nice to see the multislider + // wiggle as the neural network makes it's predictions! + SendReply.kr(trig,"/predictions",val); + + // the actual synthesis algorithm. made by PA Tremblay + #feed2,feed1 = LocalIn.ar(2); + osc1 = MoogFF.ar(SinOsc.ar((((feed1 * val[0]) + val[1]) * base1).midicps,mul: (val[2] * 50).dbamp).atan,(base3 - (val[3] * (FluidLoudness.kr(feed2, 1, 0, hopSize: 64)[0].clip(-120,0) + 120))).lag(128/44100).midicps, val[4] * 3.5); + osc2 = MoogFF.ar(SinOsc.ar((((feed2 * val[5]) + val[6]) * base2).midicps,mul: (val[7] * 50).dbamp).atan,(base3 - (val[8] * (FluidLoudness.kr(feed1, 1, 0, hopSize: 64)[0].clip(-120,0) + 120))).lag(128/44100).midicps, val[9] * 3.5); + Out.ar(0,LeakDC.ar([osc1,osc2],mul: 0.1)); + LocalOut.ar([osc1,osc2]); + }.play; + + // catch the osc messages sent by the SendReply above and update the MultiSliderView + OSCdef(\predictions,{ + arg msg; + // msg.postln; + {~multisliderview.value_(msg[3..])}.defer; + },"/predictions"); +} +) \ No newline at end of file diff --git a/release-packaging/Examples/Guides/Neural Network Predicts FM Params from Audio Analysis.scd b/release-packaging/Examples/Guides/Neural Network Predicts FM Params from Audio Analysis.scd new file mode 100644 index 0000000..6e59b58 --- /dev/null +++ b/release-packaging/Examples/Guides/Neural Network Predicts FM Params from Audio Analysis.scd @@ -0,0 +1,321 @@ +( +Window.closeAll; +s.options.inDevice_("MacBook Pro Microphone"); +s.options.outDevice_("External Headphones"); +// s.options.sampleRate_(48000); +s.options.sampleRate_(44100); +s.waitForBoot{ + Task{ + var win = Window(bounds:Rect(100,100,1000,800)); + var label_width = 120; + var item_width = 300; + var mfcc_multslider; + var nMFCCs = 13; + var mfccbuf = Buffer.alloc(s,nMFCCs); + var parambuf = Buffer.alloc(s,3); + var id_counter = 0; + var continuous_training = false; + var mfcc_ds = FluidDataSet(s); + var param_ds = FluidDataSet(s); + var mfcc_ds_norm = FluidDataSet(s); + var param_ds_norm = FluidDataSet(s); + var scaler_params = FluidNormalize(s); + var scaler_mfcc = FluidNormalize(s); + var nn = FluidMLPRegressor(s,[3,3],FluidMLPRegressor.sigmoid,FluidMLPRegressor.sigmoid,learnRate:0.05,batchSize:5,validation:0); + var synth, loss_st; + var param_sliders = Array.newClear(3); + var statsWinSl, hidden_tf, batchSize_nb, momentum_nb, learnRate_nb, maxIter_nb, outAct_pum, act_pum; + var add_point = { + var id = "point-%".format(id_counter); + mfcc_ds.addPoint(id,mfccbuf,{mfcc_ds.print}); + param_ds.addPoint(id,parambuf,{param_ds.print}); + id_counter = id_counter + 1; + }; + var train = { + scaler_mfcc.fitTransform(mfcc_ds,mfcc_ds_norm,{ + scaler_params.fitTransform(param_ds,param_ds_norm,{ + // mfcc_ds.print; + // param_ds.print; + nn.fit(mfcc_ds_norm,param_ds_norm,{ + arg loss; + // loss.postln; + defer{loss_st.string_("loss: %".format(loss))}; + if(continuous_training,{ + train.value; + }); + }); + }); + }); + }; + var open_mlp = { + arg path; + // nn.prGetParams.postln; + nn.read(path,{ + var params = nn.prGetParams; + var n_layers = params[1]; + var layers_string = ""; + + // params.postln; + + n_layers.do({ + arg i; + if(i > 0,{layers_string = "% ".format(layers_string)}); + layers_string = "%%".format(layers_string,params[2+i]); + }); + + nn.maxIter_(maxIter_nb.value); + nn.learnRate_(learnRate_nb.value); + nn.momentum_(momentum_nb.value); + nn.batchSize_(batchSize_nb.value); + + defer{ + hidden_tf.string_(layers_string); + act_pum.value_(nn.activation); + outAct_pum.value_(nn.outputActivation); + /* maxIter_nb.value_(nn.maxIter); + learnRate_nb.value_(nn.learnRate); + momentum_nb.value_(nn.momentum); + batchSize_nb.value_(nn.batchSize);*/ + }; + }); + }; + + s.sync; + + synth = { + arg vol = -15, isPredicting = 0, avg_win = 0, smooth_params = 0; + var params = FluidStats.kr(FluidBufToKr.kr(parambuf),ControlRate.ir * smooth_params * isPredicting)[0]; + var msig = SinOsc.ar(params[1],0,params[2] * params[1]); + var csig = SinOsc.ar(params[0] + msig); + var sound_in = SoundIn.ar(0); + var analysis_sig, mfccs, trig, mfccbuf_norm, parambuf_norm; + + csig = BLowPass4.ar(csig,16000); + csig = BHiPass4.ar(csig,40); + analysis_sig = Select.ar(isPredicting,[csig,sound_in]); + mfccs = FluidMFCC.kr(analysis_sig,nMFCCs,startCoeff:1,maxNumCoeffs:nMFCCs); + trig = Impulse.kr(30); + mfccbuf_norm = LocalBuf(nMFCCs); + parambuf_norm = LocalBuf(3); + + mfccs = FluidStats.kr(mfccs,ControlRate.ir * avg_win)[0]; + FluidKrToBuf.kr(mfccs,mfccbuf); + + scaler_mfcc.kr(trig * isPredicting,mfccbuf,mfccbuf_norm); + nn.kr(trig * isPredicting,mfccbuf_norm,parambuf_norm); + scaler_params.kr(trig * isPredicting,parambuf_norm,parambuf,invert:1); + + SendReply.kr(trig * isPredicting,"/params",params); + SendReply.kr(trig,"/mfccs",mfccs); + + csig = csig.dup; + csig * Select.kr(isPredicting,[vol.dbamp,Amplitude.kr(sound_in)]); + }.play; + + s.sync; + + win.view.decorator_(FlowLayout(Rect(0,0,win.bounds.width,win.bounds.height))); + + + param_sliders[0] = EZSlider(win,Rect(0,0,item_width,20),"carrier freq",\freq.asSpec,{arg sl; parambuf.set(0,sl.value)},440,true,label_width); + + win.view.decorator.nextLine; + + param_sliders[1] = EZSlider(win,Rect(0,0,item_width,20),"mod freq",\freq.asSpec,{arg sl; parambuf.set(1,sl.value)},100,true,label_width); + + win.view.decorator.nextLine; + + param_sliders[2] = EZSlider(win,Rect(0,0,item_width,20),"index",ControlSpec(0,20),{arg sl; parambuf.set(2,sl.value)},10,true,label_width); + + win.view.decorator.nextLine; + + EZSlider(win,Rect(0,0,item_width,20),"params avg smooth",nil.asSpec,{arg sl; synth.set(\avg_win,sl.value)},0,true,label_width); + win.view.decorator.nextLine; + + StaticText(win,Rect(0,0,label_width,20)).string_("% MFCCs".format(nMFCCs)); + win.view.decorator.nextLine; + + statsWinSl = EZSlider(win,Rect(0,0,item_width,20),"fmcc avg smooth",nil.asSpec,{arg sl; synth.set(\avg_win,sl.value)},0,true,label_width); + win.view.decorator.nextLine; + + mfcc_multslider = MultiSliderView(win,Rect(0,0,item_width,200)) + .size_(nMFCCs) + .elasticMode_(true); + + win.view.decorator.nextLine; + + Button(win,Rect(0,0,100,20)) + .states_([["Add Point"]]) + .action_{ + add_point.value; + }; + + win.view.decorator.nextLine; + + // spacer + StaticText(win,Rect(0,0,label_width,20)); + win.view.decorator.nextLine; + + // MLP Parameters + StaticText(win,Rect(0,0,label_width,20)).align_(\right).string_("hidden layers"); + hidden_tf = TextField(win,Rect(0,0,item_width - label_width,20)) + .string_(nn.hidden.asString.replace(", "," ")[2..(nn.hidden.asString.size-3)]) + .action_{ + arg tf; + var hidden_ = "[%]".format(tf.string.replace(" ",",")).interpret; + nn.hidden_(hidden_); + // nn.prGetParams.postln; + }; + + win.view.decorator.nextLine; + StaticText(win,Rect(0,0,label_width,20)).align_(\right).string_("activation"); + act_pum = PopUpMenu(win,Rect(0,0,item_width - label_width,20)) + .items_(["identity","sigmoid","relu","tanh"]) + .value_(nn.activation) + .action_{ + arg pum; + nn.activation_(pum.value); + // nn.prGetParams.postln; + }; + + win.view.decorator.nextLine; + StaticText(win,Rect(0,0,label_width,20)).align_(\right).string_("output activation"); + outAct_pum = PopUpMenu(win,Rect(0,0,item_width - label_width,20)) + .items_(["identity","sigmoid","relu","tanh"]) + .value_(nn.outputActivation) + .action_{ + arg pum; + nn.outputActivation_(pum.value); + + // nn.prGetParams.postln; + }; + + win.view.decorator.nextLine; + maxIter_nb = EZNumber(win,Rect(0,0,item_width,20),"max iter",ControlSpec(1,10000,step:1),{ + arg nb; + nn.maxIter_(nb.value.asInteger); + + // nn.prGetParams.postln; + },nn.maxIter,false,label_width); + + win.view.decorator.nextLine; + learnRate_nb = EZNumber(win,Rect(0,0,item_width,20),"learn rate",ControlSpec(0.001,1.0),{ + arg nb; + nn.learnRate_(nb.value); + + // nn.prGetParams.postln; + },nn.learnRate,false,label_width); + + win.view.decorator.nextLine; + momentum_nb = EZNumber(win,Rect(0,0,item_width,20),"momentum",ControlSpec(0,1),{ + arg nb; + nn.momentum_(nb.value); + + // nn.prGetParams.postln; + },nn.momentum,false,label_width); + + win.view.decorator.nextLine; + batchSize_nb = EZNumber(win,Rect(0,0,item_width,20),"batch size",ControlSpec(1,1000,step:1),{ + arg nb; + nn.batchSize_(nb.value.asInteger); + + // nn.prGetParams.postln; + },nn.batchSize,false,label_width); + + win.view.decorator.nextLine; + + Button(win,Rect(0,0,100,20)) + .states_([["Train"]]) + .action_{ + train.value; + }; + + Button(win,Rect(0,0,200,20)) + .states_([["Continuous Training Off"],["Continuous Training On"]]) + .action_{ + arg but; + continuous_training = but.value.asBoolean; + train.value; + }; + + win.view.decorator.nextLine; + + loss_st = StaticText(win,Rect(0,0,item_width,20)).string_("loss:"); + + win.view.decorator.nextLine; + Button(win,Rect(0,0,100,20)) + .states_([["Not Predicting"],["Predicting"]]) + .action_{ + arg but; + synth.set(\isPredicting,but.value); + }; + + win.view.decorator.nextLine; + + Button(win,Rect(0,0,100,20)) + .states_([["Save MLP"]]) + .action_{ + Dialog.savePanel({ + arg path; + nn.write(path); + }); + }; + + Button(win,Rect(0,0,100,20)) + .states_([["Open MLP"]]) + .action_{ + Dialog.openPanel({ + arg path; + open_mlp.(path); + }); + }; + + win.bounds_(win.view.decorator.used); + win.front; + + OSCdef(\mfccs,{ + arg msg; + // msg.postln; + defer{ + mfcc_multslider.value_(msg[3..].linlin(-40,40,0,1)); + }; + },"/mfccs"); + + OSCdef(\params,{ + arg msg; + // msg.postln; + defer{ + param_sliders.do{ + arg sl, i; + sl.value_(msg[3 + i]); + }; + }; + },"/params"); + + s.sync; + +/* statsWinSl.valueAction_(0.1); + + 100.do{ + var cfreq = exprand(20,20000); + var mfreq = exprand(20,20000); + var index = rrand(0.0,20); + parambuf.setn(0,[cfreq,mfreq,index]); + 0.2.wait; + add_point.value; + 0.05.wait; + };*/ + + /* 100.do{ + var cfreq = exprand(60,4000); + var mfreq = exprand(60,1000).clip(0,cfreq); + var index = rrand(0.0,20); + parambuf.setn(0,[cfreq,mfreq,index]); + 0.2.wait; + add_point.value; + 0.05.wait; + };*/ + + }.play(AppClock); +}; +) \ No newline at end of file diff --git a/release-packaging/Examples/Guides/Weighted Statistical Analysis.scd b/release-packaging/Examples/Guides/Weighted Statistical Analysis.scd new file mode 100644 index 0000000..be0713d --- /dev/null +++ b/release-packaging/Examples/Guides/Weighted Statistical Analysis.scd @@ -0,0 +1,153 @@ +/* ======= 1. Hear the Sound ============ + +load a part of a sound that has 3 clear components: +- a clear pitch component to start +- a noisy pitchless ending +- DC offset silence on both ends + +*/ + +( +~src = Buffer.read(s,File.realpath(FluidBufPitch.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-ASWINE-ScratchySynth-M.wav");//,42250,44100); +) + +// listen +~src.play; + +// ======= Let's try to extract that frequency from the audio file. =========== + +// analyze +~pitches = Buffer(s); +~stats = Buffer(s); + +FluidBufPitch.process(s,~src,features: ~pitches); +FluidBufStats.process(s,~pitches,stats:~stats); + +( +// get the average freq; +~stats.get(0,{ + arg f; + ~avgfreq = f; + ~avgfreq.postln; +}); +) + +( +// play a sine tone at the avg freq alongside the soundfile +//average freq +~avgfreq_synth = {SinOsc.ar(~avgfreq,mul: 0.05)}.play; +//compare with the source +~src.play; +) + +// hmm... that seems wrong... + +/* + +what if we weight the average frequency by the loudness +of the analysis frame so that the silences are not considered +as strongly. + +*/ + +// do a loudness analysis +~loud = Buffer(s); +FluidBufLoudness.process(s,~src,features:~loud); +FluidBufStats.process(s,~loud,stats:~stats); + +( +// get min and max +~stats.loadToFloatArray(action:{ + arg stats; + ~min_loudness = stats.clump(2).flop[0][4]; + ~max_loudness = stats.clump(2).flop[0][6]; + ~min_loudness.postln; + ~max_loudness.postln; +}); +) + +// scale the loudness analysis from 0 to 1, using the min and max gotten above +~scaled = Buffer(s); +FluidBufScale.process(s,~loud,numChans: 1,destination: ~scaled,inputLow: ~min_loudness,inputHigh: ~max_loudness); + +// then use this scaled analysis to weight the statistical analysis +FluidBufStats.process(s,~pitches,numChans:1,stats:~stats,weights:~scaled); + +( +// get the average freq (now with the weighted average) +~stats.get(0,{ + arg f; + ~avgfreq = f; + ~avgfreq.postln; +}); +) + +( +// play a sine tone at the avg freq alongside the soundfile +//average freq +~avgfreq_synth = {SinOsc.ar(~avgfreq,mul: 0.05)}.play; +//compare with the source +~src.play; +) + +// hmm... still wrong. too low now. + +/* +ok, how about if we weight not by loudness, but by the pitch confidence of the pitch analysis +*/ + +FluidBufPitch.process(s,~src,features: ~pitches); +~thresh_buf = Buffer(s); +FluidBufThresh.process(s, ~pitches, startChan: 1, numChans: 1, destination: ~thresh_buf, threshold: 0.8) +FluidBufStats.process(s,~pitches,numChans:1,stats:~stats,weights:~thresh_buf); + +( +// get the average freq +~stats.get(0,{ + arg f; + ~avgfreq = f; + ~avgfreq.postln; +}); +) + +( +// play a sine tone at the avg freq alongside the soundfile +//average freq +~avgfreq_synth = {SinOsc.ar(~avgfreq,mul: 0.05)}.play; +//compare with the source +~src.play; +) + +// closer! + +FluidBufPitch.process(s,~src,features: ~pitches); + +( +~pitches.loadToFloatArray(action:{ + arg pitches; + defer{pitches.histo(50,1000,20000).plot(discrete:true)}; +}); +) +// raise the threshold and toss out some outliers +FluidBufPitch.process(s,~src,features: ~pitches); +~pitches.plot(separately:true); +~thresh_buf = Buffer(s); +FluidBufThresh.process(s, ~pitches, startChan: 1, numChans: 1, destination: ~thresh_buf, threshold: 0.9) +FluidBufStats.process(s,~pitches,numChans:1,stats:~stats,weights:~thresh_buf,outliersCutoff:1.5); + +( +// get the average freq +~stats.get(0,{ + arg f; + ~avgfreq = f; + ~avgfreq.postln; +}); +) + +( +// play a sine tone at the avg freq alongside the soundfile +//average freq +~avgfreq_synth = {SinOsc.ar(~avgfreq,mul: 0.05)}.play; +//compare with the source +~src.play; +) From 7736fb0f1d4452ba8071dfe2ea18186e5648bc52 Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Mon, 6 Dec 2021 13:01:37 +0000 Subject: [PATCH 07/88] FluidBufToKr has optional numFrames argument --- test/FluidBufToKr test.scd | 69 ++++++++++++++++++++++++++++++++++---- 1 file changed, 63 insertions(+), 6 deletions(-) diff --git a/test/FluidBufToKr test.scd b/test/FluidBufToKr test.scd index e3c2c01..4e93e11 100644 --- a/test/FluidBufToKr test.scd +++ b/test/FluidBufToKr test.scd @@ -94,8 +94,7 @@ s.waitForBoot{ ( // FluidBufToKr -// 100 is fine -/// 1000 is fine + s.waitForBoot{ Routine{ var buf = Buffer.loadCollection(s,Array.fill(1001,{arg i; i})); @@ -112,8 +111,7 @@ s.waitForBoot{ ( // FluidBufToKr -// 100 is fine -/// 1000 is fine +// This should throw an error because this sound file buffer is longer than 1000 samples s.waitForBoot{ Routine{ var buf = Buffer.read(s,"/Users/macprocomputer/Desktop/_flucoma/code/flucoma-core-src/AudioFiles/Harker-DS-TenOboeMultiphonics-M.wav"); @@ -130,8 +128,7 @@ s.waitForBoot{ ( // FluidKrToBuf test with super long buffer -// 100 is fine -// 1000 is fine +// This should throw an error because this sound file buffer is longer than 1000 samples s.waitForBoot{ Routine{ // var buf = Buffer.alloc(s,1000); @@ -151,3 +148,63 @@ s.waitForBoot{ } ) +// ===================== pass a buffer to a running synth ======================= +( +s.waitForBoot{ + Routine{ + ~synth = { + arg buf; + FluidBufToKr.kr(buf,5).poll; + }.play; + + 2.wait; + + "make buffer".postln; + ~buffer = Buffer.alloc(s,5); + s.sync; + ~buffer.setn(0,Array.fill(5,{rrand(0,100)})); + s.sync; + ~synth.set(\buf,~buffer); + }.play; +}; +) + +( +// throws error because number of frames not specified +s.waitForBoot{ + Routine{ + ~synth = { + arg buf; + FluidKrToBuf.kr(SinOsc.kr(Array.fill(5,{rrand(0.0,1.0)})),buf); + + FluidBufToKr.kr(buf).poll; + }.play; + + 2.wait; + + ~buffer = Buffer.alloc(s,5); + s.sync; + ~synth.set(\buf,~buffer); + }.play; +}; +) + +( +// works +s.waitForBoot{ + Routine{ + ~synth = { + arg buf; + FluidKrToBuf.kr(SinOsc.kr(Array.fill(5,{rrand(0.0,1.0)})),buf); + + FluidBufToKr.kr(buf,5).poll; + }.play; + + 2.wait; + + ~buffer = Buffer.alloc(s,5); + s.sync; + ~synth.set(\buf,~buffer); + }.play; +}; +) \ No newline at end of file From 90aef92f356106030b87f1c100041d9d24bb0f1a Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Mon, 6 Dec 2021 13:01:37 +0000 Subject: [PATCH 08/88] FluidBufToKr has optional numFrames argument --- release-packaging/Classes/FluidBufToKr.sc | 31 +++++++++++++++++------ test/FluidBufToKr test.scd | 14 +++++----- 2 files changed, 30 insertions(+), 15 deletions(-) diff --git a/release-packaging/Classes/FluidBufToKr.sc b/release-packaging/Classes/FluidBufToKr.sc index b3d2e88..7d78f4e 100644 --- a/release-packaging/Classes/FluidBufToKr.sc +++ b/release-packaging/Classes/FluidBufToKr.sc @@ -1,9 +1,15 @@ FluidKrToBuf { *kr { arg krStream, buffer; - if(buffer.numFrames == 0) {"FluidKrToBuf: UGen will have 0 outputs!".warn}; - if(buffer.numFrames > 1000) {"FluidKrToBuf: Buffer is % frames. This is probably not the buffer you intended.".format(buffer.numFrames).error}; - ^buffer.numFrames.do{ + + if(buffer.isKindOf(Buffer).or(buffer.isKindOf(LocalBuf)),{ + if(buffer.numFrames == 0) {"FluidKrToBuf:kr Buffer has 0 frames".warn}; + if(buffer.numFrames > 1000) { + Error("FluidKrToBuf:kr Buffer is % frames. This is probably not the buffer you intended.".format(buffer.numFrames)).throw; + }; + }); + + ^krStream.numChannels.do{ arg i; BufWr.kr(krStream[i], buffer, i); } @@ -12,12 +18,21 @@ FluidKrToBuf { FluidBufToKr { *kr { - arg buffer; - if(buffer.numFrames == 0) {"FluidKrToBuf: Buffer has 0 frames!".warn}; - if(buffer.numFrames > 1000) {"FluidKrToBuf: Buffer is % frames. This is probably not the buffer you intended.".format(buffer.numFrames).error}; + arg buffer, numFrames; + + if((buffer.isKindOf(Buffer).or(buffer.isKindOf(LocalBuf))).not.and(numFrames.isNil),{ + Error("FluidBufToKr:kr needs to be passed either an existing buffer or an OutputProxy and a number of frames for the buffer that will be supplied").throw; + }); + + numFrames = numFrames ?? {buffer.numFrames}; + + if(numFrames == 0) {"FluidKrToBuf:kr indicated numFrames is zero.".warn}; + if(numFrames > 1000) { + Error("FluidKrToBuf: Buffer is indicated to have % frames. This is probably not the buffer you intended.".format(numFrames)).throw; + }; - if(buffer.numFrames > 1,{ - ^buffer.numFrames.collect{ + if(numFrames > 1,{ + ^numFrames.collect{ arg i; BufRd.kr(1,buffer,i,0,0); } diff --git a/test/FluidBufToKr test.scd b/test/FluidBufToKr test.scd index 4e93e11..b3c070c 100644 --- a/test/FluidBufToKr test.scd +++ b/test/FluidBufToKr test.scd @@ -64,7 +64,7 @@ s.waitForBoot{ FluidKrToBuf.kr(sig,buf); }.play; - 3.wait; + 1.wait; defer{buf.plot}; }.play; @@ -85,7 +85,7 @@ s.waitForBoot{ FluidKrToBuf.kr(sig,buf); }.play; - 3.wait; + 1.wait; defer{buf.plot}; }.play; @@ -137,7 +137,7 @@ s.waitForBoot{ s.sync; { - var sig = SinOsc.kr(rrand(1.0.dup(buf.numFrames),4.0)); + var sig = SinOsc.kr(rrand(1.0.dup(10),4.0)); FluidKrToBuf.kr(sig,buf); }.play; @@ -177,7 +177,7 @@ s.waitForBoot{ arg buf; FluidKrToBuf.kr(SinOsc.kr(Array.fill(5,{rrand(0.0,1.0)})),buf); - FluidBufToKr.kr(buf).poll; + FluidBufToKr.kr(buf).poll; ///////// this will now throw an error asking for a numFrames }.play; 2.wait; @@ -194,10 +194,10 @@ s.waitForBoot{ s.waitForBoot{ Routine{ ~synth = { - arg buf; + arg buf = 999; FluidKrToBuf.kr(SinOsc.kr(Array.fill(5,{rrand(0.0,1.0)})),buf); - FluidBufToKr.kr(buf,5).poll; + FluidBufToKr.kr(buf,5).poll; ////////// this will work becaues it knows how many frames the buffer will be }.play; 2.wait; @@ -207,4 +207,4 @@ s.waitForBoot{ ~synth.set(\buf,~buffer); }.play; }; -) \ No newline at end of file +) From e6e37130e5c9cdfb29e7ef9a47682f2434081522 Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Mon, 6 Dec 2021 19:21:12 +0000 Subject: [PATCH 09/88] default for numFrames argument is -1 --- release-packaging/Classes/FluidBufToKr.sc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/release-packaging/Classes/FluidBufToKr.sc b/release-packaging/Classes/FluidBufToKr.sc index 7d78f4e..1661519 100644 --- a/release-packaging/Classes/FluidBufToKr.sc +++ b/release-packaging/Classes/FluidBufToKr.sc @@ -18,13 +18,15 @@ FluidKrToBuf { FluidBufToKr { *kr { - arg buffer, numFrames; + arg buffer, numFrames = -1; if((buffer.isKindOf(Buffer).or(buffer.isKindOf(LocalBuf))).not.and(numFrames.isNil),{ Error("FluidBufToKr:kr needs to be passed either an existing buffer or an OutputProxy and a number of frames for the buffer that will be supplied").throw; }); - numFrames = numFrames ?? {buffer.numFrames}; + if(numFrames == -1,{ + numFrames = buffer.numFrames; + }); if(numFrames == 0) {"FluidKrToBuf:kr indicated numFrames is zero.".warn}; if(numFrames > 1000) { From 289360f5d31cbcd2077237c366d17385f90a192c Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Mon, 6 Dec 2021 19:32:25 +0000 Subject: [PATCH 10/88] FluidBufToKr help file --- .../HelpSource/Classes/FluidBufToKr.schelp | 47 ++++++++++++++----- 1 file changed, 34 insertions(+), 13 deletions(-) diff --git a/release-packaging/HelpSource/Classes/FluidBufToKr.schelp b/release-packaging/HelpSource/Classes/FluidBufToKr.schelp index 5d558a5..ea85655 100644 --- a/release-packaging/HelpSource/Classes/FluidBufToKr.schelp +++ b/release-packaging/HelpSource/Classes/FluidBufToKr.schelp @@ -14,6 +14,9 @@ Initialize an instance of this pseudo UGen ARGUMENT:: buffer The link::Classes/Buffer:: that this pseudo UGen will read out of. Must be a one-channel buffer. +ARGUMENT:: numFrames +How many frames the buffer is that will evenutally passed. If providing a buffer directly (instead of as an argument to a SynthDef), the default of -1 will get the number of frames from the buffer passed. + returns:: a Kr stream that has the same number of channels as frames in the link::Classes/Buffer::. INSTANCEMETHODS:: @@ -21,19 +24,37 @@ INSTANCEMETHODS:: EXAMPLES:: code:: +// make a buffer with some data in it +~buf = Buffer.loadCollection(s,[0,1,2,3,4,7]); + +// play it on the server and read out of this buffer! +( +{ + var sig = FluidBufToKr.kr(~buf); + sig.poll; +}.play; +) + +// =============== passing a buffer as an argument ====================== + +// create a synth that both writes into a buffer (with FluidKrToBuf) and reads +// out of the same buffer (with FluidBufToKr) ( -// FluidBufToKr -s.waitForBoot{ - Routine{ - var buf = Buffer.loadCollection(s,[0,1,2,3,4,7]); - - s.sync; - - { - var sig = FluidBufToKr.kr(buf); - sig.poll; - }.play; - }.play; -} +~synth = { + arg buf = 999; + FluidKrToBuf.kr(SinOsc.kr(Array.fill(5,{rrand(0.0,1.0)})),buf); + + // you need to specify the 5 so the synth here will know how many channels to make + // the output proxy + FluidBufToKr.kr(buf,5).poll; +}.play; +// you should see all zeros! (unless your buffer #999 has something in it already!) ) + +// ...then after it is running, instantiate the buffer +~buffer = Buffer.alloc(s,5); + +// ...then send it to the buffer +~synth.set(\buf,~buffer); +// you should be able to see the sine oscillators now! :: \ No newline at end of file From 94a51997f72940630d08fcb9f176de7d5aa79e97 Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Wed, 8 Dec 2021 11:22:47 +0000 Subject: [PATCH 11/88] created FluidFilesPath and a test file --- release-packaging/Classes/FluidFilesPath.sc | 5 +++++ test/FluidFilesPath_test.scd | 12 ++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 release-packaging/Classes/FluidFilesPath.sc create mode 100644 test/FluidFilesPath_test.scd diff --git a/release-packaging/Classes/FluidFilesPath.sc b/release-packaging/Classes/FluidFilesPath.sc new file mode 100644 index 0000000..0b03015 --- /dev/null +++ b/release-packaging/Classes/FluidFilesPath.sc @@ -0,0 +1,5 @@ +FluidFilesPath { + *new { + ^"%/../AudioFiles/".format(File.realpath(FluidDataSet.class.filenameSymbol).dirname); + } +} \ No newline at end of file diff --git a/test/FluidFilesPath_test.scd b/test/FluidFilesPath_test.scd new file mode 100644 index 0000000..37addff --- /dev/null +++ b/test/FluidFilesPath_test.scd @@ -0,0 +1,12 @@ +( +s.waitForBoot{ + Routine{ + var path = FluidFilesPath()++"Nicol-LoopE-M.wav"; + var buf = Buffer.read(s,path); + + s.sync; + + buf.play; + }.play; +} +) \ No newline at end of file From 16e2a85a203c984c4cd5815ca0e2fccdd6e903ab Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Wed, 8 Dec 2021 20:13:05 +0000 Subject: [PATCH 12/88] fixed FluidPlotter call createCatColors --- release-packaging/Classes/FluidPlotter.sc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release-packaging/Classes/FluidPlotter.sc b/release-packaging/Classes/FluidPlotter.sc index 7c1681a..036359d 100644 --- a/release-packaging/Classes/FluidPlotter.sc +++ b/release-packaging/Classes/FluidPlotter.sc @@ -33,7 +33,7 @@ FluidPlotter : FluidViewer { ymin = ymin_; ymax = ymax_; - this.createcategoryColors; + this.createCatColors; dict_internal = Dictionary.new; if(dict_.notNil,{this.dict_(dict_)}); this.createPlotWindow(bounds,parent_,mouseMoveAction,dict_); From c10b87993644635eba2fc59eb1f8c7bce046a7ec Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Wed, 8 Dec 2021 20:22:11 +0000 Subject: [PATCH 13/88] allow for passing the file name in as well --- release-packaging/Classes/FluidFilesPath.sc | 4 +++- test/FluidFilesPath_test.scd | 20 ++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/release-packaging/Classes/FluidFilesPath.sc b/release-packaging/Classes/FluidFilesPath.sc index 0b03015..7a3c82e 100644 --- a/release-packaging/Classes/FluidFilesPath.sc +++ b/release-packaging/Classes/FluidFilesPath.sc @@ -1,5 +1,7 @@ FluidFilesPath { *new { - ^"%/../AudioFiles/".format(File.realpath(FluidDataSet.class.filenameSymbol).dirname); + arg fileName; + fileName = fileName ? ""; + ^("%/../AudioFiles/".format(File.realpath(FluidDataSet.class.filenameSymbol).dirname) +/+ fileName); } } \ No newline at end of file diff --git a/test/FluidFilesPath_test.scd b/test/FluidFilesPath_test.scd index 37addff..585f577 100644 --- a/test/FluidFilesPath_test.scd +++ b/test/FluidFilesPath_test.scd @@ -1,3 +1,10 @@ +( +// should all return the same path: +(FluidFilesPath()++"Nicol-LoopE-M.wav").postln; +FluidFilesPath("Nicol-LoopE-M.wav").postln; +FluidFilesPath("/Nicol-LoopE-M.wav").postln; +) + ( s.waitForBoot{ Routine{ @@ -9,4 +16,17 @@ s.waitForBoot{ buf.play; }.play; } +) + +( +s.waitForBoot{ + Routine{ + var path = FluidFilesPath("Nicol-LoopE-M.wav"); + var buf = Buffer.read(s,path); + + s.sync; + + buf.play; + }.play; +} ) \ No newline at end of file From 3ba5c4bf3e4221daff7132cc9b59d21b5f720ab0 Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Wed, 8 Dec 2021 20:29:26 +0000 Subject: [PATCH 14/88] one extra slash check! --- release-packaging/Classes/FluidFilesPath.sc | 2 +- test/FluidFilesPath_test.scd | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/release-packaging/Classes/FluidFilesPath.sc b/release-packaging/Classes/FluidFilesPath.sc index 7a3c82e..8c62565 100644 --- a/release-packaging/Classes/FluidFilesPath.sc +++ b/release-packaging/Classes/FluidFilesPath.sc @@ -2,6 +2,6 @@ FluidFilesPath { *new { arg fileName; fileName = fileName ? ""; - ^("%/../AudioFiles/".format(File.realpath(FluidDataSet.class.filenameSymbol).dirname) +/+ fileName); + ^("%/../AudioFiles".format(File.realpath(FluidDataSet.class.filenameSymbol).dirname) +/+ fileName); } } \ No newline at end of file diff --git a/test/FluidFilesPath_test.scd b/test/FluidFilesPath_test.scd index 585f577..0640a9f 100644 --- a/test/FluidFilesPath_test.scd +++ b/test/FluidFilesPath_test.scd @@ -1,6 +1,7 @@ ( // should all return the same path: (FluidFilesPath()++"Nicol-LoopE-M.wav").postln; +(FluidFilesPath()+/+"Nicol-LoopE-M.wav").postln; FluidFilesPath("Nicol-LoopE-M.wav").postln; FluidFilesPath("/Nicol-LoopE-M.wav").postln; ) From d296b05db05c44acdd0de1a1eb92fa43baae125a Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Thu, 9 Dec 2021 10:15:27 +0000 Subject: [PATCH 15/88] add section to bottom of nn-->fm for testing with audio files --- ...Predicts FM Params from Audio Analysis.scd | 59 +++++++++++++------ 1 file changed, 41 insertions(+), 18 deletions(-) diff --git a/release-packaging/Examples/Guides/Neural Network Predicts FM Params from Audio Analysis.scd b/release-packaging/Examples/Guides/Neural Network Predicts FM Params from Audio Analysis.scd index 6e59b58..8dc3031 100644 --- a/release-packaging/Examples/Guides/Neural Network Predicts FM Params from Audio Analysis.scd +++ b/release-packaging/Examples/Guides/Neural Network Predicts FM Params from Audio Analysis.scd @@ -27,8 +27,8 @@ s.waitForBoot{ var statsWinSl, hidden_tf, batchSize_nb, momentum_nb, learnRate_nb, maxIter_nb, outAct_pum, act_pum; var add_point = { var id = "point-%".format(id_counter); - mfcc_ds.addPoint(id,mfccbuf,{mfcc_ds.print}); - param_ds.addPoint(id,parambuf,{param_ds.print}); + mfcc_ds.addPoint(id,mfccbuf); + param_ds.addPoint(id,parambuf); id_counter = id_counter + 1; }; var train = { @@ -80,6 +80,8 @@ s.waitForBoot{ }); }; + ~in_bus = Bus.audio(s); + s.sync; synth = { @@ -87,7 +89,8 @@ s.waitForBoot{ var params = FluidStats.kr(FluidBufToKr.kr(parambuf),ControlRate.ir * smooth_params * isPredicting)[0]; var msig = SinOsc.ar(params[1],0,params[2] * params[1]); var csig = SinOsc.ar(params[0] + msig); - var sound_in = SoundIn.ar(0); + // var sound_in = SoundIn.ar(0); + var sound_in = In.ar(~in_bus); var analysis_sig, mfccs, trig, mfccbuf_norm, parambuf_norm; csig = BLowPass4.ar(csig,16000); @@ -109,7 +112,7 @@ s.waitForBoot{ SendReply.kr(trig,"/mfccs",mfccs); csig = csig.dup; - csig * Select.kr(isPredicting,[vol.dbamp,Amplitude.kr(sound_in)]); + csig * Select.kr(isPredicting,[vol.dbamp,FluidLoudness.kr(sound_in)[0].dbamp]); }.play; s.sync; @@ -294,28 +297,48 @@ s.waitForBoot{ s.sync; -/* statsWinSl.valueAction_(0.1); - - 100.do{ - var cfreq = exprand(20,20000); - var mfreq = exprand(20,20000); - var index = rrand(0.0,20); - parambuf.setn(0,[cfreq,mfreq,index]); - 0.2.wait; - add_point.value; - 0.05.wait; - };*/ + statsWinSl.valueAction_(0.0); /* 100.do{ - var cfreq = exprand(60,4000); - var mfreq = exprand(60,1000).clip(0,cfreq); + var cfreq = exprand(20,20000); + var mfreq = exprand(20,20000); var index = rrand(0.0,20); parambuf.setn(0,[cfreq,mfreq,index]); 0.2.wait; add_point.value; 0.05.wait; };*/ + 40.do{ + var cfreq = exprand(100.0,1000.0); + var mfreq = exprand(100.0,min(cfreq,500.0)); + var index = rrand(0.0,8.0); + var arr = [cfreq,mfreq,index]; + parambuf.setn(0,arr); + 0.1.wait; + add_point.value; + 0.1.wait; + arr.postln; + param_ds.print; + "\n\n".postln; + }; }.play(AppClock); }; -) \ No newline at end of file +) + +( +Routine{ + //~path = FluidFilesPath("Tremblay-AaS-VoiceQC-B2K.wav"); + ~path = FluidFilesPath("Tremblay-CEL-GlitchyMusicBoxMelo.wav"); + ~test_buf = Buffer.readChannel(s,~path,channels:[0]); + s.sync; + { + var sig = PlayBuf.ar(1,~test_buf,BufRateScale.ir(~test_buf),doneAction:2); + Out.ar(0,sig); + sig; + }.play(outbus:~in_bus); +}.play; +) + +s.record; +s.stopRecording \ No newline at end of file From 490c9995550ee90f84c5050e64204445b4233274 Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Thu, 9 Dec 2021 10:16:34 +0000 Subject: [PATCH 16/88] Revert "one extra slash check!" This reverts commit 3ba5c4bf3e4221daff7132cc9b59d21b5f720ab0. --- release-packaging/Classes/FluidFilesPath.sc | 2 +- test/FluidFilesPath_test.scd | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/release-packaging/Classes/FluidFilesPath.sc b/release-packaging/Classes/FluidFilesPath.sc index 8c62565..7a3c82e 100644 --- a/release-packaging/Classes/FluidFilesPath.sc +++ b/release-packaging/Classes/FluidFilesPath.sc @@ -2,6 +2,6 @@ FluidFilesPath { *new { arg fileName; fileName = fileName ? ""; - ^("%/../AudioFiles".format(File.realpath(FluidDataSet.class.filenameSymbol).dirname) +/+ fileName); + ^("%/../AudioFiles/".format(File.realpath(FluidDataSet.class.filenameSymbol).dirname) +/+ fileName); } } \ No newline at end of file diff --git a/test/FluidFilesPath_test.scd b/test/FluidFilesPath_test.scd index 0640a9f..585f577 100644 --- a/test/FluidFilesPath_test.scd +++ b/test/FluidFilesPath_test.scd @@ -1,7 +1,6 @@ ( // should all return the same path: (FluidFilesPath()++"Nicol-LoopE-M.wav").postln; -(FluidFilesPath()+/+"Nicol-LoopE-M.wav").postln; FluidFilesPath("Nicol-LoopE-M.wav").postln; FluidFilesPath("/Nicol-LoopE-M.wav").postln; ) From b7dc1e85e29f89e4bb65e0213e29c13762ad2f54 Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Thu, 9 Dec 2021 10:21:49 +0000 Subject: [PATCH 17/88] add section to bottom of nn->fm to test with audio files --- ...Predicts FM Params from Audio Analysis.scd | 59 +++++++++++++------ 1 file changed, 41 insertions(+), 18 deletions(-) diff --git a/release-packaging/Examples/Guides/Neural Network Predicts FM Params from Audio Analysis.scd b/release-packaging/Examples/Guides/Neural Network Predicts FM Params from Audio Analysis.scd index 6e59b58..8dc3031 100644 --- a/release-packaging/Examples/Guides/Neural Network Predicts FM Params from Audio Analysis.scd +++ b/release-packaging/Examples/Guides/Neural Network Predicts FM Params from Audio Analysis.scd @@ -27,8 +27,8 @@ s.waitForBoot{ var statsWinSl, hidden_tf, batchSize_nb, momentum_nb, learnRate_nb, maxIter_nb, outAct_pum, act_pum; var add_point = { var id = "point-%".format(id_counter); - mfcc_ds.addPoint(id,mfccbuf,{mfcc_ds.print}); - param_ds.addPoint(id,parambuf,{param_ds.print}); + mfcc_ds.addPoint(id,mfccbuf); + param_ds.addPoint(id,parambuf); id_counter = id_counter + 1; }; var train = { @@ -80,6 +80,8 @@ s.waitForBoot{ }); }; + ~in_bus = Bus.audio(s); + s.sync; synth = { @@ -87,7 +89,8 @@ s.waitForBoot{ var params = FluidStats.kr(FluidBufToKr.kr(parambuf),ControlRate.ir * smooth_params * isPredicting)[0]; var msig = SinOsc.ar(params[1],0,params[2] * params[1]); var csig = SinOsc.ar(params[0] + msig); - var sound_in = SoundIn.ar(0); + // var sound_in = SoundIn.ar(0); + var sound_in = In.ar(~in_bus); var analysis_sig, mfccs, trig, mfccbuf_norm, parambuf_norm; csig = BLowPass4.ar(csig,16000); @@ -109,7 +112,7 @@ s.waitForBoot{ SendReply.kr(trig,"/mfccs",mfccs); csig = csig.dup; - csig * Select.kr(isPredicting,[vol.dbamp,Amplitude.kr(sound_in)]); + csig * Select.kr(isPredicting,[vol.dbamp,FluidLoudness.kr(sound_in)[0].dbamp]); }.play; s.sync; @@ -294,28 +297,48 @@ s.waitForBoot{ s.sync; -/* statsWinSl.valueAction_(0.1); - - 100.do{ - var cfreq = exprand(20,20000); - var mfreq = exprand(20,20000); - var index = rrand(0.0,20); - parambuf.setn(0,[cfreq,mfreq,index]); - 0.2.wait; - add_point.value; - 0.05.wait; - };*/ + statsWinSl.valueAction_(0.0); /* 100.do{ - var cfreq = exprand(60,4000); - var mfreq = exprand(60,1000).clip(0,cfreq); + var cfreq = exprand(20,20000); + var mfreq = exprand(20,20000); var index = rrand(0.0,20); parambuf.setn(0,[cfreq,mfreq,index]); 0.2.wait; add_point.value; 0.05.wait; };*/ + 40.do{ + var cfreq = exprand(100.0,1000.0); + var mfreq = exprand(100.0,min(cfreq,500.0)); + var index = rrand(0.0,8.0); + var arr = [cfreq,mfreq,index]; + parambuf.setn(0,arr); + 0.1.wait; + add_point.value; + 0.1.wait; + arr.postln; + param_ds.print; + "\n\n".postln; + }; }.play(AppClock); }; -) \ No newline at end of file +) + +( +Routine{ + //~path = FluidFilesPath("Tremblay-AaS-VoiceQC-B2K.wav"); + ~path = FluidFilesPath("Tremblay-CEL-GlitchyMusicBoxMelo.wav"); + ~test_buf = Buffer.readChannel(s,~path,channels:[0]); + s.sync; + { + var sig = PlayBuf.ar(1,~test_buf,BufRateScale.ir(~test_buf),doneAction:2); + Out.ar(0,sig); + sig; + }.play(outbus:~in_bus); +}.play; +) + +s.record; +s.stopRecording \ No newline at end of file From 3f3b3c01f9164251418ebb2339f8e1810e0a8f8e Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Thu, 9 Dec 2021 10:22:32 +0000 Subject: [PATCH 18/88] FluidPlotter typo --- release-packaging/Classes/FluidPlotter.sc | 246 ++++++++++++++++++++++ 1 file changed, 246 insertions(+) create mode 100644 release-packaging/Classes/FluidPlotter.sc diff --git a/release-packaging/Classes/FluidPlotter.sc b/release-packaging/Classes/FluidPlotter.sc new file mode 100644 index 0000000..036359d --- /dev/null +++ b/release-packaging/Classes/FluidPlotter.sc @@ -0,0 +1,246 @@ +FluidPlotterPoint { + var id, color, <>size = 1; + + *new { + arg id, x, y, color, size = 1; + ^super.new.init(id,x,y,color,size); + } + + init { + arg id_, x_, y_, color_, size_ = 1; + id = id_; + x = x_; + y = y_; + color = color_ ? Color.black; + size = size_; + } +} + +FluidPlotter : FluidViewer { + var (categoryColors.size-1),{ + "FluidPlotter:setCategories_ FluidPlotter doesn't have that many category colors. You can use the method 'setColor_' to set colors for individual points.".warn + }); + + color = categoryColors[category_int]; + fp_pt.color_(color); + }); + this.refresh; + },{ + "FluidPlotter::setCategories_ FluidPlotter cannot receive setCategories. It has no data. First set a dictionary.".warn; + }); + } + + pointSize_ { + arg identifier, size; + if(dict_internal.at(identifier).notNil,{ + dict_internal.at(identifier).size_(size); + this.refresh; + },{ + "FluidPlotter::pointSize_ identifier not found".warn; + }); + } + + // TODO: addPoint_ that checks if the key already exists and throws an error if it does + addPoint_ { + arg identifier, x, y, color, size = 1; + if(dict_internal.at(identifier).notNil,{ + "FluidPlotter::addPoint_ There already exists a point with identifier %. Point not added. Use setPoint_ to overwrite existing points.".format(identifier).warn; + },{ + this.setPoint_(identifier,x,y,size,color); + }); + } + + setPoint_ { + arg identifier, x, y, color, size = 1; + + dict_internal.put(identifier,FluidPlotterPoint(identifier,x,y,color ? Color.black,size)); + + this.refresh; + } + + pointColor_ { + arg identifier, color; + if(dict_internal.at(identifier).notNil,{ + dict_internal.at(identifier).color_(color); + this.refresh; + },{ + "FluidPlotter::setColor_ identifier not found".warn; + }); + } + + shape_ { + arg sh; + shape = sh; + this.refresh; + } + + background_ { + arg bg; + userView.background_(bg); + } + + refresh { + {userView.refresh}.defer; + } + + pointSizeScale_ { + arg ps; + pointSizeScale = ps; + this.refresh; + } + + dict_ { + arg d; + + if(d.isNil,{^this.dictNotProperlyFormatted}); + if(d.size != 2,{^this.dictNotProperlyFormatted}); + if(d.at("data").isNil,{^this.dictNotProperlyFormatted}); + if(d.at("cols").isNil,{^this.dictNotProperlyFormatted}); + if(d.at("cols") != 2,{^this.dictNotProperlyFormatted}); + + dict = d; + dict_internal = Dictionary.new; + dict.at("data").keysValuesDo({ + arg k, v; + dict_internal.put(k,FluidPlotterPoint(k,v[0],v[1],Color.black,1)); + }); + if(userView.notNil,{ + this.refresh; + }); + } + + xmin_ { + arg val; + xmin = val; + this.refresh; + } + + xmax_ { + arg val; + xmax = val; + this.refresh; + } + + ymin_ { + arg val; + ymin = val; + this.refresh; + } + + ymax_ { + arg val; + ymax = val; + this.refresh; + } + + highlight_ { + arg identifier; + highlightIdentifier = identifier; + this.refresh; + } + + dictNotProperlyFormatted { + "FluidPlotter: The dictionary passed in is not properly formatted.".error; + } + + createPlotWindow { + arg bounds,parent_, mouseMoveAction,dict_; + var xpos, ypos; + var mouseAction = { + arg view, x, y, modifiers, buttonNumber, clickCount; + x = x.linlin(pointSize/2,userView.bounds.width-(pointSize/2),xmin,xmax); + y = y.linlin(pointSize/2,userView.bounds.height-(pointSize/2),ymax,ymin); + mouseMoveAction.(this,x,y,modifiers,buttonNumber, clickCount); + }; + + if(parent_.isNil,{xpos = 0; ypos = 0},{xpos = bounds.left; ypos = bounds.top}); + { + parent = parent_ ? Window("FluidPlotter",bounds); + userView = UserView(parent,Rect(xpos,ypos,bounds.width,bounds.height)); + + userView.drawFunc_({ + if(dict_internal.notNil,{ + dict_internal.keysValuesDo({ + arg key, pt; + var pointSize_, scaledx, scaledy, color; + + /* key.postln; + pt.postln; + pt.x.postln; + pt.y.postln;*/ + + if(key == highlightIdentifier,{ + pointSize_ = pointSize * 2.3 * pt.size + },{ + pointSize_ = pointSize * pt.size + }); + + pointSize_ = pointSize_ * pointSizeScale; + + scaledx = pt.x.linlin(xmin,xmax,0,userView.bounds.width,nil) - (pointSize_/2); + scaledy = pt.y.linlin(ymax,ymin,0,userView.bounds.height,nil) - (pointSize_/2); + + shape.switch( + \square,{Pen.addRect(Rect(scaledx,scaledy,pointSize_,pointSize_))}, + \circle,{Pen.addOval(Rect(scaledx,scaledy,pointSize_,pointSize_))} + ); + + Pen.color_(pt.color); + Pen.draw; + }); + }); + }); + + userView.mouseMoveAction_(mouseAction); + userView.mouseDownAction_(mouseAction); + + this.background_(Color.white); + + if(parent_.isNil,{parent.front;}); + }.defer; + } + + close { + parent.close; + } +} From b68969993989742edd7ca2a0cbaa7bf11ac3bd0b Mon Sep 17 00:00:00 2001 From: James Bradbury Date: Sat, 11 Dec 2021 12:07:22 +0000 Subject: [PATCH 19/88] fix reference to FLUID_PARAMDUMP (#43) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e5f62af..66119ce 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ Also, with CMake you have a choice of which build system you use. In some cases you may want to use your own copies of the required libraries. Unless specified, the build system will download these automatically. To bypass this behaviour, use the following cache variables: - `FLUID_PATH`: location of the Fluid Corpus Manipulation Library -- `FLUID_PARAMDUMP_PATH`: location of `flucoma_paramdump` repository (e.g. for debugging documentation generation) +- `FLUID_DOCS_PATH`: location of `fluid-docs` repository (e.g. for debugging documentation generation) - `EIGEN_PATH` location of the Eigen library - `HISS_PATH` location of the HISSTools library From 8cfa7a1e95f21f95133527be5b0e2ca1b1c5369c Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Tue, 14 Dec 2021 00:57:58 +0000 Subject: [PATCH 20/88] FluidFilesPath helpfile --- .../HelpSource/Classes/FluidFilesPath.schelp | 55 +++++++++++++++++++ test/FluidFilesPath_test.scd | 5 +- 2 files changed, 58 insertions(+), 2 deletions(-) create mode 100644 release-packaging/HelpSource/Classes/FluidFilesPath.schelp diff --git a/release-packaging/HelpSource/Classes/FluidFilesPath.schelp b/release-packaging/HelpSource/Classes/FluidFilesPath.schelp new file mode 100644 index 0000000..23bfacc --- /dev/null +++ b/release-packaging/HelpSource/Classes/FluidFilesPath.schelp @@ -0,0 +1,55 @@ +TITLE:: FluidFilesPath +summary:: A convenience class for accessing the audio files provided with the FluCoMa Extension +categories:: Libraries>FluidCorpusManipulation +related:: Classes/FluidLoadFolder + +DESCRIPTION:: + + +CLASSMETHODS:: + +METHOD:: new +Get the path to the "AudioFiles" folder inside the FluCoMa extensions folder. Following this with a ++ "name_Of_The_File-You-Want.wav" will create the path to file you want. + +ARGUMENT:: fileName +Optionally, you may pass in the name of the file you want to use and the *new class method will return the path to that file. + +returns:: The path to the "AudioFiles" folder inside the FluCoMa extensions folder (optionally with provided file name). + +EXAMPLES:: + +code:: +( +// these will return the same path +(FluidFilesPath()++"Nicol-LoopE-M.wav").postln; +FluidFilesPath("Nicol-LoopE-M.wav").postln; +) + +( +// test it one way +s.waitForBoot{ + Routine{ + var path = FluidFilesPath()++"Nicol-LoopE-M.wav"; + var buf = Buffer.read(s,path); + + s.sync; + + buf.play; + }.play; +} +) + +( +// test it another way +s.waitForBoot{ + Routine{ + var path = FluidFilesPath("Nicol-LoopE-M.wav"); + var buf = Buffer.read(s,path); + + s.sync; + + buf.play; + }.play; +} +) +:: diff --git a/test/FluidFilesPath_test.scd b/test/FluidFilesPath_test.scd index 585f577..db380e7 100644 --- a/test/FluidFilesPath_test.scd +++ b/test/FluidFilesPath_test.scd @@ -1,11 +1,11 @@ ( -// should all return the same path: +// these will return the same path (FluidFilesPath()++"Nicol-LoopE-M.wav").postln; FluidFilesPath("Nicol-LoopE-M.wav").postln; -FluidFilesPath("/Nicol-LoopE-M.wav").postln; ) ( +// test it one way s.waitForBoot{ Routine{ var path = FluidFilesPath()++"Nicol-LoopE-M.wav"; @@ -19,6 +19,7 @@ s.waitForBoot{ ) ( +// test it another way s.waitForBoot{ Routine{ var path = FluidFilesPath("Nicol-LoopE-M.wav"); From a4c662952f4d5f71bd630f0dc5ef41625b0660ca Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Thu, 16 Dec 2021 04:11:28 +0000 Subject: [PATCH 21/88] comments added, ted's TODO added in folder --- .../Buffer Slicing Analysis and Plotting.scd | 8 +- ...ionality Reduction (2D sound browsing).scd | 103 +++--- ...und browsing (each step separated out).scd | 295 ++++++++++++++++++ ted_helpfiles_outline.md | 7 + 4 files changed, 374 insertions(+), 39 deletions(-) create mode 100644 release-packaging/Examples/Guides/Dimensionality Reduction 2D sound browsing (each step separated out).scd create mode 100644 ted_helpfiles_outline.md diff --git a/release-packaging/Examples/Guides/Buffer Slicing Analysis and Plotting.scd b/release-packaging/Examples/Guides/Buffer Slicing Analysis and Plotting.scd index 7fa01e9..df4026a 100644 --- a/release-packaging/Examples/Guides/Buffer Slicing Analysis and Plotting.scd +++ b/release-packaging/Examples/Guides/Buffer Slicing Analysis and Plotting.scd @@ -1,5 +1,5 @@ ( -Window.closeAll; +// Window.closeAll; s.waitForBoot{ Task{ @@ -14,11 +14,13 @@ s.waitForBoot{ s.sync; - FluidBufAmpSlice.process(s,buf,indices:slicepoints,fastRampUp:10,fastRampDown:2205,slowRampUp:4410,slowRampDown:4410,onThreshold:10,offThreshold:5,floor:-40,minSliceLength:4410,highPassFreq:20).wait; + FluidBufAmpSlice.processBlocking(s,buf,indices:slicepoints,fastRampUp:10,fastRampDown:2205,slowRampUp:4410,slowRampDown:4410,onThreshold:10,offThreshold:5,floor:-40,minSliceLength:4410,highPassFreq:20); // slice the drums buffer based on amplitude // the samples at which slices are detected will be written into the "slicepoints" buffer - FluidWaveform(buf,slicepoints,Rect(0,0,1600,400)); + s.sync; + + FluidWaveform(buf,slicepoints,bounds:Rect(0,0,1600,400)); // plot the drums buffer with the slicepoints overlayed slicepoints.loadToFloatArray(action:{ // bring the values in the slicepoints buffer from the server to the language as a float array diff --git a/release-packaging/Examples/Guides/Dimensionality Reduction (2D sound browsing).scd b/release-packaging/Examples/Guides/Dimensionality Reduction (2D sound browsing).scd index d0e0a3f..ddd8991 100644 --- a/release-packaging/Examples/Guides/Dimensionality Reduction (2D sound browsing).scd +++ b/release-packaging/Examples/Guides/Dimensionality Reduction (2D sound browsing).scd @@ -1,15 +1,27 @@ -s.boot; -// 1. Load a folder of sounds ( +// 1. define a function to load a folder of sounds ~load_folder = { arg folder_path, action; var loader = FluidLoadFolder(folder_path); loader.play(s,{ - "loaded % soundfiles".format(loader.index.size).postln; - action.(loader.buffer); + fork{ + var mono_buffer = Buffer.alloc(s,loader.buffer.numFrames); // convert to mono for ease of use for this example + FluidBufCompose.processBlocking(s,loader.buffer,destination:mono_buffer,numChans:1); + s.sync; + action.(mono_buffer); + } }); }; -// 2. Slice + +~load_folder.(File.realpath(FluidBufPitch.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/",{ + arg buffer; + "mono buffer: %".format(buffer).postln; + ~buffer = buffer; +}); +) + +( +// 2. define a function to slice the sounds, play with the threshold to get different results ~slice = { arg buffer, action; Routine{ @@ -22,40 +34,57 @@ s.boot; }); }.play; }; -// 3. Analyze + +~slice.(~buffer,{ + arg buffer, indices; + ~indices = indices; +}); +) + +( +// 3. analyze the slices ~analyze = { arg buffer, indices, action; + var time = SystemClock.seconds; Routine{ var feature_buf = Buffer(s); var stats_buf = Buffer(s); var point_buf = Buffer(s); - var cond = Condition.new; var ds = FluidDataSet(s); - s.sync; + indices.loadToFloatArray(action:{ arg fa; fa.doAdjacentPairs{ arg start, end, i; var num = end - start; - // === PICK YOUR ANALYSIS (JUST CHOOSE 1) === - FluidBufMFCC.process(s,buffer,start,num,features:feature_buf,numCoeffs:13,startCoeff:1).wait; - // FluidBufChroma.process(s,~loader.buffer,start,num,features:feature_buf).wait; - // FluidBufSpectralShape.process(s,buffer,start,num,features:feature_buf).wait; - //FluidBufPitch.process(s,buffer,start,num,features:feature_buf).wait; - - FluidBufStats.process(s,feature_buf,stats:stats_buf).wait; - FluidBufFlatten.process(s,stats_buf,numFrames:1,destination:point_buf).wait; + FluidBufMFCC.processBlocking(s,buffer,start,num,features:feature_buf,numCoeffs:13,startCoeff:1); + FluidBufStats.processBlocking(s,feature_buf,stats:stats_buf); + FluidBufFlatten.processBlocking(s,stats_buf,numFrames:1,destination:point_buf); ds.addPoint("slice-%".format(i),point_buf); - "% / % done".format(i+1,indices.numFrames-1).postln; + "Processing Slice % / %".format(i+1,indices.numFrames-1).postln; }; + s.sync; + + feature_buf.free; stats_buf.free; point_buf.free; + ds.print; + + "Completed in % seconds".format(SystemClock.seconds - time).postln; action.(buffer,indices,ds); }); }.play; }; + +~analyze.(~buffer,~indices,{ + arg buffer, indices, ds; + ~ds = ds; +}); +) + +( // 4. Reduce to 2 Dimensions ~umap = { arg buffer, indices, ds, action, numNeighbours = 15, minDist = 0.1; @@ -76,6 +105,14 @@ s.boot; }); }.play; }; + +~umap.(~buffer,~indices,~ds,{ + arg buffer, indices, redux_ds; + ~ds = redux_ds; +}); +) + +( // 5. Gridify if Desired ~grid = { arg buffer, indices, redux_ds, action; @@ -95,6 +132,14 @@ s.boot; }); }.play; }; + +~grid.(~buffer,~indices,~ds,{ + arg buffer, indices, grid_ds; + ~ds = grid_ds; +}); +) + +( // 6. Plot ~plot = { arg buffer, indices, redux_ds, action; @@ -131,7 +176,9 @@ s.boot; var dur_samps = Index.kr(indices,index + 1) - startPos; var sig = PlayBuf.ar(1,buffer,BufRateScale.ir(buffer),startPos:startPos); var dur_sec = dur_samps / BufSampleRate.ir(buffer); - var env = EnvGen.kr(Env([0,1,1,0],[0.03,dur_sec-0.06,0.03]),doneAction:2); + var env; + dur_sec = min(dur_sec,1); + env = EnvGen.kr(Env([0,1,1,0],[0.03,dur_sec-0.06,0.03]),doneAction:2); sig.dup * env; }.play; }); @@ -143,25 +190,9 @@ s.boot; }); }.play; }; -) - -~load_folder.("/Users/macprocomputer/Desktop/_flucoma/favs mono fewer/"); - -~slice.(); - -~indices.postln; - -FluidWaveform(~loader.buffer,~indices); -~analyze.(); - -~umap.(); - -~grid.(); - -~plot.(); - -FluidLabelSet +~plot.(~buffer,~indices,~ds); +) // ============== do all of it ======================= ( diff --git a/release-packaging/Examples/Guides/Dimensionality Reduction 2D sound browsing (each step separated out).scd b/release-packaging/Examples/Guides/Dimensionality Reduction 2D sound browsing (each step separated out).scd new file mode 100644 index 0000000..7778d4d --- /dev/null +++ b/release-packaging/Examples/Guides/Dimensionality Reduction 2D sound browsing (each step separated out).scd @@ -0,0 +1,295 @@ +/* + +this script shows how to + +1. load a folder of sounds +2. find smaller time segments within the sounds according to novelty +3. analyse the sounds according to MFCC and add these analyses to a dataset +4. dimensionally reduce that dataset to 2D using umap +5. (optional) turn the plot of points in 2D into a grid +6. plot the points! + +notice that each step in this process is created within a function so that +at the bottom of the patch, these functions are all chained together to +do the whole process in one go! + +*/ + +( +// 1. load a folder of sounds +~load_folder = { + arg folder_path, action; + var loader = FluidLoadFolder(folder_path); // pass in the folder to load + loader.play(s,{ // play will do the actual loading + var mono_buffer = Buffer.alloc(s,loader.buffer.numFrames); + FluidBufCompose.processBlocking(s,loader.buffer,destination:mono_buffer,numChans:1,action:{ + action.(mono_buffer); + }); + }); +}; + +// this will load all the audio files that are included with the flucoma toolkit, but you can put your own path here: +~load_folder.(File.realpath(FluidBufPitch.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/",{ + arg buffer; + "mono buffer: %".format(buffer).postln; + ~buffer = buffer; // save the buffer to a global variable so we can use it later +}); +) + +( +// 2. slice the sounds +~slice = { + arg buffer, action; + var indices = Buffer(s); // a buffer for saving the discovered indices into + + // play around the the threshold anad feature (see help file) to get differet slicing results + FluidBufNoveltySlice.processBlocking(s,buffer,indices:indices,feauture:0,threshold:0.5,action:{ + "% slices found".format(indices.numFrames).postln; + "average duration in seconds: %".format(buffer.duration/indices.numFrames).postln; + action.(buffer,indices); + }); +}; + +~slice.(~buffer,{ + arg buffer, indices; + ~indices = indices; +}); +) + +// you may want to check the slice points here using FluidWaveform +FluidWaveform(~buffer,~indices); // it may also be way too many slices to see properly! + +( +// 3. analyze the slices +~analyze = { + arg buffer, indices, action; + var time = SystemClock.seconds; // a timer just to keep tabs on how long this stuff is taking + Routine{ + var feature_buf = Buffer(s); // a buffer for storing the mfcc analyses into + var stats_buf = Buffer(s); // a buffer for storing the stats into + var point_buf = Buffer(s); // a buffer we will use to add points to the dataset + var ds = FluidDataSet(s); // the dataset that we'll add all these mfcc analyses to + + // bring the values in the slicepoints buffer from the server to the language as a float array + indices.loadToFloatArray(action:{ + arg fa; // float array + fa.doAdjacentPairs{ + /* + take each of the adjacent pairs and pass them to this function as an array of 2 values + + nb. for example [0,1,2,3,4] will execute this function 4 times, passing these 2 value arrays: + [0,1] + [1,2] + [2,3] + [3,4] + + this will give us each slice point *and* the next slice point so that we + can tell the analyzers where to start analyzing and how many frames to analyze + */ + arg start, end, i; + + // the next slice point minus the current one will give us the difference how many slices to analyze) + var num = end - start; + + /* analyze the drum buffer starting at `start_samps` and for `num_samps` samples + this returns a buffer (feautre_buf) that is 13 channels wide (for the 13 mfccs, see helpfile) and + however many frames long as there are fft frames in the slice */ + FluidBufMFCC.processBlocking(s,buffer,start,num,features:feature_buf,numCoeffs:13,startCoeff:1); + + /* perform a statistical analysis on the mfcc analysis + this will return just 13 channels, one for each mfcc channel in the feature_buf. + each channel will have 7 frames corresponding to the 7 statistical analyses that it performs + on that channel */ + FluidBufStats.processBlocking(s,feature_buf,stats:stats_buf); + + /* take all 13 channels from stats_buf, but just the first frame (mean) and convert it into a buffer + that is 1 channel and 13 frames. this shape will be considered "flat" and therefore able to be + added to the dataset */ + FluidBufFlatten.processBlocking(s,stats_buf,numFrames:1,destination:point_buf); + + // add it + ds.addPoint("slice-%".format(i),point_buf); + "Processing Slice % / %".format(i+1,indices.numFrames-1).postln; + }; + + s.sync; + + feature_buf.free; stats_buf.free; point_buf.free; // free buffers + + ds.print; + + "Completed in % seconds".format(SystemClock.seconds - time).postln; + action.(buffer,indices,ds); + }); + }.play; +}; + +~analyze.(~buffer,~indices,{ + arg buffer, indices, ds; + ~ds = ds; +}); +) + +( +// 4. Reduce to 2 Dimensions +~umap = { + arg buffer, indices, ds, action, numNeighbours = 15, minDist = 0.1; + Routine{ + + // get all the dimensions in the same general range so that when umap + // makes its initial tree structure, the lower order mfcc coefficients + // aren't over weighted + var standardizer = FluidStandardize(s); + + // this is the dimensionality reduction algorithm, see helpfile for + // more info + var umap = FluidUMAP(s,2,numNeighbours,minDist); + + var redux_ds = FluidDataSet(s); // a new dataset for putting the 2D points into + + s.sync; + + standardizer.fitTransform(ds,redux_ds,{ + "standardization done".postln; + umap.fitTransform(redux_ds,redux_ds,{ + "umap done".postln; + action.(buffer,indices,redux_ds); + }); + }); + }.play; +}; + +~umap.(~buffer,~indices,~ds,{ + arg buffer, indices, redux_ds; + ~ds = redux_ds; +}); +) + +( +// 5. Gridify if Desired +~grid = { + arg buffer, indices, redux_ds, action; + Routine{ + + // first normalize so they're all 0 to 1 + var normer = FluidNormalize(s); + + // this will shift all dots around so they're in a grid shape + var grider = FluidGrid(s); + + // a new dataset to hold the gridified dots + var newds = FluidDataSet(s); + + s.sync; + + normer.fitTransform(redux_ds,newds,{ + "normalization done".postln; + grider.fitTransform(newds,newds,{ + "grid done".postln; + action.(buffer,indices,newds); + }); + }); + }.play; +}; + +~grid.(~buffer,~indices,~ds,{ + arg buffer, indices, grid_ds; + ~ds = grid_ds; +}); +) + +( +// 6. Plot +~plot = { + arg buffer, indices, redux_ds, action; + Routine{ + var kdtree = FluidKDTree(s); // tree structure of the 2D points for fast neighbour lookup + + // a buffer for putting the 2D mouse point into so that it can be used to find the nearest neighbour + var buf_2d = Buffer.alloc(s,2); + + // scaler just to double check and make sure that the points are 0 to 1 + // if the plotter is receiving the output of umap, they probably won't be... + var scaler = FluidNormalize(s); + + // a new dataset told the normalized data + var newds = FluidDataSet(s); + + s.sync; + + scaler.fitTransform(redux_ds,newds,{ + "scaling done".postln; + kdtree.fit(newds,{ + "kdtree fit".postln; + newds.dump({ + arg dict; + var previous, fp; + "ds dumped".postln; + + // pass in the dict from the dumped dataset. this is the data that we want to plot! + + fp = FluidPlotter(nil,Rect(0,0,800,800),dict,mouseMoveAction:{ + + // when the mouse is clicked or dragged on the plotter, this function executes + + // the view is the FluidPlotter, the x and y are the position of the mouse according + // to the range of the plotter. i.e., since our plotter is showing us the range 0 to 1 + // for both x and y, the xy positions will always be between 0 and 1 + arg view, x, y; + buf_2d.setn(0,[x,y]); // set the mouse position into a buffer + + // then send that buffer to the kdtree to find the nearest point + kdtree.kNearest(buf_2d,{ + arg nearest; // the identifier of the nearest point is returned (always as a symbol) + + if(previous != nearest,{ // as long as this isn't also the last one that was returned + + // split the integer off the indentifier to know how to look it up for playback + var index = nearest.asString.split($-)[1].asInteger; + previous = nearest; + nearest.postln; + // index.postln; + { + var startPos = Index.kr(indices,index); // look in the indices buf to see where to start playback + var dur_samps = Index.kr(indices,index + 1) - startPos; // and how long + var sig = PlayBuf.ar(1,buffer,BufRateScale.ir(buffer),startPos:startPos); + var dur_sec = dur_samps / BufSampleRate.ir(buffer); + var env; + dur_sec = min(dur_sec,1); // just in case some of the slices are *very* long... + env = EnvGen.kr(Env([0,1,1,0],[0.03,dur_sec-0.06,0.03]),doneAction:2); + sig.dup * env; + }.play; + }); + }); + }); + action.(fp,newds); + }); + }); + }); + }.play; +}; + +~plot.(~buffer,~indices,~ds); +) + +// ============== do all of it in one go ======================= +( +var path = File.realpath(FluidBufPitch.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/"; +~load_folder.(path,{ + arg buffer0; + ~slice.(buffer0,{ + arg buffer1, indices1; + ~analyze.(buffer1, indices1,{ + arg buffer2, indices2, ds2; + ~umap.(buffer2,indices2,ds2,{ + arg buffer3, indices3, ds3; + ~plot.(buffer3,indices3,ds3,{ + arg plotter; + "done with all".postln; + ~fp = plotter; + }); + }); + }); + }); +}); +) \ No newline at end of file diff --git a/ted_helpfiles_outline.md b/ted_helpfiles_outline.md new file mode 100644 index 0000000..ddddfbf --- /dev/null +++ b/ted_helpfiles_outline.md @@ -0,0 +1,7 @@ + + +NMFBuf Filter Morph Match Cross +HPSS *Buf +MDS +SpectralShape *Buf +Transients & Buf* & Slice* From d6bec0bb287e25b2c3c59beb864a04f49f285b04 Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Thu, 16 Dec 2021 05:11:51 +0000 Subject: [PATCH 22/88] don't show rms color and allow passing waveformcolor none of this is breaking (i think) --- release-packaging/Classes/FluidWaveform.sc | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/release-packaging/Classes/FluidWaveform.sc b/release-packaging/Classes/FluidWaveform.sc index 2c9aa84..3b174d7 100644 --- a/release-packaging/Classes/FluidWaveform.sc +++ b/release-packaging/Classes/FluidWaveform.sc @@ -15,16 +15,18 @@ FluidViewer { FluidWaveform : FluidViewer { *new { - arg audio_buf, slices_buf, feature_buf, bounds, lineWidth = 1; - ^super.new.init(audio_buf,slices_buf, feature_buf, bounds, lineWidth); + arg audio_buf, slices_buf, feature_buf, bounds, lineWidth = 1, waveformColor; + ^super.new.init(audio_buf,slices_buf, feature_buf, bounds, lineWidth, waveformColor); } init { - arg audio_buf, slices_buf, feature_buf, bounds, lineWidth; + arg audio_buf, slices_buf, feature_buf, bounds, lineWidth, waveformColor; Task{ var path = "%%_%_FluidWaveform.wav".format(PathName.tmp,Date.localtime.stamp,UniqueID.next); var sfv, win, categoryCounter = 0; + waveformColor = waveformColor ? Color(*0.5.dup(3)); + this.createCatColors; bounds = bounds ? Rect(0,0,800,200); @@ -34,8 +36,9 @@ FluidWaveform : FluidViewer { audio_buf.server.sync; sfv = SoundFileView(win,Rect(0,0,bounds.width,bounds.height)); - sfv.peakColor_(Color(*0.75.dup(3))); - sfv.rmsColor_(Color.black); + sfv.peakColor_(waveformColor); + // sfv.rmsColor_(Color.black); + sfv.rmsColor_(Color.clear); sfv.background_(Color.white); sfv.readFile(SoundFile(path)); sfv.gridOn_(false); From 6c2a5b90f87a8708d1df719c2acc27a84f062522 Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Thu, 16 Dec 2021 06:50:56 +0000 Subject: [PATCH 23/88] FluidPlotter now allows > 1 identifier to highlight --- release-packaging/Classes/FluidPlotter.sc | 36 ++++++++---- test/FluidPlotter_test.scd | 69 ++++++++++++++++++++++- 2 files changed, 92 insertions(+), 13 deletions(-) diff --git a/release-packaging/Classes/FluidPlotter.sc b/release-packaging/Classes/FluidPlotter.sc index 036359d..f0067e2 100644 --- a/release-packaging/Classes/FluidPlotter.sc +++ b/release-packaging/Classes/FluidPlotter.sc @@ -17,7 +17,7 @@ FluidPlotterPoint { } FluidPlotter : FluidViewer { - var Date: Mon, 20 Dec 2021 09:34:10 -0600 Subject: [PATCH 24/88] udpated ted's to do list --- ted_helpfiles_outline.md | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/ted_helpfiles_outline.md b/ted_helpfiles_outline.md index ddddfbf..3729a62 100644 --- a/ted_helpfiles_outline.md +++ b/ted_helpfiles_outline.md @@ -1,7 +1,27 @@ +### James has already done in Max: +KDTree +AmpSlice +BufAmpSlice +BufSelect +Chroma +BufChroma +Sines +BufSines -NMFBuf Filter Morph Match Cross -HPSS *Buf +### TODO: + +NMFBuf +NMFFilter +NMFMorph +NMFMatch +NMFCross +HPSS +BufHPSS MDS -SpectralShape *Buf -Transients & Buf* & Slice* +SpectralShape +BufSpectralShape +Transients +BufTransients +TransientSlice +BufTransientSlice From 4e534731ac838257dfec53f15980dd04026933fb Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Mon, 20 Dec 2021 14:44:47 -0600 Subject: [PATCH 25/88] updated ted_helpfiles_outline --- ted_helpfiles_outline.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 ted_helpfiles_outline.md diff --git a/ted_helpfiles_outline.md b/ted_helpfiles_outline.md new file mode 100644 index 0000000..3729a62 --- /dev/null +++ b/ted_helpfiles_outline.md @@ -0,0 +1,27 @@ +### James has already done in Max: + +KDTree +AmpSlice +BufAmpSlice +BufSelect +Chroma +BufChroma +Sines +BufSines + +### TODO: + +NMFBuf +NMFFilter +NMFMorph +NMFMatch +NMFCross +HPSS +BufHPSS +MDS +SpectralShape +BufSpectralShape +Transients +BufTransients +TransientSlice +BufTransientSlice From 54d1ea523a906c41a21f23b42d7d8d4911fe4195 Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Tue, 21 Dec 2021 15:59:53 -0600 Subject: [PATCH 26/88] deleted ted_helpfiles_outline --- ted_helpfiles_outline.md | 27 --------------------------- 1 file changed, 27 deletions(-) delete mode 100644 ted_helpfiles_outline.md diff --git a/ted_helpfiles_outline.md b/ted_helpfiles_outline.md deleted file mode 100644 index 3729a62..0000000 --- a/ted_helpfiles_outline.md +++ /dev/null @@ -1,27 +0,0 @@ -### James has already done in Max: - -KDTree -AmpSlice -BufAmpSlice -BufSelect -Chroma -BufChroma -Sines -BufSines - -### TODO: - -NMFBuf -NMFFilter -NMFMorph -NMFMatch -NMFCross -HPSS -BufHPSS -MDS -SpectralShape -BufSpectralShape -Transients -BufTransients -TransientSlice -BufTransientSlice From d5011f59417246fd0262a8e8252683b634a60482 Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Tue, 21 Dec 2021 17:23:07 -0600 Subject: [PATCH 27/88] clean up examples/guides folder --- ...ace Drum Sounds with other Sounds, 01).scd | 285 ------------------ ...unds with other Sounds, with Scalers).scd} | 0 ...h from 2D space (01 a lot in language).scd | 80 ----- ...s Synth from 2D space (all on server).scd} | 0 4 files changed, 365 deletions(-) delete mode 100644 release-packaging/Examples/Guides/Audio Query (Replace Drum Sounds with other Sounds, 01).scd rename release-packaging/Examples/Guides/{Audio Query (Replace Drum Sounds with other Sounds, 02 with Scalers).scd => Audio Query (Replace Drum Sounds with other Sounds, with Scalers).scd} (100%) delete mode 100644 release-packaging/Examples/Guides/Neural Network Controls Synth from 2D space (01 a lot in language).scd rename release-packaging/Examples/Guides/{Neural Network Controls Synth from 2D space (02 all on server).scd => Neural Network Controls Synth from 2D space (all on server).scd} (100%) diff --git a/release-packaging/Examples/Guides/Audio Query (Replace Drum Sounds with other Sounds, 01).scd b/release-packaging/Examples/Guides/Audio Query (Replace Drum Sounds with other Sounds, 01).scd deleted file mode 100644 index 588c7da..0000000 --- a/release-packaging/Examples/Guides/Audio Query (Replace Drum Sounds with other Sounds, 01).scd +++ /dev/null @@ -1,285 +0,0 @@ -/* -================================================= -| | -| LOAD AND ANALYZE THE SOURCE MATERIAL | -| | -================================================= -*/ - -( -// ============= 1. LOAD SOME FILES TO BE THE SOURCE MATERIAL =================== -// put your own folder path here! it's best if they're all mono for now. -~source_files_folder = "/Users/macprocomputer/Desktop/audio_files/"; - -~loader = FluidLoadFolder(~source_files_folder); // this is a nice helper class that will load a bunch of files from a folder. -~loader.play(s,{ // .play will cause it to *actually* do the loading - - // we really just want access to the buffer. there is also a .index with some info about the files - // but we'll igore that for now - ~source_buf = ~loader.buffer; - - "all files loaded".postln; - - // double check if they're all mono? the buffer of the loaded files will have as many channels as the file with the most channels - // so if this is 1, then we know all the files were mono. - "num channels: %".format(~source_buf.numChannels).postln -}); -) - -~loader.buffer -~loader.index.dopostln -// ~source_buf.plot -FluidBufNMF - -( -// ==================== 2. SLICE THE SOURCE MATERIAL ACCORDING TO SPECTRAL ONSETS ========================= -~source_indices_buf = Buffer(s); // a buffer for writing the indices into -FluidBufOnsetSlice.process(s,~source_buf,indices:~source_indices_buf,metric:9,threshold:0.15,minSliceLength:9,action:{ // do the slicing - ~source_indices_buf.loadToFloatArray(action:{ - arg indices_array; - - // post the results so that you can tweak the parameters and get what you want - "found % slices".format(indices_array.size-1).postln; - "average length: % seconds".format((~source_buf.duration / (indices_array.size-1)).round(0.001)).postln; - }) -}); -) - -( -// =========================== 3. DEFINE A FUNCTION FOR DOING THE ANALYSIS =================================== -~analyze_to_dataset = { - arg audio_buffer, slices_buffer, action; // the audio buffer to analyze, a buffer with the slice points, and an action to execute when done - ~nmfccs = 13; - Routine{ - var features_buf = Buffer(s); // a buffer for writing the MFCC analyses into - var stats_buf = Buffer(s); // a buffer for writing the statistical summary of the MFCC analyses into - var flat_buf = Buffer(s); // a buffer for writing only he mean MFCC values into - var dataset = FluidDataSet(s); // the dataset that all of these analyses will be stored in - slices_buffer.loadToFloatArray(action:{ // get the indices from the server loaded down to the language - arg slices_array; - - // iterate over each index in this array, paired with this next neighbor so that we know where to start - // and stop the analysis - slices_array.doAdjacentPairs{ - arg start_frame, end_frame, slice_index; - var num_frames = end_frame - start_frame; - - "analyzing slice: % / %".format(slice_index + 1,slices_array.size - 1).postln; - - // mfcc analysis, hop over that 0th coefficient because it relates to loudness and here we want to focus on timbre - FluidBufMFCC.process(s,audio_buffer,start_frame,num_frames,features:features_buf,startCoeff:1,numCoeffs:~nmfccs).wait; - - // get a statistical summary of the MFCC analysis for this slice - FluidBufStats.process(s,features_buf,stats:stats_buf).wait; - - // extract and flatten just the 0th frame (numFrames:1) of the statistical summary (because that is the mean) - FluidBufFlatten.process(s,stats_buf,numFrames:1,destination:flat_buf).wait; - - // now that the means are extracted and flattened, we can add this datapoint to the dataset: - dataset.addPoint("slice-%".format(slice_index),flat_buf); - }; - }); - - action.value(dataset); // execute the function and pass in the dataset that was created! - }.play; -}; -) - -( -// =================== 4. DO THE ANALYSIS ===================== -~analyze_to_dataset.(~source_buf,~source_indices_buf,{ // pass in the audio buffer of the source, and the slice points - arg ds; - ~source_dataset = ds; // set the ds to a global variable so we can access it later - ~source_dataset.print; -}); -) - -/* -================================================= -| | -| LOAD AND ANALYZE THE TARGET | -| | -================================================= -*/ - -( -// ============= 5. LOAD THE FILE =================== -~target_path = File.realpath(FluidBufPitch.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Nicol-LoopE-M.wav"; -~target_buf = Buffer.read(s,~target_path); -) - -( -// ============= 6. SLICE =================== -~target_indices_buf = Buffer(s); -FluidBufOnsetSlice.process(s,~target_buf,indices:~target_indices_buf,metric:9,threshold:0.5,action:{ - ~target_indices_buf.loadToFloatArray(action:{ - arg indices_array; - - // post the results so that you can tweak the parameters and get what you want - "found % slices".format(indices_array.size-1).postln; - "average length: % seconds".format((~target_buf.duration / (indices_array.size-1)).round(0.001)).postln; - }) -}); -) - -( -// =========== 7. USE THE SAME ANALYSIS FUNCTION -~analyze_to_dataset.(~target_buf,~target_indices_buf,{ - arg ds; - ~target_dataset = ds; - ~target_dataset.print; -}); -) - -( -// ======================= 8. TEST DRUM LOOP PLAYBACK ==================== -// play back the drum slices with a .wait in between so we hear the drum loop -Routine{ - ~target_indices_buf.loadToFloatArray(action:{ - arg target_indices_array; - - // prepend 0 (the start of the file) to the indices array - target_indices_array = [0] ++ target_indices_array; - - // append the total number of frames to know how long to play the last slice for - target_indices_array = target_indices_array ++ [~target_buf.numFrames]; - - - inf.do{ // loop for infinity - arg i; - - // get the index to play by modulo one less than the number of slices (we don't want to *start* playing from the - // last slice point, because that's the end of the file!) - var index = i % (target_indices_array.size - 1); - - // nb. that the minus one is so that the drum slice from the beginning of the file to the first index is call "-1" - // this is because that slice didn't actually get analyzed - var slice_id = index - 1; - var start_frame = target_indices_array[index]; - var dur_frames = target_indices_array[index + 1] - start_frame; - var dur_secs = dur_frames / ~target_buf.sampleRate; - - "playing slice: %".format(slice_id).postln; - - { - var sig = PlayBuf.ar(1,~target_buf,BufRateScale.ir(~target_buf),0,start_frame,0,2); - var env = EnvGen.kr(Env([0,1,1,0],[0.03,dur_secs-0.06,0.03]),doneAction:2); - sig = sig * env; // include this env if you like, but keep the line above because it will free the synth after the slice! - sig.dup; - }.play; - dur_secs.wait; - }; - }); -}.play; -) - -/* -================================================= -| | -| KDTREE THE DATA AND DO THE LOOKUP | -| | -================================================= -*/ - -( // ========== 9. FIT THE KDTREE TO THE SOURCE DATASET SO THAT WE CAN QUICKLY LOOKUP NEIGHBORS =============== -Routine{ - ~kdtree = FluidKDTree(s,10); - s.sync; - ~kdtree.fit(~source_dataset,{ - "kdtree fit".postln; - }); -}.play; -) - -( -// ========= 10. A LITTLE HELPER FUNCTION THAT WILL PLAY BACK A SLICE FROM THE SOURCE BY JUST PASSING THE INDEX ============= -~play_source_index = { - arg index; - { - var start_frame = Index.kr(~source_indices_buf,index); // lookup the start frame with the index *one the server* using Index.kr - var end_frame = Index.kr(~source_indices_buf,index+1); // same for the end frame - var num_frames = end_frame - start_frame; - var dur_secs = num_frames / SampleRate.ir(~source_buf); - var sig = PlayBuf.ar(1,~source_buf,BufRateScale.ir(~source_buf),0,start_frame,0,Done.freeSelf); - var env = EnvGen.kr(Env([0,1,1,0],[0.03,dur_secs-0.06,0.03]),doneAction:Done.freeSelf); - // sig = sig * env; // include this env if you like, but keep the line above because it will free the synth after the slice! - sig.dup; - }.play; -}; -) - -~target_dataset.print; - -( -// ======================= 11. TEST DRUM LOOP PLAYBACK ==================== -// play back the drum slices with a .wait in between so we hear the drum loop -// is is very similar to step 8 above, but now instead of playing the slice of -// the drum loop, it get's the analysis of the drum loop's slice into "query_buf", -// then uses that info to lookup the nearest neighbour in the source dataset and -// play that slice -Routine{ - var query_buf = Buffer.alloc(s,~nmfccs); // a buffer for doing the neighbor lookup with - ~target_indices_buf.loadToFloatArray(action:{ - arg target_indices_array; - - // prepend 0 (the start of the file) to the indices array - target_indices_array = [0] ++ target_indices_array; - - // append the total number of frames to know how long to play the last slice for - target_indices_array = target_indices_array ++ [~target_buf.numFrames]; - - - inf.do{ // loop for infinity - arg i; - - // get the index to play by modulo one less than the number of slices (we don't want to *start* playing from the - // last slice point, because that's the end of the file!) - var index = i % (target_indices_array.size - 1); - - // nb. that the minus one is so that the drum slice from the beginning of the file to the first index is call "-1" - // this is because that slice didn't actually get analyzed - var slice_id = index - 1; - var start_frame = target_indices_array[index]; - var dur_frames = target_indices_array[index + 1] - start_frame; - - // this will be used to space out the source slices according to the target timings - var dur_secs = dur_frames / ~target_buf.sampleRate; - - "target slice: %".format(slice_id).postln; - - // as long as this slice is not the one that starts at the beginning of the file (-1) and - // not the slice at the end of the file (because neither of these have analyses), let's - // do the lookup - if((slice_id >= 0) && (slice_id < (target_indices_array.size - 3)),{ - - // use the slice id to (re)create the slice identifier and load the data point into "query_buf" - ~target_dataset.getPoint("slice-%".format(slice_id.asInteger),query_buf,{ - // once it's loaded, use that buffer as the input to lookup the nearest - // neighbour data point in the kdtree of source slices - ~kdtree.kNearest(query_buf,{ - arg nearest; - var nearest_index; - - nearest.postln; - - // peel off just the integer part of the slice to use in the helper function - nearest_index = nearest.choose.asString.split($-)[1].asInteger; - nearest_index.postln; - ~play_source_index.(nearest_index); - }); - }); - }); - - // if you want to hear the drum set along side the neighbor slices, uncomment this function - { - var sig = PlayBuf.ar(1,~target_buf,BufRateScale.ir(~target_buf),0,start_frame,0,2); - var env = EnvGen.kr(Env([0,1,1,0],[0.03,dur_secs-0.06,0.03]),doneAction:2); - // sig = sig * env; // include this env if you like, but keep the line above because it will free the synth after the slice! - sig.dup * -8.dbamp; - }.play; - - dur_secs.wait; - }; - }); -}.play; -) \ No newline at end of file diff --git a/release-packaging/Examples/Guides/Audio Query (Replace Drum Sounds with other Sounds, 02 with Scalers).scd b/release-packaging/Examples/Guides/Audio Query (Replace Drum Sounds with other Sounds, with Scalers).scd similarity index 100% rename from release-packaging/Examples/Guides/Audio Query (Replace Drum Sounds with other Sounds, 02 with Scalers).scd rename to release-packaging/Examples/Guides/Audio Query (Replace Drum Sounds with other Sounds, with Scalers).scd diff --git a/release-packaging/Examples/Guides/Neural Network Controls Synth from 2D space (01 a lot in language).scd b/release-packaging/Examples/Guides/Neural Network Controls Synth from 2D space (01 a lot in language).scd deleted file mode 100644 index 5d1622c..0000000 --- a/release-packaging/Examples/Guides/Neural Network Controls Synth from 2D space (01 a lot in language).scd +++ /dev/null @@ -1,80 +0,0 @@ -( -~counter = 0; -~predicting = false; -~prediction_buf = Buffer.alloc(s,10); -Window.closeAll; -~win = Window("MLP Regressor",Rect(0,0,1000,400)); -~multisliderview = MultiSliderView(~win,Rect(0,0,400,400)) -.size_(10) -.elasticMode_(true) -.action_({ - arg msv; - // ~synth.set(\val,msv.value); - // msv.value.postln; - ~y_buf.setn(0,msv.value); -}); - -Slider2D(~win,Rect(400,0,400,400)) -.action_({ - arg s2d; - [s2d.x,s2d.y].postln; - ~x_buf.setn(0,[s2d.x,s2d.y]); - - if(~predicting,{ - ~nn.predictPoint(~x_buf,~y_buf,{ - ~y_buf.getn(0,10,{ - {~multisliderview.value_(prediction_values)}.defer; - }); - }); - }); -}); - -Button(~win,Rect(800,0,200,20)) -.states_([["Add Point"]]) -.action_({ - arg but; - var id = "example-%".format(~counter); - ~ds_input.addPoint(id,~x_buf); - ~ds_output.addPoint(id,~y_buf); - ~counter = ~counter + 1; - - ~ds_input.print; - ~ds_output.print; -}); - -Button(~win,Rect(800,20,200,20)) -.states_([["Train"]]) -.action_({ - arg but; - ~nn.fit(~ds_input,~ds_output,{ - arg loss; - "loss: %".format(loss).postln; - }); -}); - -Button(~win,Rect(800,40,200,20)) -.states_([["Not Predicting",Color.yellow,Color.black],["Is Predicting",Color.green,Color.black]]) -.action_({ - arg but; - ~predicting = but.value.asBoolean; -}); - -~win.front; - -~ds_input = FluidDataSet(s); -~ds_output = FluidDataSet(s); -~x_buf = Buffer.alloc(s,2); -~y_buf = Buffer.alloc(s,10); -~nn = FluidMLPRegressor(s,[7],FluidMLPRegressor.sigmoid,FluidMLPRegressor.sigmoid,learnRate:0.1,batchSize:1,validation:0); - -~synth = { - //arg val = #[0,0,0,0,0,0,0,0,0,0]; - var val = FluidBufToKr.kr(~y_buf) - var osc1, osc2, feed1, feed2, base1=69, base2=69, base3 = 130; - #feed2,feed1 = LocalIn.ar(2); - osc1 = MoogFF.ar(SinOsc.ar((((feed1 * val[0]) + val[1]) * base1).midicps,mul: (val[2] * 50).dbamp).atan,(base3 - (val[3] * (FluidLoudness.kr(feed2, 1, 0, hopSize: 64)[0].clip(-120,0) + 120))).lag(128/44100).midicps, val[4] * 3.5); - osc2 = MoogFF.ar(SinOsc.ar((((feed2 * val[5]) + val[6]) * base2).midicps,mul: (val[7] * 50).dbamp).atan,(base3 - (val[8] * (FluidLoudness.kr(feed1, 1, 0, hopSize: 64)[0].clip(-120,0) + 120))).lag(128/44100).midicps, val[9] * 3.5); - Out.ar(0,LeakDC.ar([osc1,osc2],mul: 0.1)); - LocalOut.ar([osc1,osc2]); -}.play; -) \ No newline at end of file diff --git a/release-packaging/Examples/Guides/Neural Network Controls Synth from 2D space (02 all on server).scd b/release-packaging/Examples/Guides/Neural Network Controls Synth from 2D space (all on server).scd similarity index 100% rename from release-packaging/Examples/Guides/Neural Network Controls Synth from 2D space (02 all on server).scd rename to release-packaging/Examples/Guides/Neural Network Controls Synth from 2D space (all on server).scd From 4eba4eb4a267ace6142b6f76b164d4d73f1817aa Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Wed, 5 Jan 2022 09:45:43 -0500 Subject: [PATCH 28/88] typo --- release-packaging/Examples/nmf/JiT-NMF-classifier.scd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release-packaging/Examples/nmf/JiT-NMF-classifier.scd b/release-packaging/Examples/nmf/JiT-NMF-classifier.scd index b76c08d..1b15b60 100644 --- a/release-packaging/Examples/nmf/JiT-NMF-classifier.scd +++ b/release-packaging/Examples/nmf/JiT-NMF-classifier.scd @@ -199,4 +199,4 @@ Routine { }.play; ) -// thanks to Ted Moore for the SC code cleaning and improvments! +// thanks to Ted Moore for the SC code cleaning and improvements! From bab3661c251bbc76ab78c2ae46571b579e3f1519 Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Wed, 5 Jan 2022 09:57:43 -0500 Subject: [PATCH 29/88] made audio buffer optional for fluid waveform --- release-packaging/Classes/FluidWaveform.sc | 30 ++++++++++++---------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/release-packaging/Classes/FluidWaveform.sc b/release-packaging/Classes/FluidWaveform.sc index 3b174d7..55f3789 100644 --- a/release-packaging/Classes/FluidWaveform.sc +++ b/release-packaging/Classes/FluidWaveform.sc @@ -15,14 +15,13 @@ FluidViewer { FluidWaveform : FluidViewer { *new { - arg audio_buf, slices_buf, feature_buf, bounds, lineWidth = 1, waveformColor; - ^super.new.init(audio_buf,slices_buf, feature_buf, bounds, lineWidth, waveformColor); + arg audioBuffer, slicesBuffer, featureBuffer, bounds, lineWidth = 1, waveformColor; + ^super.new.init(audioBuffer,slicesBuffer, featureBuffer, bounds, lineWidth, waveformColor); } init { arg audio_buf, slices_buf, feature_buf, bounds, lineWidth, waveformColor; Task{ - var path = "%%_%_FluidWaveform.wav".format(PathName.tmp,Date.localtime.stamp,UniqueID.next); var sfv, win, categoryCounter = 0; waveformColor = waveformColor ? Color(*0.5.dup(3)); @@ -31,19 +30,24 @@ FluidWaveform : FluidViewer { bounds = bounds ? Rect(0,0,800,200); win = Window("FluidWaveform",bounds); - audio_buf.write(path,"wav"); - audio_buf.server.sync; + if(audio_buf.notNil,{ + var path = "%%_%_FluidWaveform.wav".format(PathName.tmp,Date.localtime.stamp,UniqueID.next); - sfv = SoundFileView(win,Rect(0,0,bounds.width,bounds.height)); - sfv.peakColor_(waveformColor); - // sfv.rmsColor_(Color.black); - sfv.rmsColor_(Color.clear); - sfv.background_(Color.white); - sfv.readFile(SoundFile(path)); - sfv.gridOn_(false); + audio_buf.write(path,"wav"); - File.delete(path); + audio_buf.server.sync; + + sfv = SoundFileView(win,Rect(0,0,bounds.width,bounds.height)); + sfv.peakColor_(waveformColor); + // sfv.rmsColor_(Color.black); + sfv.rmsColor_(Color.clear); + sfv.background_(Color.white); + sfv.readFile(SoundFile(path)); + sfv.gridOn_(false); + + File.delete(path); + }); if(slices_buf.notNil,{ slices_buf.numChannels.switch( From 019c9cac50b5c5cb2263fe056839e17032d7ee99 Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Wed, 5 Jan 2022 12:44:17 -0500 Subject: [PATCH 30/88] fluid waveform features are stackable or not --- release-packaging/Classes/FluidWaveform.sc | 26 +++++++++++++++++----- 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/release-packaging/Classes/FluidWaveform.sc b/release-packaging/Classes/FluidWaveform.sc index 55f3789..cc3e0df 100644 --- a/release-packaging/Classes/FluidWaveform.sc +++ b/release-packaging/Classes/FluidWaveform.sc @@ -13,16 +13,17 @@ FluidViewer { } FluidWaveform : FluidViewer { + var Date: Wed, 5 Jan 2022 17:23:31 -0500 Subject: [PATCH 31/88] fluid waveform spectrogram scratch paper --- ...luidWaveform spectrogram scratch paper.scd | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 test/FluidWaveform spectrogram scratch paper.scd diff --git a/test/FluidWaveform spectrogram scratch paper.scd b/test/FluidWaveform spectrogram scratch paper.scd new file mode 100644 index 0000000..1d86849 --- /dev/null +++ b/test/FluidWaveform spectrogram scratch paper.scd @@ -0,0 +1,85 @@ +// FluidWaveform + +( +s.waitForBoot{ + b = Buffer.read(s,FluidFilesPath("Tremblay-AaS-AcousticStrums-M.wav")); + m = Buffer(s); + + ~csv_colors = CSVFileReader.readInterpret("/Users/macprocomputer/Desktop/_flucoma/CETperceptual_csv_0_1/CET-L08.csv"); + + // ~csv_colors.shape.postln; + // ~csv_colors[0].postln; + + ~colors = ~csv_colors.collect{ + arg row; + Color.fromArray(row); + }; + + // ~colors[0].postln; + + s.sync; + FluidBufSTFT.processBlocking(s,b,magnitude:m); + s.sync; + w = Window("spectrogram test",Rect(0,0,1600,900)); + w.background_(Color.white); + + m.loadToFloatArray(action:{ + arg mags; + // var maxItem; + // var minItem; + + mags = mags / mags.maxItem; + + mags = mags.log10 * 20; + + "one thing: %".format(mags[100]).postln; + + mags = mags.clump(m.numChannels); + + mags = mags.collect{ + arg frame; + frame.resamp1(w.bounds.height); + }; + + mags = mags.flop.collect{ + arg row; + row.resamp1(w.bounds.width); + }.flop; + + mags.shape.postln; + + //maxItem = mags.collect(_.maxItem).maxItem; + // minItem = mags.collect(_.minItem).minItem; + + // maxItem.postln; + + mags = mags.collect{ + arg frame; + frame.collect{ + arg mag; + mag.linlin(-120.0,0.0,0.0,255.0).asInteger; + }; + }; + + 100.do{ + // mags[rrand(0,mags.size-1)].choose.postln; + }; + + ~uv = UserView(w,w.bounds) + .drawFunc_{ + mags.do{ + arg frame, x; + frame.do{ + arg mag, y; + // mag.postln; + Pen.addRect(Rect(x,w.bounds.height - y,1,1)); + Pen.fillColor_(~colors[mag]); + Pen.fill; + } + } + }; + + w.front; + }); +}; +) \ No newline at end of file From 04dba96729297e11d403a9f12cbe8e6002732309 Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Wed, 5 Jan 2022 18:25:57 -0500 Subject: [PATCH 32/88] colors --- test/CETperceptual_csv_0_1/CET-C1.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-C1s.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-C2.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-C2s.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-C3.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-C3s.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-C4.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-C4s.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-C5.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-C5s.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-C6.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-C6s.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-C7.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-C7s.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-CBC1.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-CBC2.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-CBD1.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-CBL1.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-CBL2.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-D01.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-D01A.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-D02.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-D03.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-D04.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-D06.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-D07.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-D08.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-D09.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-D10.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-D11.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-D12.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-D13.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-I1.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-I2.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-I3.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-L01.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-L02.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-L03.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-L04.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-L05.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-L06.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-L07.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-L08.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-L09.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-L10.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-L11.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-L12.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-L13.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-L14.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-L15.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-L16.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-L17.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-L18.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-L19.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-L20.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-R1.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-R2.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-R3.csv | 256 ++++++++++++++++++++++++ test/CETperceptual_csv_0_1/CET-R4.csv | 256 ++++++++++++++++++++++++ 59 files changed, 15104 insertions(+) create mode 100644 test/CETperceptual_csv_0_1/CET-C1.csv create mode 100644 test/CETperceptual_csv_0_1/CET-C1s.csv create mode 100644 test/CETperceptual_csv_0_1/CET-C2.csv create mode 100644 test/CETperceptual_csv_0_1/CET-C2s.csv create mode 100644 test/CETperceptual_csv_0_1/CET-C3.csv create mode 100644 test/CETperceptual_csv_0_1/CET-C3s.csv create mode 100644 test/CETperceptual_csv_0_1/CET-C4.csv create mode 100644 test/CETperceptual_csv_0_1/CET-C4s.csv create mode 100644 test/CETperceptual_csv_0_1/CET-C5.csv create mode 100644 test/CETperceptual_csv_0_1/CET-C5s.csv create mode 100644 test/CETperceptual_csv_0_1/CET-C6.csv create mode 100644 test/CETperceptual_csv_0_1/CET-C6s.csv create mode 100644 test/CETperceptual_csv_0_1/CET-C7.csv create mode 100644 test/CETperceptual_csv_0_1/CET-C7s.csv create mode 100644 test/CETperceptual_csv_0_1/CET-CBC1.csv create mode 100644 test/CETperceptual_csv_0_1/CET-CBC2.csv create mode 100644 test/CETperceptual_csv_0_1/CET-CBD1.csv create mode 100644 test/CETperceptual_csv_0_1/CET-CBL1.csv create mode 100644 test/CETperceptual_csv_0_1/CET-CBL2.csv create mode 100644 test/CETperceptual_csv_0_1/CET-D01.csv create mode 100644 test/CETperceptual_csv_0_1/CET-D01A.csv create mode 100644 test/CETperceptual_csv_0_1/CET-D02.csv create mode 100644 test/CETperceptual_csv_0_1/CET-D03.csv create mode 100644 test/CETperceptual_csv_0_1/CET-D04.csv create mode 100644 test/CETperceptual_csv_0_1/CET-D06.csv create mode 100644 test/CETperceptual_csv_0_1/CET-D07.csv create mode 100644 test/CETperceptual_csv_0_1/CET-D08.csv create mode 100644 test/CETperceptual_csv_0_1/CET-D09.csv create mode 100644 test/CETperceptual_csv_0_1/CET-D10.csv create mode 100644 test/CETperceptual_csv_0_1/CET-D11.csv create mode 100644 test/CETperceptual_csv_0_1/CET-D12.csv create mode 100644 test/CETperceptual_csv_0_1/CET-D13.csv create mode 100644 test/CETperceptual_csv_0_1/CET-I1.csv create mode 100644 test/CETperceptual_csv_0_1/CET-I2.csv create mode 100644 test/CETperceptual_csv_0_1/CET-I3.csv create mode 100644 test/CETperceptual_csv_0_1/CET-L01.csv create mode 100644 test/CETperceptual_csv_0_1/CET-L02.csv create mode 100644 test/CETperceptual_csv_0_1/CET-L03.csv create mode 100644 test/CETperceptual_csv_0_1/CET-L04.csv create mode 100644 test/CETperceptual_csv_0_1/CET-L05.csv create mode 100644 test/CETperceptual_csv_0_1/CET-L06.csv create mode 100644 test/CETperceptual_csv_0_1/CET-L07.csv create mode 100644 test/CETperceptual_csv_0_1/CET-L08.csv create mode 100644 test/CETperceptual_csv_0_1/CET-L09.csv create mode 100644 test/CETperceptual_csv_0_1/CET-L10.csv create mode 100644 test/CETperceptual_csv_0_1/CET-L11.csv create mode 100644 test/CETperceptual_csv_0_1/CET-L12.csv create mode 100644 test/CETperceptual_csv_0_1/CET-L13.csv create mode 100644 test/CETperceptual_csv_0_1/CET-L14.csv create mode 100644 test/CETperceptual_csv_0_1/CET-L15.csv create mode 100644 test/CETperceptual_csv_0_1/CET-L16.csv create mode 100644 test/CETperceptual_csv_0_1/CET-L17.csv create mode 100644 test/CETperceptual_csv_0_1/CET-L18.csv create mode 100644 test/CETperceptual_csv_0_1/CET-L19.csv create mode 100644 test/CETperceptual_csv_0_1/CET-L20.csv create mode 100644 test/CETperceptual_csv_0_1/CET-R1.csv create mode 100644 test/CETperceptual_csv_0_1/CET-R2.csv create mode 100644 test/CETperceptual_csv_0_1/CET-R3.csv create mode 100644 test/CETperceptual_csv_0_1/CET-R4.csv diff --git a/test/CETperceptual_csv_0_1/CET-C1.csv b/test/CETperceptual_csv_0_1/CET-C1.csv new file mode 100644 index 0000000..89333d2 --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-C1.csv @@ -0,0 +1,256 @@ +0.976,0.520,0.971 +0.980,0.517,0.963 +0.984,0.514,0.954 +0.987,0.509,0.945 +0.990,0.504,0.934 +0.991,0.499,0.923 +0.992,0.492,0.911 +0.992,0.486,0.899 +0.992,0.478,0.886 +0.992,0.471,0.872 +0.991,0.463,0.858 +0.989,0.455,0.844 +0.988,0.446,0.830 +0.986,0.438,0.815 +0.984,0.429,0.800 +0.981,0.420,0.786 +0.979,0.411,0.771 +0.976,0.402,0.756 +0.973,0.393,0.741 +0.971,0.384,0.726 +0.968,0.375,0.711 +0.964,0.365,0.696 +0.961,0.356,0.682 +0.958,0.347,0.667 +0.954,0.337,0.652 +0.951,0.328,0.637 +0.947,0.318,0.623 +0.943,0.309,0.608 +0.938,0.300,0.593 +0.934,0.291,0.578 +0.929,0.282,0.564 +0.924,0.273,0.549 +0.919,0.264,0.534 +0.914,0.256,0.519 +0.908,0.247,0.504 +0.903,0.239,0.489 +0.897,0.231,0.474 +0.890,0.223,0.459 +0.884,0.215,0.444 +0.877,0.207,0.429 +0.871,0.200,0.414 +0.864,0.193,0.399 +0.857,0.185,0.384 +0.850,0.178,0.369 +0.842,0.171,0.354 +0.835,0.164,0.339 +0.828,0.157,0.324 +0.820,0.150,0.309 +0.812,0.143,0.295 +0.805,0.136,0.280 +0.797,0.129,0.265 +0.790,0.122,0.251 +0.782,0.116,0.236 +0.775,0.110,0.222 +0.767,0.104,0.208 +0.760,0.099,0.194 +0.753,0.095,0.180 +0.747,0.091,0.167 +0.740,0.089,0.154 +0.734,0.088,0.142 +0.729,0.089,0.130 +0.724,0.091,0.118 +0.720,0.095,0.107 +0.716,0.100,0.096 +0.713,0.106,0.086 +0.711,0.113,0.077 +0.710,0.121,0.068 +0.709,0.130,0.060 +0.709,0.139,0.052 +0.710,0.149,0.045 +0.711,0.159,0.039 +0.713,0.169,0.033 +0.715,0.180,0.029 +0.717,0.191,0.025 +0.720,0.201,0.023 +0.723,0.212,0.021 +0.727,0.222,0.019 +0.730,0.233,0.018 +0.734,0.243,0.017 +0.738,0.253,0.017 +0.742,0.263,0.016 +0.746,0.273,0.016 +0.750,0.283,0.016 +0.754,0.293,0.016 +0.758,0.303,0.016 +0.762,0.312,0.017 +0.765,0.322,0.017 +0.769,0.331,0.017 +0.773,0.341,0.018 +0.777,0.350,0.018 +0.780,0.359,0.018 +0.784,0.369,0.018 +0.787,0.378,0.019 +0.791,0.387,0.019 +0.794,0.396,0.019 +0.797,0.406,0.019 +0.800,0.415,0.019 +0.803,0.424,0.019 +0.806,0.433,0.019 +0.809,0.443,0.019 +0.811,0.452,0.019 +0.814,0.461,0.019 +0.816,0.471,0.018 +0.819,0.480,0.018 +0.821,0.489,0.018 +0.823,0.498,0.017 +0.825,0.508,0.017 +0.827,0.517,0.017 +0.829,0.526,0.016 +0.831,0.535,0.016 +0.833,0.544,0.016 +0.834,0.554,0.016 +0.836,0.563,0.016 +0.837,0.572,0.017 +0.839,0.580,0.018 +0.840,0.589,0.020 +0.841,0.598,0.023 +0.841,0.606,0.027 +0.842,0.614,0.032 +0.842,0.622,0.040 +0.841,0.629,0.049 +0.840,0.636,0.059 +0.839,0.643,0.070 +0.836,0.649,0.083 +0.834,0.654,0.096 +0.830,0.658,0.109 +0.825,0.662,0.123 +0.820,0.665,0.138 +0.814,0.667,0.153 +0.807,0.669,0.169 +0.799,0.669,0.184 +0.791,0.669,0.200 +0.782,0.668,0.215 +0.772,0.666,0.231 +0.761,0.664,0.246 +0.750,0.661,0.261 +0.739,0.658,0.276 +0.727,0.655,0.291 +0.714,0.651,0.306 +0.701,0.647,0.320 +0.688,0.642,0.334 +0.675,0.638,0.348 +0.661,0.633,0.361 +0.647,0.628,0.375 +0.632,0.624,0.388 +0.618,0.619,0.401 +0.602,0.614,0.413 +0.587,0.609,0.426 +0.571,0.604,0.438 +0.555,0.599,0.450 +0.539,0.594,0.463 +0.522,0.590,0.475 +0.504,0.585,0.486 +0.486,0.580,0.498 +0.468,0.575,0.510 +0.449,0.570,0.522 +0.430,0.565,0.533 +0.410,0.560,0.545 +0.390,0.555,0.556 +0.369,0.549,0.568 +0.348,0.544,0.579 +0.327,0.538,0.591 +0.306,0.532,0.603 +0.284,0.526,0.614 +0.263,0.519,0.626 +0.242,0.513,0.638 +0.223,0.506,0.649 +0.204,0.498,0.661 +0.186,0.490,0.673 +0.171,0.482,0.685 +0.157,0.473,0.697 +0.146,0.464,0.709 +0.139,0.454,0.722 +0.134,0.445,0.734 +0.132,0.434,0.746 +0.133,0.424,0.759 +0.135,0.413,0.771 +0.139,0.401,0.783 +0.144,0.390,0.796 +0.150,0.378,0.808 +0.156,0.366,0.820 +0.162,0.354,0.833 +0.169,0.342,0.845 +0.175,0.330,0.856 +0.181,0.318,0.868 +0.187,0.306,0.879 +0.194,0.295,0.889 +0.201,0.285,0.900 +0.208,0.275,0.909 +0.216,0.266,0.918 +0.225,0.258,0.927 +0.234,0.251,0.934 +0.244,0.245,0.941 +0.254,0.241,0.948 +0.265,0.239,0.953 +0.277,0.237,0.958 +0.288,0.238,0.962 +0.300,0.239,0.965 +0.311,0.242,0.968 +0.323,0.246,0.970 +0.335,0.251,0.972 +0.346,0.257,0.974 +0.357,0.263,0.975 +0.368,0.270,0.976 +0.379,0.277,0.977 +0.390,0.285,0.977 +0.400,0.293,0.977 +0.410,0.300,0.978 +0.420,0.308,0.978 +0.430,0.316,0.978 +0.440,0.324,0.978 +0.449,0.332,0.978 +0.459,0.340,0.978 +0.469,0.348,0.978 +0.478,0.355,0.978 +0.488,0.363,0.979 +0.498,0.370,0.979 +0.508,0.377,0.979 +0.518,0.384,0.979 +0.529,0.391,0.980 +0.540,0.398,0.980 +0.551,0.404,0.981 +0.563,0.410,0.981 +0.575,0.416,0.982 +0.588,0.421,0.982 +0.600,0.427,0.983 +0.613,0.432,0.984 +0.627,0.437,0.985 +0.640,0.442,0.986 +0.654,0.446,0.987 +0.668,0.451,0.988 +0.682,0.455,0.989 +0.696,0.460,0.990 +0.710,0.464,0.991 +0.724,0.468,0.992 +0.738,0.472,0.994 +0.752,0.476,0.995 +0.766,0.480,0.996 +0.780,0.484,0.997 +0.794,0.488,0.998 +0.807,0.492,0.999 +0.821,0.496,1.000 +0.834,0.500,1.000 +0.847,0.503,1.000 +0.860,0.507,1.000 +0.873,0.510,1.000 +0.885,0.513,1.000 +0.897,0.516,1.000 +0.909,0.519,1.000 +0.919,0.521,1.000 +0.930,0.523,0.999 +0.939,0.524,0.996 +0.948,0.525,0.993 +0.956,0.524,0.989 +0.964,0.524,0.984 +0.970,0.522,0.978 diff --git a/test/CETperceptual_csv_0_1/CET-C1s.csv b/test/CETperceptual_csv_0_1/CET-C1s.csv new file mode 100644 index 0000000..cdf337b --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-C1s.csv @@ -0,0 +1,256 @@ +0.244,0.245,0.941 +0.254,0.241,0.948 +0.265,0.239,0.953 +0.277,0.237,0.958 +0.288,0.238,0.962 +0.300,0.239,0.965 +0.311,0.242,0.968 +0.323,0.246,0.970 +0.335,0.251,0.972 +0.346,0.257,0.974 +0.357,0.263,0.975 +0.368,0.270,0.976 +0.379,0.277,0.977 +0.390,0.285,0.977 +0.400,0.293,0.977 +0.410,0.300,0.978 +0.420,0.308,0.978 +0.430,0.316,0.978 +0.440,0.324,0.978 +0.449,0.332,0.978 +0.459,0.340,0.978 +0.469,0.348,0.978 +0.478,0.355,0.978 +0.488,0.363,0.979 +0.498,0.370,0.979 +0.508,0.377,0.979 +0.518,0.384,0.979 +0.529,0.391,0.980 +0.540,0.398,0.980 +0.551,0.404,0.981 +0.563,0.410,0.981 +0.575,0.416,0.982 +0.588,0.421,0.982 +0.600,0.427,0.983 +0.613,0.432,0.984 +0.627,0.437,0.985 +0.640,0.442,0.986 +0.654,0.446,0.987 +0.668,0.451,0.988 +0.682,0.455,0.989 +0.696,0.460,0.990 +0.710,0.464,0.991 +0.724,0.468,0.992 +0.738,0.472,0.994 +0.752,0.476,0.995 +0.766,0.480,0.996 +0.780,0.484,0.997 +0.794,0.488,0.998 +0.807,0.492,0.999 +0.821,0.496,1.000 +0.834,0.500,1.000 +0.847,0.503,1.000 +0.860,0.507,1.000 +0.873,0.510,1.000 +0.885,0.513,1.000 +0.897,0.516,1.000 +0.909,0.519,1.000 +0.919,0.521,1.000 +0.930,0.523,0.999 +0.939,0.524,0.996 +0.948,0.525,0.993 +0.956,0.524,0.989 +0.964,0.524,0.984 +0.970,0.522,0.978 +0.976,0.520,0.971 +0.980,0.517,0.963 +0.984,0.514,0.954 +0.987,0.509,0.945 +0.990,0.504,0.934 +0.991,0.499,0.923 +0.992,0.492,0.911 +0.992,0.486,0.899 +0.992,0.478,0.886 +0.992,0.471,0.872 +0.991,0.463,0.858 +0.989,0.455,0.844 +0.988,0.446,0.830 +0.986,0.438,0.815 +0.984,0.429,0.800 +0.981,0.420,0.786 +0.979,0.411,0.771 +0.976,0.402,0.756 +0.973,0.393,0.741 +0.971,0.384,0.726 +0.968,0.375,0.711 +0.964,0.365,0.696 +0.961,0.356,0.682 +0.958,0.347,0.667 +0.954,0.337,0.652 +0.951,0.328,0.637 +0.947,0.318,0.623 +0.943,0.309,0.608 +0.938,0.300,0.593 +0.934,0.291,0.578 +0.929,0.282,0.564 +0.924,0.273,0.549 +0.919,0.264,0.534 +0.914,0.256,0.519 +0.908,0.247,0.504 +0.903,0.239,0.489 +0.897,0.231,0.474 +0.890,0.223,0.459 +0.884,0.215,0.444 +0.877,0.207,0.429 +0.871,0.200,0.414 +0.864,0.193,0.399 +0.857,0.185,0.384 +0.850,0.178,0.369 +0.842,0.171,0.354 +0.835,0.164,0.339 +0.828,0.157,0.324 +0.820,0.150,0.309 +0.812,0.143,0.295 +0.805,0.136,0.280 +0.797,0.129,0.265 +0.790,0.122,0.251 +0.782,0.116,0.236 +0.775,0.110,0.222 +0.767,0.104,0.208 +0.760,0.099,0.194 +0.753,0.095,0.180 +0.747,0.091,0.167 +0.740,0.089,0.154 +0.734,0.088,0.142 +0.729,0.089,0.130 +0.724,0.091,0.118 +0.720,0.095,0.107 +0.716,0.100,0.096 +0.713,0.106,0.086 +0.711,0.113,0.077 +0.710,0.121,0.068 +0.709,0.130,0.060 +0.709,0.139,0.052 +0.710,0.149,0.045 +0.711,0.159,0.039 +0.713,0.169,0.033 +0.715,0.180,0.029 +0.717,0.191,0.025 +0.720,0.201,0.023 +0.723,0.212,0.021 +0.727,0.222,0.019 +0.730,0.233,0.018 +0.734,0.243,0.017 +0.738,0.253,0.017 +0.742,0.263,0.016 +0.746,0.273,0.016 +0.750,0.283,0.016 +0.754,0.293,0.016 +0.758,0.303,0.016 +0.762,0.312,0.017 +0.765,0.322,0.017 +0.769,0.331,0.017 +0.773,0.341,0.018 +0.777,0.350,0.018 +0.780,0.359,0.018 +0.784,0.369,0.018 +0.787,0.378,0.019 +0.791,0.387,0.019 +0.794,0.396,0.019 +0.797,0.406,0.019 +0.800,0.415,0.019 +0.803,0.424,0.019 +0.806,0.433,0.019 +0.809,0.443,0.019 +0.811,0.452,0.019 +0.814,0.461,0.019 +0.816,0.471,0.018 +0.819,0.480,0.018 +0.821,0.489,0.018 +0.823,0.498,0.017 +0.825,0.508,0.017 +0.827,0.517,0.017 +0.829,0.526,0.016 +0.831,0.535,0.016 +0.833,0.544,0.016 +0.834,0.554,0.016 +0.836,0.563,0.016 +0.837,0.572,0.017 +0.839,0.580,0.018 +0.840,0.589,0.020 +0.841,0.598,0.023 +0.841,0.606,0.027 +0.842,0.614,0.032 +0.842,0.622,0.040 +0.841,0.629,0.049 +0.840,0.636,0.059 +0.839,0.643,0.070 +0.836,0.649,0.083 +0.834,0.654,0.096 +0.830,0.658,0.109 +0.825,0.662,0.123 +0.820,0.665,0.138 +0.814,0.667,0.153 +0.807,0.669,0.169 +0.799,0.669,0.184 +0.791,0.669,0.200 +0.782,0.668,0.215 +0.772,0.666,0.231 +0.761,0.664,0.246 +0.750,0.661,0.261 +0.739,0.658,0.276 +0.727,0.655,0.291 +0.714,0.651,0.306 +0.701,0.647,0.320 +0.688,0.642,0.334 +0.675,0.638,0.348 +0.661,0.633,0.361 +0.647,0.628,0.375 +0.632,0.624,0.388 +0.618,0.619,0.401 +0.602,0.614,0.413 +0.587,0.609,0.426 +0.571,0.604,0.438 +0.555,0.599,0.450 +0.539,0.594,0.463 +0.522,0.590,0.475 +0.504,0.585,0.486 +0.486,0.580,0.498 +0.468,0.575,0.510 +0.449,0.570,0.522 +0.430,0.565,0.533 +0.410,0.560,0.545 +0.390,0.555,0.556 +0.369,0.549,0.568 +0.348,0.544,0.579 +0.327,0.538,0.591 +0.306,0.532,0.603 +0.284,0.526,0.614 +0.263,0.519,0.626 +0.242,0.513,0.638 +0.223,0.506,0.649 +0.204,0.498,0.661 +0.186,0.490,0.673 +0.171,0.482,0.685 +0.157,0.473,0.697 +0.146,0.464,0.709 +0.139,0.454,0.722 +0.134,0.445,0.734 +0.132,0.434,0.746 +0.133,0.424,0.759 +0.135,0.413,0.771 +0.139,0.401,0.783 +0.144,0.390,0.796 +0.150,0.378,0.808 +0.156,0.366,0.820 +0.162,0.354,0.833 +0.169,0.342,0.845 +0.175,0.330,0.856 +0.181,0.318,0.868 +0.187,0.306,0.879 +0.194,0.295,0.889 +0.201,0.285,0.900 +0.208,0.275,0.909 +0.216,0.266,0.918 +0.225,0.258,0.927 +0.234,0.251,0.934 diff --git a/test/CETperceptual_csv_0_1/CET-C2.csv b/test/CETperceptual_csv_0_1/CET-C2.csv new file mode 100644 index 0000000..74424d9 --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-C2.csv @@ -0,0 +1,256 @@ +0.938,0.334,0.948 +0.944,0.343,0.942 +0.949,0.353,0.936 +0.954,0.363,0.929 +0.959,0.374,0.922 +0.963,0.386,0.914 +0.966,0.397,0.906 +0.969,0.409,0.897 +0.972,0.421,0.888 +0.975,0.433,0.879 +0.977,0.446,0.869 +0.978,0.458,0.859 +0.980,0.470,0.849 +0.981,0.482,0.839 +0.983,0.494,0.829 +0.984,0.506,0.819 +0.985,0.518,0.808 +0.985,0.530,0.798 +0.986,0.541,0.787 +0.986,0.553,0.776 +0.987,0.564,0.766 +0.987,0.575,0.755 +0.987,0.586,0.744 +0.987,0.597,0.733 +0.987,0.608,0.722 +0.987,0.618,0.712 +0.987,0.629,0.701 +0.987,0.639,0.690 +0.987,0.649,0.679 +0.987,0.659,0.668 +0.987,0.670,0.657 +0.986,0.679,0.645 +0.986,0.689,0.634 +0.986,0.699,0.623 +0.986,0.708,0.612 +0.986,0.718,0.601 +0.986,0.727,0.589 +0.986,0.736,0.578 +0.987,0.745,0.566 +0.987,0.754,0.555 +0.987,0.763,0.543 +0.987,0.772,0.531 +0.988,0.781,0.519 +0.988,0.789,0.507 +0.988,0.798,0.495 +0.988,0.807,0.483 +0.989,0.815,0.470 +0.989,0.824,0.458 +0.989,0.832,0.445 +0.989,0.840,0.432 +0.988,0.849,0.418 +0.988,0.857,0.404 +0.987,0.865,0.390 +0.986,0.873,0.376 +0.985,0.880,0.362 +0.983,0.888,0.347 +0.981,0.895,0.332 +0.978,0.901,0.316 +0.975,0.907,0.301 +0.972,0.913,0.285 +0.967,0.918,0.270 +0.962,0.923,0.254 +0.957,0.927,0.239 +0.951,0.930,0.224 +0.944,0.932,0.209 +0.936,0.934,0.195 +0.928,0.935,0.182 +0.920,0.935,0.169 +0.910,0.935,0.157 +0.901,0.934,0.146 +0.891,0.933,0.136 +0.881,0.931,0.127 +0.870,0.928,0.120 +0.859,0.925,0.113 +0.848,0.922,0.107 +0.837,0.919,0.103 +0.826,0.915,0.099 +0.815,0.911,0.095 +0.803,0.907,0.092 +0.792,0.903,0.090 +0.780,0.899,0.088 +0.769,0.895,0.086 +0.757,0.891,0.084 +0.746,0.887,0.082 +0.734,0.882,0.081 +0.722,0.878,0.079 +0.711,0.874,0.078 +0.699,0.869,0.076 +0.687,0.865,0.075 +0.675,0.861,0.074 +0.663,0.856,0.072 +0.652,0.852,0.071 +0.640,0.848,0.070 +0.628,0.843,0.068 +0.616,0.839,0.067 +0.604,0.835,0.066 +0.591,0.830,0.064 +0.579,0.826,0.063 +0.567,0.822,0.062 +0.554,0.817,0.060 +0.542,0.813,0.059 +0.529,0.808,0.058 +0.517,0.804,0.057 +0.504,0.800,0.055 +0.491,0.795,0.054 +0.478,0.791,0.053 +0.465,0.786,0.051 +0.452,0.782,0.050 +0.438,0.777,0.049 +0.424,0.773,0.048 +0.411,0.768,0.047 +0.397,0.764,0.047 +0.382,0.759,0.046 +0.368,0.755,0.047 +0.354,0.750,0.047 +0.339,0.745,0.049 +0.324,0.741,0.051 +0.310,0.736,0.054 +0.295,0.731,0.058 +0.281,0.726,0.064 +0.267,0.721,0.070 +0.254,0.716,0.078 +0.241,0.711,0.087 +0.230,0.706,0.097 +0.220,0.700,0.107 +0.211,0.695,0.119 +0.204,0.689,0.131 +0.199,0.683,0.144 +0.196,0.677,0.158 +0.195,0.671,0.172 +0.196,0.664,0.186 +0.198,0.658,0.200 +0.202,0.651,0.215 +0.206,0.644,0.230 +0.212,0.638,0.245 +0.218,0.631,0.261 +0.224,0.623,0.276 +0.230,0.616,0.291 +0.236,0.609,0.306 +0.242,0.602,0.321 +0.247,0.595,0.335 +0.252,0.587,0.350 +0.256,0.580,0.365 +0.260,0.572,0.379 +0.263,0.565,0.393 +0.266,0.558,0.407 +0.268,0.550,0.421 +0.270,0.543,0.435 +0.271,0.535,0.449 +0.272,0.528,0.462 +0.272,0.521,0.476 +0.271,0.513,0.489 +0.270,0.506,0.503 +0.268,0.498,0.516 +0.266,0.491,0.529 +0.263,0.484,0.542 +0.260,0.476,0.555 +0.256,0.469,0.568 +0.252,0.461,0.581 +0.247,0.454,0.594 +0.242,0.446,0.606 +0.236,0.438,0.619 +0.230,0.431,0.631 +0.224,0.423,0.644 +0.218,0.415,0.656 +0.212,0.407,0.667 +0.206,0.399,0.679 +0.199,0.391,0.691 +0.194,0.382,0.702 +0.188,0.374,0.713 +0.183,0.365,0.724 +0.178,0.356,0.735 +0.174,0.347,0.745 +0.170,0.337,0.756 +0.166,0.327,0.766 +0.163,0.317,0.776 +0.160,0.307,0.786 +0.157,0.297,0.796 +0.155,0.286,0.805 +0.152,0.275,0.815 +0.150,0.264,0.824 +0.147,0.253,0.833 +0.146,0.241,0.843 +0.144,0.230,0.851 +0.143,0.218,0.860 +0.143,0.206,0.869 +0.144,0.195,0.877 +0.146,0.183,0.885 +0.150,0.172,0.892 +0.155,0.161,0.900 +0.162,0.151,0.906 +0.171,0.141,0.913 +0.181,0.132,0.919 +0.192,0.124,0.924 +0.204,0.118,0.929 +0.217,0.112,0.933 +0.230,0.108,0.937 +0.244,0.105,0.941 +0.258,0.104,0.944 +0.272,0.104,0.947 +0.287,0.106,0.950 +0.301,0.108,0.952 +0.314,0.112,0.954 +0.328,0.116,0.956 +0.341,0.120,0.958 +0.354,0.125,0.960 +0.367,0.131,0.961 +0.379,0.136,0.963 +0.392,0.142,0.964 +0.404,0.148,0.966 +0.415,0.154,0.967 +0.427,0.159,0.969 +0.438,0.165,0.970 +0.449,0.171,0.971 +0.460,0.176,0.973 +0.471,0.182,0.974 +0.482,0.188,0.975 +0.493,0.193,0.976 +0.504,0.198,0.978 +0.514,0.203,0.979 +0.525,0.208,0.980 +0.536,0.213,0.981 +0.548,0.217,0.982 +0.559,0.221,0.982 +0.571,0.225,0.983 +0.582,0.229,0.984 +0.594,0.233,0.984 +0.606,0.236,0.985 +0.619,0.239,0.985 +0.631,0.242,0.985 +0.644,0.245,0.985 +0.657,0.247,0.985 +0.669,0.250,0.985 +0.682,0.252,0.985 +0.695,0.254,0.985 +0.708,0.256,0.985 +0.721,0.258,0.984 +0.734,0.260,0.984 +0.747,0.261,0.984 +0.760,0.263,0.983 +0.773,0.265,0.983 +0.785,0.267,0.982 +0.798,0.269,0.982 +0.810,0.271,0.981 +0.822,0.273,0.980 +0.834,0.275,0.979 +0.846,0.278,0.978 +0.857,0.281,0.977 +0.868,0.284,0.975 +0.878,0.288,0.973 +0.889,0.293,0.971 +0.898,0.298,0.968 +0.907,0.303,0.965 +0.916,0.310,0.962 +0.924,0.317,0.958 +0.931,0.325,0.953 diff --git a/test/CETperceptual_csv_0_1/CET-C2s.csv b/test/CETperceptual_csv_0_1/CET-C2s.csv new file mode 100644 index 0000000..fada4a2 --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-C2s.csv @@ -0,0 +1,256 @@ +0.181,0.132,0.919 +0.192,0.124,0.924 +0.204,0.118,0.929 +0.217,0.112,0.933 +0.230,0.108,0.937 +0.244,0.105,0.941 +0.258,0.104,0.944 +0.272,0.104,0.947 +0.287,0.106,0.950 +0.301,0.108,0.952 +0.314,0.112,0.954 +0.328,0.116,0.956 +0.341,0.120,0.958 +0.354,0.125,0.960 +0.367,0.131,0.961 +0.379,0.136,0.963 +0.392,0.142,0.964 +0.404,0.148,0.966 +0.415,0.154,0.967 +0.427,0.159,0.969 +0.438,0.165,0.970 +0.449,0.171,0.971 +0.460,0.176,0.973 +0.471,0.182,0.974 +0.482,0.188,0.975 +0.493,0.193,0.976 +0.504,0.198,0.978 +0.514,0.203,0.979 +0.525,0.208,0.980 +0.536,0.213,0.981 +0.548,0.217,0.982 +0.559,0.221,0.982 +0.571,0.225,0.983 +0.582,0.229,0.984 +0.594,0.233,0.984 +0.606,0.236,0.985 +0.619,0.239,0.985 +0.631,0.242,0.985 +0.644,0.245,0.985 +0.657,0.247,0.985 +0.669,0.250,0.985 +0.682,0.252,0.985 +0.695,0.254,0.985 +0.708,0.256,0.985 +0.721,0.258,0.984 +0.734,0.260,0.984 +0.747,0.261,0.984 +0.760,0.263,0.983 +0.773,0.265,0.983 +0.785,0.267,0.982 +0.798,0.269,0.982 +0.810,0.271,0.981 +0.822,0.273,0.980 +0.834,0.275,0.979 +0.846,0.278,0.978 +0.857,0.281,0.977 +0.868,0.284,0.975 +0.878,0.288,0.973 +0.889,0.293,0.971 +0.898,0.298,0.968 +0.907,0.303,0.965 +0.916,0.310,0.962 +0.924,0.317,0.958 +0.931,0.325,0.953 +0.938,0.334,0.948 +0.944,0.343,0.942 +0.949,0.353,0.936 +0.954,0.363,0.929 +0.959,0.374,0.922 +0.963,0.386,0.914 +0.966,0.397,0.906 +0.969,0.409,0.897 +0.972,0.421,0.888 +0.975,0.433,0.879 +0.977,0.446,0.869 +0.978,0.458,0.859 +0.980,0.470,0.849 +0.981,0.482,0.839 +0.983,0.494,0.829 +0.984,0.506,0.819 +0.985,0.518,0.808 +0.985,0.530,0.798 +0.986,0.541,0.787 +0.986,0.553,0.776 +0.987,0.564,0.766 +0.987,0.575,0.755 +0.987,0.586,0.744 +0.987,0.597,0.733 +0.987,0.608,0.722 +0.987,0.618,0.712 +0.987,0.629,0.701 +0.987,0.639,0.690 +0.987,0.649,0.679 +0.987,0.659,0.668 +0.987,0.670,0.657 +0.986,0.679,0.645 +0.986,0.689,0.634 +0.986,0.699,0.623 +0.986,0.708,0.612 +0.986,0.718,0.601 +0.986,0.727,0.589 +0.986,0.736,0.578 +0.987,0.745,0.566 +0.987,0.754,0.555 +0.987,0.763,0.543 +0.987,0.772,0.531 +0.988,0.781,0.519 +0.988,0.789,0.507 +0.988,0.798,0.495 +0.988,0.807,0.483 +0.989,0.815,0.470 +0.989,0.824,0.458 +0.989,0.832,0.445 +0.989,0.840,0.432 +0.988,0.849,0.418 +0.988,0.857,0.404 +0.987,0.865,0.390 +0.986,0.873,0.376 +0.985,0.880,0.362 +0.983,0.888,0.347 +0.981,0.895,0.332 +0.978,0.901,0.316 +0.975,0.907,0.301 +0.972,0.913,0.285 +0.967,0.918,0.270 +0.962,0.923,0.254 +0.957,0.927,0.239 +0.951,0.930,0.224 +0.944,0.932,0.209 +0.936,0.934,0.195 +0.928,0.935,0.182 +0.920,0.935,0.169 +0.910,0.935,0.157 +0.901,0.934,0.146 +0.891,0.933,0.136 +0.881,0.931,0.127 +0.870,0.928,0.120 +0.859,0.925,0.113 +0.848,0.922,0.107 +0.837,0.919,0.103 +0.826,0.915,0.099 +0.815,0.911,0.095 +0.803,0.907,0.092 +0.792,0.903,0.090 +0.780,0.899,0.088 +0.769,0.895,0.086 +0.757,0.891,0.084 +0.746,0.887,0.082 +0.734,0.882,0.081 +0.722,0.878,0.079 +0.711,0.874,0.078 +0.699,0.869,0.076 +0.687,0.865,0.075 +0.675,0.861,0.074 +0.663,0.856,0.072 +0.652,0.852,0.071 +0.640,0.848,0.070 +0.628,0.843,0.068 +0.616,0.839,0.067 +0.604,0.835,0.066 +0.591,0.830,0.064 +0.579,0.826,0.063 +0.567,0.822,0.062 +0.554,0.817,0.060 +0.542,0.813,0.059 +0.529,0.808,0.058 +0.517,0.804,0.057 +0.504,0.800,0.055 +0.491,0.795,0.054 +0.478,0.791,0.053 +0.465,0.786,0.051 +0.452,0.782,0.050 +0.438,0.777,0.049 +0.424,0.773,0.048 +0.411,0.768,0.047 +0.397,0.764,0.047 +0.382,0.759,0.046 +0.368,0.755,0.047 +0.354,0.750,0.047 +0.339,0.745,0.049 +0.324,0.741,0.051 +0.310,0.736,0.054 +0.295,0.731,0.058 +0.281,0.726,0.064 +0.267,0.721,0.070 +0.254,0.716,0.078 +0.241,0.711,0.087 +0.230,0.706,0.097 +0.220,0.700,0.107 +0.211,0.695,0.119 +0.204,0.689,0.131 +0.199,0.683,0.144 +0.196,0.677,0.158 +0.195,0.671,0.172 +0.196,0.664,0.186 +0.198,0.658,0.200 +0.202,0.651,0.215 +0.206,0.644,0.230 +0.212,0.638,0.245 +0.218,0.631,0.261 +0.224,0.623,0.276 +0.230,0.616,0.291 +0.236,0.609,0.306 +0.242,0.602,0.321 +0.247,0.595,0.335 +0.252,0.587,0.350 +0.256,0.580,0.365 +0.260,0.572,0.379 +0.263,0.565,0.393 +0.266,0.558,0.407 +0.268,0.550,0.421 +0.270,0.543,0.435 +0.271,0.535,0.449 +0.272,0.528,0.462 +0.272,0.521,0.476 +0.271,0.513,0.489 +0.270,0.506,0.503 +0.268,0.498,0.516 +0.266,0.491,0.529 +0.263,0.484,0.542 +0.260,0.476,0.555 +0.256,0.469,0.568 +0.252,0.461,0.581 +0.247,0.454,0.594 +0.242,0.446,0.606 +0.236,0.438,0.619 +0.230,0.431,0.631 +0.224,0.423,0.644 +0.218,0.415,0.656 +0.212,0.407,0.667 +0.206,0.399,0.679 +0.199,0.391,0.691 +0.194,0.382,0.702 +0.188,0.374,0.713 +0.183,0.365,0.724 +0.178,0.356,0.735 +0.174,0.347,0.745 +0.170,0.337,0.756 +0.166,0.327,0.766 +0.163,0.317,0.776 +0.160,0.307,0.786 +0.157,0.297,0.796 +0.155,0.286,0.805 +0.152,0.275,0.815 +0.150,0.264,0.824 +0.147,0.253,0.833 +0.146,0.241,0.843 +0.144,0.230,0.851 +0.143,0.218,0.860 +0.143,0.206,0.869 +0.144,0.195,0.877 +0.146,0.183,0.885 +0.150,0.172,0.892 +0.155,0.161,0.900 +0.162,0.151,0.906 +0.171,0.141,0.913 diff --git a/test/CETperceptual_csv_0_1/CET-C3.csv b/test/CETperceptual_csv_0_1/CET-C3.csv new file mode 100644 index 0000000..39f6da2 --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-C3.csv @@ -0,0 +1,256 @@ +0.881,0.843,0.856 +0.886,0.842,0.849 +0.891,0.839,0.840 +0.896,0.835,0.831 +0.900,0.830,0.821 +0.904,0.825,0.811 +0.907,0.819,0.800 +0.911,0.812,0.789 +0.914,0.804,0.778 +0.917,0.797,0.766 +0.919,0.788,0.754 +0.922,0.780,0.742 +0.924,0.771,0.730 +0.926,0.762,0.717 +0.928,0.752,0.705 +0.930,0.743,0.692 +0.932,0.734,0.679 +0.933,0.724,0.667 +0.935,0.714,0.654 +0.936,0.705,0.641 +0.937,0.695,0.629 +0.938,0.685,0.616 +0.939,0.676,0.604 +0.940,0.666,0.591 +0.940,0.656,0.579 +0.941,0.646,0.566 +0.941,0.636,0.554 +0.941,0.627,0.541 +0.941,0.617,0.529 +0.941,0.607,0.517 +0.941,0.597,0.504 +0.941,0.587,0.492 +0.941,0.577,0.480 +0.940,0.567,0.468 +0.940,0.557,0.456 +0.939,0.547,0.444 +0.939,0.537,0.431 +0.938,0.527,0.419 +0.937,0.516,0.407 +0.936,0.506,0.395 +0.935,0.496,0.383 +0.934,0.485,0.371 +0.932,0.475,0.359 +0.931,0.464,0.348 +0.930,0.454,0.336 +0.928,0.443,0.324 +0.926,0.432,0.312 +0.925,0.421,0.300 +0.923,0.410,0.288 +0.921,0.399,0.277 +0.919,0.388,0.265 +0.916,0.377,0.254 +0.914,0.365,0.242 +0.911,0.354,0.231 +0.908,0.343,0.220 +0.905,0.332,0.209 +0.901,0.320,0.198 +0.898,0.309,0.188 +0.893,0.299,0.178 +0.889,0.288,0.168 +0.883,0.278,0.159 +0.877,0.268,0.151 +0.871,0.259,0.143 +0.864,0.250,0.136 +0.857,0.242,0.130 +0.849,0.235,0.124 +0.840,0.229,0.119 +0.831,0.223,0.115 +0.821,0.218,0.111 +0.811,0.214,0.109 +0.800,0.211,0.107 +0.789,0.208,0.105 +0.778,0.206,0.104 +0.766,0.204,0.103 +0.755,0.202,0.103 +0.743,0.201,0.103 +0.730,0.200,0.103 +0.718,0.199,0.103 +0.706,0.198,0.104 +0.694,0.198,0.104 +0.681,0.197,0.105 +0.669,0.196,0.105 +0.656,0.195,0.106 +0.644,0.195,0.106 +0.631,0.194,0.107 +0.619,0.193,0.107 +0.607,0.192,0.108 +0.594,0.191,0.108 +0.582,0.190,0.109 +0.570,0.189,0.109 +0.558,0.188,0.110 +0.546,0.187,0.110 +0.534,0.186,0.110 +0.521,0.184,0.111 +0.509,0.183,0.111 +0.497,0.182,0.111 +0.485,0.180,0.112 +0.474,0.179,0.112 +0.462,0.177,0.112 +0.450,0.176,0.112 +0.438,0.174,0.112 +0.426,0.172,0.112 +0.414,0.171,0.112 +0.403,0.169,0.113 +0.391,0.167,0.113 +0.379,0.165,0.113 +0.368,0.163,0.113 +0.356,0.161,0.113 +0.345,0.159,0.113 +0.333,0.157,0.113 +0.322,0.155,0.113 +0.310,0.153,0.113 +0.299,0.151,0.113 +0.288,0.149,0.113 +0.277,0.146,0.113 +0.266,0.144,0.113 +0.255,0.142,0.114 +0.244,0.140,0.114 +0.234,0.138,0.115 +0.224,0.136,0.116 +0.215,0.135,0.118 +0.206,0.133,0.120 +0.197,0.132,0.122 +0.189,0.131,0.125 +0.182,0.130,0.129 +0.176,0.130,0.133 +0.170,0.130,0.138 +0.165,0.131,0.144 +0.161,0.131,0.150 +0.157,0.133,0.157 +0.155,0.134,0.164 +0.153,0.136,0.173 +0.152,0.139,0.182 +0.151,0.142,0.191 +0.151,0.145,0.201 +0.152,0.148,0.212 +0.152,0.152,0.223 +0.154,0.156,0.235 +0.155,0.160,0.246 +0.157,0.164,0.258 +0.159,0.169,0.271 +0.162,0.173,0.283 +0.164,0.178,0.296 +0.166,0.182,0.309 +0.168,0.187,0.322 +0.170,0.192,0.335 +0.172,0.196,0.348 +0.174,0.201,0.361 +0.176,0.206,0.375 +0.178,0.211,0.388 +0.180,0.216,0.402 +0.181,0.221,0.415 +0.183,0.226,0.429 +0.184,0.230,0.443 +0.185,0.235,0.457 +0.186,0.240,0.470 +0.187,0.245,0.484 +0.188,0.250,0.499 +0.188,0.255,0.513 +0.188,0.261,0.527 +0.189,0.266,0.541 +0.189,0.271,0.555 +0.188,0.276,0.570 +0.188,0.281,0.584 +0.187,0.286,0.599 +0.187,0.291,0.614 +0.186,0.297,0.628 +0.184,0.302,0.643 +0.183,0.307,0.658 +0.181,0.312,0.673 +0.179,0.317,0.687 +0.177,0.323,0.702 +0.174,0.328,0.717 +0.171,0.333,0.732 +0.168,0.339,0.747 +0.165,0.344,0.762 +0.161,0.349,0.777 +0.158,0.355,0.792 +0.154,0.360,0.807 +0.150,0.366,0.822 +0.146,0.371,0.837 +0.143,0.377,0.851 +0.140,0.382,0.865 +0.138,0.388,0.878 +0.137,0.393,0.892 +0.138,0.399,0.904 +0.141,0.405,0.916 +0.146,0.410,0.927 +0.153,0.416,0.937 +0.162,0.422,0.947 +0.173,0.428,0.955 +0.186,0.434,0.963 +0.200,0.440,0.969 +0.216,0.446,0.975 +0.232,0.452,0.979 +0.248,0.458,0.983 +0.265,0.465,0.986 +0.282,0.471,0.988 +0.299,0.477,0.989 +0.316,0.484,0.990 +0.332,0.490,0.990 +0.348,0.497,0.990 +0.364,0.503,0.989 +0.380,0.510,0.989 +0.394,0.517,0.988 +0.409,0.523,0.986 +0.423,0.530,0.985 +0.437,0.537,0.983 +0.450,0.544,0.982 +0.463,0.551,0.980 +0.476,0.557,0.979 +0.488,0.564,0.977 +0.500,0.571,0.975 +0.512,0.578,0.973 +0.524,0.585,0.972 +0.535,0.592,0.970 +0.546,0.599,0.968 +0.557,0.606,0.966 +0.568,0.613,0.964 +0.578,0.620,0.963 +0.589,0.627,0.961 +0.599,0.635,0.959 +0.609,0.642,0.957 +0.619,0.649,0.955 +0.629,0.656,0.953 +0.638,0.663,0.951 +0.648,0.671,0.950 +0.657,0.678,0.948 +0.666,0.685,0.946 +0.675,0.692,0.944 +0.685,0.700,0.942 +0.693,0.707,0.940 +0.702,0.714,0.938 +0.711,0.722,0.936 +0.720,0.729,0.934 +0.728,0.736,0.932 +0.737,0.744,0.930 +0.745,0.751,0.928 +0.754,0.759,0.925 +0.762,0.766,0.923 +0.770,0.773,0.921 +0.778,0.780,0.919 +0.786,0.788,0.917 +0.794,0.795,0.914 +0.802,0.801,0.912 +0.810,0.808,0.909 +0.817,0.814,0.906 +0.825,0.820,0.903 +0.832,0.826,0.900 +0.839,0.831,0.896 +0.846,0.835,0.892 +0.852,0.838,0.887 +0.859,0.841,0.882 +0.865,0.843,0.877 +0.871,0.844,0.870 +0.876,0.844,0.864 diff --git a/test/CETperceptual_csv_0_1/CET-C3s.csv b/test/CETperceptual_csv_0_1/CET-C3s.csv new file mode 100644 index 0000000..7b9bfab --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-C3s.csv @@ -0,0 +1,256 @@ +0.200,0.440,0.969 +0.216,0.446,0.975 +0.232,0.452,0.979 +0.248,0.458,0.983 +0.265,0.465,0.986 +0.282,0.471,0.988 +0.299,0.477,0.989 +0.316,0.484,0.990 +0.332,0.490,0.990 +0.348,0.497,0.990 +0.364,0.503,0.989 +0.380,0.510,0.989 +0.394,0.517,0.988 +0.409,0.523,0.986 +0.423,0.530,0.985 +0.437,0.537,0.983 +0.450,0.544,0.982 +0.463,0.551,0.980 +0.476,0.557,0.979 +0.488,0.564,0.977 +0.500,0.571,0.975 +0.512,0.578,0.973 +0.524,0.585,0.972 +0.535,0.592,0.970 +0.546,0.599,0.968 +0.557,0.606,0.966 +0.568,0.613,0.964 +0.578,0.620,0.963 +0.589,0.627,0.961 +0.599,0.635,0.959 +0.609,0.642,0.957 +0.619,0.649,0.955 +0.629,0.656,0.953 +0.638,0.663,0.951 +0.648,0.671,0.950 +0.657,0.678,0.948 +0.666,0.685,0.946 +0.675,0.692,0.944 +0.685,0.700,0.942 +0.693,0.707,0.940 +0.702,0.714,0.938 +0.711,0.722,0.936 +0.720,0.729,0.934 +0.728,0.736,0.932 +0.737,0.744,0.930 +0.745,0.751,0.928 +0.754,0.759,0.925 +0.762,0.766,0.923 +0.770,0.773,0.921 +0.778,0.780,0.919 +0.786,0.788,0.917 +0.794,0.795,0.914 +0.802,0.801,0.912 +0.810,0.808,0.909 +0.817,0.814,0.906 +0.825,0.820,0.903 +0.832,0.826,0.900 +0.839,0.831,0.896 +0.846,0.835,0.892 +0.852,0.838,0.887 +0.859,0.841,0.882 +0.865,0.843,0.877 +0.871,0.844,0.870 +0.876,0.844,0.864 +0.881,0.843,0.856 +0.886,0.842,0.849 +0.891,0.839,0.840 +0.896,0.835,0.831 +0.900,0.830,0.821 +0.904,0.825,0.811 +0.907,0.819,0.800 +0.911,0.812,0.789 +0.914,0.804,0.778 +0.917,0.797,0.766 +0.919,0.788,0.754 +0.922,0.780,0.742 +0.924,0.771,0.730 +0.926,0.762,0.717 +0.928,0.752,0.705 +0.930,0.743,0.692 +0.932,0.734,0.679 +0.933,0.724,0.667 +0.935,0.714,0.654 +0.936,0.705,0.641 +0.937,0.695,0.629 +0.938,0.685,0.616 +0.939,0.676,0.604 +0.940,0.666,0.591 +0.940,0.656,0.579 +0.941,0.646,0.566 +0.941,0.636,0.554 +0.941,0.627,0.541 +0.941,0.617,0.529 +0.941,0.607,0.517 +0.941,0.597,0.504 +0.941,0.587,0.492 +0.941,0.577,0.480 +0.940,0.567,0.468 +0.940,0.557,0.456 +0.939,0.547,0.444 +0.939,0.537,0.431 +0.938,0.527,0.419 +0.937,0.516,0.407 +0.936,0.506,0.395 +0.935,0.496,0.383 +0.934,0.485,0.371 +0.932,0.475,0.359 +0.931,0.464,0.348 +0.930,0.454,0.336 +0.928,0.443,0.324 +0.926,0.432,0.312 +0.925,0.421,0.300 +0.923,0.410,0.288 +0.921,0.399,0.277 +0.919,0.388,0.265 +0.916,0.377,0.254 +0.914,0.365,0.242 +0.911,0.354,0.231 +0.908,0.343,0.220 +0.905,0.332,0.209 +0.901,0.320,0.198 +0.898,0.309,0.188 +0.893,0.299,0.178 +0.889,0.288,0.168 +0.883,0.278,0.159 +0.877,0.268,0.151 +0.871,0.259,0.143 +0.864,0.250,0.136 +0.857,0.242,0.130 +0.849,0.235,0.124 +0.840,0.229,0.119 +0.831,0.223,0.115 +0.821,0.218,0.111 +0.811,0.214,0.109 +0.800,0.211,0.107 +0.789,0.208,0.105 +0.778,0.206,0.104 +0.766,0.204,0.103 +0.755,0.202,0.103 +0.743,0.201,0.103 +0.730,0.200,0.103 +0.718,0.199,0.103 +0.706,0.198,0.104 +0.694,0.198,0.104 +0.681,0.197,0.105 +0.669,0.196,0.105 +0.656,0.195,0.106 +0.644,0.195,0.106 +0.631,0.194,0.107 +0.619,0.193,0.107 +0.607,0.192,0.108 +0.594,0.191,0.108 +0.582,0.190,0.109 +0.570,0.189,0.109 +0.558,0.188,0.110 +0.546,0.187,0.110 +0.534,0.186,0.110 +0.521,0.184,0.111 +0.509,0.183,0.111 +0.497,0.182,0.111 +0.485,0.180,0.112 +0.474,0.179,0.112 +0.462,0.177,0.112 +0.450,0.176,0.112 +0.438,0.174,0.112 +0.426,0.172,0.112 +0.414,0.171,0.112 +0.403,0.169,0.113 +0.391,0.167,0.113 +0.379,0.165,0.113 +0.368,0.163,0.113 +0.356,0.161,0.113 +0.345,0.159,0.113 +0.333,0.157,0.113 +0.322,0.155,0.113 +0.310,0.153,0.113 +0.299,0.151,0.113 +0.288,0.149,0.113 +0.277,0.146,0.113 +0.266,0.144,0.113 +0.255,0.142,0.114 +0.244,0.140,0.114 +0.234,0.138,0.115 +0.224,0.136,0.116 +0.215,0.135,0.118 +0.206,0.133,0.120 +0.197,0.132,0.122 +0.189,0.131,0.125 +0.182,0.130,0.129 +0.176,0.130,0.133 +0.170,0.130,0.138 +0.165,0.131,0.144 +0.161,0.131,0.150 +0.157,0.133,0.157 +0.155,0.134,0.164 +0.153,0.136,0.173 +0.152,0.139,0.182 +0.151,0.142,0.191 +0.151,0.145,0.201 +0.152,0.148,0.212 +0.152,0.152,0.223 +0.154,0.156,0.235 +0.155,0.160,0.246 +0.157,0.164,0.258 +0.159,0.169,0.271 +0.162,0.173,0.283 +0.164,0.178,0.296 +0.166,0.182,0.309 +0.168,0.187,0.322 +0.170,0.192,0.335 +0.172,0.196,0.348 +0.174,0.201,0.361 +0.176,0.206,0.375 +0.178,0.211,0.388 +0.180,0.216,0.402 +0.181,0.221,0.415 +0.183,0.226,0.429 +0.184,0.230,0.443 +0.185,0.235,0.457 +0.186,0.240,0.470 +0.187,0.245,0.484 +0.188,0.250,0.499 +0.188,0.255,0.513 +0.188,0.261,0.527 +0.189,0.266,0.541 +0.189,0.271,0.555 +0.188,0.276,0.570 +0.188,0.281,0.584 +0.187,0.286,0.599 +0.187,0.291,0.614 +0.186,0.297,0.628 +0.184,0.302,0.643 +0.183,0.307,0.658 +0.181,0.312,0.673 +0.179,0.317,0.687 +0.177,0.323,0.702 +0.174,0.328,0.717 +0.171,0.333,0.732 +0.168,0.339,0.747 +0.165,0.344,0.762 +0.161,0.349,0.777 +0.158,0.355,0.792 +0.154,0.360,0.807 +0.150,0.366,0.822 +0.146,0.371,0.837 +0.143,0.377,0.851 +0.140,0.382,0.865 +0.138,0.388,0.878 +0.137,0.393,0.892 +0.138,0.399,0.904 +0.141,0.405,0.916 +0.146,0.410,0.927 +0.153,0.416,0.937 +0.162,0.422,0.947 +0.173,0.428,0.955 +0.186,0.434,0.963 diff --git a/test/CETperceptual_csv_0_1/CET-C4.csv b/test/CETperceptual_csv_0_1/CET-C4.csv new file mode 100644 index 0000000..f2f82bb --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-C4.csv @@ -0,0 +1,256 @@ +0.873,0.836,0.849 +0.878,0.834,0.841 +0.882,0.831,0.832 +0.886,0.827,0.823 +0.889,0.821,0.812 +0.892,0.815,0.802 +0.895,0.808,0.790 +0.897,0.800,0.778 +0.898,0.792,0.766 +0.900,0.783,0.753 +0.901,0.773,0.740 +0.902,0.763,0.727 +0.903,0.753,0.713 +0.903,0.743,0.700 +0.904,0.732,0.686 +0.904,0.722,0.672 +0.904,0.711,0.658 +0.903,0.700,0.644 +0.903,0.689,0.630 +0.902,0.678,0.617 +0.902,0.667,0.603 +0.901,0.656,0.589 +0.900,0.645,0.575 +0.899,0.634,0.562 +0.898,0.623,0.548 +0.896,0.612,0.534 +0.895,0.601,0.521 +0.893,0.589,0.507 +0.892,0.578,0.494 +0.890,0.567,0.480 +0.888,0.556,0.467 +0.886,0.545,0.454 +0.884,0.533,0.440 +0.881,0.522,0.427 +0.879,0.511,0.414 +0.876,0.500,0.401 +0.874,0.488,0.388 +0.871,0.477,0.375 +0.868,0.465,0.362 +0.866,0.454,0.349 +0.863,0.442,0.336 +0.859,0.430,0.323 +0.856,0.419,0.310 +0.853,0.407,0.297 +0.850,0.395,0.284 +0.846,0.383,0.271 +0.843,0.371,0.259 +0.839,0.358,0.246 +0.835,0.346,0.233 +0.832,0.334,0.221 +0.828,0.321,0.208 +0.824,0.309,0.196 +0.820,0.296,0.184 +0.816,0.284,0.172 +0.813,0.271,0.161 +0.809,0.260,0.150 +0.805,0.248,0.139 +0.802,0.237,0.130 +0.799,0.226,0.120 +0.796,0.217,0.112 +0.794,0.209,0.105 +0.792,0.202,0.099 +0.791,0.196,0.095 +0.790,0.193,0.092 +0.789,0.191,0.090 +0.789,0.191,0.090 +0.790,0.193,0.092 +0.791,0.198,0.096 +0.793,0.203,0.101 +0.795,0.211,0.107 +0.797,0.219,0.114 +0.800,0.229,0.123 +0.803,0.240,0.132 +0.806,0.251,0.142 +0.810,0.263,0.153 +0.814,0.275,0.164 +0.817,0.287,0.176 +0.821,0.300,0.187 +0.825,0.312,0.199 +0.829,0.324,0.212 +0.833,0.337,0.224 +0.836,0.349,0.237 +0.840,0.362,0.249 +0.844,0.374,0.262 +0.847,0.386,0.275 +0.851,0.398,0.288 +0.854,0.410,0.300 +0.857,0.422,0.313 +0.860,0.433,0.326 +0.863,0.445,0.339 +0.866,0.457,0.352 +0.869,0.468,0.365 +0.872,0.480,0.378 +0.875,0.491,0.391 +0.877,0.503,0.404 +0.880,0.514,0.418 +0.882,0.525,0.431 +0.884,0.537,0.444 +0.886,0.548,0.457 +0.888,0.559,0.471 +0.890,0.570,0.484 +0.892,0.581,0.497 +0.894,0.592,0.511 +0.895,0.604,0.524 +0.897,0.615,0.538 +0.898,0.626,0.552 +0.899,0.637,0.565 +0.900,0.648,0.579 +0.901,0.659,0.593 +0.902,0.670,0.607 +0.902,0.681,0.620 +0.903,0.692,0.634 +0.903,0.703,0.648 +0.903,0.713,0.662 +0.903,0.724,0.676 +0.903,0.735,0.690 +0.902,0.745,0.703 +0.901,0.755,0.717 +0.900,0.764,0.731 +0.899,0.774,0.744 +0.897,0.782,0.757 +0.894,0.790,0.770 +0.891,0.798,0.782 +0.888,0.804,0.794 +0.884,0.810,0.806 +0.880,0.815,0.816 +0.875,0.818,0.827 +0.870,0.821,0.836 +0.864,0.822,0.844 +0.857,0.822,0.852 +0.851,0.821,0.859 +0.843,0.819,0.865 +0.836,0.816,0.871 +0.828,0.812,0.875 +0.819,0.807,0.879 +0.811,0.802,0.883 +0.802,0.795,0.886 +0.793,0.788,0.888 +0.784,0.781,0.890 +0.775,0.773,0.891 +0.765,0.765,0.892 +0.756,0.757,0.893 +0.746,0.749,0.894 +0.737,0.740,0.895 +0.727,0.731,0.895 +0.717,0.723,0.896 +0.707,0.714,0.896 +0.697,0.705,0.897 +0.687,0.697,0.897 +0.677,0.688,0.897 +0.667,0.679,0.897 +0.657,0.670,0.898 +0.646,0.662,0.898 +0.636,0.653,0.898 +0.625,0.644,0.898 +0.615,0.636,0.898 +0.604,0.627,0.899 +0.593,0.619,0.899 +0.582,0.610,0.899 +0.571,0.602,0.899 +0.559,0.593,0.899 +0.548,0.585,0.899 +0.536,0.576,0.899 +0.524,0.568,0.899 +0.512,0.560,0.899 +0.500,0.551,0.899 +0.487,0.543,0.899 +0.475,0.535,0.899 +0.462,0.526,0.899 +0.448,0.518,0.899 +0.435,0.510,0.899 +0.421,0.502,0.899 +0.406,0.494,0.899 +0.392,0.486,0.899 +0.376,0.478,0.899 +0.361,0.470,0.899 +0.344,0.462,0.899 +0.328,0.455,0.898 +0.311,0.447,0.898 +0.293,0.440,0.898 +0.274,0.433,0.898 +0.255,0.426,0.898 +0.236,0.420,0.898 +0.216,0.414,0.898 +0.196,0.409,0.897 +0.177,0.404,0.897 +0.157,0.400,0.897 +0.139,0.396,0.897 +0.123,0.393,0.897 +0.110,0.391,0.897 +0.101,0.390,0.897 +0.099,0.390,0.897 +0.102,0.390,0.897 +0.112,0.392,0.897 +0.126,0.394,0.897 +0.143,0.397,0.897 +0.161,0.400,0.897 +0.181,0.405,0.897 +0.201,0.410,0.897 +0.221,0.415,0.898 +0.240,0.421,0.898 +0.260,0.428,0.898 +0.278,0.435,0.898 +0.297,0.442,0.898 +0.314,0.449,0.898 +0.331,0.456,0.898 +0.348,0.464,0.899 +0.364,0.472,0.899 +0.380,0.480,0.899 +0.395,0.488,0.899 +0.409,0.496,0.899 +0.424,0.504,0.899 +0.438,0.512,0.899 +0.451,0.520,0.899 +0.465,0.528,0.899 +0.477,0.536,0.899 +0.490,0.545,0.899 +0.503,0.553,0.899 +0.515,0.561,0.899 +0.527,0.570,0.899 +0.539,0.578,0.899 +0.550,0.586,0.899 +0.562,0.595,0.899 +0.573,0.603,0.899 +0.584,0.612,0.899 +0.595,0.620,0.899 +0.606,0.629,0.899 +0.617,0.638,0.898 +0.628,0.646,0.898 +0.638,0.655,0.898 +0.648,0.664,0.898 +0.659,0.672,0.898 +0.669,0.681,0.897 +0.679,0.690,0.897 +0.689,0.698,0.897 +0.699,0.707,0.897 +0.709,0.716,0.896 +0.719,0.725,0.896 +0.729,0.734,0.896 +0.739,0.742,0.895 +0.748,0.751,0.895 +0.758,0.760,0.894 +0.767,0.768,0.894 +0.776,0.777,0.893 +0.785,0.785,0.892 +0.794,0.793,0.891 +0.803,0.800,0.889 +0.811,0.807,0.888 +0.820,0.814,0.886 +0.828,0.820,0.883 +0.835,0.825,0.880 +0.843,0.829,0.877 +0.850,0.833,0.873 +0.856,0.835,0.868 +0.862,0.837,0.862 +0.868,0.837,0.856 diff --git a/test/CETperceptual_csv_0_1/CET-C4s.csv b/test/CETperceptual_csv_0_1/CET-C4s.csv new file mode 100644 index 0000000..67dd578 --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-C4s.csv @@ -0,0 +1,256 @@ +0.102,0.390,0.897 +0.112,0.392,0.897 +0.126,0.394,0.897 +0.143,0.397,0.897 +0.161,0.400,0.897 +0.181,0.405,0.897 +0.201,0.410,0.897 +0.221,0.415,0.898 +0.240,0.421,0.898 +0.260,0.428,0.898 +0.278,0.435,0.898 +0.297,0.442,0.898 +0.314,0.449,0.898 +0.331,0.456,0.898 +0.348,0.464,0.899 +0.364,0.472,0.899 +0.380,0.480,0.899 +0.395,0.488,0.899 +0.409,0.496,0.899 +0.424,0.504,0.899 +0.438,0.512,0.899 +0.451,0.520,0.899 +0.465,0.528,0.899 +0.477,0.536,0.899 +0.490,0.545,0.899 +0.503,0.553,0.899 +0.515,0.561,0.899 +0.527,0.570,0.899 +0.539,0.578,0.899 +0.550,0.586,0.899 +0.562,0.595,0.899 +0.573,0.603,0.899 +0.584,0.612,0.899 +0.595,0.620,0.899 +0.606,0.629,0.899 +0.617,0.638,0.898 +0.628,0.646,0.898 +0.638,0.655,0.898 +0.648,0.664,0.898 +0.659,0.672,0.898 +0.669,0.681,0.897 +0.679,0.690,0.897 +0.689,0.698,0.897 +0.699,0.707,0.897 +0.709,0.716,0.896 +0.719,0.725,0.896 +0.729,0.734,0.896 +0.739,0.742,0.895 +0.748,0.751,0.895 +0.758,0.760,0.894 +0.767,0.768,0.894 +0.776,0.777,0.893 +0.785,0.785,0.892 +0.794,0.793,0.891 +0.803,0.800,0.889 +0.811,0.807,0.888 +0.820,0.814,0.886 +0.828,0.820,0.883 +0.835,0.825,0.880 +0.843,0.829,0.877 +0.850,0.833,0.873 +0.856,0.835,0.868 +0.862,0.837,0.862 +0.868,0.837,0.856 +0.873,0.836,0.849 +0.878,0.834,0.841 +0.882,0.831,0.832 +0.886,0.827,0.823 +0.889,0.821,0.812 +0.892,0.815,0.802 +0.895,0.808,0.790 +0.897,0.800,0.778 +0.898,0.792,0.766 +0.900,0.783,0.753 +0.901,0.773,0.740 +0.902,0.763,0.727 +0.903,0.753,0.713 +0.903,0.743,0.700 +0.904,0.732,0.686 +0.904,0.722,0.672 +0.904,0.711,0.658 +0.903,0.700,0.644 +0.903,0.689,0.630 +0.902,0.678,0.617 +0.902,0.667,0.603 +0.901,0.656,0.589 +0.900,0.645,0.575 +0.899,0.634,0.562 +0.898,0.623,0.548 +0.896,0.612,0.534 +0.895,0.601,0.521 +0.893,0.589,0.507 +0.892,0.578,0.494 +0.890,0.567,0.480 +0.888,0.556,0.467 +0.886,0.545,0.454 +0.884,0.533,0.440 +0.881,0.522,0.427 +0.879,0.511,0.414 +0.876,0.500,0.401 +0.874,0.488,0.388 +0.871,0.477,0.375 +0.868,0.465,0.362 +0.866,0.454,0.349 +0.863,0.442,0.336 +0.859,0.430,0.323 +0.856,0.419,0.310 +0.853,0.407,0.297 +0.850,0.395,0.284 +0.846,0.383,0.271 +0.843,0.371,0.259 +0.839,0.358,0.246 +0.835,0.346,0.233 +0.832,0.334,0.221 +0.828,0.321,0.208 +0.824,0.309,0.196 +0.820,0.296,0.184 +0.816,0.284,0.172 +0.813,0.271,0.161 +0.809,0.260,0.150 +0.805,0.248,0.139 +0.802,0.237,0.130 +0.799,0.226,0.120 +0.796,0.217,0.112 +0.794,0.209,0.105 +0.792,0.202,0.099 +0.791,0.196,0.095 +0.790,0.193,0.092 +0.789,0.191,0.090 +0.789,0.191,0.090 +0.790,0.193,0.092 +0.791,0.198,0.096 +0.793,0.203,0.101 +0.795,0.211,0.107 +0.797,0.219,0.114 +0.800,0.229,0.123 +0.803,0.240,0.132 +0.806,0.251,0.142 +0.810,0.263,0.153 +0.814,0.275,0.164 +0.817,0.287,0.176 +0.821,0.300,0.187 +0.825,0.312,0.199 +0.829,0.324,0.212 +0.833,0.337,0.224 +0.836,0.349,0.237 +0.840,0.362,0.249 +0.844,0.374,0.262 +0.847,0.386,0.275 +0.851,0.398,0.288 +0.854,0.410,0.300 +0.857,0.422,0.313 +0.860,0.433,0.326 +0.863,0.445,0.339 +0.866,0.457,0.352 +0.869,0.468,0.365 +0.872,0.480,0.378 +0.875,0.491,0.391 +0.877,0.503,0.404 +0.880,0.514,0.418 +0.882,0.525,0.431 +0.884,0.537,0.444 +0.886,0.548,0.457 +0.888,0.559,0.471 +0.890,0.570,0.484 +0.892,0.581,0.497 +0.894,0.592,0.511 +0.895,0.604,0.524 +0.897,0.615,0.538 +0.898,0.626,0.552 +0.899,0.637,0.565 +0.900,0.648,0.579 +0.901,0.659,0.593 +0.902,0.670,0.607 +0.902,0.681,0.620 +0.903,0.692,0.634 +0.903,0.703,0.648 +0.903,0.713,0.662 +0.903,0.724,0.676 +0.903,0.735,0.690 +0.902,0.745,0.703 +0.901,0.755,0.717 +0.900,0.764,0.731 +0.899,0.774,0.744 +0.897,0.782,0.757 +0.894,0.790,0.770 +0.891,0.798,0.782 +0.888,0.804,0.794 +0.884,0.810,0.806 +0.880,0.815,0.816 +0.875,0.818,0.827 +0.870,0.821,0.836 +0.864,0.822,0.844 +0.857,0.822,0.852 +0.851,0.821,0.859 +0.843,0.819,0.865 +0.836,0.816,0.871 +0.828,0.812,0.875 +0.819,0.807,0.879 +0.811,0.802,0.883 +0.802,0.795,0.886 +0.793,0.788,0.888 +0.784,0.781,0.890 +0.775,0.773,0.891 +0.765,0.765,0.892 +0.756,0.757,0.893 +0.746,0.749,0.894 +0.737,0.740,0.895 +0.727,0.731,0.895 +0.717,0.723,0.896 +0.707,0.714,0.896 +0.697,0.705,0.897 +0.687,0.697,0.897 +0.677,0.688,0.897 +0.667,0.679,0.897 +0.657,0.670,0.898 +0.646,0.662,0.898 +0.636,0.653,0.898 +0.625,0.644,0.898 +0.615,0.636,0.898 +0.604,0.627,0.899 +0.593,0.619,0.899 +0.582,0.610,0.899 +0.571,0.602,0.899 +0.559,0.593,0.899 +0.548,0.585,0.899 +0.536,0.576,0.899 +0.524,0.568,0.899 +0.512,0.560,0.899 +0.500,0.551,0.899 +0.487,0.543,0.899 +0.475,0.535,0.899 +0.462,0.526,0.899 +0.448,0.518,0.899 +0.435,0.510,0.899 +0.421,0.502,0.899 +0.406,0.494,0.899 +0.392,0.486,0.899 +0.376,0.478,0.899 +0.361,0.470,0.899 +0.344,0.462,0.899 +0.328,0.455,0.898 +0.311,0.447,0.898 +0.293,0.440,0.898 +0.274,0.433,0.898 +0.255,0.426,0.898 +0.236,0.420,0.898 +0.216,0.414,0.898 +0.196,0.409,0.897 +0.177,0.404,0.897 +0.157,0.400,0.897 +0.139,0.396,0.897 +0.123,0.393,0.897 +0.110,0.391,0.897 +0.101,0.390,0.897 +0.099,0.390,0.897 diff --git a/test/CETperceptual_csv_0_1/CET-C5.csv b/test/CETperceptual_csv_0_1/CET-C5.csv new file mode 100644 index 0000000..c9256c4 --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-C5.csv @@ -0,0 +1,256 @@ +0.469,0.469,0.469 +0.474,0.474,0.474 +0.479,0.479,0.479 +0.484,0.484,0.484 +0.489,0.489,0.489 +0.494,0.494,0.494 +0.499,0.499,0.499 +0.505,0.505,0.505 +0.510,0.510,0.510 +0.515,0.515,0.515 +0.520,0.521,0.521 +0.526,0.526,0.526 +0.531,0.531,0.531 +0.537,0.537,0.537 +0.542,0.542,0.542 +0.548,0.548,0.548 +0.553,0.553,0.553 +0.558,0.559,0.559 +0.564,0.564,0.564 +0.569,0.570,0.570 +0.575,0.575,0.575 +0.581,0.581,0.581 +0.586,0.586,0.586 +0.592,0.592,0.592 +0.597,0.597,0.597 +0.603,0.603,0.603 +0.608,0.609,0.609 +0.614,0.614,0.614 +0.620,0.620,0.620 +0.625,0.625,0.625 +0.631,0.631,0.631 +0.637,0.637,0.637 +0.642,0.642,0.642 +0.648,0.648,0.648 +0.653,0.654,0.654 +0.659,0.659,0.659 +0.665,0.665,0.665 +0.671,0.671,0.671 +0.676,0.676,0.676 +0.682,0.682,0.682 +0.688,0.688,0.688 +0.693,0.694,0.693 +0.699,0.699,0.699 +0.705,0.705,0.705 +0.711,0.711,0.711 +0.716,0.717,0.716 +0.722,0.722,0.722 +0.728,0.728,0.728 +0.733,0.734,0.734 +0.739,0.739,0.739 +0.745,0.745,0.745 +0.750,0.750,0.750 +0.755,0.756,0.756 +0.761,0.761,0.761 +0.766,0.766,0.766 +0.770,0.771,0.771 +0.775,0.775,0.775 +0.779,0.779,0.779 +0.783,0.783,0.783 +0.786,0.786,0.786 +0.788,0.788,0.788 +0.790,0.790,0.790 +0.792,0.792,0.792 +0.792,0.793,0.793 +0.793,0.793,0.793 +0.792,0.792,0.792 +0.791,0.791,0.791 +0.789,0.789,0.789 +0.786,0.786,0.786 +0.783,0.783,0.783 +0.780,0.780,0.780 +0.776,0.776,0.776 +0.771,0.772,0.772 +0.767,0.767,0.767 +0.762,0.762,0.762 +0.757,0.757,0.757 +0.751,0.752,0.752 +0.746,0.746,0.746 +0.740,0.741,0.741 +0.735,0.735,0.735 +0.729,0.729,0.729 +0.723,0.724,0.724 +0.718,0.718,0.718 +0.712,0.712,0.712 +0.706,0.706,0.706 +0.701,0.701,0.701 +0.695,0.695,0.695 +0.689,0.689,0.689 +0.683,0.683,0.683 +0.678,0.678,0.678 +0.672,0.672,0.672 +0.666,0.666,0.666 +0.661,0.661,0.661 +0.655,0.655,0.655 +0.649,0.649,0.649 +0.644,0.644,0.644 +0.638,0.638,0.638 +0.632,0.632,0.632 +0.627,0.627,0.627 +0.621,0.621,0.621 +0.615,0.615,0.615 +0.610,0.610,0.610 +0.604,0.604,0.604 +0.599,0.599,0.599 +0.593,0.593,0.593 +0.587,0.588,0.588 +0.582,0.582,0.582 +0.576,0.576,0.576 +0.571,0.571,0.571 +0.565,0.565,0.565 +0.560,0.560,0.560 +0.554,0.554,0.554 +0.549,0.549,0.549 +0.543,0.543,0.543 +0.538,0.538,0.538 +0.532,0.532,0.532 +0.527,0.527,0.527 +0.521,0.522,0.522 +0.516,0.516,0.516 +0.511,0.511,0.511 +0.505,0.505,0.505 +0.500,0.500,0.500 +0.494,0.494,0.494 +0.489,0.489,0.489 +0.484,0.484,0.484 +0.478,0.478,0.478 +0.473,0.473,0.473 +0.468,0.468,0.468 +0.462,0.462,0.462 +0.457,0.457,0.457 +0.452,0.452,0.452 +0.446,0.446,0.446 +0.441,0.441,0.441 +0.436,0.436,0.436 +0.430,0.431,0.431 +0.425,0.425,0.425 +0.420,0.420,0.420 +0.415,0.415,0.415 +0.410,0.410,0.410 +0.404,0.404,0.404 +0.399,0.399,0.399 +0.394,0.394,0.394 +0.389,0.389,0.389 +0.384,0.384,0.384 +0.378,0.379,0.379 +0.373,0.373,0.373 +0.368,0.368,0.368 +0.363,0.363,0.363 +0.358,0.358,0.358 +0.353,0.353,0.353 +0.348,0.348,0.348 +0.343,0.343,0.343 +0.338,0.338,0.338 +0.333,0.333,0.333 +0.328,0.328,0.328 +0.323,0.323,0.323 +0.318,0.318,0.318 +0.313,0.313,0.313 +0.308,0.308,0.308 +0.303,0.303,0.303 +0.298,0.298,0.298 +0.293,0.293,0.293 +0.288,0.288,0.288 +0.283,0.283,0.283 +0.278,0.278,0.278 +0.273,0.273,0.273 +0.269,0.269,0.269 +0.264,0.264,0.264 +0.259,0.259,0.259 +0.254,0.254,0.254 +0.249,0.249,0.249 +0.244,0.245,0.245 +0.240,0.240,0.240 +0.235,0.235,0.235 +0.230,0.230,0.230 +0.226,0.226,0.226 +0.221,0.221,0.221 +0.217,0.217,0.217 +0.212,0.212,0.212 +0.208,0.208,0.208 +0.204,0.204,0.204 +0.200,0.200,0.200 +0.196,0.196,0.196 +0.192,0.192,0.192 +0.189,0.189,0.189 +0.186,0.186,0.186 +0.183,0.183,0.183 +0.181,0.181,0.181 +0.179,0.179,0.179 +0.178,0.178,0.178 +0.177,0.177,0.177 +0.177,0.177,0.177 +0.177,0.177,0.177 +0.178,0.178,0.178 +0.179,0.179,0.179 +0.180,0.180,0.180 +0.183,0.183,0.183 +0.185,0.185,0.185 +0.188,0.188,0.188 +0.191,0.191,0.191 +0.195,0.195,0.195 +0.199,0.199,0.199 +0.203,0.203,0.203 +0.207,0.207,0.207 +0.211,0.211,0.211 +0.215,0.216,0.216 +0.220,0.220,0.220 +0.225,0.225,0.225 +0.229,0.229,0.229 +0.234,0.234,0.234 +0.239,0.239,0.239 +0.243,0.243,0.243 +0.248,0.248,0.248 +0.253,0.253,0.253 +0.258,0.258,0.258 +0.263,0.263,0.263 +0.267,0.267,0.267 +0.272,0.272,0.272 +0.277,0.277,0.277 +0.282,0.282,0.282 +0.287,0.287,0.287 +0.292,0.292,0.292 +0.297,0.297,0.297 +0.302,0.302,0.302 +0.307,0.307,0.307 +0.312,0.312,0.312 +0.317,0.317,0.317 +0.321,0.322,0.322 +0.326,0.327,0.327 +0.332,0.332,0.332 +0.337,0.337,0.337 +0.342,0.342,0.342 +0.347,0.347,0.347 +0.352,0.352,0.352 +0.357,0.357,0.357 +0.362,0.362,0.362 +0.367,0.367,0.367 +0.372,0.372,0.372 +0.377,0.377,0.377 +0.382,0.382,0.382 +0.387,0.388,0.388 +0.393,0.393,0.393 +0.398,0.398,0.398 +0.403,0.403,0.403 +0.408,0.408,0.408 +0.413,0.413,0.413 +0.418,0.418,0.418 +0.423,0.423,0.423 +0.428,0.429,0.429 +0.434,0.434,0.434 +0.439,0.439,0.439 +0.444,0.444,0.444 +0.449,0.449,0.449 +0.454,0.454,0.454 +0.459,0.459,0.459 +0.464,0.464,0.464 diff --git a/test/CETperceptual_csv_0_1/CET-C5s.csv b/test/CETperceptual_csv_0_1/CET-C5s.csv new file mode 100644 index 0000000..64e44ca --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-C5s.csv @@ -0,0 +1,256 @@ +0.177,0.177,0.177 +0.178,0.178,0.178 +0.179,0.179,0.179 +0.180,0.180,0.180 +0.183,0.183,0.183 +0.185,0.185,0.185 +0.188,0.188,0.188 +0.191,0.191,0.191 +0.195,0.195,0.195 +0.199,0.199,0.199 +0.203,0.203,0.203 +0.207,0.207,0.207 +0.211,0.211,0.211 +0.215,0.216,0.216 +0.220,0.220,0.220 +0.225,0.225,0.225 +0.229,0.229,0.229 +0.234,0.234,0.234 +0.239,0.239,0.239 +0.243,0.243,0.243 +0.248,0.248,0.248 +0.253,0.253,0.253 +0.258,0.258,0.258 +0.263,0.263,0.263 +0.267,0.267,0.267 +0.272,0.272,0.272 +0.277,0.277,0.277 +0.282,0.282,0.282 +0.287,0.287,0.287 +0.292,0.292,0.292 +0.297,0.297,0.297 +0.302,0.302,0.302 +0.307,0.307,0.307 +0.312,0.312,0.312 +0.317,0.317,0.317 +0.321,0.322,0.322 +0.326,0.327,0.327 +0.332,0.332,0.332 +0.337,0.337,0.337 +0.342,0.342,0.342 +0.347,0.347,0.347 +0.352,0.352,0.352 +0.357,0.357,0.357 +0.362,0.362,0.362 +0.367,0.367,0.367 +0.372,0.372,0.372 +0.377,0.377,0.377 +0.382,0.382,0.382 +0.387,0.388,0.388 +0.393,0.393,0.393 +0.398,0.398,0.398 +0.403,0.403,0.403 +0.408,0.408,0.408 +0.413,0.413,0.413 +0.418,0.418,0.418 +0.423,0.423,0.423 +0.428,0.429,0.429 +0.434,0.434,0.434 +0.439,0.439,0.439 +0.444,0.444,0.444 +0.449,0.449,0.449 +0.454,0.454,0.454 +0.459,0.459,0.459 +0.464,0.464,0.464 +0.469,0.469,0.469 +0.474,0.474,0.474 +0.479,0.479,0.479 +0.484,0.484,0.484 +0.489,0.489,0.489 +0.494,0.494,0.494 +0.499,0.499,0.499 +0.505,0.505,0.505 +0.510,0.510,0.510 +0.515,0.515,0.515 +0.520,0.521,0.521 +0.526,0.526,0.526 +0.531,0.531,0.531 +0.537,0.537,0.537 +0.542,0.542,0.542 +0.548,0.548,0.548 +0.553,0.553,0.553 +0.558,0.559,0.559 +0.564,0.564,0.564 +0.569,0.570,0.570 +0.575,0.575,0.575 +0.581,0.581,0.581 +0.586,0.586,0.586 +0.592,0.592,0.592 +0.597,0.597,0.597 +0.603,0.603,0.603 +0.608,0.609,0.609 +0.614,0.614,0.614 +0.620,0.620,0.620 +0.625,0.625,0.625 +0.631,0.631,0.631 +0.637,0.637,0.637 +0.642,0.642,0.642 +0.648,0.648,0.648 +0.653,0.654,0.654 +0.659,0.659,0.659 +0.665,0.665,0.665 +0.671,0.671,0.671 +0.676,0.676,0.676 +0.682,0.682,0.682 +0.688,0.688,0.688 +0.693,0.694,0.693 +0.699,0.699,0.699 +0.705,0.705,0.705 +0.711,0.711,0.711 +0.716,0.717,0.716 +0.722,0.722,0.722 +0.728,0.728,0.728 +0.733,0.734,0.734 +0.739,0.739,0.739 +0.745,0.745,0.745 +0.750,0.750,0.750 +0.755,0.756,0.756 +0.761,0.761,0.761 +0.766,0.766,0.766 +0.770,0.771,0.771 +0.775,0.775,0.775 +0.779,0.779,0.779 +0.783,0.783,0.783 +0.786,0.786,0.786 +0.788,0.788,0.788 +0.790,0.790,0.790 +0.792,0.792,0.792 +0.792,0.793,0.793 +0.793,0.793,0.793 +0.792,0.792,0.792 +0.791,0.791,0.791 +0.789,0.789,0.789 +0.786,0.786,0.786 +0.783,0.783,0.783 +0.780,0.780,0.780 +0.776,0.776,0.776 +0.771,0.772,0.772 +0.767,0.767,0.767 +0.762,0.762,0.762 +0.757,0.757,0.757 +0.751,0.752,0.752 +0.746,0.746,0.746 +0.740,0.741,0.741 +0.735,0.735,0.735 +0.729,0.729,0.729 +0.723,0.724,0.724 +0.718,0.718,0.718 +0.712,0.712,0.712 +0.706,0.706,0.706 +0.701,0.701,0.701 +0.695,0.695,0.695 +0.689,0.689,0.689 +0.683,0.683,0.683 +0.678,0.678,0.678 +0.672,0.672,0.672 +0.666,0.666,0.666 +0.661,0.661,0.661 +0.655,0.655,0.655 +0.649,0.649,0.649 +0.644,0.644,0.644 +0.638,0.638,0.638 +0.632,0.632,0.632 +0.627,0.627,0.627 +0.621,0.621,0.621 +0.615,0.615,0.615 +0.610,0.610,0.610 +0.604,0.604,0.604 +0.599,0.599,0.599 +0.593,0.593,0.593 +0.587,0.588,0.588 +0.582,0.582,0.582 +0.576,0.576,0.576 +0.571,0.571,0.571 +0.565,0.565,0.565 +0.560,0.560,0.560 +0.554,0.554,0.554 +0.549,0.549,0.549 +0.543,0.543,0.543 +0.538,0.538,0.538 +0.532,0.532,0.532 +0.527,0.527,0.527 +0.521,0.522,0.522 +0.516,0.516,0.516 +0.511,0.511,0.511 +0.505,0.505,0.505 +0.500,0.500,0.500 +0.494,0.494,0.494 +0.489,0.489,0.489 +0.484,0.484,0.484 +0.478,0.478,0.478 +0.473,0.473,0.473 +0.468,0.468,0.468 +0.462,0.462,0.462 +0.457,0.457,0.457 +0.452,0.452,0.452 +0.446,0.446,0.446 +0.441,0.441,0.441 +0.436,0.436,0.436 +0.430,0.431,0.431 +0.425,0.425,0.425 +0.420,0.420,0.420 +0.415,0.415,0.415 +0.410,0.410,0.410 +0.404,0.404,0.404 +0.399,0.399,0.399 +0.394,0.394,0.394 +0.389,0.389,0.389 +0.384,0.384,0.384 +0.378,0.379,0.379 +0.373,0.373,0.373 +0.368,0.368,0.368 +0.363,0.363,0.363 +0.358,0.358,0.358 +0.353,0.353,0.353 +0.348,0.348,0.348 +0.343,0.343,0.343 +0.338,0.338,0.338 +0.333,0.333,0.333 +0.328,0.328,0.328 +0.323,0.323,0.323 +0.318,0.318,0.318 +0.313,0.313,0.313 +0.308,0.308,0.308 +0.303,0.303,0.303 +0.298,0.298,0.298 +0.293,0.293,0.293 +0.288,0.288,0.288 +0.283,0.283,0.283 +0.278,0.278,0.278 +0.273,0.273,0.273 +0.269,0.269,0.269 +0.264,0.264,0.264 +0.259,0.259,0.259 +0.254,0.254,0.254 +0.249,0.249,0.249 +0.244,0.245,0.245 +0.240,0.240,0.240 +0.235,0.235,0.235 +0.230,0.230,0.230 +0.226,0.226,0.226 +0.221,0.221,0.221 +0.217,0.217,0.217 +0.212,0.212,0.212 +0.208,0.208,0.208 +0.204,0.204,0.204 +0.200,0.200,0.200 +0.196,0.196,0.196 +0.192,0.192,0.192 +0.189,0.189,0.189 +0.186,0.186,0.186 +0.183,0.183,0.183 +0.181,0.181,0.181 +0.179,0.179,0.179 +0.178,0.178,0.178 +0.177,0.177,0.177 +0.177,0.177,0.177 diff --git a/test/CETperceptual_csv_0_1/CET-C6.csv b/test/CETperceptual_csv_0_1/CET-C6.csv new file mode 100644 index 0000000..aa39a47 --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-C6.csv @@ -0,0 +1,256 @@ +0.967,0.214,0.103 +0.967,0.220,0.092 +0.966,0.228,0.082 +0.967,0.239,0.072 +0.967,0.252,0.063 +0.968,0.266,0.055 +0.969,0.282,0.047 +0.971,0.298,0.040 +0.972,0.315,0.033 +0.974,0.333,0.027 +0.976,0.350,0.023 +0.978,0.368,0.019 +0.980,0.386,0.015 +0.983,0.403,0.012 +0.985,0.421,0.010 +0.987,0.438,0.007 +0.989,0.455,0.005 +0.991,0.472,0.003 +0.992,0.489,0.001 +0.994,0.505,0.000 +0.996,0.522,0.000 +0.998,0.538,0.000 +0.999,0.554,0.000 +1.000,0.569,0.000 +1.000,0.585,0.000 +1.000,0.600,0.000 +1.000,0.616,0.000 +1.000,0.631,0.000 +1.000,0.646,0.000 +1.000,0.660,0.000 +1.000,0.675,0.000 +1.000,0.689,0.000 +1.000,0.703,0.000 +1.000,0.717,0.000 +1.000,0.730,0.000 +1.000,0.743,0.000 +0.997,0.755,0.000 +0.993,0.766,0.000 +0.988,0.777,0.000 +0.983,0.787,0.000 +0.976,0.795,0.000 +0.968,0.803,0.000 +0.959,0.809,0.000 +0.949,0.814,0.000 +0.938,0.817,0.000 +0.925,0.820,0.000 +0.912,0.821,0.000 +0.898,0.821,0.000 +0.883,0.820,0.000 +0.868,0.817,0.000 +0.852,0.814,0.000 +0.835,0.810,0.000 +0.818,0.805,0.000 +0.801,0.800,0.000 +0.783,0.794,0.000 +0.765,0.788,0.000 +0.747,0.781,0.000 +0.729,0.774,0.000 +0.711,0.767,0.000 +0.692,0.760,0.000 +0.674,0.752,0.000 +0.655,0.745,0.000 +0.637,0.737,0.000 +0.618,0.730,0.000 +0.600,0.722,0.000 +0.581,0.714,0.000 +0.562,0.707,0.001 +0.543,0.699,0.003 +0.524,0.691,0.004 +0.505,0.684,0.006 +0.486,0.676,0.008 +0.467,0.668,0.010 +0.448,0.661,0.014 +0.429,0.654,0.017 +0.409,0.647,0.022 +0.390,0.640,0.027 +0.371,0.633,0.034 +0.352,0.627,0.042 +0.334,0.621,0.051 +0.316,0.616,0.061 +0.298,0.611,0.071 +0.281,0.607,0.082 +0.265,0.604,0.094 +0.249,0.602,0.106 +0.235,0.601,0.119 +0.222,0.601,0.133 +0.210,0.601,0.147 +0.199,0.603,0.162 +0.190,0.606,0.177 +0.183,0.610,0.193 +0.177,0.614,0.210 +0.173,0.620,0.227 +0.170,0.626,0.244 +0.169,0.632,0.262 +0.169,0.640,0.281 +0.169,0.648,0.299 +0.171,0.656,0.318 +0.173,0.665,0.337 +0.176,0.674,0.356 +0.179,0.683,0.375 +0.181,0.692,0.395 +0.184,0.702,0.414 +0.187,0.711,0.434 +0.190,0.721,0.454 +0.192,0.731,0.473 +0.194,0.741,0.493 +0.195,0.751,0.513 +0.196,0.760,0.533 +0.197,0.770,0.552 +0.198,0.780,0.572 +0.197,0.790,0.592 +0.197,0.800,0.612 +0.196,0.810,0.632 +0.194,0.820,0.652 +0.192,0.830,0.672 +0.190,0.839,0.692 +0.187,0.848,0.712 +0.183,0.858,0.732 +0.180,0.866,0.752 +0.176,0.874,0.771 +0.172,0.882,0.790 +0.167,0.889,0.809 +0.163,0.895,0.827 +0.159,0.901,0.845 +0.155,0.905,0.862 +0.151,0.908,0.878 +0.149,0.910,0.893 +0.147,0.911,0.907 +0.146,0.911,0.920 +0.146,0.909,0.932 +0.147,0.906,0.943 +0.149,0.901,0.953 +0.152,0.896,0.961 +0.156,0.889,0.969 +0.160,0.881,0.975 +0.164,0.873,0.980 +0.168,0.863,0.985 +0.172,0.853,0.989 +0.176,0.843,0.992 +0.180,0.832,0.995 +0.183,0.820,0.997 +0.186,0.809,0.999 +0.188,0.797,1.000 +0.190,0.785,1.000 +0.192,0.773,1.000 +0.193,0.760,1.000 +0.193,0.748,1.000 +0.193,0.736,1.000 +0.192,0.723,1.000 +0.191,0.711,1.000 +0.189,0.699,1.000 +0.187,0.687,1.000 +0.184,0.674,1.000 +0.181,0.662,1.000 +0.177,0.650,1.000 +0.173,0.638,1.000 +0.169,0.626,1.000 +0.165,0.614,1.000 +0.161,0.603,1.000 +0.158,0.591,1.000 +0.156,0.580,1.000 +0.155,0.570,1.000 +0.155,0.559,1.000 +0.158,0.550,1.000 +0.163,0.541,1.000 +0.170,0.533,1.000 +0.180,0.525,1.000 +0.193,0.519,1.000 +0.207,0.513,1.000 +0.224,0.509,1.000 +0.242,0.506,1.000 +0.262,0.504,1.000 +0.283,0.503,1.000 +0.304,0.503,1.000 +0.326,0.504,1.000 +0.348,0.507,1.000 +0.370,0.510,1.000 +0.392,0.514,1.000 +0.414,0.519,1.000 +0.435,0.525,1.000 +0.457,0.531,1.000 +0.478,0.538,1.000 +0.498,0.546,1.000 +0.518,0.553,1.000 +0.538,0.561,1.000 +0.558,0.570,1.000 +0.577,0.578,1.000 +0.595,0.586,1.000 +0.614,0.595,1.000 +0.632,0.604,1.000 +0.649,0.613,1.000 +0.667,0.622,1.000 +0.684,0.631,1.000 +0.701,0.640,1.000 +0.718,0.648,1.000 +0.734,0.657,1.000 +0.751,0.666,1.000 +0.767,0.675,1.000 +0.783,0.684,1.000 +0.799,0.692,1.000 +0.814,0.701,1.000 +0.830,0.709,1.000 +0.845,0.716,1.000 +0.861,0.723,1.000 +0.876,0.730,1.000 +0.890,0.736,1.000 +0.905,0.740,0.994 +0.919,0.744,0.987 +0.932,0.747,0.979 +0.945,0.749,0.970 +0.957,0.750,0.959 +0.969,0.749,0.947 +0.980,0.747,0.934 +0.990,0.743,0.920 +0.999,0.738,0.904 +1.000,0.732,0.887 +1.000,0.725,0.870 +1.000,0.716,0.851 +1.000,0.707,0.832 +1.000,0.696,0.812 +1.000,0.685,0.792 +1.000,0.673,0.771 +1.000,0.661,0.750 +1.000,0.648,0.729 +1.000,0.635,0.707 +1.000,0.621,0.686 +1.000,0.607,0.664 +1.000,0.593,0.643 +1.000,0.579,0.621 +1.000,0.564,0.600 +1.000,0.549,0.578 +1.000,0.535,0.557 +1.000,0.520,0.536 +1.000,0.505,0.515 +1.000,0.489,0.494 +1.000,0.474,0.473 +1.000,0.458,0.452 +1.000,0.443,0.431 +1.000,0.427,0.411 +1.000,0.411,0.390 +1.000,0.395,0.370 +1.000,0.378,0.350 +1.000,0.362,0.330 +1.000,0.346,0.310 +1.000,0.329,0.291 +0.999,0.313,0.272 +0.995,0.297,0.254 +0.991,0.282,0.235 +0.987,0.267,0.218 +0.984,0.253,0.201 +0.980,0.240,0.185 +0.977,0.230,0.169 +0.974,0.221,0.154 +0.972,0.215,0.140 +0.970,0.212,0.127 +0.968,0.211,0.115 diff --git a/test/CETperceptual_csv_0_1/CET-C6s.csv b/test/CETperceptual_csv_0_1/CET-C6s.csv new file mode 100644 index 0000000..b34d26c --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-C6s.csv @@ -0,0 +1,256 @@ +0.684,0.631,1.000 +0.701,0.640,1.000 +0.718,0.648,1.000 +0.734,0.657,1.000 +0.751,0.666,1.000 +0.767,0.675,1.000 +0.783,0.684,1.000 +0.799,0.692,1.000 +0.814,0.701,1.000 +0.830,0.709,1.000 +0.845,0.716,1.000 +0.861,0.723,1.000 +0.876,0.730,1.000 +0.890,0.736,1.000 +0.905,0.740,0.994 +0.919,0.744,0.987 +0.932,0.747,0.979 +0.945,0.749,0.970 +0.957,0.750,0.959 +0.969,0.749,0.947 +0.980,0.747,0.934 +0.990,0.743,0.920 +0.999,0.738,0.904 +1.000,0.732,0.887 +1.000,0.725,0.870 +1.000,0.716,0.851 +1.000,0.707,0.832 +1.000,0.696,0.812 +1.000,0.685,0.792 +1.000,0.673,0.771 +1.000,0.661,0.750 +1.000,0.648,0.729 +1.000,0.635,0.707 +1.000,0.621,0.686 +1.000,0.607,0.664 +1.000,0.593,0.643 +1.000,0.579,0.621 +1.000,0.564,0.600 +1.000,0.549,0.578 +1.000,0.535,0.557 +1.000,0.520,0.536 +1.000,0.505,0.515 +1.000,0.489,0.494 +1.000,0.474,0.473 +1.000,0.458,0.452 +1.000,0.443,0.431 +1.000,0.427,0.411 +1.000,0.411,0.390 +1.000,0.395,0.370 +1.000,0.378,0.350 +1.000,0.362,0.330 +1.000,0.346,0.310 +1.000,0.329,0.291 +0.999,0.313,0.272 +0.995,0.297,0.254 +0.991,0.282,0.235 +0.987,0.267,0.218 +0.984,0.253,0.201 +0.980,0.240,0.185 +0.977,0.230,0.169 +0.974,0.221,0.154 +0.972,0.215,0.140 +0.970,0.212,0.127 +0.968,0.211,0.115 +0.967,0.214,0.103 +0.967,0.220,0.092 +0.966,0.228,0.082 +0.967,0.239,0.072 +0.967,0.252,0.063 +0.968,0.266,0.055 +0.969,0.282,0.047 +0.971,0.298,0.040 +0.972,0.315,0.033 +0.974,0.333,0.027 +0.976,0.350,0.023 +0.978,0.368,0.019 +0.980,0.386,0.015 +0.983,0.403,0.012 +0.985,0.421,0.010 +0.987,0.438,0.007 +0.989,0.455,0.005 +0.991,0.472,0.003 +0.992,0.489,0.001 +0.994,0.505,0.000 +0.996,0.522,0.000 +0.998,0.538,0.000 +0.999,0.554,0.000 +1.000,0.569,0.000 +1.000,0.585,0.000 +1.000,0.600,0.000 +1.000,0.616,0.000 +1.000,0.631,0.000 +1.000,0.646,0.000 +1.000,0.660,0.000 +1.000,0.675,0.000 +1.000,0.689,0.000 +1.000,0.703,0.000 +1.000,0.717,0.000 +1.000,0.730,0.000 +1.000,0.743,0.000 +0.997,0.755,0.000 +0.993,0.766,0.000 +0.988,0.777,0.000 +0.983,0.787,0.000 +0.976,0.795,0.000 +0.968,0.803,0.000 +0.959,0.809,0.000 +0.949,0.814,0.000 +0.938,0.817,0.000 +0.925,0.820,0.000 +0.912,0.821,0.000 +0.898,0.821,0.000 +0.883,0.820,0.000 +0.868,0.817,0.000 +0.852,0.814,0.000 +0.835,0.810,0.000 +0.818,0.805,0.000 +0.801,0.800,0.000 +0.783,0.794,0.000 +0.765,0.788,0.000 +0.747,0.781,0.000 +0.729,0.774,0.000 +0.711,0.767,0.000 +0.692,0.760,0.000 +0.674,0.752,0.000 +0.655,0.745,0.000 +0.637,0.737,0.000 +0.618,0.730,0.000 +0.600,0.722,0.000 +0.581,0.714,0.000 +0.562,0.707,0.001 +0.543,0.699,0.003 +0.524,0.691,0.004 +0.505,0.684,0.006 +0.486,0.676,0.008 +0.467,0.668,0.010 +0.448,0.661,0.014 +0.429,0.654,0.017 +0.409,0.647,0.022 +0.390,0.640,0.027 +0.371,0.633,0.034 +0.352,0.627,0.042 +0.334,0.621,0.051 +0.316,0.616,0.061 +0.298,0.611,0.071 +0.281,0.607,0.082 +0.265,0.604,0.094 +0.249,0.602,0.106 +0.235,0.601,0.119 +0.222,0.601,0.133 +0.210,0.601,0.147 +0.199,0.603,0.162 +0.190,0.606,0.177 +0.183,0.610,0.193 +0.177,0.614,0.210 +0.173,0.620,0.227 +0.170,0.626,0.244 +0.169,0.632,0.262 +0.169,0.640,0.281 +0.169,0.648,0.299 +0.171,0.656,0.318 +0.173,0.665,0.337 +0.176,0.674,0.356 +0.179,0.683,0.375 +0.181,0.692,0.395 +0.184,0.702,0.414 +0.187,0.711,0.434 +0.190,0.721,0.454 +0.192,0.731,0.473 +0.194,0.741,0.493 +0.195,0.751,0.513 +0.196,0.760,0.533 +0.197,0.770,0.552 +0.198,0.780,0.572 +0.197,0.790,0.592 +0.197,0.800,0.612 +0.196,0.810,0.632 +0.194,0.820,0.652 +0.192,0.830,0.672 +0.190,0.839,0.692 +0.187,0.848,0.712 +0.183,0.858,0.732 +0.180,0.866,0.752 +0.176,0.874,0.771 +0.172,0.882,0.790 +0.167,0.889,0.809 +0.163,0.895,0.827 +0.159,0.901,0.845 +0.155,0.905,0.862 +0.151,0.908,0.878 +0.149,0.910,0.893 +0.147,0.911,0.907 +0.146,0.911,0.920 +0.146,0.909,0.932 +0.147,0.906,0.943 +0.149,0.901,0.953 +0.152,0.896,0.961 +0.156,0.889,0.969 +0.160,0.881,0.975 +0.164,0.873,0.980 +0.168,0.863,0.985 +0.172,0.853,0.989 +0.176,0.843,0.992 +0.180,0.832,0.995 +0.183,0.820,0.997 +0.186,0.809,0.999 +0.188,0.797,1.000 +0.190,0.785,1.000 +0.192,0.773,1.000 +0.193,0.760,1.000 +0.193,0.748,1.000 +0.193,0.736,1.000 +0.192,0.723,1.000 +0.191,0.711,1.000 +0.189,0.699,1.000 +0.187,0.687,1.000 +0.184,0.674,1.000 +0.181,0.662,1.000 +0.177,0.650,1.000 +0.173,0.638,1.000 +0.169,0.626,1.000 +0.165,0.614,1.000 +0.161,0.603,1.000 +0.158,0.591,1.000 +0.156,0.580,1.000 +0.155,0.570,1.000 +0.155,0.559,1.000 +0.158,0.550,1.000 +0.163,0.541,1.000 +0.170,0.533,1.000 +0.180,0.525,1.000 +0.193,0.519,1.000 +0.207,0.513,1.000 +0.224,0.509,1.000 +0.242,0.506,1.000 +0.262,0.504,1.000 +0.283,0.503,1.000 +0.304,0.503,1.000 +0.326,0.504,1.000 +0.348,0.507,1.000 +0.370,0.510,1.000 +0.392,0.514,1.000 +0.414,0.519,1.000 +0.435,0.525,1.000 +0.457,0.531,1.000 +0.478,0.538,1.000 +0.498,0.546,1.000 +0.518,0.553,1.000 +0.538,0.561,1.000 +0.558,0.570,1.000 +0.577,0.578,1.000 +0.595,0.586,1.000 +0.614,0.595,1.000 +0.632,0.604,1.000 +0.649,0.613,1.000 +0.667,0.622,1.000 diff --git a/test/CETperceptual_csv_0_1/CET-C7.csv b/test/CETperceptual_csv_0_1/CET-C7.csv new file mode 100644 index 0000000..f0136b5 --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-C7.csv @@ -0,0 +1,256 @@ +0.914,0.894,0.098 +0.920,0.891,0.123 +0.926,0.887,0.147 +0.932,0.882,0.171 +0.937,0.876,0.193 +0.942,0.869,0.215 +0.947,0.862,0.236 +0.951,0.854,0.256 +0.955,0.846,0.275 +0.959,0.837,0.294 +0.963,0.829,0.312 +0.966,0.820,0.330 +0.970,0.811,0.346 +0.973,0.802,0.363 +0.976,0.793,0.379 +0.980,0.784,0.394 +0.983,0.774,0.409 +0.985,0.765,0.423 +0.988,0.756,0.438 +0.991,0.747,0.452 +0.993,0.737,0.465 +0.996,0.728,0.479 +0.998,0.718,0.492 +1.000,0.709,0.505 +1.000,0.699,0.518 +1.000,0.689,0.531 +1.000,0.680,0.544 +1.000,0.670,0.556 +1.000,0.660,0.568 +1.000,0.650,0.581 +1.000,0.640,0.593 +1.000,0.630,0.605 +1.000,0.619,0.617 +1.000,0.609,0.629 +1.000,0.598,0.641 +1.000,0.588,0.652 +1.000,0.577,0.664 +1.000,0.566,0.676 +1.000,0.555,0.687 +1.000,0.544,0.699 +1.000,0.533,0.710 +1.000,0.522,0.722 +1.000,0.510,0.733 +1.000,0.498,0.745 +1.000,0.486,0.756 +1.000,0.474,0.767 +1.000,0.462,0.779 +1.000,0.449,0.790 +1.000,0.436,0.801 +1.000,0.423,0.812 +1.000,0.409,0.824 +1.000,0.395,0.835 +1.000,0.381,0.846 +1.000,0.366,0.857 +1.000,0.351,0.868 +1.000,0.336,0.879 +1.000,0.321,0.890 +1.000,0.306,0.901 +1.000,0.291,0.912 +1.000,0.277,0.923 +1.000,0.265,0.933 +0.999,0.255,0.942 +0.996,0.248,0.951 +0.992,0.245,0.960 +0.987,0.246,0.967 +0.983,0.250,0.974 +0.978,0.259,0.979 +0.973,0.270,0.984 +0.967,0.284,0.988 +0.962,0.300,0.990 +0.956,0.316,0.993 +0.950,0.334,0.994 +0.944,0.351,0.995 +0.938,0.369,0.996 +0.932,0.386,0.997 +0.926,0.402,0.997 +0.920,0.419,0.997 +0.913,0.435,0.997 +0.907,0.450,0.997 +0.900,0.465,0.997 +0.893,0.480,0.997 +0.886,0.494,0.997 +0.879,0.507,0.997 +0.872,0.521,0.997 +0.865,0.534,0.997 +0.858,0.547,0.997 +0.850,0.560,0.997 +0.842,0.572,0.996 +0.835,0.584,0.996 +0.827,0.596,0.996 +0.818,0.608,0.996 +0.810,0.620,0.996 +0.802,0.631,0.996 +0.793,0.642,0.996 +0.784,0.653,0.996 +0.775,0.664,0.995 +0.766,0.675,0.995 +0.756,0.686,0.995 +0.747,0.697,0.995 +0.737,0.707,0.995 +0.726,0.718,0.995 +0.716,0.728,0.994 +0.705,0.738,0.994 +0.694,0.748,0.994 +0.683,0.758,0.994 +0.671,0.768,0.994 +0.659,0.778,0.993 +0.647,0.788,0.993 +0.634,0.798,0.993 +0.620,0.807,0.993 +0.607,0.817,0.992 +0.592,0.826,0.992 +0.578,0.836,0.992 +0.562,0.845,0.992 +0.546,0.855,0.991 +0.529,0.864,0.991 +0.511,0.873,0.990 +0.493,0.882,0.990 +0.473,0.891,0.989 +0.453,0.900,0.988 +0.431,0.908,0.987 +0.408,0.916,0.985 +0.385,0.924,0.983 +0.360,0.931,0.980 +0.334,0.937,0.976 +0.308,0.943,0.972 +0.282,0.947,0.966 +0.257,0.951,0.959 +0.232,0.953,0.951 +0.209,0.955,0.942 +0.189,0.955,0.933 +0.173,0.954,0.922 +0.160,0.952,0.910 +0.152,0.949,0.898 +0.148,0.946,0.886 +0.147,0.942,0.873 +0.149,0.938,0.860 +0.153,0.934,0.847 +0.157,0.929,0.834 +0.162,0.924,0.820 +0.167,0.919,0.807 +0.172,0.914,0.793 +0.177,0.909,0.780 +0.181,0.904,0.767 +0.185,0.899,0.753 +0.188,0.894,0.740 +0.191,0.889,0.726 +0.194,0.884,0.713 +0.196,0.879,0.700 +0.198,0.873,0.687 +0.199,0.868,0.673 +0.201,0.863,0.660 +0.202,0.858,0.647 +0.202,0.853,0.633 +0.203,0.848,0.620 +0.203,0.843,0.607 +0.203,0.838,0.594 +0.203,0.833,0.581 +0.202,0.828,0.567 +0.201,0.823,0.554 +0.200,0.819,0.541 +0.199,0.814,0.528 +0.198,0.809,0.515 +0.196,0.804,0.501 +0.194,0.799,0.488 +0.192,0.794,0.475 +0.189,0.789,0.462 +0.187,0.784,0.448 +0.184,0.779,0.435 +0.181,0.774,0.422 +0.177,0.769,0.408 +0.174,0.764,0.395 +0.170,0.760,0.381 +0.166,0.755,0.368 +0.161,0.750,0.354 +0.156,0.745,0.340 +0.151,0.740,0.326 +0.146,0.735,0.312 +0.140,0.730,0.298 +0.134,0.726,0.284 +0.128,0.721,0.269 +0.122,0.716,0.255 +0.116,0.712,0.240 +0.111,0.707,0.224 +0.107,0.703,0.209 +0.104,0.699,0.193 +0.103,0.695,0.177 +0.105,0.692,0.160 +0.109,0.690,0.144 +0.116,0.688,0.128 +0.126,0.686,0.111 +0.138,0.686,0.095 +0.152,0.686,0.078 +0.167,0.686,0.062 +0.183,0.688,0.046 +0.199,0.690,0.031 +0.216,0.692,0.019 +0.232,0.695,0.009 +0.249,0.698,0.002 +0.265,0.702,0.000 +0.281,0.705,0.000 +0.296,0.709,0.000 +0.311,0.713,0.000 +0.326,0.717,0.000 +0.340,0.721,0.000 +0.354,0.725,0.000 +0.368,0.729,0.000 +0.382,0.733,0.000 +0.395,0.737,0.000 +0.408,0.741,0.000 +0.421,0.745,0.000 +0.433,0.749,0.000 +0.446,0.753,0.000 +0.458,0.757,0.000 +0.470,0.761,0.000 +0.482,0.765,0.000 +0.494,0.769,0.000 +0.506,0.773,0.000 +0.518,0.777,0.000 +0.529,0.781,0.000 +0.541,0.785,0.000 +0.552,0.789,0.000 +0.564,0.792,0.000 +0.575,0.796,0.000 +0.586,0.800,0.000 +0.597,0.804,0.000 +0.609,0.808,0.000 +0.620,0.812,0.000 +0.631,0.816,0.000 +0.642,0.820,0.000 +0.653,0.823,0.000 +0.664,0.827,0.000 +0.675,0.831,0.000 +0.686,0.835,0.000 +0.696,0.839,0.000 +0.707,0.842,0.000 +0.718,0.846,0.000 +0.729,0.850,0.000 +0.740,0.854,0.000 +0.750,0.858,0.000 +0.761,0.861,0.000 +0.772,0.865,0.000 +0.782,0.869,0.000 +0.793,0.873,0.000 +0.803,0.876,0.000 +0.814,0.880,0.000 +0.824,0.883,0.000 +0.835,0.887,0.000 +0.845,0.890,0.000 +0.855,0.892,0.000 +0.864,0.895,0.000 +0.874,0.897,0.000 +0.883,0.898,0.000 +0.891,0.898,0.012 +0.899,0.898,0.042 +0.907,0.897,0.072 diff --git a/test/CETperceptual_csv_0_1/CET-C7s.csv b/test/CETperceptual_csv_0_1/CET-C7s.csv new file mode 100644 index 0000000..fb46113 --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-C7s.csv @@ -0,0 +1,256 @@ +0.152,0.686,0.078 +0.167,0.686,0.062 +0.183,0.688,0.046 +0.199,0.690,0.031 +0.216,0.692,0.019 +0.232,0.695,0.009 +0.249,0.698,0.002 +0.265,0.702,0.000 +0.281,0.705,0.000 +0.296,0.709,0.000 +0.311,0.713,0.000 +0.326,0.717,0.000 +0.340,0.721,0.000 +0.354,0.725,0.000 +0.368,0.729,0.000 +0.382,0.733,0.000 +0.395,0.737,0.000 +0.408,0.741,0.000 +0.421,0.745,0.000 +0.433,0.749,0.000 +0.446,0.753,0.000 +0.458,0.757,0.000 +0.470,0.761,0.000 +0.482,0.765,0.000 +0.494,0.769,0.000 +0.506,0.773,0.000 +0.518,0.777,0.000 +0.529,0.781,0.000 +0.541,0.785,0.000 +0.552,0.789,0.000 +0.564,0.792,0.000 +0.575,0.796,0.000 +0.586,0.800,0.000 +0.597,0.804,0.000 +0.609,0.808,0.000 +0.620,0.812,0.000 +0.631,0.816,0.000 +0.642,0.820,0.000 +0.653,0.823,0.000 +0.664,0.827,0.000 +0.675,0.831,0.000 +0.686,0.835,0.000 +0.696,0.839,0.000 +0.707,0.842,0.000 +0.718,0.846,0.000 +0.729,0.850,0.000 +0.740,0.854,0.000 +0.750,0.858,0.000 +0.761,0.861,0.000 +0.772,0.865,0.000 +0.782,0.869,0.000 +0.793,0.873,0.000 +0.803,0.876,0.000 +0.814,0.880,0.000 +0.824,0.883,0.000 +0.835,0.887,0.000 +0.845,0.890,0.000 +0.855,0.892,0.000 +0.864,0.895,0.000 +0.874,0.897,0.000 +0.883,0.898,0.000 +0.891,0.898,0.012 +0.899,0.898,0.042 +0.907,0.897,0.072 +0.914,0.894,0.098 +0.920,0.891,0.123 +0.926,0.887,0.147 +0.932,0.882,0.171 +0.937,0.876,0.193 +0.942,0.869,0.215 +0.947,0.862,0.236 +0.951,0.854,0.256 +0.955,0.846,0.275 +0.959,0.837,0.294 +0.963,0.829,0.312 +0.966,0.820,0.330 +0.970,0.811,0.346 +0.973,0.802,0.363 +0.976,0.793,0.379 +0.980,0.784,0.394 +0.983,0.774,0.409 +0.985,0.765,0.423 +0.988,0.756,0.438 +0.991,0.747,0.452 +0.993,0.737,0.465 +0.996,0.728,0.479 +0.998,0.718,0.492 +1.000,0.709,0.505 +1.000,0.699,0.518 +1.000,0.689,0.531 +1.000,0.680,0.544 +1.000,0.670,0.556 +1.000,0.660,0.568 +1.000,0.650,0.581 +1.000,0.640,0.593 +1.000,0.630,0.605 +1.000,0.619,0.617 +1.000,0.609,0.629 +1.000,0.598,0.641 +1.000,0.588,0.652 +1.000,0.577,0.664 +1.000,0.566,0.676 +1.000,0.555,0.687 +1.000,0.544,0.699 +1.000,0.533,0.710 +1.000,0.522,0.722 +1.000,0.510,0.733 +1.000,0.498,0.745 +1.000,0.486,0.756 +1.000,0.474,0.767 +1.000,0.462,0.779 +1.000,0.449,0.790 +1.000,0.436,0.801 +1.000,0.423,0.812 +1.000,0.409,0.824 +1.000,0.395,0.835 +1.000,0.381,0.846 +1.000,0.366,0.857 +1.000,0.351,0.868 +1.000,0.336,0.879 +1.000,0.321,0.890 +1.000,0.306,0.901 +1.000,0.291,0.912 +1.000,0.277,0.923 +1.000,0.265,0.933 +0.999,0.255,0.942 +0.996,0.248,0.951 +0.992,0.245,0.960 +0.987,0.246,0.967 +0.983,0.250,0.974 +0.978,0.259,0.979 +0.973,0.270,0.984 +0.967,0.284,0.988 +0.962,0.300,0.990 +0.956,0.316,0.993 +0.950,0.334,0.994 +0.944,0.351,0.995 +0.938,0.369,0.996 +0.932,0.386,0.997 +0.926,0.402,0.997 +0.920,0.419,0.997 +0.913,0.435,0.997 +0.907,0.450,0.997 +0.900,0.465,0.997 +0.893,0.480,0.997 +0.886,0.494,0.997 +0.879,0.507,0.997 +0.872,0.521,0.997 +0.865,0.534,0.997 +0.858,0.547,0.997 +0.850,0.560,0.997 +0.842,0.572,0.996 +0.835,0.584,0.996 +0.827,0.596,0.996 +0.818,0.608,0.996 +0.810,0.620,0.996 +0.802,0.631,0.996 +0.793,0.642,0.996 +0.784,0.653,0.996 +0.775,0.664,0.995 +0.766,0.675,0.995 +0.756,0.686,0.995 +0.747,0.697,0.995 +0.737,0.707,0.995 +0.726,0.718,0.995 +0.716,0.728,0.994 +0.705,0.738,0.994 +0.694,0.748,0.994 +0.683,0.758,0.994 +0.671,0.768,0.994 +0.659,0.778,0.993 +0.647,0.788,0.993 +0.634,0.798,0.993 +0.620,0.807,0.993 +0.607,0.817,0.992 +0.592,0.826,0.992 +0.578,0.836,0.992 +0.562,0.845,0.992 +0.546,0.855,0.991 +0.529,0.864,0.991 +0.511,0.873,0.990 +0.493,0.882,0.990 +0.473,0.891,0.989 +0.453,0.900,0.988 +0.431,0.908,0.987 +0.408,0.916,0.985 +0.385,0.924,0.983 +0.360,0.931,0.980 +0.334,0.937,0.976 +0.308,0.943,0.972 +0.282,0.947,0.966 +0.257,0.951,0.959 +0.232,0.953,0.951 +0.209,0.955,0.942 +0.189,0.955,0.933 +0.173,0.954,0.922 +0.160,0.952,0.910 +0.152,0.949,0.898 +0.148,0.946,0.886 +0.147,0.942,0.873 +0.149,0.938,0.860 +0.153,0.934,0.847 +0.157,0.929,0.834 +0.162,0.924,0.820 +0.167,0.919,0.807 +0.172,0.914,0.793 +0.177,0.909,0.780 +0.181,0.904,0.767 +0.185,0.899,0.753 +0.188,0.894,0.740 +0.191,0.889,0.726 +0.194,0.884,0.713 +0.196,0.879,0.700 +0.198,0.873,0.687 +0.199,0.868,0.673 +0.201,0.863,0.660 +0.202,0.858,0.647 +0.202,0.853,0.633 +0.203,0.848,0.620 +0.203,0.843,0.607 +0.203,0.838,0.594 +0.203,0.833,0.581 +0.202,0.828,0.567 +0.201,0.823,0.554 +0.200,0.819,0.541 +0.199,0.814,0.528 +0.198,0.809,0.515 +0.196,0.804,0.501 +0.194,0.799,0.488 +0.192,0.794,0.475 +0.189,0.789,0.462 +0.187,0.784,0.448 +0.184,0.779,0.435 +0.181,0.774,0.422 +0.177,0.769,0.408 +0.174,0.764,0.395 +0.170,0.760,0.381 +0.166,0.755,0.368 +0.161,0.750,0.354 +0.156,0.745,0.340 +0.151,0.740,0.326 +0.146,0.735,0.312 +0.140,0.730,0.298 +0.134,0.726,0.284 +0.128,0.721,0.269 +0.122,0.716,0.255 +0.116,0.712,0.240 +0.111,0.707,0.224 +0.107,0.703,0.209 +0.104,0.699,0.193 +0.103,0.695,0.177 +0.105,0.692,0.160 +0.109,0.690,0.144 +0.116,0.688,0.128 +0.126,0.686,0.111 +0.138,0.686,0.095 diff --git a/test/CETperceptual_csv_0_1/CET-CBC1.csv b/test/CETperceptual_csv_0_1/CET-CBC1.csv new file mode 100644 index 0000000..8f92542 --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-CBC1.csv @@ -0,0 +1,256 @@ +0.244,0.528,0.918 +0.254,0.534,0.923 +0.267,0.539,0.928 +0.280,0.545,0.931 +0.294,0.551,0.934 +0.309,0.557,0.936 +0.324,0.563,0.938 +0.340,0.569,0.939 +0.355,0.575,0.940 +0.370,0.581,0.941 +0.384,0.587,0.942 +0.399,0.593,0.942 +0.413,0.599,0.943 +0.426,0.606,0.943 +0.440,0.612,0.944 +0.453,0.618,0.944 +0.466,0.624,0.945 +0.478,0.631,0.945 +0.491,0.637,0.945 +0.503,0.644,0.946 +0.515,0.650,0.946 +0.526,0.656,0.947 +0.538,0.663,0.947 +0.549,0.669,0.947 +0.561,0.676,0.948 +0.572,0.682,0.948 +0.583,0.689,0.948 +0.593,0.695,0.949 +0.604,0.702,0.949 +0.615,0.708,0.949 +0.625,0.715,0.950 +0.636,0.722,0.950 +0.646,0.728,0.950 +0.656,0.735,0.951 +0.666,0.742,0.951 +0.676,0.748,0.951 +0.686,0.755,0.951 +0.696,0.762,0.952 +0.706,0.768,0.952 +0.716,0.775,0.952 +0.726,0.782,0.952 +0.735,0.789,0.952 +0.745,0.795,0.953 +0.754,0.802,0.953 +0.764,0.809,0.953 +0.773,0.816,0.953 +0.783,0.823,0.953 +0.792,0.829,0.954 +0.801,0.836,0.954 +0.811,0.843,0.954 +0.820,0.850,0.954 +0.829,0.857,0.954 +0.838,0.864,0.954 +0.847,0.870,0.954 +0.856,0.877,0.953 +0.865,0.884,0.953 +0.873,0.890,0.952 +0.882,0.896,0.950 +0.890,0.901,0.948 +0.897,0.906,0.945 +0.904,0.910,0.941 +0.910,0.914,0.936 +0.915,0.916,0.930 +0.919,0.917,0.923 +0.922,0.917,0.915 +0.924,0.916,0.906 +0.925,0.914,0.895 +0.925,0.911,0.884 +0.924,0.908,0.872 +0.922,0.903,0.860 +0.920,0.898,0.847 +0.917,0.892,0.834 +0.913,0.886,0.821 +0.909,0.879,0.807 +0.905,0.872,0.794 +0.901,0.866,0.780 +0.897,0.859,0.766 +0.892,0.852,0.753 +0.888,0.845,0.739 +0.883,0.838,0.726 +0.878,0.831,0.712 +0.873,0.824,0.699 +0.869,0.818,0.685 +0.864,0.811,0.672 +0.859,0.804,0.658 +0.854,0.797,0.645 +0.849,0.790,0.631 +0.844,0.784,0.618 +0.839,0.777,0.605 +0.834,0.770,0.591 +0.829,0.763,0.578 +0.824,0.757,0.565 +0.819,0.750,0.552 +0.814,0.743,0.538 +0.808,0.736,0.525 +0.803,0.730,0.512 +0.798,0.723,0.499 +0.792,0.717,0.486 +0.787,0.710,0.472 +0.782,0.703,0.459 +0.776,0.697,0.446 +0.771,0.690,0.433 +0.765,0.684,0.420 +0.759,0.677,0.406 +0.754,0.670,0.393 +0.748,0.664,0.380 +0.742,0.657,0.367 +0.737,0.651,0.353 +0.731,0.645,0.340 +0.725,0.638,0.327 +0.719,0.632,0.313 +0.713,0.625,0.299 +0.707,0.619,0.286 +0.701,0.612,0.272 +0.695,0.606,0.258 +0.689,0.600,0.244 +0.683,0.593,0.230 +0.677,0.587,0.216 +0.671,0.581,0.201 +0.665,0.574,0.187 +0.658,0.568,0.172 +0.652,0.562,0.157 +0.645,0.556,0.143 +0.639,0.550,0.129 +0.632,0.543,0.115 +0.626,0.537,0.102 +0.619,0.531,0.090 +0.612,0.525,0.079 +0.605,0.519,0.071 +0.598,0.512,0.064 +0.591,0.506,0.059 +0.584,0.500,0.057 +0.577,0.494,0.057 +0.570,0.488,0.058 +0.563,0.482,0.061 +0.556,0.476,0.065 +0.549,0.470,0.069 +0.542,0.464,0.073 +0.534,0.458,0.077 +0.527,0.452,0.081 +0.520,0.446,0.085 +0.513,0.440,0.089 +0.506,0.434,0.093 +0.499,0.428,0.096 +0.492,0.422,0.099 +0.485,0.416,0.102 +0.478,0.410,0.105 +0.470,0.404,0.108 +0.463,0.398,0.111 +0.456,0.392,0.113 +0.449,0.386,0.116 +0.442,0.380,0.118 +0.435,0.375,0.120 +0.428,0.369,0.122 +0.421,0.363,0.124 +0.414,0.357,0.126 +0.407,0.352,0.128 +0.400,0.346,0.130 +0.393,0.340,0.131 +0.387,0.334,0.133 +0.380,0.329,0.134 +0.373,0.323,0.136 +0.366,0.317,0.137 +0.359,0.312,0.138 +0.352,0.306,0.140 +0.345,0.301,0.141 +0.338,0.295,0.142 +0.331,0.289,0.143 +0.325,0.284,0.144 +0.318,0.278,0.145 +0.311,0.273,0.146 +0.304,0.267,0.147 +0.297,0.262,0.148 +0.290,0.256,0.148 +0.283,0.251,0.149 +0.277,0.246,0.150 +0.270,0.240,0.150 +0.263,0.235,0.151 +0.256,0.230,0.152 +0.249,0.224,0.152 +0.242,0.219,0.153 +0.236,0.214,0.154 +0.229,0.209,0.155 +0.223,0.204,0.156 +0.216,0.200,0.157 +0.210,0.195,0.159 +0.205,0.192,0.161 +0.199,0.188,0.163 +0.195,0.186,0.167 +0.190,0.183,0.171 +0.187,0.182,0.176 +0.184,0.182,0.181 +0.183,0.182,0.188 +0.181,0.183,0.195 +0.181,0.185,0.203 +0.181,0.187,0.212 +0.182,0.191,0.221 +0.184,0.194,0.231 +0.186,0.198,0.241 +0.188,0.203,0.251 +0.190,0.208,0.261 +0.192,0.213,0.272 +0.195,0.218,0.283 +0.198,0.223,0.294 +0.200,0.228,0.305 +0.203,0.233,0.316 +0.205,0.239,0.327 +0.207,0.244,0.338 +0.210,0.250,0.350 +0.212,0.255,0.361 +0.214,0.260,0.373 +0.216,0.266,0.384 +0.218,0.271,0.396 +0.220,0.277,0.407 +0.222,0.283,0.419 +0.224,0.288,0.431 +0.225,0.294,0.442 +0.227,0.299,0.454 +0.228,0.305,0.466 +0.229,0.311,0.478 +0.231,0.316,0.490 +0.232,0.322,0.502 +0.233,0.328,0.514 +0.234,0.333,0.526 +0.235,0.339,0.538 +0.235,0.345,0.550 +0.236,0.351,0.563 +0.236,0.356,0.575 +0.237,0.362,0.587 +0.237,0.368,0.600 +0.237,0.374,0.612 +0.237,0.380,0.625 +0.237,0.386,0.637 +0.237,0.392,0.650 +0.237,0.397,0.662 +0.236,0.403,0.675 +0.236,0.409,0.688 +0.235,0.415,0.701 +0.234,0.421,0.713 +0.233,0.427,0.726 +0.232,0.433,0.739 +0.230,0.439,0.752 +0.229,0.445,0.765 +0.227,0.452,0.778 +0.225,0.458,0.791 +0.223,0.464,0.804 +0.221,0.470,0.816 +0.220,0.476,0.829 +0.218,0.482,0.841 +0.217,0.488,0.853 +0.216,0.494,0.865 +0.217,0.499,0.876 +0.219,0.505,0.886 +0.222,0.511,0.895 +0.228,0.517,0.904 +0.235,0.522,0.911 diff --git a/test/CETperceptual_csv_0_1/CET-CBC2.csv b/test/CETperceptual_csv_0_1/CET-CBC2.csv new file mode 100644 index 0000000..8cd0eda --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-CBC2.csv @@ -0,0 +1,256 @@ +0.933,0.930,0.927 +0.935,0.929,0.918 +0.935,0.926,0.909 +0.935,0.923,0.899 +0.933,0.919,0.887 +0.931,0.914,0.875 +0.929,0.909,0.863 +0.925,0.903,0.849 +0.922,0.896,0.836 +0.918,0.890,0.822 +0.914,0.883,0.808 +0.910,0.876,0.793 +0.906,0.869,0.779 +0.901,0.862,0.765 +0.897,0.855,0.750 +0.893,0.848,0.736 +0.888,0.841,0.721 +0.883,0.834,0.707 +0.879,0.827,0.693 +0.874,0.820,0.678 +0.869,0.813,0.664 +0.864,0.806,0.650 +0.860,0.799,0.636 +0.855,0.792,0.622 +0.850,0.785,0.607 +0.845,0.779,0.593 +0.840,0.772,0.579 +0.835,0.765,0.565 +0.829,0.758,0.551 +0.824,0.751,0.537 +0.819,0.744,0.523 +0.814,0.738,0.509 +0.808,0.731,0.495 +0.803,0.724,0.481 +0.798,0.717,0.467 +0.792,0.711,0.452 +0.787,0.704,0.438 +0.781,0.697,0.424 +0.775,0.691,0.410 +0.770,0.684,0.396 +0.764,0.677,0.382 +0.758,0.671,0.368 +0.753,0.664,0.353 +0.747,0.658,0.339 +0.741,0.651,0.325 +0.735,0.644,0.310 +0.729,0.638,0.296 +0.723,0.631,0.281 +0.717,0.625,0.266 +0.711,0.618,0.251 +0.704,0.612,0.235 +0.698,0.605,0.220 +0.692,0.599,0.204 +0.686,0.593,0.187 +0.680,0.587,0.171 +0.674,0.580,0.154 +0.668,0.575,0.136 +0.662,0.569,0.118 +0.657,0.564,0.099 +0.652,0.559,0.080 +0.647,0.555,0.060 +0.643,0.551,0.040 +0.641,0.548,0.023 +0.639,0.546,0.011 +0.638,0.546,0.006 +0.638,0.546,0.007 +0.639,0.547,0.014 +0.641,0.549,0.027 +0.644,0.552,0.046 +0.648,0.556,0.066 +0.653,0.560,0.085 +0.658,0.565,0.104 +0.663,0.570,0.123 +0.669,0.576,0.141 +0.675,0.582,0.158 +0.681,0.588,0.175 +0.688,0.594,0.192 +0.694,0.601,0.208 +0.700,0.607,0.224 +0.706,0.614,0.240 +0.712,0.620,0.255 +0.718,0.627,0.270 +0.724,0.633,0.285 +0.730,0.640,0.300 +0.736,0.646,0.314 +0.742,0.653,0.329 +0.748,0.659,0.343 +0.754,0.666,0.357 +0.760,0.672,0.372 +0.766,0.679,0.386 +0.771,0.686,0.400 +0.777,0.692,0.414 +0.783,0.699,0.428 +0.788,0.706,0.442 +0.794,0.712,0.456 +0.799,0.719,0.470 +0.805,0.726,0.484 +0.810,0.733,0.498 +0.815,0.739,0.512 +0.820,0.746,0.527 +0.826,0.753,0.541 +0.831,0.760,0.555 +0.836,0.767,0.569 +0.841,0.773,0.583 +0.846,0.780,0.597 +0.851,0.787,0.611 +0.856,0.794,0.625 +0.861,0.801,0.640 +0.866,0.808,0.654 +0.871,0.815,0.668 +0.875,0.822,0.682 +0.880,0.829,0.697 +0.885,0.836,0.711 +0.889,0.843,0.725 +0.894,0.850,0.740 +0.898,0.857,0.754 +0.902,0.864,0.768 +0.907,0.871,0.783 +0.911,0.877,0.797 +0.915,0.884,0.812 +0.918,0.890,0.826 +0.921,0.897,0.840 +0.924,0.902,0.854 +0.926,0.907,0.867 +0.927,0.912,0.880 +0.927,0.915,0.892 +0.927,0.918,0.903 +0.925,0.919,0.913 +0.922,0.919,0.922 +0.918,0.919,0.930 +0.913,0.917,0.937 +0.908,0.914,0.943 +0.901,0.910,0.948 +0.894,0.905,0.951 +0.886,0.900,0.954 +0.877,0.894,0.956 +0.869,0.888,0.958 +0.860,0.881,0.960 +0.850,0.874,0.961 +0.841,0.868,0.961 +0.832,0.861,0.962 +0.822,0.854,0.963 +0.812,0.847,0.963 +0.803,0.840,0.964 +0.793,0.833,0.964 +0.783,0.826,0.964 +0.773,0.819,0.965 +0.763,0.812,0.965 +0.753,0.805,0.966 +0.743,0.798,0.966 +0.733,0.791,0.966 +0.723,0.785,0.967 +0.713,0.778,0.967 +0.703,0.771,0.968 +0.692,0.764,0.968 +0.682,0.757,0.968 +0.671,0.750,0.969 +0.660,0.744,0.969 +0.650,0.737,0.969 +0.639,0.730,0.969 +0.628,0.724,0.970 +0.616,0.717,0.970 +0.605,0.710,0.970 +0.594,0.704,0.971 +0.582,0.697,0.971 +0.570,0.690,0.971 +0.559,0.684,0.971 +0.546,0.677,0.971 +0.534,0.671,0.972 +0.522,0.664,0.972 +0.509,0.657,0.972 +0.496,0.651,0.972 +0.483,0.644,0.972 +0.469,0.638,0.973 +0.455,0.632,0.973 +0.441,0.625,0.973 +0.426,0.619,0.973 +0.411,0.612,0.973 +0.396,0.606,0.973 +0.380,0.600,0.973 +0.363,0.594,0.973 +0.346,0.588,0.973 +0.329,0.582,0.974 +0.311,0.576,0.974 +0.293,0.571,0.974 +0.276,0.566,0.974 +0.259,0.561,0.974 +0.244,0.557,0.974 +0.231,0.554,0.974 +0.221,0.552,0.974 +0.214,0.551,0.974 +0.212,0.550,0.974 +0.215,0.551,0.974 +0.222,0.552,0.974 +0.233,0.555,0.974 +0.247,0.558,0.974 +0.263,0.562,0.974 +0.280,0.567,0.974 +0.297,0.572,0.974 +0.315,0.577,0.974 +0.333,0.583,0.974 +0.350,0.589,0.973 +0.367,0.595,0.973 +0.383,0.601,0.973 +0.399,0.607,0.973 +0.415,0.614,0.973 +0.430,0.620,0.973 +0.444,0.627,0.973 +0.458,0.633,0.973 +0.472,0.639,0.972 +0.486,0.646,0.972 +0.499,0.652,0.972 +0.512,0.659,0.972 +0.524,0.665,0.972 +0.537,0.672,0.972 +0.549,0.679,0.971 +0.561,0.685,0.971 +0.573,0.692,0.971 +0.585,0.698,0.971 +0.596,0.705,0.970 +0.608,0.712,0.970 +0.619,0.718,0.970 +0.630,0.725,0.970 +0.641,0.732,0.969 +0.652,0.738,0.969 +0.663,0.745,0.969 +0.673,0.752,0.968 +0.684,0.759,0.968 +0.694,0.766,0.968 +0.705,0.772,0.968 +0.715,0.779,0.967 +0.725,0.786,0.967 +0.736,0.793,0.966 +0.746,0.800,0.966 +0.756,0.807,0.966 +0.766,0.814,0.965 +0.775,0.820,0.965 +0.785,0.827,0.964 +0.795,0.834,0.964 +0.805,0.841,0.963 +0.814,0.848,0.963 +0.824,0.855,0.963 +0.834,0.862,0.962 +0.843,0.869,0.962 +0.852,0.876,0.961 +0.862,0.883,0.960 +0.871,0.890,0.960 +0.880,0.896,0.959 +0.888,0.903,0.957 +0.896,0.909,0.956 +0.904,0.914,0.954 +0.911,0.919,0.952 +0.918,0.923,0.948 +0.923,0.926,0.944 +0.928,0.929,0.940 +0.931,0.930,0.934 diff --git a/test/CETperceptual_csv_0_1/CET-CBD1.csv b/test/CETperceptual_csv_0_1/CET-CBD1.csv new file mode 100644 index 0000000..3ba00bd --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-CBD1.csv @@ -0,0 +1,256 @@ +0.229,0.566,0.997 +0.242,0.569,0.996 +0.253,0.571,0.996 +0.265,0.574,0.996 +0.276,0.577,0.996 +0.286,0.580,0.995 +0.296,0.582,0.995 +0.306,0.585,0.995 +0.315,0.588,0.994 +0.324,0.590,0.994 +0.333,0.593,0.994 +0.342,0.596,0.993 +0.350,0.599,0.993 +0.359,0.601,0.993 +0.367,0.604,0.993 +0.375,0.607,0.992 +0.382,0.610,0.992 +0.390,0.612,0.992 +0.397,0.615,0.991 +0.405,0.618,0.991 +0.412,0.621,0.991 +0.419,0.624,0.990 +0.426,0.626,0.990 +0.433,0.629,0.990 +0.440,0.632,0.989 +0.446,0.635,0.989 +0.453,0.638,0.989 +0.459,0.640,0.988 +0.466,0.643,0.988 +0.472,0.646,0.988 +0.478,0.649,0.987 +0.485,0.652,0.987 +0.491,0.654,0.987 +0.497,0.657,0.986 +0.503,0.660,0.986 +0.509,0.663,0.986 +0.515,0.666,0.985 +0.520,0.669,0.985 +0.526,0.672,0.985 +0.532,0.674,0.984 +0.538,0.677,0.984 +0.543,0.680,0.983 +0.549,0.683,0.983 +0.554,0.686,0.983 +0.560,0.689,0.982 +0.565,0.692,0.982 +0.571,0.694,0.982 +0.576,0.697,0.981 +0.581,0.700,0.981 +0.587,0.703,0.980 +0.592,0.706,0.980 +0.597,0.709,0.980 +0.602,0.712,0.979 +0.608,0.715,0.979 +0.613,0.718,0.979 +0.618,0.721,0.978 +0.623,0.724,0.978 +0.628,0.726,0.977 +0.633,0.729,0.977 +0.638,0.732,0.977 +0.643,0.735,0.976 +0.648,0.738,0.976 +0.653,0.741,0.975 +0.658,0.744,0.975 +0.663,0.747,0.975 +0.667,0.750,0.974 +0.672,0.753,0.974 +0.677,0.756,0.973 +0.682,0.759,0.973 +0.687,0.762,0.973 +0.691,0.765,0.972 +0.696,0.768,0.972 +0.701,0.771,0.971 +0.705,0.774,0.971 +0.710,0.777,0.970 +0.715,0.780,0.970 +0.719,0.783,0.970 +0.724,0.786,0.969 +0.728,0.789,0.969 +0.733,0.792,0.968 +0.738,0.795,0.968 +0.742,0.798,0.967 +0.747,0.801,0.967 +0.751,0.804,0.966 +0.756,0.807,0.966 +0.760,0.810,0.966 +0.765,0.813,0.965 +0.769,0.816,0.965 +0.773,0.819,0.964 +0.778,0.822,0.964 +0.782,0.825,0.963 +0.787,0.828,0.963 +0.791,0.831,0.962 +0.795,0.834,0.962 +0.800,0.837,0.961 +0.804,0.840,0.961 +0.808,0.843,0.960 +0.813,0.846,0.960 +0.817,0.849,0.959 +0.821,0.852,0.959 +0.826,0.855,0.958 +0.830,0.858,0.958 +0.834,0.862,0.957 +0.838,0.865,0.957 +0.843,0.868,0.956 +0.847,0.871,0.956 +0.851,0.874,0.955 +0.855,0.877,0.955 +0.860,0.880,0.954 +0.864,0.883,0.954 +0.868,0.886,0.953 +0.872,0.889,0.953 +0.876,0.892,0.952 +0.880,0.896,0.952 +0.885,0.899,0.951 +0.889,0.902,0.951 +0.893,0.905,0.950 +0.897,0.908,0.949 +0.901,0.911,0.949 +0.905,0.914,0.948 +0.909,0.916,0.947 +0.912,0.919,0.946 +0.916,0.922,0.944 +0.919,0.924,0.942 +0.922,0.925,0.940 +0.925,0.927,0.937 +0.927,0.928,0.934 +0.929,0.928,0.930 +0.931,0.928,0.926 +0.932,0.928,0.922 +0.932,0.927,0.917 +0.932,0.925,0.911 +0.932,0.924,0.905 +0.931,0.921,0.899 +0.931,0.919,0.893 +0.929,0.916,0.887 +0.928,0.914,0.880 +0.927,0.911,0.874 +0.925,0.908,0.867 +0.924,0.905,0.860 +0.922,0.902,0.854 +0.920,0.898,0.847 +0.919,0.895,0.840 +0.917,0.892,0.834 +0.915,0.889,0.827 +0.914,0.886,0.820 +0.912,0.883,0.814 +0.910,0.880,0.807 +0.908,0.877,0.801 +0.907,0.874,0.794 +0.905,0.870,0.787 +0.903,0.867,0.781 +0.901,0.864,0.774 +0.899,0.861,0.768 +0.898,0.858,0.761 +0.896,0.855,0.754 +0.894,0.852,0.748 +0.892,0.849,0.741 +0.890,0.846,0.735 +0.888,0.843,0.728 +0.886,0.840,0.722 +0.884,0.837,0.715 +0.882,0.834,0.709 +0.881,0.831,0.702 +0.879,0.827,0.695 +0.877,0.824,0.689 +0.875,0.821,0.682 +0.873,0.818,0.676 +0.871,0.815,0.669 +0.869,0.812,0.663 +0.867,0.809,0.656 +0.865,0.806,0.650 +0.863,0.803,0.643 +0.861,0.800,0.637 +0.859,0.797,0.630 +0.856,0.794,0.624 +0.854,0.791,0.617 +0.852,0.788,0.611 +0.850,0.785,0.604 +0.848,0.782,0.598 +0.846,0.779,0.592 +0.844,0.776,0.585 +0.842,0.773,0.579 +0.840,0.770,0.572 +0.837,0.767,0.566 +0.835,0.764,0.559 +0.833,0.761,0.553 +0.831,0.758,0.546 +0.829,0.755,0.540 +0.826,0.752,0.533 +0.824,0.749,0.527 +0.822,0.746,0.521 +0.820,0.743,0.514 +0.817,0.740,0.508 +0.815,0.737,0.501 +0.813,0.734,0.495 +0.811,0.731,0.488 +0.808,0.728,0.482 +0.806,0.726,0.476 +0.804,0.723,0.469 +0.801,0.720,0.463 +0.799,0.717,0.456 +0.797,0.714,0.450 +0.794,0.711,0.443 +0.792,0.708,0.437 +0.789,0.705,0.430 +0.787,0.702,0.424 +0.785,0.699,0.418 +0.782,0.696,0.411 +0.780,0.693,0.405 +0.777,0.690,0.398 +0.775,0.688,0.392 +0.772,0.685,0.385 +0.770,0.682,0.379 +0.767,0.679,0.372 +0.765,0.676,0.366 +0.762,0.673,0.359 +0.760,0.670,0.352 +0.757,0.667,0.346 +0.755,0.664,0.339 +0.752,0.662,0.333 +0.750,0.659,0.326 +0.747,0.656,0.319 +0.745,0.653,0.313 +0.742,0.650,0.306 +0.740,0.647,0.299 +0.737,0.644,0.292 +0.734,0.641,0.286 +0.732,0.639,0.279 +0.729,0.636,0.272 +0.726,0.633,0.265 +0.724,0.630,0.258 +0.721,0.627,0.251 +0.718,0.624,0.244 +0.716,0.622,0.237 +0.713,0.619,0.230 +0.710,0.616,0.222 +0.708,0.613,0.215 +0.705,0.610,0.207 +0.702,0.608,0.200 +0.700,0.605,0.192 +0.697,0.602,0.184 +0.694,0.599,0.176 +0.691,0.596,0.168 +0.689,0.594,0.160 +0.686,0.591,0.151 +0.683,0.588,0.142 +0.680,0.585,0.133 +0.677,0.582,0.124 +0.675,0.580,0.114 +0.672,0.577,0.103 +0.669,0.574,0.092 +0.666,0.571,0.080 +0.663,0.569,0.067 +0.660,0.566,0.051 +0.657,0.563,0.033 diff --git a/test/CETperceptual_csv_0_1/CET-CBL1.csv b/test/CETperceptual_csv_0_1/CET-CBL1.csv new file mode 100644 index 0000000..4e9df60 --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-CBL1.csv @@ -0,0 +1,256 @@ +0.066,0.066,0.066 +0.068,0.069,0.075 +0.070,0.073,0.084 +0.072,0.076,0.091 +0.073,0.079,0.099 +0.075,0.082,0.106 +0.076,0.085,0.113 +0.077,0.088,0.120 +0.077,0.090,0.127 +0.077,0.093,0.135 +0.078,0.096,0.142 +0.078,0.098,0.149 +0.078,0.101,0.157 +0.078,0.104,0.164 +0.078,0.107,0.171 +0.078,0.109,0.179 +0.077,0.112,0.186 +0.077,0.115,0.193 +0.076,0.118,0.200 +0.075,0.120,0.208 +0.075,0.123,0.215 +0.074,0.126,0.222 +0.072,0.129,0.229 +0.071,0.132,0.237 +0.070,0.135,0.244 +0.068,0.138,0.251 +0.067,0.140,0.258 +0.065,0.143,0.265 +0.063,0.146,0.272 +0.061,0.149,0.279 +0.059,0.152,0.286 +0.056,0.155,0.293 +0.054,0.158,0.300 +0.051,0.161,0.307 +0.048,0.164,0.314 +0.045,0.167,0.321 +0.042,0.170,0.328 +0.039,0.173,0.335 +0.036,0.176,0.341 +0.032,0.179,0.348 +0.029,0.182,0.355 +0.025,0.185,0.361 +0.022,0.188,0.368 +0.019,0.191,0.374 +0.015,0.194,0.381 +0.012,0.197,0.387 +0.009,0.200,0.393 +0.006,0.203,0.400 +0.004,0.206,0.406 +0.001,0.209,0.412 +0.000,0.212,0.418 +0.000,0.215,0.424 +0.000,0.218,0.430 +0.000,0.221,0.436 +0.000,0.224,0.441 +0.000,0.228,0.447 +0.000,0.231,0.452 +0.000,0.234,0.458 +0.000,0.237,0.463 +0.000,0.240,0.468 +0.000,0.243,0.474 +0.000,0.246,0.479 +0.000,0.249,0.484 +0.002,0.252,0.488 +0.005,0.255,0.493 +0.010,0.259,0.498 +0.015,0.262,0.502 +0.021,0.265,0.507 +0.028,0.268,0.511 +0.035,0.271,0.515 +0.043,0.274,0.519 +0.052,0.277,0.523 +0.060,0.281,0.526 +0.068,0.284,0.530 +0.076,0.287,0.533 +0.084,0.290,0.536 +0.092,0.293,0.539 +0.100,0.296,0.542 +0.108,0.299,0.545 +0.117,0.303,0.547 +0.125,0.306,0.549 +0.133,0.309,0.552 +0.141,0.312,0.553 +0.149,0.315,0.555 +0.158,0.319,0.556 +0.166,0.322,0.558 +0.175,0.325,0.558 +0.183,0.328,0.559 +0.191,0.331,0.560 +0.200,0.335,0.560 +0.209,0.338,0.559 +0.217,0.341,0.559 +0.226,0.344,0.558 +0.235,0.348,0.557 +0.243,0.351,0.556 +0.252,0.354,0.554 +0.261,0.357,0.551 +0.270,0.361,0.549 +0.279,0.364,0.546 +0.287,0.367,0.544 +0.295,0.370,0.541 +0.303,0.374,0.539 +0.311,0.377,0.536 +0.318,0.380,0.533 +0.326,0.384,0.531 +0.333,0.387,0.528 +0.340,0.390,0.525 +0.347,0.394,0.523 +0.354,0.397,0.520 +0.361,0.401,0.517 +0.368,0.404,0.515 +0.374,0.407,0.512 +0.381,0.411,0.509 +0.387,0.414,0.507 +0.394,0.418,0.504 +0.400,0.421,0.501 +0.406,0.424,0.498 +0.412,0.428,0.496 +0.419,0.431,0.493 +0.425,0.435,0.490 +0.431,0.438,0.487 +0.437,0.442,0.484 +0.442,0.445,0.481 +0.448,0.448,0.479 +0.454,0.452,0.476 +0.460,0.455,0.473 +0.466,0.459,0.470 +0.471,0.462,0.467 +0.477,0.466,0.464 +0.483,0.469,0.461 +0.488,0.473,0.458 +0.494,0.476,0.455 +0.499,0.480,0.452 +0.505,0.483,0.449 +0.510,0.487,0.446 +0.516,0.490,0.443 +0.521,0.494,0.440 +0.527,0.497,0.437 +0.532,0.501,0.434 +0.537,0.504,0.431 +0.543,0.508,0.428 +0.548,0.511,0.425 +0.553,0.515,0.422 +0.559,0.518,0.418 +0.564,0.522,0.415 +0.569,0.525,0.412 +0.574,0.529,0.409 +0.580,0.532,0.405 +0.585,0.536,0.402 +0.590,0.539,0.399 +0.595,0.543,0.395 +0.600,0.547,0.392 +0.606,0.550,0.389 +0.611,0.554,0.385 +0.616,0.557,0.382 +0.621,0.561,0.378 +0.626,0.564,0.375 +0.631,0.568,0.371 +0.637,0.571,0.367 +0.642,0.575,0.364 +0.647,0.578,0.361 +0.652,0.582,0.358 +0.657,0.586,0.355 +0.661,0.589,0.353 +0.666,0.593,0.351 +0.671,0.596,0.350 +0.675,0.600,0.349 +0.680,0.604,0.348 +0.684,0.607,0.348 +0.689,0.611,0.347 +0.693,0.614,0.348 +0.698,0.618,0.348 +0.702,0.622,0.349 +0.706,0.625,0.350 +0.710,0.629,0.351 +0.715,0.633,0.353 +0.719,0.636,0.354 +0.723,0.640,0.357 +0.727,0.644,0.359 +0.731,0.647,0.361 +0.735,0.651,0.364 +0.739,0.655,0.367 +0.743,0.658,0.370 +0.747,0.662,0.373 +0.751,0.666,0.377 +0.755,0.670,0.381 +0.759,0.673,0.385 +0.763,0.677,0.389 +0.766,0.681,0.393 +0.770,0.685,0.398 +0.774,0.688,0.402 +0.778,0.692,0.407 +0.781,0.696,0.412 +0.785,0.699,0.417 +0.789,0.703,0.422 +0.792,0.707,0.428 +0.796,0.711,0.433 +0.800,0.715,0.439 +0.803,0.718,0.445 +0.807,0.722,0.451 +0.810,0.726,0.457 +0.814,0.730,0.463 +0.817,0.733,0.470 +0.820,0.737,0.476 +0.824,0.741,0.483 +0.827,0.745,0.489 +0.830,0.749,0.496 +0.834,0.753,0.503 +0.837,0.756,0.510 +0.840,0.760,0.517 +0.843,0.764,0.525 +0.847,0.768,0.532 +0.850,0.772,0.540 +0.853,0.776,0.547 +0.856,0.780,0.555 +0.859,0.783,0.563 +0.862,0.787,0.571 +0.865,0.791,0.579 +0.868,0.795,0.587 +0.871,0.799,0.595 +0.873,0.803,0.603 +0.876,0.807,0.611 +0.879,0.811,0.620 +0.882,0.815,0.628 +0.884,0.818,0.637 +0.887,0.822,0.646 +0.890,0.826,0.655 +0.892,0.830,0.664 +0.895,0.834,0.672 +0.897,0.838,0.682 +0.900,0.842,0.691 +0.902,0.846,0.700 +0.904,0.850,0.709 +0.907,0.854,0.719 +0.909,0.858,0.728 +0.911,0.862,0.738 +0.913,0.866,0.747 +0.915,0.870,0.757 +0.917,0.874,0.767 +0.919,0.878,0.776 +0.921,0.882,0.786 +0.923,0.886,0.796 +0.925,0.890,0.806 +0.927,0.894,0.816 +0.928,0.898,0.827 +0.930,0.902,0.837 +0.932,0.907,0.847 +0.933,0.911,0.858 +0.935,0.915,0.868 +0.936,0.919,0.879 +0.937,0.923,0.889 +0.939,0.927,0.900 +0.940,0.931,0.911 +0.941,0.935,0.922 +0.942,0.939,0.933 +0.943,0.944,0.943 diff --git a/test/CETperceptual_csv_0_1/CET-CBL2.csv b/test/CETperceptual_csv_0_1/CET-CBL2.csv new file mode 100644 index 0000000..f221f71 --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-CBL2.csv @@ -0,0 +1,256 @@ +0.066,0.066,0.066 +0.068,0.070,0.074 +0.071,0.073,0.082 +0.073,0.076,0.089 +0.075,0.079,0.095 +0.077,0.082,0.101 +0.079,0.085,0.108 +0.080,0.088,0.114 +0.081,0.091,0.121 +0.082,0.094,0.128 +0.083,0.097,0.134 +0.084,0.099,0.141 +0.085,0.102,0.148 +0.086,0.105,0.154 +0.087,0.108,0.161 +0.087,0.111,0.168 +0.088,0.114,0.175 +0.088,0.116,0.182 +0.089,0.119,0.189 +0.089,0.122,0.196 +0.089,0.125,0.203 +0.089,0.128,0.210 +0.089,0.131,0.217 +0.089,0.134,0.224 +0.088,0.137,0.231 +0.088,0.140,0.238 +0.087,0.143,0.246 +0.087,0.146,0.253 +0.086,0.149,0.260 +0.085,0.152,0.267 +0.084,0.155,0.274 +0.083,0.158,0.281 +0.082,0.161,0.289 +0.081,0.164,0.296 +0.080,0.167,0.303 +0.078,0.170,0.310 +0.077,0.173,0.317 +0.076,0.176,0.324 +0.074,0.179,0.331 +0.073,0.182,0.338 +0.072,0.185,0.344 +0.070,0.189,0.351 +0.069,0.192,0.358 +0.068,0.195,0.364 +0.067,0.198,0.371 +0.066,0.201,0.377 +0.065,0.204,0.383 +0.064,0.207,0.390 +0.063,0.210,0.396 +0.062,0.214,0.402 +0.062,0.217,0.408 +0.061,0.220,0.414 +0.061,0.223,0.421 +0.060,0.226,0.427 +0.060,0.230,0.433 +0.060,0.233,0.439 +0.060,0.236,0.445 +0.060,0.239,0.451 +0.060,0.242,0.456 +0.060,0.246,0.462 +0.060,0.249,0.468 +0.060,0.252,0.474 +0.060,0.255,0.480 +0.060,0.259,0.486 +0.060,0.262,0.492 +0.060,0.265,0.498 +0.060,0.268,0.504 +0.060,0.272,0.510 +0.059,0.275,0.516 +0.059,0.278,0.522 +0.059,0.282,0.528 +0.059,0.285,0.534 +0.059,0.288,0.541 +0.059,0.292,0.547 +0.059,0.295,0.553 +0.058,0.298,0.559 +0.058,0.302,0.565 +0.058,0.305,0.571 +0.057,0.308,0.577 +0.057,0.312,0.583 +0.057,0.315,0.590 +0.056,0.318,0.596 +0.056,0.322,0.602 +0.056,0.325,0.608 +0.055,0.329,0.614 +0.055,0.332,0.621 +0.054,0.335,0.627 +0.053,0.339,0.633 +0.053,0.342,0.639 +0.052,0.346,0.646 +0.051,0.349,0.652 +0.051,0.352,0.658 +0.050,0.356,0.664 +0.049,0.359,0.671 +0.048,0.363,0.677 +0.047,0.366,0.683 +0.046,0.370,0.690 +0.045,0.373,0.696 +0.044,0.377,0.703 +0.043,0.380,0.709 +0.042,0.384,0.715 +0.041,0.387,0.722 +0.040,0.391,0.728 +0.038,0.394,0.735 +0.037,0.398,0.741 +0.036,0.401,0.747 +0.034,0.405,0.754 +0.032,0.408,0.760 +0.031,0.412,0.767 +0.029,0.415,0.773 +0.027,0.419,0.780 +0.026,0.422,0.786 +0.024,0.426,0.793 +0.022,0.429,0.799 +0.020,0.433,0.806 +0.018,0.436,0.812 +0.016,0.440,0.819 +0.014,0.444,0.826 +0.012,0.447,0.832 +0.010,0.451,0.839 +0.008,0.454,0.845 +0.006,0.458,0.852 +0.005,0.462,0.858 +0.003,0.465,0.865 +0.002,0.469,0.871 +0.001,0.472,0.878 +0.001,0.476,0.884 +0.002,0.480,0.891 +0.004,0.483,0.897 +0.007,0.487,0.903 +0.012,0.490,0.909 +0.019,0.494,0.915 +0.029,0.498,0.920 +0.042,0.501,0.925 +0.056,0.505,0.930 +0.071,0.509,0.935 +0.087,0.512,0.939 +0.104,0.516,0.942 +0.121,0.519,0.945 +0.138,0.523,0.947 +0.156,0.526,0.949 +0.175,0.530,0.950 +0.194,0.534,0.950 +0.213,0.537,0.949 +0.232,0.541,0.947 +0.252,0.544,0.945 +0.271,0.548,0.941 +0.291,0.551,0.937 +0.310,0.555,0.932 +0.329,0.558,0.926 +0.348,0.562,0.919 +0.366,0.565,0.911 +0.385,0.569,0.903 +0.402,0.573,0.894 +0.419,0.576,0.884 +0.436,0.580,0.874 +0.452,0.584,0.864 +0.468,0.587,0.853 +0.483,0.591,0.841 +0.498,0.595,0.829 +0.512,0.598,0.817 +0.525,0.602,0.805 +0.539,0.606,0.793 +0.551,0.610,0.781 +0.563,0.614,0.768 +0.575,0.617,0.756 +0.587,0.621,0.743 +0.598,0.625,0.730 +0.608,0.629,0.718 +0.619,0.633,0.705 +0.629,0.637,0.693 +0.639,0.640,0.681 +0.648,0.644,0.668 +0.658,0.648,0.656 +0.667,0.652,0.644 +0.676,0.656,0.632 +0.685,0.660,0.620 +0.693,0.663,0.608 +0.702,0.667,0.596 +0.710,0.671,0.584 +0.718,0.675,0.573 +0.726,0.678,0.561 +0.734,0.682,0.549 +0.742,0.686,0.537 +0.750,0.690,0.525 +0.758,0.693,0.514 +0.765,0.697,0.502 +0.772,0.701,0.490 +0.780,0.705,0.478 +0.787,0.708,0.466 +0.794,0.712,0.454 +0.801,0.716,0.442 +0.808,0.720,0.429 +0.815,0.723,0.417 +0.821,0.727,0.404 +0.828,0.731,0.391 +0.834,0.735,0.378 +0.841,0.739,0.365 +0.847,0.743,0.351 +0.853,0.746,0.337 +0.859,0.750,0.324 +0.865,0.754,0.309 +0.871,0.758,0.295 +0.877,0.762,0.281 +0.883,0.766,0.266 +0.889,0.770,0.251 +0.894,0.774,0.236 +0.900,0.778,0.222 +0.905,0.782,0.207 +0.910,0.786,0.193 +0.916,0.790,0.179 +0.921,0.794,0.166 +0.926,0.798,0.155 +0.931,0.802,0.145 +0.935,0.806,0.138 +0.940,0.809,0.134 +0.945,0.813,0.134 +0.949,0.817,0.137 +0.954,0.821,0.144 +0.958,0.825,0.155 +0.962,0.829,0.168 +0.966,0.833,0.185 +0.970,0.837,0.203 +0.973,0.841,0.223 +0.977,0.845,0.244 +0.980,0.849,0.267 +0.983,0.853,0.290 +0.986,0.857,0.314 +0.989,0.861,0.339 +0.991,0.865,0.364 +0.993,0.869,0.389 +0.995,0.873,0.415 +0.997,0.877,0.441 +0.998,0.882,0.467 +0.999,0.886,0.493 +1.000,0.890,0.519 +1.000,0.894,0.545 +1.000,0.898,0.571 +1.000,0.903,0.597 +1.000,0.907,0.622 +1.000,0.911,0.647 +1.000,0.915,0.672 +0.999,0.920,0.696 +0.998,0.924,0.720 +0.997,0.928,0.743 +0.996,0.933,0.765 +0.995,0.937,0.787 +0.994,0.942,0.808 +0.993,0.946,0.829 +0.992,0.950,0.849 +0.991,0.955,0.868 +0.990,0.959,0.886 +0.989,0.964,0.904 +0.988,0.968,0.921 +0.988,0.972,0.937 +0.987,0.977,0.953 diff --git a/test/CETperceptual_csv_0_1/CET-D01.csv b/test/CETperceptual_csv_0_1/CET-D01.csv new file mode 100644 index 0000000..96755d9 --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-D01.csv @@ -0,0 +1,256 @@ +0.128,0.316,0.858 +0.147,0.320,0.859 +0.164,0.325,0.860 +0.179,0.329,0.861 +0.194,0.333,0.862 +0.207,0.338,0.863 +0.220,0.342,0.864 +0.232,0.346,0.864 +0.243,0.351,0.865 +0.254,0.355,0.866 +0.264,0.360,0.867 +0.274,0.364,0.868 +0.284,0.369,0.869 +0.294,0.373,0.869 +0.303,0.377,0.870 +0.312,0.382,0.871 +0.321,0.386,0.872 +0.329,0.391,0.873 +0.337,0.395,0.874 +0.346,0.400,0.874 +0.354,0.404,0.875 +0.362,0.409,0.876 +0.369,0.414,0.877 +0.377,0.418,0.878 +0.384,0.423,0.878 +0.392,0.427,0.879 +0.399,0.432,0.880 +0.406,0.436,0.881 +0.413,0.441,0.882 +0.420,0.446,0.882 +0.427,0.450,0.883 +0.434,0.455,0.884 +0.440,0.460,0.885 +0.447,0.464,0.886 +0.454,0.469,0.886 +0.460,0.474,0.887 +0.467,0.478,0.888 +0.473,0.483,0.889 +0.479,0.488,0.889 +0.485,0.492,0.890 +0.492,0.497,0.891 +0.498,0.502,0.892 +0.504,0.507,0.892 +0.510,0.511,0.893 +0.516,0.516,0.894 +0.522,0.521,0.895 +0.528,0.526,0.895 +0.534,0.530,0.896 +0.540,0.535,0.897 +0.545,0.540,0.898 +0.551,0.545,0.898 +0.557,0.550,0.899 +0.563,0.555,0.900 +0.568,0.559,0.900 +0.574,0.564,0.901 +0.580,0.569,0.902 +0.585,0.574,0.903 +0.591,0.579,0.903 +0.596,0.584,0.904 +0.602,0.588,0.905 +0.607,0.593,0.905 +0.613,0.598,0.906 +0.618,0.603,0.907 +0.623,0.608,0.907 +0.629,0.613,0.908 +0.634,0.618,0.909 +0.639,0.623,0.909 +0.645,0.628,0.910 +0.650,0.633,0.911 +0.655,0.638,0.911 +0.660,0.643,0.912 +0.666,0.648,0.913 +0.671,0.653,0.913 +0.676,0.658,0.914 +0.681,0.663,0.915 +0.686,0.668,0.915 +0.691,0.673,0.916 +0.697,0.678,0.917 +0.702,0.683,0.917 +0.707,0.688,0.918 +0.712,0.693,0.918 +0.717,0.698,0.919 +0.722,0.703,0.920 +0.727,0.708,0.920 +0.732,0.713,0.921 +0.737,0.718,0.921 +0.742,0.723,0.922 +0.747,0.728,0.923 +0.752,0.733,0.923 +0.757,0.738,0.924 +0.762,0.743,0.924 +0.766,0.748,0.925 +0.771,0.754,0.926 +0.776,0.759,0.926 +0.781,0.764,0.927 +0.786,0.769,0.927 +0.791,0.774,0.928 +0.796,0.779,0.928 +0.801,0.784,0.929 +0.805,0.789,0.929 +0.810,0.795,0.930 +0.815,0.800,0.930 +0.820,0.805,0.931 +0.825,0.810,0.932 +0.829,0.815,0.932 +0.834,0.821,0.933 +0.839,0.826,0.933 +0.844,0.831,0.934 +0.848,0.836,0.934 +0.853,0.841,0.935 +0.858,0.846,0.935 +0.863,0.852,0.935 +0.867,0.857,0.936 +0.872,0.862,0.936 +0.877,0.867,0.936 +0.881,0.872,0.937 +0.886,0.876,0.937 +0.890,0.881,0.936 +0.895,0.885,0.936 +0.899,0.890,0.936 +0.903,0.893,0.935 +0.908,0.897,0.934 +0.912,0.900,0.932 +0.916,0.903,0.931 +0.919,0.905,0.928 +0.923,0.906,0.926 +0.926,0.907,0.923 +0.929,0.907,0.919 +0.932,0.907,0.915 +0.935,0.905,0.911 +0.937,0.904,0.906 +0.939,0.901,0.900 +0.941,0.898,0.895 +0.942,0.895,0.888 +0.944,0.891,0.882 +0.945,0.887,0.875 +0.946,0.882,0.869 +0.946,0.877,0.861 +0.947,0.872,0.854 +0.947,0.866,0.847 +0.948,0.861,0.840 +0.948,0.855,0.832 +0.948,0.849,0.825 +0.948,0.843,0.817 +0.948,0.837,0.810 +0.948,0.831,0.802 +0.948,0.825,0.794 +0.948,0.819,0.787 +0.948,0.813,0.779 +0.947,0.807,0.772 +0.947,0.800,0.764 +0.947,0.794,0.757 +0.947,0.788,0.749 +0.946,0.782,0.742 +0.946,0.776,0.734 +0.945,0.770,0.727 +0.945,0.764,0.719 +0.944,0.758,0.712 +0.944,0.752,0.704 +0.943,0.746,0.697 +0.942,0.740,0.689 +0.942,0.733,0.682 +0.941,0.727,0.675 +0.940,0.721,0.667 +0.940,0.715,0.660 +0.939,0.709,0.653 +0.938,0.703,0.645 +0.937,0.697,0.638 +0.936,0.691,0.631 +0.935,0.685,0.623 +0.934,0.679,0.616 +0.933,0.673,0.609 +0.932,0.666,0.601 +0.931,0.660,0.594 +0.930,0.654,0.587 +0.929,0.648,0.580 +0.928,0.642,0.573 +0.927,0.636,0.565 +0.925,0.630,0.558 +0.924,0.624,0.551 +0.923,0.618,0.544 +0.922,0.612,0.537 +0.920,0.605,0.530 +0.919,0.599,0.522 +0.917,0.593,0.515 +0.916,0.587,0.508 +0.915,0.581,0.501 +0.913,0.575,0.494 +0.912,0.569,0.487 +0.910,0.562,0.480 +0.908,0.556,0.473 +0.907,0.550,0.466 +0.905,0.544,0.459 +0.904,0.538,0.452 +0.902,0.531,0.445 +0.900,0.525,0.438 +0.898,0.519,0.431 +0.897,0.513,0.424 +0.895,0.507,0.417 +0.893,0.500,0.410 +0.891,0.494,0.403 +0.889,0.488,0.396 +0.887,0.481,0.390 +0.885,0.475,0.383 +0.884,0.469,0.376 +0.882,0.463,0.369 +0.880,0.456,0.362 +0.878,0.450,0.355 +0.875,0.443,0.349 +0.873,0.437,0.342 +0.871,0.431,0.335 +0.869,0.424,0.328 +0.867,0.418,0.322 +0.865,0.411,0.315 +0.863,0.405,0.308 +0.860,0.398,0.301 +0.858,0.391,0.295 +0.856,0.385,0.288 +0.854,0.378,0.281 +0.851,0.372,0.275 +0.849,0.365,0.268 +0.846,0.358,0.261 +0.844,0.351,0.255 +0.842,0.344,0.248 +0.839,0.337,0.241 +0.837,0.331,0.235 +0.834,0.323,0.228 +0.832,0.316,0.222 +0.829,0.309,0.215 +0.827,0.302,0.208 +0.824,0.295,0.202 +0.821,0.287,0.195 +0.819,0.280,0.188 +0.816,0.272,0.182 +0.813,0.265,0.175 +0.811,0.257,0.169 +0.808,0.249,0.162 +0.805,0.241,0.155 +0.803,0.233,0.148 +0.800,0.224,0.142 +0.797,0.216,0.135 +0.794,0.207,0.128 +0.791,0.198,0.121 +0.788,0.189,0.115 +0.786,0.179,0.108 +0.783,0.169,0.101 +0.780,0.159,0.093 +0.777,0.148,0.086 +0.774,0.137,0.079 +0.771,0.124,0.071 +0.768,0.111,0.064 +0.765,0.096,0.056 +0.762,0.080,0.047 +0.759,0.061,0.039 +0.756,0.036,0.030 +0.752,0.008,0.022 diff --git a/test/CETperceptual_csv_0_1/CET-D01A.csv b/test/CETperceptual_csv_0_1/CET-D01A.csv new file mode 100644 index 0000000..23b03b6 --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-D01A.csv @@ -0,0 +1,256 @@ +0.092,0.161,0.447 +0.093,0.165,0.458 +0.095,0.170,0.469 +0.096,0.174,0.481 +0.098,0.178,0.492 +0.099,0.182,0.504 +0.101,0.187,0.515 +0.102,0.191,0.527 +0.103,0.196,0.538 +0.104,0.200,0.550 +0.106,0.204,0.562 +0.107,0.209,0.573 +0.108,0.213,0.585 +0.109,0.218,0.597 +0.111,0.222,0.609 +0.112,0.227,0.621 +0.113,0.231,0.633 +0.114,0.236,0.645 +0.115,0.240,0.657 +0.116,0.245,0.669 +0.118,0.249,0.681 +0.119,0.254,0.693 +0.121,0.259,0.704 +0.122,0.263,0.716 +0.124,0.268,0.728 +0.127,0.273,0.740 +0.129,0.278,0.751 +0.133,0.282,0.762 +0.137,0.287,0.773 +0.141,0.292,0.784 +0.147,0.297,0.794 +0.153,0.302,0.804 +0.159,0.307,0.813 +0.167,0.312,0.822 +0.175,0.317,0.830 +0.184,0.322,0.838 +0.194,0.328,0.845 +0.203,0.333,0.852 +0.214,0.338,0.858 +0.224,0.344,0.864 +0.235,0.349,0.870 +0.246,0.355,0.875 +0.257,0.361,0.879 +0.268,0.366,0.884 +0.279,0.372,0.888 +0.290,0.378,0.892 +0.300,0.384,0.896 +0.311,0.390,0.899 +0.321,0.395,0.903 +0.332,0.401,0.906 +0.342,0.407,0.910 +0.352,0.413,0.913 +0.361,0.419,0.916 +0.371,0.425,0.920 +0.380,0.431,0.923 +0.390,0.437,0.926 +0.399,0.443,0.930 +0.408,0.449,0.933 +0.417,0.455,0.936 +0.426,0.462,0.939 +0.434,0.468,0.943 +0.443,0.474,0.946 +0.452,0.480,0.949 +0.460,0.486,0.952 +0.469,0.492,0.956 +0.477,0.498,0.959 +0.485,0.505,0.962 +0.494,0.511,0.965 +0.502,0.517,0.968 +0.510,0.523,0.970 +0.518,0.530,0.973 +0.526,0.536,0.976 +0.535,0.543,0.978 +0.543,0.549,0.980 +0.551,0.555,0.982 +0.559,0.562,0.984 +0.567,0.568,0.986 +0.576,0.575,0.987 +0.584,0.582,0.988 +0.592,0.588,0.989 +0.600,0.595,0.990 +0.608,0.602,0.990 +0.617,0.608,0.991 +0.625,0.615,0.991 +0.633,0.622,0.990 +0.641,0.629,0.990 +0.649,0.636,0.990 +0.657,0.643,0.989 +0.665,0.650,0.989 +0.672,0.657,0.988 +0.680,0.664,0.987 +0.688,0.671,0.986 +0.696,0.678,0.985 +0.703,0.685,0.985 +0.711,0.692,0.984 +0.718,0.699,0.983 +0.726,0.706,0.982 +0.733,0.713,0.981 +0.740,0.720,0.980 +0.747,0.727,0.979 +0.755,0.734,0.978 +0.762,0.742,0.977 +0.769,0.749,0.976 +0.776,0.756,0.975 +0.783,0.763,0.973 +0.790,0.770,0.972 +0.797,0.778,0.971 +0.804,0.785,0.970 +0.810,0.792,0.969 +0.817,0.799,0.968 +0.824,0.806,0.967 +0.831,0.814,0.965 +0.837,0.821,0.964 +0.844,0.828,0.963 +0.851,0.835,0.961 +0.857,0.841,0.960 +0.864,0.848,0.958 +0.871,0.854,0.956 +0.877,0.861,0.953 +0.883,0.866,0.951 +0.890,0.872,0.948 +0.896,0.876,0.944 +0.902,0.881,0.940 +0.909,0.884,0.936 +0.914,0.887,0.931 +0.920,0.889,0.926 +0.926,0.889,0.920 +0.931,0.890,0.913 +0.936,0.889,0.906 +0.941,0.887,0.898 +0.946,0.884,0.889 +0.950,0.880,0.881 +0.954,0.876,0.871 +0.958,0.871,0.861 +0.961,0.865,0.851 +0.965,0.858,0.841 +0.968,0.851,0.830 +0.970,0.844,0.820 +0.973,0.836,0.809 +0.975,0.828,0.798 +0.977,0.820,0.786 +0.979,0.811,0.775 +0.980,0.802,0.764 +0.982,0.794,0.753 +0.983,0.785,0.742 +0.984,0.776,0.730 +0.986,0.767,0.719 +0.987,0.758,0.708 +0.988,0.748,0.697 +0.988,0.739,0.686 +0.989,0.730,0.675 +0.990,0.721,0.664 +0.990,0.712,0.652 +0.991,0.703,0.641 +0.991,0.694,0.630 +0.991,0.684,0.619 +0.991,0.675,0.609 +0.991,0.666,0.598 +0.991,0.657,0.587 +0.991,0.647,0.576 +0.991,0.638,0.565 +0.991,0.629,0.554 +0.990,0.619,0.543 +0.990,0.610,0.533 +0.989,0.601,0.522 +0.989,0.591,0.511 +0.988,0.582,0.501 +0.987,0.572,0.490 +0.986,0.563,0.480 +0.985,0.554,0.470 +0.983,0.544,0.459 +0.982,0.535,0.449 +0.980,0.525,0.439 +0.978,0.516,0.429 +0.976,0.507,0.419 +0.974,0.498,0.410 +0.971,0.488,0.400 +0.969,0.479,0.391 +0.966,0.470,0.382 +0.963,0.461,0.373 +0.959,0.453,0.364 +0.956,0.444,0.356 +0.952,0.435,0.347 +0.948,0.426,0.339 +0.944,0.418,0.330 +0.940,0.409,0.322 +0.936,0.401,0.314 +0.931,0.392,0.306 +0.927,0.384,0.299 +0.922,0.375,0.291 +0.917,0.367,0.283 +0.912,0.358,0.276 +0.908,0.350,0.268 +0.903,0.341,0.260 +0.898,0.333,0.253 +0.893,0.324,0.245 +0.888,0.315,0.238 +0.883,0.306,0.230 +0.878,0.297,0.223 +0.873,0.288,0.215 +0.868,0.279,0.208 +0.863,0.270,0.200 +0.858,0.260,0.193 +0.853,0.251,0.186 +0.848,0.241,0.178 +0.843,0.231,0.171 +0.837,0.221,0.164 +0.832,0.211,0.156 +0.827,0.200,0.149 +0.821,0.190,0.142 +0.816,0.179,0.135 +0.810,0.168,0.128 +0.804,0.156,0.121 +0.798,0.145,0.114 +0.792,0.133,0.108 +0.786,0.121,0.101 +0.779,0.109,0.095 +0.772,0.097,0.090 +0.765,0.085,0.084 +0.757,0.073,0.079 +0.750,0.061,0.074 +0.742,0.049,0.070 +0.733,0.037,0.065 +0.724,0.027,0.062 +0.715,0.019,0.058 +0.706,0.012,0.056 +0.697,0.007,0.053 +0.687,0.004,0.051 +0.677,0.002,0.049 +0.667,0.001,0.047 +0.657,0.001,0.045 +0.646,0.001,0.044 +0.636,0.002,0.043 +0.625,0.003,0.042 +0.615,0.004,0.041 +0.604,0.006,0.040 +0.594,0.008,0.039 +0.583,0.009,0.038 +0.573,0.011,0.037 +0.562,0.013,0.036 +0.552,0.014,0.034 +0.542,0.016,0.033 +0.531,0.017,0.032 +0.521,0.019,0.030 +0.511,0.020,0.029 +0.500,0.021,0.027 +0.490,0.022,0.026 +0.480,0.023,0.024 +0.470,0.024,0.023 +0.460,0.025,0.021 +0.450,0.026,0.019 +0.440,0.026,0.017 +0.430,0.027,0.015 +0.420,0.027,0.013 +0.410,0.028,0.011 +0.400,0.028,0.009 diff --git a/test/CETperceptual_csv_0_1/CET-D02.csv b/test/CETperceptual_csv_0_1/CET-D02.csv new file mode 100644 index 0000000..65e14c4 --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-D02.csv @@ -0,0 +1,256 @@ +0.222,0.591,0.055 +0.230,0.594,0.069 +0.238,0.597,0.081 +0.245,0.600,0.093 +0.253,0.602,0.103 +0.260,0.605,0.113 +0.268,0.608,0.123 +0.275,0.611,0.132 +0.282,0.614,0.140 +0.289,0.616,0.149 +0.296,0.619,0.157 +0.303,0.622,0.165 +0.310,0.625,0.173 +0.316,0.628,0.181 +0.323,0.630,0.189 +0.329,0.633,0.196 +0.336,0.636,0.203 +0.342,0.639,0.211 +0.349,0.642,0.218 +0.355,0.644,0.225 +0.361,0.647,0.232 +0.367,0.650,0.239 +0.373,0.653,0.246 +0.380,0.655,0.253 +0.386,0.658,0.260 +0.392,0.661,0.267 +0.398,0.664,0.274 +0.404,0.667,0.280 +0.410,0.669,0.287 +0.415,0.672,0.294 +0.421,0.675,0.300 +0.427,0.678,0.307 +0.433,0.681,0.314 +0.439,0.683,0.320 +0.445,0.686,0.327 +0.450,0.689,0.333 +0.456,0.692,0.340 +0.462,0.694,0.346 +0.467,0.697,0.353 +0.473,0.700,0.359 +0.479,0.703,0.366 +0.484,0.705,0.372 +0.490,0.708,0.379 +0.496,0.711,0.385 +0.501,0.714,0.392 +0.507,0.716,0.398 +0.512,0.719,0.405 +0.518,0.722,0.411 +0.523,0.725,0.417 +0.529,0.728,0.424 +0.534,0.730,0.430 +0.540,0.733,0.437 +0.545,0.736,0.443 +0.550,0.739,0.449 +0.556,0.741,0.456 +0.561,0.744,0.462 +0.567,0.747,0.469 +0.572,0.750,0.475 +0.578,0.752,0.482 +0.583,0.755,0.488 +0.588,0.758,0.494 +0.594,0.760,0.501 +0.599,0.763,0.507 +0.604,0.766,0.514 +0.610,0.769,0.520 +0.615,0.771,0.526 +0.620,0.774,0.533 +0.626,0.777,0.539 +0.631,0.780,0.546 +0.636,0.782,0.552 +0.641,0.785,0.559 +0.647,0.788,0.565 +0.652,0.791,0.571 +0.657,0.793,0.578 +0.663,0.796,0.584 +0.668,0.799,0.591 +0.673,0.802,0.597 +0.678,0.804,0.604 +0.684,0.807,0.610 +0.689,0.810,0.617 +0.694,0.812,0.623 +0.699,0.815,0.630 +0.704,0.818,0.636 +0.710,0.821,0.643 +0.715,0.823,0.649 +0.720,0.826,0.656 +0.725,0.829,0.662 +0.730,0.832,0.669 +0.736,0.834,0.675 +0.741,0.837,0.682 +0.746,0.840,0.688 +0.751,0.842,0.695 +0.756,0.845,0.701 +0.762,0.848,0.708 +0.767,0.851,0.714 +0.772,0.853,0.721 +0.777,0.856,0.728 +0.782,0.859,0.734 +0.787,0.861,0.741 +0.793,0.864,0.747 +0.798,0.867,0.754 +0.803,0.870,0.760 +0.808,0.872,0.767 +0.813,0.875,0.774 +0.818,0.878,0.780 +0.823,0.880,0.787 +0.829,0.883,0.794 +0.834,0.886,0.800 +0.839,0.888,0.807 +0.844,0.891,0.813 +0.849,0.894,0.820 +0.854,0.897,0.827 +0.859,0.899,0.833 +0.864,0.902,0.840 +0.869,0.904,0.847 +0.874,0.907,0.853 +0.879,0.909,0.860 +0.884,0.911,0.866 +0.889,0.914,0.872 +0.893,0.915,0.878 +0.898,0.917,0.884 +0.902,0.919,0.890 +0.906,0.920,0.896 +0.910,0.921,0.901 +0.913,0.922,0.906 +0.917,0.922,0.911 +0.919,0.922,0.915 +0.922,0.921,0.919 +0.924,0.920,0.923 +0.926,0.919,0.926 +0.927,0.917,0.929 +0.928,0.915,0.931 +0.929,0.912,0.933 +0.929,0.909,0.935 +0.929,0.906,0.936 +0.929,0.903,0.937 +0.929,0.899,0.938 +0.928,0.895,0.939 +0.927,0.891,0.939 +0.926,0.887,0.939 +0.925,0.883,0.939 +0.924,0.879,0.939 +0.923,0.874,0.939 +0.921,0.870,0.939 +0.920,0.865,0.939 +0.919,0.861,0.939 +0.917,0.856,0.939 +0.916,0.852,0.938 +0.915,0.847,0.938 +0.913,0.843,0.938 +0.912,0.838,0.938 +0.910,0.834,0.937 +0.909,0.830,0.937 +0.907,0.825,0.937 +0.906,0.821,0.936 +0.905,0.816,0.936 +0.903,0.812,0.936 +0.902,0.807,0.935 +0.900,0.803,0.935 +0.899,0.798,0.935 +0.897,0.794,0.935 +0.896,0.789,0.934 +0.894,0.785,0.934 +0.893,0.780,0.934 +0.891,0.776,0.933 +0.890,0.771,0.933 +0.888,0.767,0.933 +0.886,0.762,0.932 +0.885,0.758,0.932 +0.883,0.753,0.932 +0.882,0.749,0.931 +0.880,0.744,0.931 +0.879,0.740,0.931 +0.877,0.735,0.930 +0.875,0.731,0.930 +0.874,0.726,0.930 +0.872,0.722,0.929 +0.871,0.717,0.929 +0.869,0.713,0.929 +0.867,0.708,0.928 +0.866,0.704,0.928 +0.864,0.699,0.928 +0.862,0.695,0.927 +0.861,0.690,0.927 +0.859,0.686,0.926 +0.857,0.681,0.926 +0.856,0.677,0.926 +0.854,0.672,0.925 +0.852,0.668,0.925 +0.850,0.663,0.925 +0.849,0.659,0.924 +0.847,0.654,0.924 +0.845,0.650,0.923 +0.844,0.645,0.923 +0.842,0.640,0.923 +0.840,0.636,0.922 +0.838,0.631,0.922 +0.836,0.627,0.921 +0.835,0.622,0.921 +0.833,0.618,0.921 +0.831,0.613,0.920 +0.829,0.609,0.920 +0.828,0.604,0.919 +0.826,0.599,0.919 +0.824,0.595,0.919 +0.822,0.590,0.918 +0.820,0.586,0.918 +0.818,0.581,0.917 +0.816,0.577,0.917 +0.815,0.572,0.917 +0.813,0.567,0.916 +0.811,0.563,0.916 +0.809,0.558,0.915 +0.807,0.554,0.915 +0.805,0.549,0.914 +0.803,0.544,0.914 +0.801,0.540,0.914 +0.799,0.535,0.913 +0.797,0.530,0.913 +0.796,0.526,0.912 +0.794,0.521,0.912 +0.792,0.516,0.911 +0.790,0.512,0.911 +0.788,0.507,0.910 +0.786,0.502,0.910 +0.784,0.498,0.910 +0.782,0.493,0.909 +0.780,0.488,0.909 +0.778,0.483,0.908 +0.776,0.479,0.908 +0.774,0.474,0.907 +0.772,0.469,0.907 +0.769,0.464,0.906 +0.767,0.460,0.906 +0.765,0.455,0.905 +0.763,0.450,0.905 +0.761,0.445,0.904 +0.759,0.440,0.904 +0.757,0.435,0.903 +0.755,0.431,0.903 +0.753,0.426,0.902 +0.751,0.421,0.902 +0.749,0.416,0.902 +0.746,0.411,0.901 +0.744,0.406,0.901 +0.742,0.401,0.900 +0.740,0.396,0.900 +0.738,0.391,0.899 +0.736,0.386,0.899 +0.733,0.381,0.898 +0.731,0.376,0.898 +0.729,0.371,0.897 +0.727,0.365,0.897 +0.724,0.360,0.896 +0.722,0.355,0.895 +0.720,0.350,0.895 diff --git a/test/CETperceptual_csv_0_1/CET-D03.csv b/test/CETperceptual_csv_0_1/CET-D03.csv new file mode 100644 index 0000000..20b5477 --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-D03.csv @@ -0,0 +1,256 @@ +0.222,0.591,0.055 +0.230,0.594,0.069 +0.238,0.597,0.081 +0.245,0.600,0.093 +0.253,0.602,0.103 +0.260,0.605,0.113 +0.268,0.608,0.123 +0.275,0.611,0.132 +0.282,0.614,0.140 +0.289,0.616,0.149 +0.296,0.619,0.157 +0.303,0.622,0.165 +0.310,0.625,0.173 +0.316,0.628,0.181 +0.323,0.630,0.189 +0.329,0.633,0.196 +0.336,0.636,0.203 +0.342,0.639,0.211 +0.349,0.642,0.218 +0.355,0.644,0.225 +0.361,0.647,0.232 +0.367,0.650,0.239 +0.373,0.653,0.246 +0.380,0.655,0.253 +0.386,0.658,0.260 +0.392,0.661,0.267 +0.398,0.664,0.274 +0.404,0.667,0.280 +0.410,0.669,0.287 +0.415,0.672,0.294 +0.421,0.675,0.300 +0.427,0.678,0.307 +0.433,0.681,0.314 +0.439,0.683,0.320 +0.445,0.686,0.327 +0.450,0.689,0.333 +0.456,0.692,0.340 +0.462,0.694,0.346 +0.467,0.697,0.353 +0.473,0.700,0.359 +0.479,0.703,0.366 +0.484,0.705,0.372 +0.490,0.708,0.379 +0.496,0.711,0.385 +0.501,0.714,0.392 +0.507,0.716,0.398 +0.512,0.719,0.405 +0.518,0.722,0.411 +0.523,0.725,0.417 +0.529,0.728,0.424 +0.534,0.730,0.430 +0.540,0.733,0.437 +0.545,0.736,0.443 +0.550,0.739,0.449 +0.556,0.741,0.456 +0.561,0.744,0.462 +0.567,0.747,0.469 +0.572,0.750,0.475 +0.578,0.752,0.482 +0.583,0.755,0.488 +0.588,0.758,0.494 +0.594,0.760,0.501 +0.599,0.763,0.507 +0.604,0.766,0.514 +0.610,0.769,0.520 +0.615,0.771,0.526 +0.620,0.774,0.533 +0.626,0.777,0.539 +0.631,0.780,0.546 +0.636,0.782,0.552 +0.641,0.785,0.559 +0.647,0.788,0.565 +0.652,0.791,0.571 +0.657,0.793,0.578 +0.663,0.796,0.584 +0.668,0.799,0.591 +0.673,0.802,0.597 +0.678,0.804,0.604 +0.684,0.807,0.610 +0.689,0.810,0.617 +0.694,0.812,0.623 +0.699,0.815,0.630 +0.704,0.818,0.636 +0.710,0.821,0.643 +0.715,0.823,0.649 +0.720,0.826,0.656 +0.725,0.829,0.662 +0.730,0.832,0.669 +0.736,0.834,0.675 +0.741,0.837,0.682 +0.746,0.840,0.688 +0.751,0.842,0.695 +0.756,0.845,0.701 +0.762,0.848,0.708 +0.767,0.851,0.714 +0.772,0.853,0.721 +0.777,0.856,0.728 +0.782,0.859,0.734 +0.787,0.861,0.741 +0.793,0.864,0.747 +0.798,0.867,0.754 +0.803,0.870,0.760 +0.808,0.872,0.767 +0.813,0.875,0.774 +0.818,0.878,0.780 +0.823,0.880,0.787 +0.829,0.883,0.794 +0.834,0.886,0.800 +0.839,0.888,0.807 +0.844,0.891,0.813 +0.849,0.894,0.820 +0.854,0.897,0.827 +0.859,0.899,0.833 +0.865,0.902,0.840 +0.870,0.904,0.846 +0.875,0.907,0.852 +0.880,0.909,0.859 +0.885,0.911,0.865 +0.890,0.913,0.870 +0.895,0.915,0.876 +0.900,0.917,0.881 +0.904,0.919,0.886 +0.909,0.920,0.890 +0.914,0.921,0.894 +0.918,0.921,0.897 +0.922,0.921,0.900 +0.926,0.921,0.902 +0.930,0.920,0.903 +0.934,0.919,0.904 +0.937,0.917,0.904 +0.940,0.915,0.903 +0.943,0.913,0.901 +0.946,0.910,0.899 +0.948,0.907,0.897 +0.950,0.904,0.893 +0.952,0.900,0.890 +0.954,0.896,0.886 +0.956,0.892,0.881 +0.957,0.888,0.876 +0.959,0.884,0.872 +0.960,0.879,0.866 +0.961,0.874,0.861 +0.962,0.870,0.856 +0.964,0.865,0.850 +0.965,0.860,0.845 +0.966,0.856,0.839 +0.966,0.851,0.834 +0.967,0.846,0.828 +0.968,0.841,0.823 +0.969,0.837,0.817 +0.970,0.832,0.812 +0.971,0.827,0.806 +0.971,0.822,0.800 +0.972,0.817,0.795 +0.973,0.813,0.789 +0.973,0.808,0.784 +0.974,0.803,0.778 +0.975,0.798,0.773 +0.975,0.793,0.767 +0.976,0.789,0.762 +0.976,0.784,0.756 +0.977,0.779,0.751 +0.977,0.774,0.745 +0.978,0.769,0.740 +0.978,0.765,0.734 +0.979,0.760,0.729 +0.979,0.755,0.723 +0.979,0.750,0.718 +0.980,0.745,0.712 +0.980,0.740,0.707 +0.980,0.736,0.701 +0.980,0.731,0.696 +0.981,0.726,0.691 +0.981,0.721,0.685 +0.981,0.716,0.680 +0.981,0.711,0.674 +0.981,0.707,0.669 +0.981,0.702,0.664 +0.982,0.697,0.658 +0.982,0.692,0.653 +0.982,0.687,0.647 +0.982,0.682,0.642 +0.982,0.677,0.637 +0.982,0.672,0.631 +0.982,0.668,0.626 +0.981,0.663,0.621 +0.981,0.658,0.615 +0.981,0.653,0.610 +0.981,0.648,0.605 +0.981,0.643,0.600 +0.981,0.638,0.594 +0.981,0.633,0.589 +0.980,0.628,0.584 +0.980,0.623,0.578 +0.980,0.618,0.573 +0.980,0.613,0.568 +0.979,0.608,0.563 +0.979,0.603,0.557 +0.979,0.598,0.552 +0.978,0.593,0.547 +0.978,0.588,0.542 +0.977,0.583,0.536 +0.977,0.578,0.531 +0.977,0.573,0.526 +0.976,0.568,0.521 +0.976,0.563,0.516 +0.975,0.558,0.511 +0.975,0.553,0.505 +0.974,0.548,0.500 +0.974,0.543,0.495 +0.973,0.538,0.490 +0.972,0.532,0.485 +0.972,0.527,0.480 +0.971,0.522,0.475 +0.970,0.517,0.469 +0.970,0.512,0.464 +0.969,0.507,0.459 +0.968,0.501,0.454 +0.968,0.496,0.449 +0.967,0.491,0.444 +0.966,0.486,0.439 +0.965,0.480,0.434 +0.965,0.475,0.429 +0.964,0.470,0.424 +0.963,0.464,0.419 +0.962,0.459,0.414 +0.961,0.453,0.409 +0.960,0.448,0.404 +0.960,0.442,0.399 +0.959,0.437,0.394 +0.958,0.431,0.389 +0.957,0.426,0.384 +0.956,0.420,0.379 +0.955,0.415,0.374 +0.954,0.409,0.369 +0.953,0.403,0.364 +0.952,0.398,0.359 +0.951,0.392,0.354 +0.950,0.386,0.349 +0.949,0.380,0.344 +0.947,0.374,0.340 +0.946,0.368,0.335 +0.945,0.363,0.330 +0.944,0.356,0.325 +0.943,0.350,0.320 +0.942,0.344,0.315 +0.941,0.338,0.310 +0.939,0.332,0.306 +0.938,0.325,0.301 +0.937,0.319,0.296 +0.936,0.312,0.291 +0.934,0.306,0.286 +0.933,0.299,0.281 +0.932,0.292,0.277 +0.931,0.286,0.272 +0.929,0.279,0.267 diff --git a/test/CETperceptual_csv_0_1/CET-D04.csv b/test/CETperceptual_csv_0_1/CET-D04.csv new file mode 100644 index 0000000..00668e2 --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-D04.csv @@ -0,0 +1,256 @@ +0.097,0.507,0.982 +0.103,0.504,0.974 +0.109,0.500,0.967 +0.114,0.497,0.959 +0.118,0.493,0.951 +0.123,0.490,0.943 +0.127,0.487,0.936 +0.131,0.483,0.928 +0.135,0.480,0.920 +0.138,0.476,0.913 +0.141,0.473,0.905 +0.145,0.469,0.897 +0.148,0.466,0.890 +0.150,0.463,0.882 +0.153,0.459,0.874 +0.156,0.456,0.867 +0.158,0.452,0.859 +0.161,0.449,0.852 +0.163,0.445,0.844 +0.165,0.442,0.837 +0.167,0.439,0.829 +0.169,0.435,0.822 +0.171,0.432,0.814 +0.172,0.429,0.807 +0.174,0.425,0.799 +0.176,0.422,0.792 +0.177,0.418,0.784 +0.179,0.415,0.777 +0.180,0.412,0.769 +0.181,0.408,0.762 +0.182,0.405,0.754 +0.184,0.402,0.747 +0.185,0.398,0.740 +0.186,0.395,0.732 +0.187,0.392,0.725 +0.188,0.389,0.718 +0.188,0.385,0.710 +0.189,0.382,0.703 +0.190,0.379,0.696 +0.191,0.375,0.688 +0.191,0.372,0.681 +0.192,0.369,0.674 +0.192,0.365,0.667 +0.193,0.362,0.659 +0.193,0.359,0.652 +0.194,0.356,0.645 +0.194,0.352,0.638 +0.194,0.349,0.631 +0.194,0.346,0.624 +0.195,0.343,0.616 +0.195,0.340,0.609 +0.195,0.336,0.602 +0.195,0.333,0.595 +0.195,0.330,0.588 +0.195,0.327,0.581 +0.195,0.323,0.574 +0.195,0.320,0.567 +0.195,0.317,0.560 +0.195,0.314,0.553 +0.194,0.311,0.546 +0.194,0.308,0.539 +0.194,0.304,0.532 +0.194,0.301,0.525 +0.193,0.298,0.518 +0.193,0.295,0.511 +0.192,0.292,0.504 +0.192,0.289,0.497 +0.192,0.286,0.491 +0.191,0.282,0.484 +0.190,0.279,0.477 +0.190,0.276,0.470 +0.189,0.273,0.463 +0.189,0.270,0.457 +0.188,0.267,0.450 +0.187,0.264,0.443 +0.187,0.261,0.436 +0.186,0.258,0.430 +0.185,0.255,0.423 +0.184,0.252,0.416 +0.183,0.249,0.410 +0.182,0.245,0.403 +0.182,0.242,0.396 +0.181,0.239,0.390 +0.180,0.236,0.383 +0.179,0.233,0.377 +0.178,0.230,0.370 +0.177,0.227,0.364 +0.176,0.224,0.357 +0.174,0.221,0.351 +0.173,0.218,0.344 +0.172,0.215,0.338 +0.171,0.213,0.331 +0.170,0.210,0.325 +0.168,0.207,0.319 +0.167,0.204,0.312 +0.166,0.201,0.306 +0.165,0.198,0.300 +0.163,0.195,0.293 +0.162,0.192,0.287 +0.160,0.189,0.281 +0.159,0.186,0.275 +0.158,0.183,0.268 +0.156,0.180,0.262 +0.155,0.178,0.256 +0.153,0.175,0.250 +0.151,0.172,0.244 +0.150,0.169,0.238 +0.148,0.166,0.232 +0.147,0.163,0.226 +0.145,0.161,0.220 +0.143,0.158,0.214 +0.142,0.155,0.208 +0.140,0.152,0.202 +0.139,0.150,0.196 +0.137,0.147,0.190 +0.135,0.144,0.184 +0.134,0.142,0.179 +0.133,0.139,0.173 +0.132,0.137,0.168 +0.131,0.134,0.163 +0.130,0.132,0.158 +0.129,0.130,0.153 +0.129,0.128,0.148 +0.129,0.127,0.144 +0.129,0.125,0.140 +0.130,0.124,0.137 +0.132,0.123,0.133 +0.133,0.123,0.131 +0.135,0.122,0.128 +0.138,0.122,0.126 +0.141,0.122,0.124 +0.144,0.122,0.123 +0.148,0.123,0.122 +0.152,0.124,0.121 +0.156,0.125,0.121 +0.161,0.126,0.121 +0.165,0.127,0.121 +0.170,0.129,0.122 +0.176,0.130,0.122 +0.181,0.132,0.123 +0.186,0.133,0.124 +0.192,0.135,0.125 +0.197,0.137,0.126 +0.203,0.139,0.127 +0.209,0.140,0.128 +0.214,0.142,0.129 +0.220,0.144,0.130 +0.226,0.146,0.131 +0.232,0.148,0.132 +0.237,0.149,0.133 +0.243,0.151,0.135 +0.249,0.153,0.136 +0.255,0.155,0.137 +0.260,0.156,0.138 +0.266,0.158,0.139 +0.272,0.160,0.140 +0.278,0.162,0.142 +0.284,0.163,0.143 +0.289,0.165,0.144 +0.295,0.167,0.145 +0.301,0.169,0.146 +0.307,0.170,0.147 +0.313,0.172,0.148 +0.319,0.174,0.150 +0.325,0.176,0.151 +0.330,0.177,0.152 +0.336,0.179,0.153 +0.342,0.181,0.154 +0.348,0.182,0.155 +0.354,0.184,0.157 +0.360,0.186,0.158 +0.366,0.187,0.159 +0.372,0.189,0.160 +0.378,0.191,0.161 +0.384,0.192,0.162 +0.390,0.194,0.163 +0.396,0.196,0.165 +0.402,0.197,0.166 +0.408,0.199,0.167 +0.414,0.201,0.168 +0.420,0.202,0.169 +0.426,0.204,0.170 +0.432,0.206,0.172 +0.438,0.207,0.173 +0.444,0.209,0.174 +0.450,0.210,0.175 +0.456,0.212,0.176 +0.463,0.214,0.177 +0.469,0.215,0.179 +0.475,0.217,0.180 +0.481,0.218,0.181 +0.487,0.220,0.182 +0.493,0.222,0.183 +0.499,0.223,0.184 +0.506,0.225,0.185 +0.512,0.226,0.187 +0.518,0.228,0.188 +0.524,0.229,0.189 +0.530,0.231,0.190 +0.537,0.232,0.191 +0.543,0.234,0.192 +0.549,0.236,0.194 +0.556,0.237,0.195 +0.562,0.239,0.196 +0.568,0.240,0.197 +0.574,0.242,0.198 +0.581,0.243,0.199 +0.587,0.245,0.201 +0.593,0.246,0.202 +0.600,0.248,0.203 +0.606,0.249,0.204 +0.612,0.251,0.205 +0.619,0.252,0.206 +0.625,0.254,0.208 +0.632,0.255,0.209 +0.638,0.257,0.210 +0.644,0.258,0.211 +0.651,0.260,0.212 +0.657,0.261,0.213 +0.664,0.263,0.215 +0.670,0.264,0.216 +0.677,0.266,0.217 +0.683,0.267,0.218 +0.690,0.268,0.219 +0.696,0.270,0.220 +0.703,0.271,0.222 +0.709,0.273,0.223 +0.716,0.274,0.224 +0.722,0.276,0.225 +0.729,0.277,0.226 +0.735,0.278,0.227 +0.742,0.280,0.229 +0.748,0.281,0.230 +0.755,0.283,0.231 +0.762,0.284,0.232 +0.768,0.286,0.233 +0.775,0.287,0.234 +0.782,0.288,0.236 +0.788,0.290,0.237 +0.795,0.291,0.238 +0.801,0.292,0.239 +0.808,0.294,0.240 +0.815,0.295,0.241 +0.821,0.297,0.243 +0.828,0.298,0.244 +0.835,0.299,0.245 +0.842,0.301,0.246 +0.848,0.302,0.247 +0.855,0.303,0.249 +0.862,0.305,0.250 +0.868,0.306,0.251 +0.875,0.307,0.252 +0.882,0.309,0.253 +0.889,0.310,0.254 +0.896,0.311,0.256 +0.902,0.313,0.257 diff --git a/test/CETperceptual_csv_0_1/CET-D06.csv b/test/CETperceptual_csv_0_1/CET-D06.csv new file mode 100644 index 0000000..72e90a9 --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-D06.csv @@ -0,0 +1,256 @@ +0.057,0.580,0.981 +0.066,0.575,0.973 +0.074,0.571,0.966 +0.082,0.567,0.958 +0.089,0.563,0.950 +0.095,0.559,0.943 +0.101,0.555,0.935 +0.106,0.551,0.927 +0.111,0.547,0.919 +0.116,0.543,0.912 +0.120,0.539,0.904 +0.124,0.535,0.896 +0.128,0.531,0.889 +0.132,0.526,0.881 +0.135,0.522,0.874 +0.138,0.518,0.866 +0.141,0.514,0.858 +0.144,0.510,0.851 +0.147,0.506,0.843 +0.150,0.502,0.836 +0.152,0.498,0.828 +0.155,0.494,0.821 +0.157,0.490,0.813 +0.159,0.486,0.806 +0.161,0.482,0.798 +0.163,0.478,0.791 +0.165,0.474,0.783 +0.167,0.470,0.776 +0.168,0.466,0.768 +0.170,0.462,0.761 +0.172,0.458,0.754 +0.173,0.455,0.746 +0.174,0.451,0.739 +0.176,0.447,0.732 +0.177,0.443,0.724 +0.178,0.439,0.717 +0.179,0.435,0.710 +0.180,0.431,0.702 +0.181,0.427,0.695 +0.182,0.423,0.688 +0.183,0.419,0.680 +0.184,0.415,0.673 +0.184,0.412,0.666 +0.185,0.408,0.659 +0.186,0.404,0.651 +0.186,0.400,0.644 +0.187,0.396,0.637 +0.187,0.392,0.630 +0.188,0.388,0.623 +0.188,0.385,0.616 +0.188,0.381,0.609 +0.189,0.377,0.601 +0.189,0.373,0.594 +0.189,0.369,0.587 +0.189,0.366,0.580 +0.189,0.362,0.573 +0.189,0.358,0.566 +0.189,0.354,0.559 +0.189,0.351,0.552 +0.189,0.347,0.545 +0.189,0.343,0.538 +0.189,0.339,0.531 +0.189,0.336,0.524 +0.189,0.332,0.517 +0.188,0.328,0.510 +0.188,0.324,0.504 +0.188,0.321,0.497 +0.187,0.317,0.490 +0.187,0.313,0.483 +0.186,0.310,0.476 +0.186,0.306,0.469 +0.186,0.302,0.463 +0.185,0.299,0.456 +0.184,0.295,0.449 +0.184,0.291,0.442 +0.183,0.288,0.436 +0.182,0.284,0.429 +0.182,0.281,0.422 +0.181,0.277,0.416 +0.180,0.273,0.409 +0.180,0.270,0.402 +0.179,0.266,0.396 +0.178,0.263,0.389 +0.177,0.259,0.383 +0.176,0.255,0.376 +0.175,0.252,0.370 +0.174,0.248,0.363 +0.173,0.245,0.357 +0.172,0.241,0.350 +0.171,0.238,0.344 +0.170,0.234,0.337 +0.169,0.231,0.331 +0.168,0.227,0.324 +0.166,0.224,0.318 +0.165,0.220,0.312 +0.164,0.217,0.305 +0.163,0.214,0.299 +0.162,0.210,0.293 +0.160,0.207,0.287 +0.159,0.203,0.280 +0.157,0.200,0.274 +0.156,0.196,0.268 +0.155,0.193,0.262 +0.153,0.190,0.256 +0.152,0.186,0.249 +0.150,0.183,0.243 +0.149,0.180,0.237 +0.147,0.176,0.231 +0.146,0.173,0.225 +0.144,0.170,0.219 +0.142,0.166,0.213 +0.141,0.163,0.207 +0.139,0.160,0.201 +0.138,0.157,0.195 +0.136,0.154,0.190 +0.135,0.151,0.184 +0.133,0.148,0.178 +0.132,0.145,0.173 +0.130,0.142,0.167 +0.129,0.139,0.162 +0.128,0.137,0.157 +0.127,0.135,0.152 +0.127,0.133,0.148 +0.127,0.131,0.143 +0.127,0.129,0.139 +0.127,0.128,0.135 +0.127,0.128,0.132 +0.128,0.127,0.129 +0.130,0.127,0.126 +0.131,0.127,0.124 +0.133,0.128,0.122 +0.135,0.129,0.120 +0.138,0.130,0.119 +0.141,0.131,0.118 +0.144,0.133,0.117 +0.147,0.135,0.116 +0.151,0.137,0.116 +0.155,0.140,0.116 +0.159,0.142,0.116 +0.162,0.145,0.116 +0.167,0.148,0.116 +0.171,0.151,0.116 +0.175,0.154,0.117 +0.179,0.157,0.117 +0.183,0.160,0.117 +0.188,0.163,0.118 +0.192,0.166,0.118 +0.196,0.169,0.119 +0.201,0.172,0.119 +0.205,0.175,0.120 +0.209,0.178,0.120 +0.214,0.181,0.121 +0.218,0.184,0.121 +0.222,0.187,0.121 +0.227,0.191,0.122 +0.231,0.194,0.122 +0.236,0.197,0.123 +0.240,0.200,0.123 +0.244,0.203,0.123 +0.249,0.207,0.124 +0.253,0.210,0.124 +0.257,0.213,0.125 +0.262,0.216,0.125 +0.266,0.219,0.125 +0.271,0.223,0.126 +0.275,0.226,0.126 +0.280,0.229,0.126 +0.284,0.232,0.126 +0.288,0.236,0.127 +0.293,0.239,0.127 +0.297,0.242,0.127 +0.302,0.245,0.128 +0.306,0.249,0.128 +0.311,0.252,0.128 +0.315,0.255,0.128 +0.320,0.259,0.129 +0.324,0.262,0.129 +0.329,0.265,0.129 +0.333,0.269,0.129 +0.338,0.272,0.129 +0.342,0.275,0.129 +0.347,0.279,0.130 +0.352,0.282,0.130 +0.356,0.286,0.130 +0.361,0.289,0.130 +0.365,0.292,0.130 +0.370,0.296,0.130 +0.374,0.299,0.130 +0.379,0.303,0.131 +0.384,0.306,0.131 +0.388,0.309,0.131 +0.393,0.313,0.131 +0.397,0.316,0.131 +0.402,0.320,0.131 +0.407,0.323,0.131 +0.411,0.327,0.131 +0.416,0.330,0.131 +0.421,0.334,0.131 +0.425,0.337,0.131 +0.430,0.341,0.131 +0.435,0.344,0.131 +0.439,0.348,0.131 +0.444,0.351,0.131 +0.449,0.355,0.130 +0.453,0.358,0.130 +0.458,0.362,0.130 +0.463,0.365,0.130 +0.468,0.369,0.130 +0.472,0.372,0.130 +0.477,0.376,0.130 +0.482,0.379,0.129 +0.487,0.383,0.129 +0.491,0.386,0.129 +0.496,0.390,0.129 +0.501,0.394,0.129 +0.506,0.397,0.128 +0.510,0.401,0.128 +0.515,0.404,0.128 +0.520,0.408,0.127 +0.525,0.412,0.127 +0.530,0.415,0.127 +0.534,0.419,0.126 +0.539,0.422,0.126 +0.544,0.426,0.126 +0.549,0.430,0.125 +0.554,0.433,0.125 +0.559,0.437,0.124 +0.564,0.441,0.124 +0.568,0.444,0.123 +0.573,0.448,0.123 +0.578,0.452,0.122 +0.583,0.455,0.122 +0.588,0.459,0.121 +0.593,0.463,0.121 +0.598,0.466,0.120 +0.603,0.470,0.120 +0.608,0.474,0.119 +0.613,0.477,0.118 +0.618,0.481,0.118 +0.622,0.485,0.117 +0.627,0.489,0.116 +0.632,0.492,0.115 +0.637,0.496,0.115 +0.642,0.500,0.114 +0.647,0.503,0.113 +0.652,0.507,0.112 +0.657,0.511,0.111 +0.662,0.515,0.110 +0.667,0.518,0.109 +0.672,0.522,0.108 +0.677,0.526,0.107 +0.682,0.530,0.106 +0.687,0.534,0.105 +0.692,0.537,0.104 +0.697,0.541,0.103 +0.702,0.545,0.102 diff --git a/test/CETperceptual_csv_0_1/CET-D07.csv b/test/CETperceptual_csv_0_1/CET-D07.csv new file mode 100644 index 0000000..76b62be --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-D07.csv @@ -0,0 +1,256 @@ +0.078,0.193,0.758 +0.095,0.196,0.757 +0.110,0.199,0.756 +0.123,0.202,0.754 +0.135,0.205,0.753 +0.146,0.208,0.751 +0.156,0.210,0.750 +0.166,0.213,0.749 +0.175,0.216,0.747 +0.183,0.219,0.746 +0.191,0.222,0.745 +0.199,0.225,0.743 +0.206,0.228,0.742 +0.213,0.230,0.740 +0.220,0.233,0.739 +0.227,0.236,0.738 +0.233,0.239,0.736 +0.240,0.242,0.735 +0.246,0.245,0.733 +0.251,0.248,0.732 +0.257,0.250,0.731 +0.263,0.253,0.729 +0.268,0.256,0.728 +0.273,0.259,0.727 +0.278,0.262,0.725 +0.283,0.265,0.724 +0.288,0.268,0.722 +0.293,0.271,0.721 +0.298,0.273,0.719 +0.303,0.276,0.718 +0.307,0.279,0.717 +0.312,0.282,0.715 +0.316,0.285,0.714 +0.320,0.288,0.712 +0.324,0.291,0.711 +0.329,0.294,0.710 +0.333,0.296,0.708 +0.337,0.299,0.707 +0.341,0.302,0.705 +0.345,0.305,0.704 +0.348,0.308,0.703 +0.352,0.311,0.701 +0.356,0.314,0.700 +0.360,0.317,0.698 +0.363,0.320,0.697 +0.367,0.322,0.695 +0.370,0.325,0.694 +0.374,0.328,0.692 +0.377,0.331,0.691 +0.381,0.334,0.690 +0.384,0.337,0.688 +0.387,0.340,0.687 +0.391,0.343,0.685 +0.394,0.346,0.684 +0.397,0.349,0.682 +0.400,0.351,0.681 +0.403,0.354,0.679 +0.406,0.357,0.678 +0.410,0.360,0.676 +0.413,0.363,0.675 +0.416,0.366,0.674 +0.418,0.369,0.672 +0.421,0.372,0.671 +0.424,0.375,0.669 +0.427,0.378,0.668 +0.430,0.381,0.666 +0.433,0.384,0.665 +0.436,0.387,0.663 +0.438,0.389,0.662 +0.441,0.392,0.660 +0.444,0.395,0.659 +0.447,0.398,0.657 +0.449,0.401,0.656 +0.452,0.404,0.654 +0.454,0.407,0.653 +0.457,0.410,0.651 +0.460,0.413,0.650 +0.462,0.416,0.648 +0.465,0.419,0.647 +0.467,0.422,0.645 +0.470,0.425,0.644 +0.472,0.428,0.642 +0.474,0.431,0.641 +0.477,0.434,0.639 +0.479,0.437,0.637 +0.482,0.440,0.636 +0.484,0.443,0.634 +0.486,0.445,0.633 +0.489,0.448,0.631 +0.491,0.451,0.630 +0.493,0.454,0.628 +0.495,0.457,0.627 +0.498,0.460,0.625 +0.500,0.463,0.624 +0.502,0.466,0.622 +0.504,0.469,0.620 +0.506,0.472,0.619 +0.509,0.475,0.617 +0.511,0.478,0.616 +0.513,0.481,0.614 +0.515,0.484,0.612 +0.517,0.487,0.611 +0.519,0.490,0.609 +0.521,0.493,0.608 +0.523,0.496,0.606 +0.525,0.499,0.604 +0.527,0.502,0.603 +0.529,0.505,0.601 +0.531,0.508,0.600 +0.533,0.511,0.598 +0.535,0.514,0.596 +0.537,0.517,0.595 +0.539,0.520,0.593 +0.541,0.523,0.591 +0.543,0.526,0.590 +0.544,0.529,0.588 +0.546,0.532,0.586 +0.548,0.535,0.585 +0.550,0.538,0.583 +0.552,0.541,0.581 +0.554,0.544,0.580 +0.555,0.547,0.578 +0.557,0.550,0.576 +0.559,0.553,0.575 +0.561,0.556,0.573 +0.562,0.559,0.571 +0.564,0.562,0.569 +0.566,0.565,0.568 +0.569,0.568,0.566 +0.573,0.570,0.563 +0.577,0.573,0.561 +0.581,0.575,0.559 +0.585,0.578,0.556 +0.589,0.580,0.554 +0.593,0.582,0.552 +0.597,0.585,0.549 +0.601,0.587,0.547 +0.605,0.590,0.544 +0.609,0.592,0.542 +0.613,0.595,0.539 +0.616,0.597,0.537 +0.620,0.599,0.535 +0.624,0.602,0.532 +0.628,0.604,0.530 +0.632,0.607,0.527 +0.635,0.609,0.525 +0.639,0.612,0.522 +0.643,0.614,0.520 +0.646,0.616,0.517 +0.650,0.619,0.515 +0.654,0.621,0.512 +0.657,0.624,0.510 +0.661,0.626,0.507 +0.665,0.629,0.505 +0.668,0.631,0.502 +0.672,0.634,0.500 +0.676,0.636,0.497 +0.679,0.639,0.495 +0.683,0.641,0.492 +0.686,0.644,0.489 +0.690,0.646,0.487 +0.693,0.649,0.484 +0.697,0.651,0.482 +0.700,0.654,0.479 +0.704,0.656,0.476 +0.707,0.659,0.474 +0.711,0.661,0.471 +0.714,0.664,0.468 +0.718,0.666,0.466 +0.721,0.669,0.463 +0.724,0.671,0.460 +0.728,0.674,0.457 +0.731,0.676,0.455 +0.735,0.679,0.452 +0.738,0.681,0.449 +0.741,0.684,0.446 +0.745,0.686,0.443 +0.748,0.689,0.441 +0.752,0.691,0.438 +0.755,0.694,0.435 +0.758,0.696,0.432 +0.761,0.699,0.429 +0.765,0.702,0.426 +0.768,0.704,0.423 +0.771,0.707,0.420 +0.775,0.709,0.417 +0.778,0.712,0.414 +0.781,0.714,0.411 +0.784,0.717,0.408 +0.788,0.719,0.405 +0.791,0.722,0.402 +0.794,0.725,0.399 +0.797,0.727,0.396 +0.801,0.730,0.393 +0.804,0.732,0.390 +0.807,0.735,0.387 +0.810,0.737,0.383 +0.814,0.740,0.380 +0.817,0.743,0.377 +0.820,0.745,0.374 +0.823,0.748,0.370 +0.826,0.750,0.367 +0.829,0.753,0.364 +0.833,0.756,0.360 +0.836,0.758,0.357 +0.839,0.761,0.353 +0.842,0.763,0.350 +0.845,0.766,0.346 +0.848,0.769,0.343 +0.851,0.771,0.339 +0.855,0.774,0.336 +0.858,0.777,0.332 +0.861,0.779,0.328 +0.864,0.782,0.324 +0.867,0.784,0.320 +0.870,0.787,0.317 +0.873,0.790,0.313 +0.876,0.792,0.309 +0.879,0.795,0.305 +0.883,0.798,0.301 +0.886,0.800,0.297 +0.889,0.803,0.292 +0.892,0.805,0.288 +0.895,0.808,0.284 +0.898,0.811,0.279 +0.901,0.813,0.275 +0.904,0.816,0.270 +0.907,0.819,0.266 +0.910,0.821,0.261 +0.913,0.824,0.256 +0.916,0.827,0.251 +0.919,0.829,0.246 +0.922,0.832,0.241 +0.925,0.835,0.236 +0.928,0.837,0.231 +0.931,0.840,0.225 +0.934,0.843,0.220 +0.937,0.845,0.214 +0.940,0.848,0.208 +0.943,0.851,0.202 +0.946,0.853,0.195 +0.949,0.856,0.189 +0.952,0.859,0.182 +0.955,0.861,0.175 +0.958,0.864,0.168 +0.961,0.867,0.160 +0.964,0.870,0.152 +0.967,0.872,0.143 +0.970,0.875,0.134 +0.973,0.878,0.124 +0.976,0.880,0.114 +0.979,0.883,0.102 +0.982,0.886,0.090 +0.985,0.888,0.075 +0.988,0.891,0.058 +0.991,0.894,0.036 diff --git a/test/CETperceptual_csv_0_1/CET-D08.csv b/test/CETperceptual_csv_0_1/CET-D08.csv new file mode 100644 index 0000000..b1b0240 --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-D08.csv @@ -0,0 +1,256 @@ +0.000,0.165,0.844 +0.000,0.167,0.840 +0.000,0.169,0.837 +0.000,0.171,0.833 +0.000,0.173,0.829 +0.000,0.175,0.826 +0.000,0.177,0.822 +0.000,0.179,0.819 +0.026,0.181,0.815 +0.053,0.183,0.811 +0.073,0.185,0.808 +0.090,0.187,0.804 +0.104,0.189,0.801 +0.116,0.191,0.797 +0.128,0.193,0.794 +0.138,0.195,0.790 +0.147,0.197,0.786 +0.156,0.199,0.783 +0.164,0.201,0.779 +0.172,0.203,0.776 +0.179,0.205,0.772 +0.186,0.207,0.768 +0.192,0.208,0.765 +0.199,0.210,0.761 +0.205,0.212,0.758 +0.210,0.214,0.754 +0.216,0.216,0.751 +0.221,0.218,0.747 +0.226,0.220,0.744 +0.231,0.222,0.740 +0.236,0.223,0.736 +0.240,0.225,0.733 +0.245,0.227,0.729 +0.249,0.229,0.726 +0.253,0.231,0.722 +0.257,0.233,0.719 +0.261,0.235,0.715 +0.265,0.236,0.712 +0.269,0.238,0.708 +0.272,0.240,0.705 +0.276,0.242,0.701 +0.279,0.244,0.697 +0.283,0.246,0.694 +0.286,0.247,0.690 +0.289,0.249,0.687 +0.292,0.251,0.683 +0.295,0.253,0.680 +0.298,0.255,0.676 +0.301,0.256,0.673 +0.304,0.258,0.669 +0.306,0.260,0.666 +0.309,0.262,0.662 +0.311,0.264,0.659 +0.314,0.265,0.655 +0.316,0.267,0.652 +0.319,0.269,0.648 +0.321,0.271,0.645 +0.323,0.273,0.641 +0.326,0.274,0.638 +0.328,0.276,0.634 +0.330,0.278,0.631 +0.332,0.280,0.627 +0.334,0.282,0.623 +0.336,0.283,0.620 +0.338,0.285,0.616 +0.340,0.287,0.613 +0.342,0.289,0.609 +0.343,0.290,0.606 +0.345,0.292,0.602 +0.347,0.294,0.599 +0.349,0.296,0.595 +0.350,0.297,0.592 +0.352,0.299,0.588 +0.353,0.301,0.585 +0.355,0.303,0.581 +0.356,0.304,0.578 +0.358,0.306,0.574 +0.359,0.308,0.571 +0.361,0.310,0.567 +0.362,0.311,0.564 +0.363,0.313,0.560 +0.365,0.315,0.557 +0.366,0.316,0.553 +0.367,0.318,0.550 +0.368,0.320,0.546 +0.369,0.322,0.543 +0.371,0.323,0.539 +0.372,0.325,0.536 +0.373,0.327,0.532 +0.374,0.329,0.529 +0.375,0.330,0.525 +0.376,0.332,0.522 +0.377,0.334,0.518 +0.378,0.335,0.515 +0.378,0.337,0.511 +0.379,0.339,0.508 +0.380,0.340,0.505 +0.381,0.342,0.501 +0.382,0.344,0.498 +0.382,0.346,0.494 +0.383,0.347,0.490 +0.384,0.349,0.487 +0.384,0.351,0.483 +0.385,0.352,0.480 +0.386,0.354,0.476 +0.386,0.356,0.473 +0.387,0.357,0.469 +0.387,0.359,0.466 +0.388,0.361,0.462 +0.388,0.362,0.459 +0.389,0.364,0.455 +0.389,0.366,0.452 +0.390,0.368,0.448 +0.390,0.369,0.445 +0.390,0.371,0.441 +0.391,0.373,0.438 +0.391,0.374,0.434 +0.391,0.376,0.431 +0.392,0.378,0.427 +0.392,0.379,0.424 +0.392,0.381,0.420 +0.392,0.383,0.417 +0.393,0.384,0.413 +0.393,0.386,0.409 +0.393,0.388,0.406 +0.393,0.389,0.402 +0.393,0.391,0.399 +0.393,0.393,0.395 +0.397,0.393,0.392 +0.403,0.393,0.390 +0.410,0.392,0.387 +0.417,0.392,0.385 +0.423,0.391,0.382 +0.429,0.391,0.380 +0.436,0.390,0.377 +0.442,0.390,0.375 +0.448,0.389,0.373 +0.454,0.388,0.370 +0.460,0.388,0.368 +0.466,0.387,0.365 +0.472,0.387,0.363 +0.478,0.386,0.360 +0.484,0.385,0.358 +0.490,0.385,0.355 +0.496,0.384,0.353 +0.501,0.383,0.350 +0.507,0.383,0.348 +0.513,0.382,0.346 +0.518,0.381,0.343 +0.524,0.380,0.341 +0.529,0.380,0.338 +0.535,0.379,0.336 +0.540,0.378,0.333 +0.545,0.377,0.331 +0.551,0.376,0.328 +0.556,0.376,0.326 +0.561,0.375,0.323 +0.567,0.374,0.321 +0.572,0.373,0.318 +0.577,0.372,0.316 +0.582,0.371,0.313 +0.587,0.370,0.311 +0.593,0.369,0.308 +0.598,0.368,0.306 +0.603,0.367,0.303 +0.608,0.366,0.301 +0.613,0.365,0.298 +0.618,0.364,0.296 +0.623,0.363,0.293 +0.628,0.362,0.291 +0.633,0.361,0.288 +0.638,0.360,0.286 +0.643,0.359,0.283 +0.648,0.358,0.281 +0.653,0.356,0.278 +0.657,0.355,0.275 +0.662,0.354,0.273 +0.667,0.353,0.270 +0.672,0.351,0.268 +0.677,0.350,0.265 +0.682,0.349,0.263 +0.686,0.347,0.260 +0.691,0.346,0.257 +0.696,0.345,0.255 +0.701,0.343,0.252 +0.705,0.342,0.250 +0.710,0.340,0.247 +0.715,0.339,0.244 +0.720,0.337,0.242 +0.724,0.336,0.239 +0.729,0.334,0.237 +0.734,0.333,0.234 +0.738,0.331,0.231 +0.743,0.330,0.229 +0.748,0.328,0.226 +0.752,0.326,0.223 +0.757,0.324,0.221 +0.761,0.323,0.218 +0.766,0.321,0.215 +0.771,0.319,0.212 +0.775,0.317,0.210 +0.780,0.315,0.207 +0.784,0.313,0.204 +0.789,0.311,0.201 +0.794,0.309,0.199 +0.798,0.307,0.196 +0.803,0.305,0.193 +0.807,0.303,0.190 +0.812,0.301,0.187 +0.816,0.299,0.184 +0.821,0.296,0.182 +0.825,0.294,0.179 +0.830,0.292,0.176 +0.834,0.290,0.173 +0.839,0.287,0.170 +0.843,0.285,0.167 +0.848,0.282,0.164 +0.852,0.280,0.161 +0.857,0.277,0.158 +0.861,0.274,0.155 +0.866,0.271,0.152 +0.870,0.269,0.149 +0.875,0.266,0.145 +0.879,0.263,0.142 +0.884,0.260,0.139 +0.888,0.257,0.136 +0.892,0.254,0.132 +0.897,0.250,0.129 +0.901,0.247,0.126 +0.906,0.244,0.122 +0.910,0.240,0.119 +0.915,0.237,0.115 +0.919,0.233,0.112 +0.923,0.229,0.108 +0.928,0.225,0.104 +0.932,0.222,0.100 +0.937,0.217,0.096 +0.941,0.213,0.092 +0.945,0.209,0.088 +0.950,0.204,0.084 +0.954,0.200,0.080 +0.959,0.195,0.075 +0.963,0.190,0.070 +0.967,0.185,0.066 +0.972,0.179,0.060 +0.976,0.174,0.055 +0.981,0.168,0.050 +0.985,0.162,0.043 +0.989,0.156,0.037 +0.994,0.149,0.030 +0.998,0.142,0.024 +1.000,0.134,0.018 +1.000,0.126,0.012 +1.000,0.117,0.005 +1.000,0.108,0.000 +1.000,0.097,0.000 diff --git a/test/CETperceptual_csv_0_1/CET-D09.csv b/test/CETperceptual_csv_0_1/CET-D09.csv new file mode 100644 index 0000000..e9f1138 --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-D09.csv @@ -0,0 +1,256 @@ +0.141,0.501,0.998 +0.162,0.504,0.998 +0.181,0.508,0.998 +0.198,0.511,0.998 +0.214,0.514,0.998 +0.228,0.518,0.998 +0.242,0.521,0.998 +0.255,0.524,0.998 +0.267,0.528,0.998 +0.279,0.531,0.998 +0.290,0.535,0.998 +0.301,0.538,0.998 +0.311,0.541,0.998 +0.321,0.545,0.998 +0.331,0.548,0.998 +0.340,0.552,0.998 +0.350,0.555,0.998 +0.359,0.559,0.998 +0.367,0.562,0.998 +0.376,0.565,0.998 +0.385,0.569,0.998 +0.393,0.572,0.998 +0.401,0.576,0.998 +0.409,0.579,0.998 +0.417,0.583,0.998 +0.424,0.586,0.997 +0.432,0.590,0.997 +0.439,0.593,0.997 +0.447,0.597,0.997 +0.454,0.600,0.997 +0.461,0.604,0.997 +0.468,0.608,0.997 +0.475,0.611,0.997 +0.482,0.615,0.997 +0.489,0.618,0.997 +0.495,0.622,0.997 +0.502,0.625,0.997 +0.509,0.629,0.997 +0.515,0.633,0.997 +0.521,0.636,0.997 +0.528,0.640,0.996 +0.534,0.643,0.996 +0.540,0.647,0.996 +0.547,0.651,0.996 +0.553,0.654,0.996 +0.559,0.658,0.996 +0.565,0.661,0.996 +0.571,0.665,0.996 +0.577,0.669,0.996 +0.583,0.672,0.996 +0.589,0.676,0.995 +0.594,0.680,0.995 +0.600,0.683,0.995 +0.606,0.687,0.995 +0.612,0.691,0.995 +0.617,0.694,0.995 +0.623,0.698,0.995 +0.629,0.702,0.995 +0.634,0.705,0.994 +0.640,0.709,0.994 +0.645,0.713,0.994 +0.651,0.717,0.994 +0.656,0.720,0.994 +0.661,0.724,0.994 +0.667,0.728,0.994 +0.672,0.731,0.993 +0.678,0.735,0.993 +0.683,0.739,0.993 +0.688,0.743,0.993 +0.693,0.746,0.993 +0.699,0.750,0.993 +0.704,0.754,0.992 +0.709,0.758,0.992 +0.714,0.762,0.992 +0.719,0.765,0.992 +0.724,0.769,0.992 +0.730,0.773,0.992 +0.735,0.777,0.991 +0.740,0.780,0.991 +0.745,0.784,0.991 +0.750,0.788,0.991 +0.755,0.792,0.991 +0.760,0.796,0.990 +0.765,0.800,0.990 +0.770,0.803,0.990 +0.775,0.807,0.990 +0.780,0.811,0.989 +0.784,0.815,0.989 +0.789,0.819,0.989 +0.794,0.823,0.989 +0.799,0.826,0.989 +0.804,0.830,0.988 +0.809,0.834,0.988 +0.814,0.838,0.988 +0.818,0.842,0.988 +0.823,0.846,0.987 +0.828,0.850,0.987 +0.833,0.853,0.987 +0.837,0.857,0.987 +0.842,0.861,0.986 +0.847,0.865,0.986 +0.852,0.869,0.986 +0.856,0.873,0.986 +0.861,0.877,0.985 +0.866,0.881,0.985 +0.870,0.885,0.985 +0.875,0.889,0.985 +0.880,0.893,0.984 +0.884,0.896,0.984 +0.889,0.900,0.984 +0.894,0.904,0.983 +0.898,0.908,0.983 +0.903,0.912,0.983 +0.908,0.916,0.982 +0.912,0.920,0.982 +0.917,0.924,0.982 +0.921,0.928,0.982 +0.926,0.932,0.981 +0.930,0.936,0.981 +0.935,0.940,0.981 +0.939,0.944,0.980 +0.944,0.948,0.980 +0.949,0.952,0.980 +0.953,0.956,0.979 +0.958,0.960,0.978 +0.962,0.963,0.977 +0.967,0.966,0.975 +0.972,0.967,0.972 +0.975,0.966,0.967 +0.978,0.964,0.962 +0.980,0.960,0.956 +0.981,0.955,0.949 +0.982,0.951,0.943 +0.983,0.946,0.936 +0.984,0.941,0.930 +0.985,0.936,0.924 +0.986,0.931,0.917 +0.986,0.926,0.911 +0.987,0.921,0.905 +0.988,0.916,0.898 +0.988,0.911,0.892 +0.989,0.906,0.886 +0.990,0.901,0.879 +0.990,0.896,0.873 +0.991,0.891,0.867 +0.991,0.886,0.860 +0.992,0.881,0.854 +0.992,0.876,0.848 +0.992,0.871,0.841 +0.993,0.866,0.835 +0.993,0.861,0.829 +0.993,0.857,0.823 +0.994,0.852,0.816 +0.994,0.847,0.810 +0.994,0.842,0.804 +0.994,0.837,0.798 +0.995,0.832,0.791 +0.995,0.827,0.785 +0.995,0.822,0.779 +0.995,0.817,0.773 +0.995,0.812,0.767 +0.995,0.807,0.760 +0.995,0.802,0.754 +0.995,0.797,0.748 +0.995,0.792,0.742 +0.995,0.787,0.736 +0.995,0.782,0.730 +0.995,0.777,0.724 +0.995,0.772,0.717 +0.995,0.767,0.711 +0.994,0.762,0.705 +0.994,0.757,0.699 +0.994,0.753,0.693 +0.994,0.748,0.687 +0.994,0.743,0.681 +0.993,0.738,0.675 +0.993,0.733,0.669 +0.993,0.728,0.663 +0.992,0.723,0.657 +0.992,0.718,0.651 +0.991,0.713,0.645 +0.991,0.708,0.639 +0.990,0.703,0.633 +0.990,0.698,0.627 +0.989,0.693,0.621 +0.989,0.688,0.615 +0.988,0.683,0.609 +0.988,0.678,0.603 +0.987,0.673,0.597 +0.987,0.668,0.591 +0.986,0.663,0.585 +0.985,0.658,0.579 +0.985,0.653,0.573 +0.984,0.648,0.567 +0.983,0.643,0.561 +0.982,0.638,0.555 +0.982,0.633,0.549 +0.981,0.628,0.543 +0.980,0.623,0.537 +0.979,0.618,0.532 +0.978,0.613,0.526 +0.978,0.608,0.520 +0.977,0.603,0.514 +0.976,0.598,0.508 +0.975,0.592,0.502 +0.974,0.587,0.496 +0.973,0.582,0.491 +0.972,0.577,0.485 +0.971,0.572,0.479 +0.970,0.567,0.473 +0.969,0.562,0.468 +0.968,0.557,0.462 +0.967,0.552,0.456 +0.966,0.547,0.450 +0.964,0.541,0.444 +0.963,0.536,0.439 +0.962,0.531,0.433 +0.961,0.526,0.427 +0.960,0.521,0.422 +0.958,0.516,0.416 +0.957,0.510,0.410 +0.956,0.505,0.404 +0.955,0.500,0.399 +0.953,0.495,0.393 +0.952,0.489,0.387 +0.951,0.484,0.382 +0.949,0.479,0.376 +0.948,0.474,0.370 +0.947,0.468,0.365 +0.945,0.463,0.359 +0.944,0.458,0.354 +0.942,0.452,0.348 +0.941,0.447,0.342 +0.940,0.441,0.337 +0.938,0.436,0.331 +0.937,0.431,0.325 +0.935,0.425,0.320 +0.933,0.420,0.314 +0.932,0.414,0.309 +0.930,0.409,0.303 +0.929,0.403,0.298 +0.927,0.397,0.292 +0.926,0.392,0.286 +0.924,0.386,0.281 +0.922,0.380,0.275 +0.921,0.375,0.270 +0.919,0.369,0.264 +0.917,0.363,0.259 +0.915,0.357,0.253 +0.914,0.351,0.248 +0.912,0.345,0.242 +0.910,0.339,0.237 +0.908,0.333,0.231 +0.907,0.327,0.226 +0.905,0.321,0.220 +0.903,0.315,0.214 diff --git a/test/CETperceptual_csv_0_1/CET-D10.csv b/test/CETperceptual_csv_0_1/CET-D10.csv new file mode 100644 index 0000000..cbf4fea --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-D10.csv @@ -0,0 +1,256 @@ +0.000,0.851,1.000 +0.000,0.852,1.000 +0.056,0.853,1.000 +0.100,0.854,1.000 +0.132,0.856,1.000 +0.157,0.857,1.000 +0.179,0.858,1.000 +0.198,0.859,1.000 +0.216,0.860,1.000 +0.232,0.862,1.000 +0.248,0.863,1.000 +0.262,0.864,1.000 +0.275,0.865,1.000 +0.288,0.867,1.000 +0.300,0.868,1.000 +0.312,0.869,1.000 +0.323,0.870,1.000 +0.334,0.871,1.000 +0.345,0.873,1.000 +0.355,0.874,1.000 +0.365,0.875,1.000 +0.375,0.876,1.000 +0.384,0.877,1.000 +0.394,0.879,1.000 +0.403,0.880,1.000 +0.411,0.881,1.000 +0.420,0.882,1.000 +0.429,0.883,1.000 +0.437,0.885,1.000 +0.445,0.886,1.000 +0.453,0.887,1.000 +0.461,0.888,1.000 +0.469,0.889,1.000 +0.477,0.891,1.000 +0.484,0.892,1.000 +0.492,0.893,1.000 +0.499,0.894,1.000 +0.506,0.895,1.000 +0.513,0.897,1.000 +0.520,0.898,1.000 +0.527,0.899,1.000 +0.534,0.900,1.000 +0.541,0.901,1.000 +0.548,0.903,1.000 +0.555,0.904,1.000 +0.561,0.905,1.000 +0.568,0.906,1.000 +0.574,0.907,1.000 +0.581,0.908,1.000 +0.587,0.910,1.000 +0.594,0.911,1.000 +0.600,0.912,1.000 +0.606,0.913,1.000 +0.612,0.914,1.000 +0.618,0.916,1.000 +0.625,0.917,1.000 +0.631,0.918,1.000 +0.637,0.919,1.000 +0.643,0.920,1.000 +0.649,0.921,1.000 +0.654,0.923,1.000 +0.660,0.924,1.000 +0.666,0.925,1.000 +0.672,0.926,1.000 +0.678,0.927,1.000 +0.683,0.928,1.000 +0.689,0.930,1.000 +0.695,0.931,1.000 +0.700,0.932,1.000 +0.706,0.933,1.000 +0.711,0.934,1.000 +0.717,0.935,1.000 +0.722,0.937,1.000 +0.728,0.938,1.000 +0.733,0.939,1.000 +0.739,0.940,1.000 +0.744,0.941,1.000 +0.749,0.942,1.000 +0.755,0.944,1.000 +0.760,0.945,1.000 +0.765,0.946,1.000 +0.771,0.947,1.000 +0.776,0.948,1.000 +0.781,0.949,1.000 +0.786,0.950,1.000 +0.792,0.952,1.000 +0.797,0.953,1.000 +0.802,0.954,1.000 +0.807,0.955,1.000 +0.812,0.956,1.000 +0.817,0.957,1.000 +0.822,0.958,1.000 +0.827,0.960,1.000 +0.833,0.961,1.000 +0.838,0.962,1.000 +0.843,0.963,1.000 +0.848,0.964,1.000 +0.853,0.965,1.000 +0.858,0.966,1.000 +0.863,0.968,1.000 +0.867,0.969,1.000 +0.872,0.970,1.000 +0.877,0.971,1.000 +0.882,0.972,1.000 +0.887,0.973,1.000 +0.892,0.974,1.000 +0.897,0.976,1.000 +0.902,0.977,1.000 +0.907,0.978,1.000 +0.911,0.979,1.000 +0.916,0.980,1.000 +0.921,0.981,1.000 +0.926,0.982,1.000 +0.931,0.984,1.000 +0.935,0.985,1.000 +0.940,0.986,1.000 +0.945,0.987,1.000 +0.950,0.988,1.000 +0.954,0.989,1.000 +0.959,0.990,1.000 +0.964,0.991,1.000 +0.968,0.993,1.000 +0.973,0.994,1.000 +0.978,0.995,1.000 +0.982,0.996,1.000 +0.987,0.997,1.000 +0.991,0.998,1.000 +0.997,0.999,1.000 +1.000,0.998,1.000 +1.000,0.996,0.999 +1.000,0.993,0.999 +1.000,0.991,0.998 +1.000,0.988,0.998 +1.000,0.986,0.998 +1.000,0.983,0.997 +1.000,0.981,0.997 +1.000,0.979,0.996 +1.000,0.976,0.996 +1.000,0.974,0.995 +1.000,0.971,0.995 +1.000,0.969,0.994 +1.000,0.966,0.994 +1.000,0.964,0.994 +1.000,0.961,0.993 +1.000,0.959,0.993 +1.000,0.956,0.992 +1.000,0.954,0.992 +1.000,0.952,0.991 +1.000,0.949,0.991 +1.000,0.947,0.991 +1.000,0.944,0.990 +1.000,0.942,0.990 +1.000,0.939,0.989 +1.000,0.937,0.989 +1.000,0.934,0.988 +0.999,0.932,0.988 +0.999,0.929,0.987 +0.999,0.927,0.987 +0.999,0.924,0.987 +0.999,0.922,0.986 +0.999,0.919,0.986 +0.999,0.917,0.985 +0.999,0.915,0.985 +0.999,0.912,0.984 +0.999,0.910,0.984 +0.999,0.907,0.983 +0.999,0.905,0.983 +0.999,0.902,0.983 +0.998,0.900,0.982 +0.998,0.897,0.982 +0.998,0.895,0.981 +0.998,0.892,0.981 +0.998,0.890,0.980 +0.998,0.887,0.980 +0.998,0.885,0.979 +0.998,0.882,0.979 +0.998,0.880,0.978 +0.997,0.877,0.978 +0.997,0.875,0.978 +0.997,0.872,0.977 +0.997,0.870,0.977 +0.997,0.868,0.976 +0.997,0.865,0.976 +0.997,0.863,0.975 +0.997,0.860,0.975 +0.996,0.858,0.974 +0.996,0.855,0.974 +0.996,0.853,0.974 +0.996,0.850,0.973 +0.996,0.848,0.973 +0.996,0.845,0.972 +0.996,0.843,0.972 +0.995,0.840,0.971 +0.995,0.838,0.971 +0.995,0.835,0.970 +0.995,0.833,0.970 +0.995,0.830,0.969 +0.995,0.828,0.969 +0.994,0.825,0.968 +0.994,0.823,0.968 +0.994,0.820,0.968 +0.994,0.818,0.967 +0.994,0.815,0.967 +0.993,0.813,0.966 +0.993,0.810,0.966 +0.993,0.808,0.965 +0.993,0.805,0.965 +0.993,0.803,0.964 +0.992,0.800,0.964 +0.992,0.798,0.963 +0.992,0.795,0.963 +0.992,0.793,0.962 +0.992,0.790,0.962 +0.991,0.788,0.962 +0.991,0.785,0.961 +0.991,0.783,0.961 +0.991,0.780,0.960 +0.990,0.777,0.960 +0.990,0.775,0.959 +0.990,0.772,0.959 +0.990,0.770,0.958 +0.990,0.767,0.958 +0.989,0.765,0.957 +0.989,0.762,0.957 +0.989,0.760,0.956 +0.989,0.757,0.956 +0.988,0.755,0.955 +0.988,0.752,0.955 +0.988,0.750,0.954 +0.988,0.747,0.954 +0.987,0.745,0.954 +0.987,0.742,0.953 +0.987,0.739,0.953 +0.987,0.737,0.952 +0.986,0.734,0.952 +0.986,0.732,0.951 +0.986,0.729,0.951 +0.985,0.727,0.950 +0.985,0.724,0.950 +0.985,0.722,0.949 +0.985,0.719,0.949 +0.984,0.717,0.948 +0.984,0.714,0.948 +0.984,0.711,0.947 +0.983,0.709,0.947 +0.983,0.706,0.946 +0.983,0.704,0.946 +0.982,0.701,0.945 +0.982,0.699,0.945 +0.982,0.696,0.944 +0.982,0.693,0.944 +0.981,0.691,0.943 +0.981,0.688,0.943 +0.981,0.686,0.943 +0.980,0.683,0.942 +0.980,0.680,0.942 diff --git a/test/CETperceptual_csv_0_1/CET-D11.csv b/test/CETperceptual_csv_0_1/CET-D11.csv new file mode 100644 index 0000000..881e843 --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-D11.csv @@ -0,0 +1,256 @@ +0.000,0.715,1.000 +0.000,0.715,1.000 +0.000,0.715,1.000 +0.000,0.714,1.000 +0.024,0.714,1.000 +0.068,0.713,0.999 +0.098,0.713,0.996 +0.121,0.713,0.994 +0.140,0.712,0.991 +0.157,0.712,0.988 +0.172,0.712,0.986 +0.186,0.711,0.983 +0.199,0.711,0.980 +0.211,0.711,0.977 +0.222,0.710,0.975 +0.232,0.710,0.972 +0.242,0.709,0.969 +0.252,0.709,0.967 +0.261,0.709,0.964 +0.270,0.708,0.961 +0.278,0.708,0.958 +0.286,0.708,0.956 +0.294,0.707,0.953 +0.301,0.707,0.950 +0.309,0.707,0.948 +0.316,0.706,0.945 +0.323,0.706,0.942 +0.329,0.705,0.939 +0.336,0.705,0.937 +0.342,0.705,0.934 +0.348,0.704,0.931 +0.355,0.704,0.929 +0.360,0.704,0.926 +0.366,0.703,0.923 +0.372,0.703,0.921 +0.377,0.703,0.918 +0.383,0.702,0.915 +0.388,0.702,0.912 +0.393,0.702,0.910 +0.398,0.701,0.907 +0.403,0.701,0.904 +0.408,0.701,0.902 +0.413,0.700,0.899 +0.418,0.700,0.896 +0.423,0.699,0.894 +0.427,0.699,0.891 +0.432,0.699,0.888 +0.436,0.698,0.886 +0.441,0.698,0.883 +0.445,0.698,0.880 +0.449,0.697,0.878 +0.453,0.697,0.875 +0.458,0.697,0.872 +0.462,0.696,0.869 +0.466,0.696,0.867 +0.470,0.696,0.864 +0.473,0.695,0.861 +0.477,0.695,0.859 +0.481,0.695,0.856 +0.485,0.694,0.853 +0.489,0.694,0.851 +0.492,0.693,0.848 +0.496,0.693,0.845 +0.500,0.693,0.843 +0.503,0.692,0.840 +0.507,0.692,0.837 +0.510,0.692,0.835 +0.513,0.691,0.832 +0.517,0.691,0.829 +0.520,0.691,0.827 +0.524,0.690,0.824 +0.527,0.690,0.821 +0.530,0.690,0.819 +0.533,0.689,0.816 +0.536,0.689,0.813 +0.540,0.689,0.811 +0.543,0.688,0.808 +0.546,0.688,0.805 +0.549,0.688,0.803 +0.552,0.687,0.800 +0.555,0.687,0.797 +0.558,0.687,0.795 +0.561,0.686,0.792 +0.564,0.686,0.789 +0.566,0.686,0.787 +0.569,0.685,0.784 +0.572,0.685,0.781 +0.575,0.685,0.779 +0.578,0.684,0.776 +0.580,0.684,0.773 +0.583,0.683,0.771 +0.586,0.683,0.768 +0.588,0.683,0.765 +0.591,0.682,0.763 +0.594,0.682,0.760 +0.596,0.682,0.757 +0.599,0.681,0.755 +0.601,0.681,0.752 +0.604,0.681,0.749 +0.607,0.680,0.747 +0.609,0.680,0.744 +0.612,0.680,0.741 +0.614,0.679,0.739 +0.616,0.679,0.736 +0.619,0.679,0.733 +0.621,0.678,0.731 +0.624,0.678,0.728 +0.626,0.678,0.725 +0.628,0.677,0.723 +0.631,0.677,0.720 +0.633,0.677,0.717 +0.635,0.676,0.715 +0.638,0.676,0.712 +0.640,0.676,0.709 +0.642,0.675,0.707 +0.644,0.675,0.704 +0.647,0.675,0.701 +0.649,0.674,0.699 +0.651,0.674,0.696 +0.653,0.674,0.694 +0.656,0.673,0.691 +0.658,0.673,0.689 +0.660,0.672,0.686 +0.662,0.672,0.684 +0.665,0.671,0.681 +0.667,0.671,0.679 +0.670,0.671,0.676 +0.672,0.670,0.674 +0.675,0.670,0.672 +0.677,0.669,0.669 +0.680,0.668,0.667 +0.682,0.668,0.665 +0.685,0.667,0.663 +0.688,0.667,0.661 +0.691,0.666,0.659 +0.693,0.665,0.657 +0.696,0.665,0.655 +0.699,0.664,0.653 +0.702,0.663,0.651 +0.704,0.663,0.649 +0.707,0.662,0.647 +0.710,0.661,0.645 +0.713,0.660,0.643 +0.715,0.660,0.641 +0.718,0.659,0.639 +0.721,0.658,0.637 +0.724,0.658,0.635 +0.726,0.657,0.633 +0.729,0.656,0.631 +0.732,0.655,0.630 +0.734,0.655,0.628 +0.737,0.654,0.626 +0.740,0.653,0.624 +0.742,0.652,0.622 +0.745,0.652,0.620 +0.748,0.651,0.618 +0.750,0.650,0.616 +0.753,0.649,0.614 +0.755,0.649,0.612 +0.758,0.648,0.610 +0.761,0.647,0.609 +0.763,0.646,0.607 +0.766,0.646,0.605 +0.768,0.645,0.603 +0.771,0.644,0.601 +0.773,0.643,0.599 +0.776,0.643,0.597 +0.778,0.642,0.595 +0.781,0.641,0.593 +0.783,0.640,0.591 +0.786,0.639,0.589 +0.788,0.639,0.588 +0.790,0.638,0.586 +0.793,0.637,0.584 +0.795,0.636,0.582 +0.798,0.636,0.580 +0.800,0.635,0.578 +0.802,0.634,0.576 +0.805,0.633,0.574 +0.807,0.632,0.572 +0.810,0.632,0.570 +0.812,0.631,0.568 +0.814,0.630,0.567 +0.817,0.629,0.565 +0.819,0.628,0.563 +0.821,0.628,0.561 +0.824,0.627,0.559 +0.826,0.626,0.557 +0.828,0.625,0.555 +0.830,0.624,0.553 +0.833,0.623,0.551 +0.835,0.623,0.549 +0.837,0.622,0.547 +0.839,0.621,0.546 +0.842,0.620,0.544 +0.844,0.619,0.542 +0.846,0.619,0.540 +0.848,0.618,0.538 +0.851,0.617,0.536 +0.853,0.616,0.534 +0.855,0.615,0.532 +0.857,0.614,0.530 +0.859,0.613,0.528 +0.862,0.613,0.527 +0.864,0.612,0.525 +0.866,0.611,0.523 +0.868,0.610,0.521 +0.870,0.609,0.519 +0.872,0.608,0.517 +0.874,0.608,0.515 +0.877,0.607,0.513 +0.879,0.606,0.511 +0.881,0.605,0.509 +0.883,0.604,0.507 +0.885,0.603,0.505 +0.887,0.602,0.504 +0.889,0.601,0.502 +0.891,0.601,0.500 +0.893,0.600,0.498 +0.895,0.599,0.496 +0.898,0.598,0.494 +0.900,0.597,0.492 +0.902,0.596,0.490 +0.904,0.595,0.488 +0.906,0.594,0.486 +0.908,0.593,0.484 +0.910,0.593,0.483 +0.912,0.592,0.481 +0.914,0.591,0.479 +0.916,0.590,0.477 +0.918,0.589,0.475 +0.920,0.588,0.473 +0.922,0.587,0.471 +0.924,0.586,0.469 +0.926,0.585,0.467 +0.928,0.584,0.465 +0.930,0.583,0.463 +0.932,0.582,0.461 +0.934,0.581,0.460 +0.936,0.581,0.458 +0.938,0.580,0.456 +0.940,0.579,0.454 +0.942,0.578,0.452 +0.943,0.577,0.450 +0.945,0.576,0.448 +0.947,0.575,0.446 +0.949,0.574,0.444 +0.951,0.573,0.442 +0.953,0.572,0.440 +0.955,0.571,0.438 +0.957,0.570,0.436 +0.959,0.569,0.434 +0.961,0.568,0.433 +0.963,0.567,0.431 +0.965,0.566,0.429 +0.966,0.565,0.427 diff --git a/test/CETperceptual_csv_0_1/CET-D12.csv b/test/CETperceptual_csv_0_1/CET-D12.csv new file mode 100644 index 0000000..3e39ba1 --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-D12.csv @@ -0,0 +1,256 @@ +0.000,0.787,1.000 +0.000,0.786,1.000 +0.000,0.786,0.998 +0.000,0.785,0.995 +0.000,0.785,0.993 +0.000,0.784,0.991 +0.000,0.784,0.989 +0.051,0.783,0.987 +0.088,0.783,0.984 +0.115,0.782,0.982 +0.137,0.782,0.980 +0.156,0.781,0.978 +0.173,0.781,0.976 +0.188,0.781,0.973 +0.202,0.780,0.971 +0.215,0.780,0.969 +0.227,0.779,0.967 +0.238,0.779,0.965 +0.249,0.778,0.962 +0.259,0.778,0.960 +0.269,0.777,0.958 +0.279,0.777,0.956 +0.288,0.776,0.954 +0.296,0.776,0.951 +0.305,0.775,0.949 +0.313,0.775,0.947 +0.321,0.774,0.945 +0.328,0.774,0.943 +0.336,0.773,0.940 +0.343,0.773,0.938 +0.350,0.773,0.936 +0.357,0.772,0.934 +0.364,0.772,0.932 +0.370,0.771,0.930 +0.377,0.771,0.927 +0.383,0.770,0.925 +0.389,0.770,0.923 +0.395,0.769,0.921 +0.401,0.769,0.919 +0.407,0.768,0.916 +0.412,0.768,0.914 +0.418,0.767,0.912 +0.423,0.767,0.910 +0.429,0.766,0.908 +0.434,0.766,0.905 +0.439,0.765,0.903 +0.444,0.765,0.901 +0.449,0.764,0.899 +0.454,0.764,0.897 +0.459,0.763,0.895 +0.464,0.763,0.892 +0.469,0.762,0.890 +0.474,0.762,0.888 +0.478,0.761,0.886 +0.483,0.761,0.884 +0.487,0.761,0.881 +0.492,0.760,0.879 +0.496,0.760,0.877 +0.500,0.759,0.875 +0.505,0.759,0.873 +0.509,0.758,0.871 +0.513,0.758,0.868 +0.517,0.757,0.866 +0.521,0.757,0.864 +0.525,0.756,0.862 +0.529,0.756,0.860 +0.533,0.755,0.858 +0.537,0.755,0.855 +0.541,0.754,0.853 +0.545,0.754,0.851 +0.549,0.753,0.849 +0.553,0.753,0.847 +0.556,0.752,0.845 +0.560,0.752,0.842 +0.564,0.751,0.840 +0.567,0.751,0.838 +0.571,0.750,0.836 +0.574,0.750,0.834 +0.578,0.749,0.831 +0.582,0.749,0.829 +0.585,0.748,0.827 +0.588,0.748,0.825 +0.592,0.747,0.823 +0.595,0.747,0.821 +0.599,0.746,0.818 +0.602,0.746,0.816 +0.605,0.745,0.814 +0.608,0.745,0.812 +0.612,0.744,0.810 +0.615,0.744,0.808 +0.618,0.743,0.805 +0.621,0.743,0.803 +0.624,0.742,0.801 +0.628,0.742,0.799 +0.631,0.741,0.797 +0.634,0.741,0.795 +0.637,0.740,0.792 +0.640,0.740,0.790 +0.643,0.739,0.788 +0.646,0.739,0.786 +0.649,0.738,0.784 +0.652,0.738,0.782 +0.655,0.737,0.780 +0.657,0.737,0.777 +0.660,0.736,0.775 +0.663,0.736,0.773 +0.666,0.735,0.771 +0.669,0.735,0.769 +0.672,0.734,0.767 +0.674,0.734,0.764 +0.677,0.733,0.762 +0.680,0.733,0.760 +0.683,0.732,0.758 +0.685,0.732,0.756 +0.688,0.731,0.754 +0.691,0.731,0.752 +0.693,0.730,0.750 +0.696,0.729,0.748 +0.699,0.729,0.746 +0.701,0.728,0.744 +0.704,0.728,0.742 +0.706,0.727,0.741 +0.709,0.727,0.739 +0.711,0.726,0.738 +0.714,0.726,0.737 +0.716,0.725,0.736 +0.718,0.724,0.735 +0.721,0.724,0.734 +0.723,0.723,0.734 +0.725,0.723,0.734 +0.727,0.722,0.734 +0.729,0.721,0.734 +0.731,0.721,0.734 +0.733,0.720,0.735 +0.735,0.719,0.735 +0.737,0.719,0.736 +0.739,0.718,0.737 +0.741,0.717,0.738 +0.743,0.717,0.739 +0.744,0.716,0.740 +0.746,0.715,0.741 +0.748,0.715,0.742 +0.750,0.714,0.744 +0.751,0.713,0.745 +0.753,0.713,0.746 +0.755,0.712,0.747 +0.757,0.711,0.749 +0.758,0.710,0.750 +0.760,0.710,0.751 +0.762,0.709,0.753 +0.763,0.708,0.754 +0.765,0.708,0.755 +0.767,0.707,0.757 +0.769,0.706,0.758 +0.770,0.706,0.759 +0.772,0.705,0.761 +0.774,0.704,0.762 +0.775,0.703,0.763 +0.777,0.703,0.765 +0.779,0.702,0.766 +0.780,0.701,0.767 +0.782,0.701,0.769 +0.784,0.700,0.770 +0.785,0.699,0.771 +0.787,0.698,0.773 +0.789,0.698,0.774 +0.790,0.697,0.775 +0.792,0.696,0.777 +0.794,0.695,0.778 +0.795,0.695,0.779 +0.797,0.694,0.781 +0.799,0.693,0.782 +0.800,0.692,0.783 +0.802,0.692,0.785 +0.804,0.691,0.786 +0.805,0.690,0.787 +0.807,0.689,0.788 +0.809,0.689,0.790 +0.810,0.688,0.791 +0.812,0.687,0.792 +0.814,0.686,0.794 +0.815,0.686,0.795 +0.817,0.685,0.796 +0.819,0.684,0.798 +0.820,0.683,0.799 +0.822,0.682,0.800 +0.823,0.682,0.802 +0.825,0.681,0.803 +0.827,0.680,0.804 +0.828,0.679,0.806 +0.830,0.678,0.807 +0.831,0.678,0.808 +0.833,0.677,0.810 +0.835,0.676,0.811 +0.836,0.675,0.812 +0.838,0.675,0.814 +0.840,0.674,0.815 +0.841,0.673,0.816 +0.843,0.672,0.818 +0.844,0.671,0.819 +0.846,0.670,0.820 +0.848,0.670,0.822 +0.849,0.669,0.823 +0.851,0.668,0.824 +0.852,0.667,0.825 +0.854,0.666,0.827 +0.855,0.666,0.828 +0.857,0.665,0.829 +0.859,0.664,0.831 +0.860,0.663,0.832 +0.862,0.662,0.833 +0.863,0.661,0.835 +0.865,0.660,0.836 +0.866,0.660,0.837 +0.868,0.659,0.839 +0.870,0.658,0.840 +0.871,0.657,0.841 +0.873,0.656,0.843 +0.874,0.655,0.844 +0.876,0.654,0.845 +0.877,0.654,0.847 +0.879,0.653,0.848 +0.881,0.652,0.849 +0.882,0.651,0.851 +0.884,0.650,0.852 +0.885,0.649,0.853 +0.887,0.648,0.855 +0.888,0.647,0.856 +0.890,0.647,0.857 +0.891,0.646,0.859 +0.893,0.645,0.860 +0.895,0.644,0.861 +0.896,0.643,0.862 +0.898,0.642,0.864 +0.899,0.641,0.865 +0.901,0.640,0.866 +0.902,0.639,0.868 +0.904,0.638,0.869 +0.905,0.638,0.870 +0.907,0.637,0.872 +0.908,0.636,0.873 +0.910,0.635,0.874 +0.911,0.634,0.876 +0.913,0.633,0.877 +0.914,0.632,0.878 +0.916,0.631,0.880 +0.917,0.630,0.881 +0.919,0.629,0.882 +0.920,0.628,0.884 +0.922,0.627,0.885 +0.924,0.626,0.886 +0.925,0.625,0.888 +0.927,0.624,0.889 +0.928,0.623,0.890 +0.930,0.622,0.892 +0.931,0.621,0.893 diff --git a/test/CETperceptual_csv_0_1/CET-D13.csv b/test/CETperceptual_csv_0_1/CET-D13.csv new file mode 100644 index 0000000..6f569c8 --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-D13.csv @@ -0,0 +1,256 @@ +0.066,0.176,0.408 +0.070,0.181,0.416 +0.074,0.186,0.424 +0.078,0.191,0.433 +0.083,0.196,0.441 +0.087,0.200,0.449 +0.091,0.205,0.458 +0.095,0.210,0.466 +0.099,0.215,0.475 +0.103,0.220,0.483 +0.107,0.225,0.491 +0.111,0.230,0.500 +0.114,0.235,0.508 +0.118,0.241,0.516 +0.122,0.246,0.525 +0.126,0.251,0.533 +0.129,0.256,0.542 +0.133,0.261,0.550 +0.136,0.267,0.558 +0.140,0.272,0.567 +0.143,0.277,0.575 +0.147,0.283,0.583 +0.150,0.288,0.591 +0.154,0.294,0.600 +0.157,0.299,0.608 +0.160,0.305,0.616 +0.163,0.310,0.624 +0.166,0.316,0.633 +0.169,0.321,0.641 +0.172,0.327,0.649 +0.175,0.333,0.657 +0.178,0.338,0.665 +0.181,0.344,0.673 +0.184,0.350,0.681 +0.186,0.356,0.689 +0.189,0.362,0.697 +0.191,0.368,0.705 +0.194,0.374,0.713 +0.196,0.380,0.721 +0.198,0.386,0.729 +0.200,0.392,0.736 +0.202,0.398,0.744 +0.204,0.404,0.752 +0.206,0.410,0.759 +0.207,0.416,0.767 +0.209,0.423,0.774 +0.210,0.429,0.781 +0.211,0.436,0.789 +0.212,0.442,0.796 +0.213,0.449,0.803 +0.213,0.455,0.810 +0.214,0.462,0.817 +0.214,0.468,0.824 +0.214,0.475,0.831 +0.214,0.482,0.838 +0.213,0.489,0.844 +0.212,0.496,0.851 +0.211,0.502,0.857 +0.210,0.509,0.863 +0.208,0.517,0.869 +0.206,0.524,0.875 +0.205,0.531,0.881 +0.203,0.538,0.887 +0.200,0.545,0.892 +0.199,0.552,0.898 +0.197,0.560,0.903 +0.196,0.567,0.908 +0.195,0.574,0.913 +0.194,0.581,0.917 +0.195,0.588,0.922 +0.196,0.596,0.926 +0.198,0.603,0.931 +0.201,0.610,0.935 +0.206,0.617,0.939 +0.211,0.624,0.942 +0.217,0.631,0.946 +0.224,0.637,0.950 +0.231,0.644,0.953 +0.240,0.651,0.956 +0.249,0.658,0.959 +0.259,0.665,0.962 +0.270,0.671,0.965 +0.281,0.678,0.967 +0.293,0.684,0.970 +0.305,0.691,0.972 +0.317,0.697,0.974 +0.330,0.704,0.976 +0.343,0.710,0.978 +0.356,0.716,0.979 +0.370,0.723,0.981 +0.384,0.729,0.982 +0.398,0.735,0.983 +0.412,0.741,0.984 +0.427,0.747,0.985 +0.441,0.753,0.985 +0.456,0.759,0.986 +0.471,0.765,0.986 +0.486,0.771,0.986 +0.502,0.777,0.986 +0.517,0.783,0.986 +0.532,0.788,0.986 +0.548,0.794,0.985 +0.563,0.800,0.985 +0.579,0.805,0.984 +0.595,0.811,0.983 +0.610,0.816,0.982 +0.626,0.822,0.981 +0.641,0.827,0.979 +0.657,0.833,0.978 +0.672,0.838,0.977 +0.687,0.844,0.975 +0.702,0.849,0.974 +0.717,0.855,0.972 +0.732,0.860,0.970 +0.747,0.865,0.969 +0.761,0.871,0.967 +0.776,0.876,0.965 +0.789,0.881,0.963 +0.803,0.887,0.961 +0.816,0.892,0.959 +0.828,0.897,0.957 +0.840,0.902,0.955 +0.850,0.906,0.952 +0.859,0.910,0.949 +0.866,0.914,0.945 +0.872,0.917,0.941 +0.875,0.919,0.937 +0.876,0.921,0.932 +0.875,0.922,0.926 +0.871,0.922,0.921 +0.865,0.921,0.914 +0.857,0.920,0.908 +0.848,0.918,0.901 +0.836,0.916,0.894 +0.824,0.913,0.886 +0.810,0.910,0.879 +0.796,0.906,0.871 +0.781,0.902,0.864 +0.766,0.899,0.856 +0.750,0.895,0.848 +0.734,0.891,0.841 +0.718,0.886,0.833 +0.702,0.882,0.825 +0.685,0.878,0.818 +0.669,0.874,0.810 +0.653,0.870,0.802 +0.636,0.865,0.795 +0.620,0.861,0.787 +0.603,0.856,0.779 +0.587,0.852,0.772 +0.570,0.848,0.764 +0.554,0.843,0.756 +0.537,0.838,0.748 +0.521,0.834,0.740 +0.505,0.829,0.732 +0.489,0.824,0.724 +0.473,0.819,0.716 +0.458,0.814,0.707 +0.442,0.809,0.699 +0.427,0.804,0.690 +0.412,0.799,0.682 +0.397,0.794,0.673 +0.383,0.789,0.664 +0.368,0.783,0.655 +0.354,0.778,0.647 +0.341,0.772,0.638 +0.327,0.767,0.628 +0.314,0.761,0.619 +0.301,0.756,0.610 +0.288,0.750,0.601 +0.276,0.745,0.591 +0.264,0.739,0.581 +0.252,0.733,0.572 +0.241,0.727,0.562 +0.230,0.721,0.552 +0.220,0.715,0.542 +0.211,0.709,0.532 +0.201,0.703,0.522 +0.193,0.697,0.512 +0.185,0.691,0.502 +0.178,0.685,0.492 +0.171,0.679,0.481 +0.165,0.673,0.471 +0.160,0.667,0.460 +0.155,0.660,0.450 +0.152,0.654,0.439 +0.149,0.648,0.428 +0.146,0.641,0.418 +0.145,0.635,0.407 +0.143,0.629,0.396 +0.142,0.622,0.386 +0.142,0.616,0.375 +0.141,0.609,0.365 +0.141,0.603,0.355 +0.140,0.597,0.345 +0.140,0.590,0.335 +0.139,0.584,0.325 +0.139,0.577,0.315 +0.138,0.571,0.306 +0.137,0.564,0.297 +0.136,0.558,0.288 +0.135,0.552,0.279 +0.134,0.545,0.271 +0.132,0.539,0.263 +0.131,0.533,0.255 +0.129,0.526,0.247 +0.127,0.520,0.239 +0.125,0.514,0.232 +0.123,0.507,0.225 +0.121,0.501,0.217 +0.119,0.495,0.211 +0.116,0.488,0.204 +0.114,0.482,0.197 +0.112,0.476,0.191 +0.109,0.470,0.184 +0.107,0.463,0.178 +0.104,0.457,0.172 +0.101,0.451,0.166 +0.099,0.445,0.160 +0.096,0.438,0.154 +0.093,0.432,0.149 +0.090,0.426,0.143 +0.087,0.420,0.138 +0.084,0.414,0.132 +0.082,0.408,0.127 +0.078,0.402,0.122 +0.075,0.395,0.117 +0.072,0.389,0.112 +0.069,0.383,0.108 +0.066,0.377,0.103 +0.063,0.371,0.098 +0.060,0.365,0.094 +0.057,0.359,0.089 +0.053,0.353,0.085 +0.050,0.347,0.081 +0.047,0.341,0.076 +0.043,0.335,0.072 +0.040,0.329,0.068 +0.037,0.324,0.064 +0.033,0.318,0.060 +0.030,0.312,0.057 +0.027,0.306,0.053 +0.024,0.300,0.049 +0.021,0.294,0.045 +0.019,0.289,0.042 +0.016,0.283,0.038 +0.013,0.277,0.035 +0.011,0.271,0.032 +0.009,0.265,0.029 +0.007,0.260,0.026 +0.005,0.254,0.023 +0.004,0.248,0.020 +0.002,0.243,0.016 +0.001,0.237,0.013 +0.001,0.232,0.009 +0.000,0.226,0.006 diff --git a/test/CETperceptual_csv_0_1/CET-I1.csv b/test/CETperceptual_csv_0_1/CET-I1.csv new file mode 100644 index 0000000..ee06085 --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-I1.csv @@ -0,0 +1,256 @@ +0.216,0.718,0.926 +0.218,0.718,0.923 +0.220,0.718,0.919 +0.223,0.719,0.916 +0.225,0.719,0.912 +0.227,0.719,0.909 +0.230,0.720,0.906 +0.232,0.720,0.902 +0.234,0.720,0.899 +0.236,0.721,0.895 +0.238,0.721,0.892 +0.240,0.721,0.888 +0.242,0.721,0.885 +0.245,0.722,0.882 +0.247,0.722,0.878 +0.249,0.722,0.875 +0.251,0.723,0.871 +0.253,0.723,0.868 +0.255,0.723,0.864 +0.257,0.723,0.861 +0.259,0.724,0.857 +0.261,0.724,0.854 +0.263,0.724,0.850 +0.265,0.724,0.847 +0.267,0.725,0.843 +0.269,0.725,0.840 +0.271,0.725,0.836 +0.273,0.725,0.833 +0.274,0.726,0.829 +0.276,0.726,0.826 +0.278,0.726,0.822 +0.280,0.726,0.819 +0.282,0.727,0.815 +0.284,0.727,0.812 +0.286,0.727,0.808 +0.288,0.727,0.805 +0.290,0.728,0.801 +0.291,0.728,0.798 +0.293,0.728,0.794 +0.295,0.728,0.791 +0.297,0.729,0.787 +0.299,0.729,0.784 +0.301,0.729,0.780 +0.303,0.729,0.776 +0.304,0.729,0.773 +0.306,0.730,0.769 +0.308,0.730,0.766 +0.310,0.730,0.762 +0.312,0.730,0.759 +0.314,0.730,0.755 +0.316,0.731,0.751 +0.318,0.731,0.748 +0.319,0.731,0.744 +0.321,0.731,0.740 +0.323,0.731,0.737 +0.325,0.731,0.733 +0.327,0.732,0.730 +0.329,0.732,0.726 +0.331,0.732,0.722 +0.333,0.732,0.719 +0.335,0.732,0.715 +0.337,0.732,0.711 +0.339,0.732,0.708 +0.341,0.733,0.704 +0.343,0.733,0.700 +0.345,0.733,0.696 +0.347,0.733,0.693 +0.349,0.733,0.689 +0.351,0.733,0.685 +0.353,0.733,0.682 +0.355,0.733,0.678 +0.357,0.733,0.674 +0.359,0.734,0.670 +0.361,0.734,0.667 +0.363,0.734,0.663 +0.366,0.734,0.659 +0.368,0.734,0.655 +0.370,0.734,0.652 +0.372,0.734,0.648 +0.375,0.734,0.644 +0.377,0.734,0.640 +0.379,0.734,0.636 +0.381,0.734,0.633 +0.384,0.734,0.629 +0.386,0.734,0.625 +0.389,0.734,0.621 +0.391,0.734,0.617 +0.394,0.734,0.613 +0.396,0.734,0.610 +0.399,0.734,0.606 +0.401,0.734,0.602 +0.404,0.734,0.598 +0.406,0.734,0.594 +0.409,0.734,0.590 +0.412,0.734,0.586 +0.415,0.733,0.582 +0.417,0.733,0.579 +0.420,0.733,0.575 +0.423,0.733,0.571 +0.426,0.733,0.567 +0.429,0.733,0.563 +0.432,0.733,0.559 +0.435,0.732,0.555 +0.438,0.732,0.552 +0.441,0.732,0.548 +0.444,0.732,0.544 +0.448,0.731,0.540 +0.451,0.731,0.536 +0.454,0.731,0.532 +0.458,0.731,0.529 +0.461,0.730,0.525 +0.465,0.730,0.521 +0.468,0.730,0.517 +0.472,0.729,0.513 +0.475,0.729,0.510 +0.479,0.729,0.506 +0.483,0.728,0.502 +0.486,0.728,0.499 +0.490,0.727,0.495 +0.494,0.727,0.492 +0.498,0.726,0.488 +0.502,0.726,0.485 +0.506,0.725,0.481 +0.510,0.725,0.478 +0.514,0.724,0.474 +0.518,0.724,0.471 +0.522,0.723,0.468 +0.526,0.722,0.465 +0.530,0.722,0.462 +0.534,0.721,0.459 +0.538,0.720,0.456 +0.542,0.720,0.453 +0.547,0.719,0.450 +0.551,0.718,0.447 +0.555,0.717,0.444 +0.559,0.717,0.441 +0.563,0.716,0.439 +0.568,0.715,0.436 +0.572,0.714,0.434 +0.576,0.713,0.431 +0.580,0.713,0.429 +0.585,0.712,0.427 +0.589,0.711,0.424 +0.593,0.710,0.422 +0.597,0.709,0.420 +0.601,0.708,0.418 +0.606,0.707,0.416 +0.610,0.706,0.414 +0.614,0.706,0.412 +0.618,0.705,0.410 +0.622,0.704,0.408 +0.626,0.703,0.406 +0.630,0.702,0.404 +0.634,0.701,0.402 +0.638,0.700,0.401 +0.642,0.699,0.399 +0.646,0.698,0.397 +0.650,0.697,0.395 +0.654,0.696,0.394 +0.658,0.695,0.392 +0.662,0.694,0.391 +0.666,0.693,0.389 +0.670,0.692,0.388 +0.674,0.691,0.386 +0.678,0.690,0.385 +0.681,0.689,0.384 +0.685,0.688,0.383 +0.689,0.687,0.381 +0.693,0.685,0.380 +0.697,0.684,0.379 +0.700,0.683,0.378 +0.704,0.682,0.377 +0.708,0.681,0.376 +0.712,0.680,0.375 +0.715,0.679,0.374 +0.719,0.678,0.373 +0.723,0.676,0.373 +0.726,0.675,0.372 +0.730,0.674,0.371 +0.734,0.673,0.371 +0.737,0.672,0.370 +0.741,0.671,0.370 +0.745,0.669,0.369 +0.748,0.668,0.369 +0.752,0.667,0.368 +0.755,0.666,0.368 +0.759,0.664,0.367 +0.762,0.663,0.367 +0.766,0.662,0.367 +0.769,0.661,0.367 +0.773,0.660,0.367 +0.776,0.658,0.367 +0.780,0.657,0.366 +0.783,0.656,0.366 +0.787,0.654,0.366 +0.790,0.653,0.367 +0.793,0.652,0.367 +0.797,0.651,0.367 +0.800,0.649,0.367 +0.803,0.648,0.367 +0.807,0.647,0.367 +0.810,0.645,0.368 +0.813,0.644,0.368 +0.816,0.643,0.369 +0.820,0.641,0.369 +0.823,0.640,0.369 +0.826,0.639,0.370 +0.829,0.637,0.370 +0.833,0.636,0.371 +0.836,0.634,0.372 +0.839,0.633,0.372 +0.842,0.632,0.373 +0.845,0.630,0.374 +0.848,0.629,0.374 +0.851,0.628,0.375 +0.854,0.626,0.376 +0.857,0.625,0.377 +0.861,0.623,0.377 +0.864,0.622,0.378 +0.867,0.620,0.379 +0.870,0.619,0.380 +0.873,0.618,0.381 +0.876,0.616,0.382 +0.878,0.615,0.383 +0.881,0.613,0.384 +0.884,0.612,0.385 +0.887,0.610,0.386 +0.890,0.609,0.387 +0.893,0.607,0.389 +0.896,0.606,0.390 +0.899,0.604,0.391 +0.902,0.603,0.392 +0.905,0.601,0.393 +0.907,0.600,0.395 +0.910,0.598,0.396 +0.913,0.597,0.397 +0.916,0.595,0.398 +0.919,0.594,0.400 +0.921,0.592,0.401 +0.924,0.591,0.402 +0.927,0.589,0.404 +0.930,0.587,0.405 +0.932,0.586,0.407 +0.935,0.584,0.408 +0.938,0.583,0.410 +0.940,0.581,0.411 +0.943,0.580,0.413 +0.946,0.578,0.414 +0.948,0.576,0.416 +0.951,0.575,0.417 +0.954,0.573,0.419 +0.956,0.572,0.420 +0.959,0.570,0.422 +0.961,0.568,0.423 +0.964,0.567,0.425 +0.966,0.565,0.427 diff --git a/test/CETperceptual_csv_0_1/CET-I2.csv b/test/CETperceptual_csv_0_1/CET-I2.csv new file mode 100644 index 0000000..5b58b9d --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-I2.csv @@ -0,0 +1,256 @@ +0.438,0.821,1.000 +0.438,0.822,1.000 +0.438,0.822,1.000 +0.439,0.823,1.000 +0.439,0.823,1.000 +0.439,0.823,0.998 +0.439,0.824,0.995 +0.440,0.824,0.992 +0.440,0.824,0.989 +0.440,0.825,0.985 +0.441,0.825,0.982 +0.441,0.825,0.979 +0.441,0.826,0.976 +0.442,0.826,0.973 +0.442,0.826,0.970 +0.442,0.827,0.967 +0.443,0.827,0.964 +0.443,0.827,0.960 +0.443,0.828,0.957 +0.444,0.828,0.954 +0.444,0.828,0.951 +0.445,0.829,0.948 +0.445,0.829,0.945 +0.445,0.829,0.942 +0.446,0.830,0.938 +0.446,0.830,0.935 +0.447,0.830,0.932 +0.447,0.831,0.929 +0.448,0.831,0.926 +0.448,0.831,0.922 +0.449,0.832,0.919 +0.449,0.832,0.916 +0.450,0.832,0.913 +0.450,0.833,0.910 +0.451,0.833,0.906 +0.451,0.833,0.903 +0.452,0.833,0.900 +0.452,0.834,0.897 +0.453,0.834,0.893 +0.454,0.834,0.890 +0.454,0.834,0.887 +0.455,0.835,0.884 +0.455,0.835,0.880 +0.456,0.835,0.877 +0.457,0.836,0.874 +0.457,0.836,0.871 +0.458,0.836,0.867 +0.459,0.836,0.864 +0.460,0.837,0.861 +0.460,0.837,0.857 +0.461,0.837,0.854 +0.462,0.837,0.851 +0.463,0.838,0.847 +0.463,0.838,0.844 +0.464,0.838,0.841 +0.465,0.838,0.838 +0.466,0.838,0.834 +0.467,0.839,0.831 +0.468,0.839,0.827 +0.469,0.839,0.824 +0.470,0.839,0.821 +0.470,0.839,0.817 +0.471,0.840,0.814 +0.472,0.840,0.811 +0.473,0.840,0.807 +0.474,0.840,0.804 +0.476,0.840,0.800 +0.477,0.841,0.797 +0.478,0.841,0.793 +0.479,0.841,0.790 +0.480,0.841,0.787 +0.481,0.841,0.783 +0.482,0.841,0.780 +0.484,0.841,0.776 +0.485,0.842,0.773 +0.486,0.842,0.769 +0.488,0.842,0.766 +0.489,0.842,0.762 +0.490,0.842,0.759 +0.492,0.842,0.755 +0.493,0.842,0.752 +0.495,0.842,0.748 +0.496,0.842,0.745 +0.498,0.842,0.741 +0.499,0.842,0.738 +0.501,0.843,0.734 +0.502,0.843,0.730 +0.504,0.843,0.727 +0.506,0.843,0.723 +0.508,0.843,0.720 +0.509,0.843,0.716 +0.511,0.843,0.713 +0.513,0.843,0.709 +0.515,0.843,0.705 +0.517,0.843,0.702 +0.519,0.843,0.698 +0.521,0.843,0.694 +0.523,0.843,0.691 +0.525,0.843,0.687 +0.527,0.842,0.684 +0.530,0.842,0.680 +0.532,0.842,0.676 +0.534,0.842,0.673 +0.537,0.842,0.669 +0.539,0.842,0.665 +0.541,0.842,0.662 +0.544,0.842,0.658 +0.547,0.841,0.655 +0.549,0.841,0.651 +0.552,0.841,0.647 +0.555,0.841,0.644 +0.557,0.841,0.640 +0.560,0.840,0.636 +0.563,0.840,0.633 +0.566,0.840,0.629 +0.569,0.840,0.626 +0.572,0.839,0.622 +0.575,0.839,0.619 +0.578,0.839,0.615 +0.582,0.838,0.612 +0.585,0.838,0.608 +0.588,0.837,0.605 +0.592,0.837,0.601 +0.595,0.837,0.598 +0.598,0.836,0.595 +0.602,0.836,0.591 +0.606,0.835,0.588 +0.609,0.835,0.585 +0.613,0.834,0.582 +0.616,0.834,0.579 +0.620,0.833,0.575 +0.624,0.832,0.572 +0.628,0.832,0.569 +0.631,0.831,0.566 +0.635,0.831,0.564 +0.639,0.830,0.561 +0.643,0.829,0.558 +0.647,0.829,0.555 +0.651,0.828,0.552 +0.655,0.827,0.550 +0.659,0.827,0.547 +0.663,0.826,0.545 +0.667,0.825,0.542 +0.671,0.824,0.540 +0.674,0.824,0.537 +0.678,0.823,0.535 +0.682,0.822,0.533 +0.686,0.821,0.531 +0.690,0.820,0.529 +0.694,0.820,0.526 +0.698,0.819,0.524 +0.702,0.818,0.522 +0.706,0.817,0.520 +0.710,0.816,0.518 +0.714,0.815,0.516 +0.718,0.815,0.514 +0.722,0.814,0.513 +0.726,0.813,0.511 +0.729,0.812,0.509 +0.733,0.811,0.507 +0.737,0.810,0.505 +0.741,0.809,0.503 +0.745,0.808,0.502 +0.748,0.807,0.500 +0.752,0.806,0.498 +0.756,0.805,0.497 +0.760,0.805,0.495 +0.763,0.804,0.493 +0.767,0.803,0.492 +0.771,0.802,0.490 +0.774,0.801,0.489 +0.778,0.800,0.487 +0.782,0.799,0.486 +0.785,0.798,0.485 +0.789,0.797,0.483 +0.793,0.796,0.482 +0.796,0.795,0.481 +0.800,0.794,0.479 +0.804,0.793,0.478 +0.807,0.792,0.477 +0.811,0.791,0.476 +0.814,0.790,0.475 +0.818,0.789,0.474 +0.821,0.788,0.473 +0.825,0.786,0.472 +0.829,0.785,0.471 +0.832,0.784,0.470 +0.836,0.783,0.469 +0.839,0.782,0.468 +0.843,0.781,0.468 +0.846,0.780,0.467 +0.849,0.779,0.466 +0.853,0.778,0.466 +0.856,0.777,0.465 +0.860,0.775,0.465 +0.863,0.774,0.464 +0.866,0.773,0.464 +0.870,0.772,0.463 +0.873,0.771,0.463 +0.877,0.770,0.462 +0.880,0.769,0.462 +0.883,0.767,0.462 +0.887,0.766,0.462 +0.890,0.765,0.462 +0.893,0.764,0.461 +0.896,0.763,0.461 +0.900,0.761,0.461 +0.903,0.760,0.461 +0.906,0.759,0.462 +0.909,0.758,0.462 +0.912,0.757,0.462 +0.916,0.755,0.462 +0.919,0.754,0.462 +0.922,0.753,0.463 +0.925,0.752,0.463 +0.928,0.750,0.463 +0.931,0.749,0.464 +0.934,0.748,0.464 +0.937,0.747,0.465 +0.940,0.745,0.465 +0.943,0.744,0.466 +0.946,0.743,0.466 +0.949,0.742,0.467 +0.952,0.740,0.468 +0.955,0.739,0.468 +0.958,0.738,0.469 +0.961,0.737,0.470 +0.964,0.735,0.471 +0.967,0.734,0.472 +0.970,0.733,0.473 +0.973,0.732,0.474 +0.975,0.730,0.475 +0.978,0.729,0.476 +0.981,0.728,0.477 +0.984,0.726,0.478 +0.986,0.725,0.479 +0.989,0.724,0.480 +0.992,0.723,0.481 +0.995,0.721,0.483 +0.997,0.720,0.484 +1.000,0.719,0.485 +1.000,0.717,0.486 +1.000,0.716,0.488 +1.000,0.715,0.489 +1.000,0.713,0.490 +1.000,0.712,0.492 +1.000,0.711,0.493 +1.000,0.710,0.495 +1.000,0.708,0.496 +1.000,0.707,0.498 +1.000,0.706,0.499 +1.000,0.704,0.501 +1.000,0.703,0.503 +1.000,0.702,0.504 +1.000,0.700,0.506 +1.000,0.699,0.508 diff --git a/test/CETperceptual_csv_0_1/CET-I3.csv b/test/CETperceptual_csv_0_1/CET-I3.csv new file mode 100644 index 0000000..1787192 --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-I3.csv @@ -0,0 +1,256 @@ +0.078,0.727,0.901 +0.097,0.727,0.901 +0.112,0.726,0.902 +0.126,0.726,0.902 +0.139,0.725,0.903 +0.150,0.725,0.903 +0.161,0.724,0.904 +0.171,0.723,0.904 +0.181,0.723,0.905 +0.190,0.722,0.905 +0.198,0.722,0.906 +0.207,0.721,0.906 +0.215,0.720,0.907 +0.222,0.720,0.907 +0.230,0.719,0.908 +0.237,0.719,0.908 +0.244,0.718,0.909 +0.251,0.717,0.909 +0.257,0.717,0.910 +0.264,0.716,0.910 +0.270,0.716,0.911 +0.276,0.715,0.911 +0.282,0.714,0.912 +0.288,0.714,0.912 +0.294,0.713,0.913 +0.300,0.712,0.913 +0.305,0.712,0.914 +0.311,0.711,0.914 +0.316,0.711,0.914 +0.322,0.710,0.915 +0.327,0.709,0.915 +0.332,0.709,0.916 +0.337,0.708,0.916 +0.342,0.707,0.916 +0.347,0.707,0.917 +0.352,0.706,0.917 +0.357,0.705,0.918 +0.362,0.705,0.918 +0.366,0.704,0.918 +0.371,0.703,0.919 +0.376,0.703,0.919 +0.380,0.702,0.919 +0.385,0.701,0.920 +0.389,0.701,0.920 +0.394,0.700,0.920 +0.398,0.699,0.921 +0.403,0.699,0.921 +0.407,0.698,0.921 +0.411,0.697,0.922 +0.416,0.697,0.922 +0.420,0.696,0.922 +0.424,0.695,0.922 +0.428,0.694,0.923 +0.432,0.694,0.923 +0.436,0.693,0.923 +0.441,0.692,0.923 +0.445,0.692,0.924 +0.449,0.691,0.924 +0.453,0.690,0.924 +0.457,0.689,0.924 +0.461,0.689,0.924 +0.465,0.688,0.925 +0.468,0.687,0.925 +0.472,0.686,0.925 +0.476,0.686,0.925 +0.480,0.685,0.925 +0.484,0.684,0.925 +0.488,0.683,0.925 +0.492,0.683,0.926 +0.495,0.682,0.926 +0.499,0.681,0.926 +0.503,0.680,0.926 +0.507,0.680,0.926 +0.510,0.679,0.926 +0.514,0.678,0.926 +0.518,0.677,0.926 +0.521,0.677,0.926 +0.525,0.676,0.926 +0.529,0.675,0.926 +0.532,0.674,0.926 +0.536,0.673,0.926 +0.540,0.673,0.926 +0.543,0.672,0.926 +0.547,0.671,0.926 +0.550,0.670,0.925 +0.554,0.669,0.925 +0.558,0.669,0.925 +0.561,0.668,0.925 +0.565,0.667,0.925 +0.568,0.666,0.925 +0.572,0.665,0.924 +0.575,0.664,0.924 +0.579,0.664,0.924 +0.582,0.663,0.924 +0.586,0.662,0.923 +0.589,0.661,0.923 +0.593,0.660,0.923 +0.596,0.659,0.922 +0.600,0.659,0.922 +0.603,0.658,0.921 +0.607,0.657,0.921 +0.610,0.656,0.921 +0.614,0.655,0.920 +0.617,0.654,0.920 +0.621,0.653,0.919 +0.624,0.653,0.919 +0.627,0.652,0.918 +0.631,0.651,0.917 +0.634,0.650,0.917 +0.638,0.649,0.916 +0.641,0.648,0.915 +0.644,0.647,0.915 +0.648,0.646,0.914 +0.651,0.645,0.913 +0.655,0.645,0.912 +0.658,0.644,0.911 +0.661,0.643,0.910 +0.665,0.642,0.910 +0.668,0.641,0.909 +0.671,0.640,0.908 +0.675,0.639,0.907 +0.678,0.638,0.905 +0.681,0.638,0.904 +0.684,0.637,0.903 +0.688,0.636,0.902 +0.691,0.635,0.901 +0.694,0.634,0.900 +0.697,0.633,0.898 +0.700,0.632,0.897 +0.704,0.631,0.896 +0.707,0.631,0.894 +0.710,0.630,0.893 +0.713,0.629,0.892 +0.716,0.628,0.890 +0.719,0.627,0.889 +0.722,0.626,0.887 +0.725,0.625,0.886 +0.728,0.625,0.885 +0.731,0.624,0.883 +0.734,0.623,0.882 +0.737,0.622,0.880 +0.740,0.621,0.879 +0.743,0.620,0.877 +0.746,0.619,0.876 +0.749,0.619,0.874 +0.752,0.618,0.873 +0.754,0.617,0.871 +0.757,0.616,0.870 +0.760,0.615,0.868 +0.763,0.614,0.867 +0.766,0.613,0.865 +0.768,0.613,0.863 +0.771,0.612,0.862 +0.774,0.611,0.860 +0.777,0.610,0.859 +0.779,0.609,0.857 +0.782,0.608,0.855 +0.785,0.608,0.854 +0.787,0.607,0.852 +0.790,0.606,0.850 +0.793,0.605,0.849 +0.795,0.604,0.847 +0.798,0.603,0.846 +0.800,0.602,0.844 +0.803,0.602,0.842 +0.806,0.601,0.841 +0.808,0.600,0.839 +0.811,0.599,0.837 +0.813,0.598,0.835 +0.816,0.597,0.834 +0.818,0.596,0.832 +0.821,0.596,0.830 +0.823,0.595,0.829 +0.826,0.594,0.827 +0.828,0.593,0.825 +0.830,0.592,0.824 +0.833,0.591,0.822 +0.835,0.590,0.820 +0.838,0.590,0.818 +0.840,0.589,0.817 +0.842,0.588,0.815 +0.845,0.587,0.813 +0.847,0.586,0.811 +0.849,0.585,0.810 +0.852,0.584,0.808 +0.854,0.584,0.806 +0.856,0.583,0.804 +0.859,0.582,0.803 +0.861,0.581,0.801 +0.863,0.580,0.799 +0.866,0.579,0.797 +0.868,0.578,0.796 +0.870,0.578,0.794 +0.872,0.577,0.792 +0.874,0.576,0.790 +0.877,0.575,0.788 +0.879,0.574,0.787 +0.881,0.573,0.785 +0.883,0.572,0.783 +0.885,0.572,0.781 +0.888,0.571,0.780 +0.890,0.570,0.778 +0.892,0.569,0.776 +0.894,0.568,0.774 +0.896,0.567,0.772 +0.898,0.566,0.770 +0.900,0.565,0.769 +0.903,0.565,0.767 +0.905,0.564,0.765 +0.907,0.563,0.763 +0.909,0.562,0.761 +0.911,0.561,0.760 +0.913,0.560,0.758 +0.915,0.559,0.756 +0.917,0.558,0.754 +0.919,0.558,0.752 +0.921,0.557,0.750 +0.923,0.556,0.749 +0.925,0.555,0.747 +0.927,0.554,0.745 +0.929,0.553,0.743 +0.931,0.552,0.741 +0.933,0.551,0.739 +0.935,0.550,0.738 +0.937,0.550,0.736 +0.939,0.549,0.734 +0.941,0.548,0.732 +0.943,0.547,0.730 +0.945,0.546,0.728 +0.947,0.545,0.727 +0.949,0.544,0.725 +0.950,0.543,0.723 +0.952,0.542,0.721 +0.954,0.541,0.719 +0.956,0.541,0.717 +0.958,0.540,0.715 +0.960,0.539,0.714 +0.962,0.538,0.712 +0.964,0.537,0.710 +0.965,0.536,0.708 +0.967,0.535,0.706 +0.969,0.534,0.704 +0.971,0.533,0.702 +0.973,0.532,0.701 +0.975,0.531,0.699 +0.976,0.531,0.697 +0.978,0.530,0.695 +0.980,0.529,0.693 +0.982,0.528,0.691 +0.984,0.527,0.689 +0.985,0.526,0.687 +0.987,0.525,0.686 +0.989,0.524,0.684 +0.991,0.523,0.682 +0.992,0.522,0.680 +0.994,0.521,0.678 diff --git a/test/CETperceptual_csv_0_1/CET-L01.csv b/test/CETperceptual_csv_0_1/CET-L01.csv new file mode 100644 index 0000000..c7005f3 --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-L01.csv @@ -0,0 +1,256 @@ +0.000,0.000,0.000 +0.006,0.006,0.006 +0.011,0.011,0.011 +0.017,0.017,0.017 +0.022,0.022,0.022 +0.028,0.028,0.028 +0.034,0.034,0.034 +0.039,0.039,0.039 +0.045,0.045,0.045 +0.050,0.050,0.050 +0.054,0.054,0.054 +0.059,0.059,0.059 +0.063,0.063,0.063 +0.067,0.067,0.067 +0.071,0.071,0.071 +0.074,0.075,0.075 +0.078,0.078,0.078 +0.081,0.081,0.081 +0.085,0.085,0.085 +0.088,0.088,0.088 +0.091,0.091,0.091 +0.094,0.094,0.094 +0.097,0.097,0.097 +0.100,0.100,0.100 +0.103,0.103,0.103 +0.106,0.106,0.106 +0.109,0.109,0.109 +0.112,0.112,0.112 +0.115,0.115,0.115 +0.119,0.119,0.119 +0.122,0.122,0.122 +0.125,0.125,0.125 +0.128,0.128,0.128 +0.131,0.131,0.131 +0.134,0.134,0.134 +0.137,0.137,0.137 +0.141,0.141,0.141 +0.144,0.144,0.144 +0.147,0.147,0.147 +0.150,0.150,0.150 +0.153,0.153,0.153 +0.157,0.157,0.157 +0.160,0.160,0.160 +0.163,0.163,0.163 +0.166,0.166,0.166 +0.170,0.170,0.170 +0.173,0.173,0.173 +0.176,0.176,0.176 +0.179,0.179,0.179 +0.183,0.183,0.183 +0.186,0.186,0.186 +0.189,0.189,0.189 +0.193,0.193,0.193 +0.196,0.196,0.196 +0.199,0.199,0.199 +0.203,0.203,0.203 +0.206,0.206,0.206 +0.209,0.210,0.209 +0.213,0.213,0.213 +0.216,0.216,0.216 +0.220,0.220,0.220 +0.223,0.223,0.223 +0.226,0.227,0.227 +0.230,0.230,0.230 +0.233,0.233,0.233 +0.237,0.237,0.237 +0.240,0.240,0.240 +0.244,0.244,0.244 +0.247,0.247,0.247 +0.251,0.251,0.251 +0.254,0.254,0.254 +0.258,0.258,0.258 +0.261,0.261,0.261 +0.265,0.265,0.265 +0.268,0.268,0.268 +0.272,0.272,0.272 +0.275,0.275,0.275 +0.279,0.279,0.279 +0.282,0.282,0.282 +0.286,0.286,0.286 +0.289,0.289,0.289 +0.293,0.293,0.293 +0.297,0.297,0.297 +0.300,0.300,0.300 +0.304,0.304,0.304 +0.307,0.307,0.307 +0.311,0.311,0.311 +0.314,0.315,0.315 +0.318,0.318,0.318 +0.322,0.322,0.322 +0.325,0.325,0.325 +0.329,0.329,0.329 +0.333,0.333,0.333 +0.336,0.336,0.336 +0.340,0.340,0.340 +0.344,0.344,0.344 +0.347,0.347,0.347 +0.351,0.351,0.351 +0.355,0.355,0.355 +0.358,0.358,0.358 +0.362,0.362,0.362 +0.366,0.366,0.366 +0.369,0.370,0.370 +0.373,0.373,0.373 +0.377,0.377,0.377 +0.381,0.381,0.381 +0.384,0.384,0.384 +0.388,0.388,0.388 +0.392,0.392,0.392 +0.396,0.396,0.396 +0.399,0.399,0.399 +0.403,0.403,0.403 +0.407,0.407,0.407 +0.411,0.411,0.411 +0.415,0.415,0.415 +0.418,0.418,0.418 +0.422,0.422,0.422 +0.426,0.426,0.426 +0.430,0.430,0.430 +0.434,0.434,0.434 +0.437,0.437,0.437 +0.441,0.441,0.441 +0.445,0.445,0.445 +0.449,0.449,0.449 +0.453,0.453,0.453 +0.457,0.457,0.457 +0.460,0.461,0.461 +0.464,0.464,0.464 +0.468,0.468,0.468 +0.472,0.472,0.472 +0.476,0.476,0.476 +0.480,0.480,0.480 +0.484,0.484,0.484 +0.488,0.488,0.488 +0.492,0.492,0.492 +0.495,0.496,0.496 +0.499,0.499,0.499 +0.503,0.503,0.503 +0.507,0.507,0.507 +0.511,0.511,0.511 +0.515,0.515,0.515 +0.519,0.519,0.519 +0.523,0.523,0.523 +0.527,0.527,0.527 +0.531,0.531,0.531 +0.535,0.535,0.535 +0.539,0.539,0.539 +0.543,0.543,0.543 +0.547,0.547,0.547 +0.551,0.551,0.551 +0.555,0.555,0.555 +0.559,0.559,0.559 +0.563,0.563,0.563 +0.567,0.567,0.567 +0.571,0.571,0.571 +0.575,0.575,0.575 +0.579,0.579,0.579 +0.583,0.583,0.583 +0.587,0.587,0.587 +0.591,0.591,0.591 +0.595,0.595,0.595 +0.599,0.599,0.599 +0.603,0.603,0.603 +0.607,0.607,0.607 +0.611,0.611,0.611 +0.615,0.615,0.615 +0.619,0.619,0.619 +0.623,0.624,0.624 +0.628,0.628,0.628 +0.632,0.632,0.632 +0.636,0.636,0.636 +0.640,0.640,0.640 +0.644,0.644,0.644 +0.648,0.648,0.648 +0.652,0.652,0.652 +0.656,0.656,0.656 +0.660,0.660,0.660 +0.664,0.665,0.665 +0.669,0.669,0.669 +0.673,0.673,0.673 +0.677,0.677,0.677 +0.681,0.681,0.681 +0.685,0.685,0.685 +0.689,0.689,0.689 +0.694,0.694,0.694 +0.698,0.698,0.698 +0.702,0.702,0.702 +0.706,0.706,0.706 +0.710,0.710,0.710 +0.714,0.715,0.714 +0.719,0.719,0.719 +0.723,0.723,0.723 +0.727,0.727,0.727 +0.731,0.731,0.731 +0.735,0.735,0.735 +0.740,0.740,0.740 +0.744,0.744,0.744 +0.748,0.748,0.748 +0.752,0.752,0.752 +0.756,0.757,0.757 +0.761,0.761,0.761 +0.765,0.765,0.765 +0.769,0.769,0.769 +0.773,0.774,0.774 +0.778,0.778,0.778 +0.782,0.782,0.782 +0.786,0.786,0.786 +0.790,0.791,0.791 +0.795,0.795,0.795 +0.799,0.799,0.799 +0.803,0.803,0.803 +0.808,0.808,0.808 +0.812,0.812,0.812 +0.816,0.816,0.816 +0.820,0.821,0.821 +0.825,0.825,0.825 +0.829,0.829,0.829 +0.833,0.833,0.833 +0.838,0.838,0.838 +0.842,0.842,0.842 +0.846,0.846,0.846 +0.851,0.851,0.851 +0.855,0.855,0.855 +0.859,0.859,0.859 +0.864,0.864,0.864 +0.868,0.868,0.868 +0.872,0.872,0.872 +0.877,0.877,0.877 +0.881,0.881,0.881 +0.885,0.885,0.885 +0.890,0.890,0.890 +0.894,0.894,0.894 +0.898,0.899,0.898 +0.903,0.903,0.903 +0.907,0.907,0.907 +0.911,0.912,0.912 +0.916,0.916,0.916 +0.920,0.920,0.920 +0.925,0.925,0.925 +0.929,0.929,0.929 +0.933,0.934,0.934 +0.938,0.938,0.938 +0.942,0.942,0.942 +0.947,0.947,0.947 +0.951,0.951,0.951 +0.955,0.956,0.956 +0.960,0.960,0.960 +0.964,0.965,0.964 +0.969,0.969,0.969 +0.973,0.973,0.973 +0.978,0.978,0.978 +0.982,0.982,0.982 +0.987,0.987,0.987 +0.991,0.991,0.991 +0.995,0.996,0.996 +1.000,1.000,1.000 diff --git a/test/CETperceptual_csv_0_1/CET-L02.csv b/test/CETperceptual_csv_0_1/CET-L02.csv new file mode 100644 index 0000000..921590d --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-L02.csv @@ -0,0 +1,256 @@ +0.108,0.108,0.108 +0.110,0.110,0.110 +0.113,0.113,0.113 +0.116,0.116,0.116 +0.118,0.118,0.118 +0.121,0.121,0.121 +0.123,0.123,0.123 +0.126,0.126,0.126 +0.129,0.129,0.129 +0.131,0.132,0.132 +0.134,0.134,0.134 +0.137,0.137,0.137 +0.140,0.140,0.140 +0.142,0.142,0.142 +0.145,0.145,0.145 +0.148,0.148,0.148 +0.150,0.150,0.150 +0.153,0.153,0.153 +0.156,0.156,0.156 +0.159,0.159,0.159 +0.161,0.161,0.161 +0.164,0.164,0.164 +0.167,0.167,0.167 +0.170,0.170,0.170 +0.172,0.173,0.173 +0.175,0.175,0.175 +0.178,0.178,0.178 +0.181,0.181,0.181 +0.184,0.184,0.184 +0.187,0.187,0.187 +0.189,0.189,0.189 +0.192,0.192,0.192 +0.195,0.195,0.195 +0.198,0.198,0.198 +0.201,0.201,0.201 +0.204,0.204,0.204 +0.206,0.207,0.206 +0.209,0.209,0.209 +0.212,0.212,0.212 +0.215,0.215,0.215 +0.218,0.218,0.218 +0.221,0.221,0.221 +0.224,0.224,0.224 +0.227,0.227,0.227 +0.230,0.230,0.230 +0.232,0.233,0.233 +0.235,0.235,0.235 +0.238,0.238,0.238 +0.241,0.241,0.241 +0.244,0.244,0.244 +0.247,0.247,0.247 +0.250,0.250,0.250 +0.253,0.253,0.253 +0.256,0.256,0.256 +0.259,0.259,0.259 +0.262,0.262,0.262 +0.265,0.265,0.265 +0.268,0.268,0.268 +0.271,0.271,0.271 +0.274,0.274,0.274 +0.277,0.277,0.277 +0.280,0.280,0.280 +0.283,0.283,0.283 +0.286,0.286,0.286 +0.289,0.289,0.289 +0.292,0.292,0.292 +0.295,0.295,0.295 +0.298,0.298,0.298 +0.301,0.301,0.301 +0.304,0.304,0.304 +0.307,0.307,0.307 +0.310,0.310,0.310 +0.313,0.313,0.313 +0.316,0.317,0.317 +0.320,0.320,0.320 +0.323,0.323,0.323 +0.326,0.326,0.326 +0.329,0.329,0.329 +0.332,0.332,0.332 +0.335,0.335,0.335 +0.338,0.338,0.338 +0.341,0.341,0.341 +0.344,0.344,0.344 +0.347,0.348,0.348 +0.351,0.351,0.351 +0.354,0.354,0.354 +0.357,0.357,0.357 +0.360,0.360,0.360 +0.363,0.363,0.363 +0.366,0.366,0.366 +0.369,0.370,0.370 +0.373,0.373,0.373 +0.376,0.376,0.376 +0.379,0.379,0.379 +0.382,0.382,0.382 +0.385,0.385,0.385 +0.389,0.389,0.389 +0.392,0.392,0.392 +0.395,0.395,0.395 +0.398,0.398,0.398 +0.401,0.401,0.401 +0.404,0.405,0.405 +0.408,0.408,0.408 +0.411,0.411,0.411 +0.414,0.414,0.414 +0.417,0.417,0.417 +0.421,0.421,0.421 +0.424,0.424,0.424 +0.427,0.427,0.427 +0.430,0.430,0.430 +0.434,0.434,0.434 +0.437,0.437,0.437 +0.440,0.440,0.440 +0.443,0.443,0.443 +0.447,0.447,0.447 +0.450,0.450,0.450 +0.453,0.453,0.453 +0.456,0.456,0.456 +0.460,0.460,0.460 +0.463,0.463,0.463 +0.466,0.466,0.466 +0.470,0.470,0.470 +0.473,0.473,0.473 +0.476,0.476,0.476 +0.479,0.480,0.480 +0.483,0.483,0.483 +0.486,0.486,0.486 +0.489,0.489,0.489 +0.493,0.493,0.493 +0.496,0.496,0.496 +0.499,0.499,0.499 +0.503,0.503,0.503 +0.506,0.506,0.506 +0.509,0.509,0.509 +0.513,0.513,0.513 +0.516,0.516,0.516 +0.519,0.520,0.520 +0.523,0.523,0.523 +0.526,0.526,0.526 +0.530,0.530,0.530 +0.533,0.533,0.533 +0.536,0.536,0.536 +0.540,0.540,0.540 +0.543,0.543,0.543 +0.546,0.547,0.546 +0.550,0.550,0.550 +0.553,0.553,0.553 +0.557,0.557,0.557 +0.560,0.560,0.560 +0.563,0.563,0.563 +0.567,0.567,0.567 +0.570,0.570,0.570 +0.574,0.574,0.574 +0.577,0.577,0.577 +0.580,0.581,0.581 +0.584,0.584,0.584 +0.587,0.587,0.587 +0.591,0.591,0.591 +0.594,0.594,0.594 +0.598,0.598,0.598 +0.601,0.601,0.601 +0.605,0.605,0.605 +0.608,0.608,0.608 +0.611,0.612,0.612 +0.615,0.615,0.615 +0.618,0.618,0.618 +0.622,0.622,0.622 +0.625,0.625,0.625 +0.629,0.629,0.629 +0.632,0.632,0.632 +0.636,0.636,0.636 +0.639,0.639,0.639 +0.643,0.643,0.643 +0.646,0.646,0.646 +0.650,0.650,0.650 +0.653,0.653,0.653 +0.657,0.657,0.657 +0.660,0.660,0.660 +0.664,0.664,0.664 +0.667,0.667,0.667 +0.671,0.671,0.671 +0.674,0.674,0.674 +0.678,0.678,0.678 +0.681,0.681,0.681 +0.685,0.685,0.685 +0.688,0.688,0.688 +0.692,0.692,0.692 +0.695,0.696,0.695 +0.699,0.699,0.699 +0.702,0.703,0.703 +0.706,0.706,0.706 +0.710,0.710,0.710 +0.713,0.713,0.713 +0.717,0.717,0.717 +0.720,0.720,0.720 +0.724,0.724,0.724 +0.727,0.728,0.727 +0.731,0.731,0.731 +0.735,0.735,0.735 +0.738,0.738,0.738 +0.742,0.742,0.742 +0.745,0.745,0.745 +0.749,0.749,0.749 +0.752,0.753,0.753 +0.756,0.756,0.756 +0.760,0.760,0.760 +0.763,0.763,0.763 +0.767,0.767,0.767 +0.770,0.771,0.771 +0.774,0.774,0.774 +0.778,0.778,0.778 +0.781,0.781,0.781 +0.785,0.785,0.785 +0.789,0.789,0.789 +0.792,0.792,0.792 +0.796,0.796,0.796 +0.799,0.800,0.800 +0.803,0.803,0.803 +0.807,0.807,0.807 +0.810,0.810,0.810 +0.814,0.814,0.814 +0.818,0.818,0.818 +0.821,0.821,0.821 +0.825,0.825,0.825 +0.829,0.829,0.829 +0.832,0.832,0.832 +0.836,0.836,0.836 +0.840,0.840,0.840 +0.843,0.843,0.843 +0.847,0.847,0.847 +0.851,0.851,0.851 +0.854,0.854,0.854 +0.858,0.858,0.858 +0.862,0.862,0.862 +0.865,0.865,0.865 +0.869,0.869,0.869 +0.873,0.873,0.873 +0.876,0.877,0.876 +0.880,0.880,0.880 +0.884,0.884,0.884 +0.887,0.888,0.888 +0.891,0.891,0.891 +0.895,0.895,0.895 +0.899,0.899,0.899 +0.902,0.902,0.902 +0.906,0.906,0.906 +0.910,0.910,0.910 +0.913,0.914,0.914 +0.917,0.917,0.917 +0.921,0.921,0.921 +0.925,0.925,0.925 +0.928,0.929,0.929 +0.932,0.932,0.932 +0.936,0.936,0.936 +0.940,0.940,0.940 +0.943,0.944,0.943 diff --git a/test/CETperceptual_csv_0_1/CET-L03.csv b/test/CETperceptual_csv_0_1/CET-L03.csv new file mode 100644 index 0000000..757974a --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-L03.csv @@ -0,0 +1,256 @@ +0.000,0.000,0.000 +0.027,0.000,0.000 +0.052,0.000,0.000 +0.072,0.000,0.000 +0.087,0.000,0.000 +0.101,0.000,0.000 +0.113,0.000,0.000 +0.124,0.000,0.000 +0.135,0.001,0.000 +0.144,0.001,0.000 +0.153,0.001,0.000 +0.161,0.001,0.000 +0.169,0.001,0.000 +0.177,0.001,0.000 +0.184,0.002,0.000 +0.191,0.002,0.000 +0.198,0.002,0.000 +0.204,0.002,0.000 +0.210,0.002,0.000 +0.216,0.002,0.000 +0.222,0.002,0.000 +0.228,0.002,0.000 +0.234,0.002,0.000 +0.240,0.002,0.000 +0.245,0.002,0.000 +0.251,0.002,0.000 +0.257,0.002,0.000 +0.263,0.002,0.000 +0.269,0.002,0.000 +0.275,0.002,0.000 +0.280,0.002,0.000 +0.286,0.003,0.000 +0.292,0.003,0.000 +0.298,0.003,0.000 +0.304,0.003,0.000 +0.310,0.003,0.000 +0.316,0.003,0.000 +0.322,0.003,0.000 +0.328,0.003,0.000 +0.334,0.004,0.000 +0.341,0.004,0.000 +0.347,0.004,0.000 +0.353,0.004,0.000 +0.359,0.004,0.000 +0.365,0.004,0.000 +0.371,0.005,0.000 +0.378,0.005,0.000 +0.384,0.005,0.000 +0.390,0.005,0.000 +0.396,0.005,0.000 +0.403,0.005,0.000 +0.409,0.006,0.000 +0.415,0.006,0.000 +0.422,0.006,0.000 +0.428,0.006,0.000 +0.434,0.007,0.000 +0.441,0.007,0.000 +0.447,0.007,0.000 +0.453,0.007,0.000 +0.460,0.007,0.000 +0.466,0.008,0.000 +0.473,0.008,0.000 +0.479,0.008,0.000 +0.486,0.009,0.000 +0.492,0.009,0.000 +0.499,0.009,0.000 +0.505,0.009,0.000 +0.512,0.010,0.000 +0.518,0.010,0.000 +0.525,0.010,0.000 +0.532,0.011,0.000 +0.538,0.011,0.000 +0.545,0.011,0.000 +0.552,0.012,0.000 +0.558,0.012,0.000 +0.565,0.013,0.000 +0.572,0.013,0.000 +0.578,0.013,0.000 +0.585,0.014,0.000 +0.592,0.014,0.000 +0.598,0.015,0.000 +0.605,0.015,0.000 +0.612,0.015,0.000 +0.619,0.016,0.000 +0.625,0.016,0.000 +0.632,0.017,0.000 +0.639,0.017,0.000 +0.646,0.018,0.000 +0.653,0.018,0.000 +0.660,0.019,0.000 +0.666,0.020,0.000 +0.673,0.020,0.000 +0.680,0.021,0.000 +0.687,0.021,0.000 +0.694,0.022,0.000 +0.701,0.023,0.000 +0.708,0.023,0.000 +0.715,0.024,0.000 +0.722,0.025,0.000 +0.729,0.026,0.000 +0.736,0.026,0.000 +0.743,0.027,0.000 +0.750,0.028,0.000 +0.757,0.029,0.000 +0.764,0.030,0.000 +0.771,0.031,0.000 +0.778,0.032,0.000 +0.785,0.033,0.000 +0.792,0.034,0.000 +0.799,0.035,0.000 +0.806,0.036,0.000 +0.813,0.037,0.000 +0.820,0.038,0.000 +0.827,0.040,0.000 +0.834,0.041,0.000 +0.841,0.043,0.000 +0.848,0.044,0.000 +0.855,0.046,0.000 +0.863,0.048,0.000 +0.870,0.050,0.000 +0.877,0.052,0.000 +0.884,0.054,0.000 +0.891,0.056,0.000 +0.898,0.059,0.000 +0.905,0.062,0.000 +0.911,0.065,0.000 +0.918,0.069,0.000 +0.924,0.075,0.000 +0.931,0.081,0.000 +0.936,0.089,0.000 +0.942,0.097,0.000 +0.947,0.107,0.000 +0.952,0.117,0.000 +0.957,0.127,0.000 +0.961,0.138,0.000 +0.965,0.150,0.000 +0.968,0.161,0.000 +0.971,0.173,0.000 +0.974,0.185,0.000 +0.977,0.197,0.000 +0.979,0.208,0.000 +0.981,0.220,0.000 +0.983,0.232,0.000 +0.985,0.243,0.000 +0.987,0.254,0.000 +0.988,0.265,0.000 +0.989,0.276,0.000 +0.991,0.287,0.000 +0.992,0.297,0.000 +0.993,0.308,0.000 +0.993,0.318,0.000 +0.994,0.328,0.000 +0.995,0.338,0.000 +0.996,0.347,0.000 +0.996,0.357,0.000 +0.997,0.366,0.000 +0.997,0.376,0.000 +0.998,0.385,0.000 +0.998,0.394,0.000 +0.998,0.403,0.000 +0.999,0.411,0.000 +0.999,0.420,0.000 +0.999,0.429,0.000 +0.999,0.437,0.000 +1.000,0.446,0.000 +1.000,0.454,0.000 +1.000,0.462,0.000 +1.000,0.470,0.000 +1.000,0.478,0.000 +1.000,0.486,0.000 +1.000,0.494,0.000 +1.000,0.502,0.000 +1.000,0.510,0.000 +1.000,0.518,0.000 +1.000,0.525,0.000 +1.000,0.533,0.000 +1.000,0.540,0.000 +1.000,0.548,0.000 +1.000,0.555,0.000 +1.000,0.562,0.001 +1.000,0.570,0.001 +1.000,0.577,0.001 +1.000,0.584,0.001 +1.000,0.591,0.001 +1.000,0.598,0.002 +1.000,0.605,0.002 +1.000,0.612,0.002 +1.000,0.619,0.003 +1.000,0.626,0.003 +1.000,0.633,0.003 +1.000,0.640,0.004 +1.000,0.647,0.004 +1.000,0.653,0.004 +1.000,0.660,0.005 +1.000,0.667,0.005 +1.000,0.673,0.006 +1.000,0.680,0.006 +1.000,0.687,0.007 +1.000,0.693,0.007 +1.000,0.700,0.008 +1.000,0.706,0.009 +1.000,0.713,0.009 +1.000,0.719,0.010 +1.000,0.726,0.011 +1.000,0.732,0.012 +1.000,0.739,0.012 +1.000,0.745,0.013 +1.000,0.751,0.014 +1.000,0.758,0.015 +1.000,0.764,0.016 +1.000,0.770,0.017 +1.000,0.777,0.018 +1.000,0.783,0.019 +1.000,0.789,0.020 +1.000,0.796,0.021 +1.000,0.802,0.023 +1.000,0.808,0.024 +1.000,0.814,0.025 +1.000,0.820,0.027 +1.000,0.827,0.028 +1.000,0.833,0.030 +1.000,0.839,0.032 +1.000,0.845,0.033 +1.000,0.851,0.035 +1.000,0.857,0.037 +1.000,0.863,0.040 +1.000,0.869,0.042 +1.000,0.876,0.044 +1.000,0.882,0.047 +1.000,0.888,0.050 +1.000,0.894,0.053 +1.000,0.900,0.056 +1.000,0.906,0.060 +1.000,0.912,0.064 +1.000,0.918,0.069 +1.000,0.924,0.074 +1.000,0.930,0.081 +1.000,0.936,0.091 +1.000,0.942,0.104 +1.000,0.948,0.121 +1.000,0.953,0.141 +1.000,0.959,0.167 +1.000,0.965,0.198 +1.000,0.970,0.235 +1.000,0.975,0.279 +1.000,0.980,0.329 +1.000,0.984,0.386 +1.000,0.988,0.449 +1.000,0.991,0.517 +1.000,0.994,0.588 +1.000,0.996,0.660 +1.000,0.998,0.732 +1.000,0.999,0.803 +1.000,1.000,0.871 +1.000,1.000,0.937 +1.000,1.000,1.000 diff --git a/test/CETperceptual_csv_0_1/CET-L04.csv b/test/CETperceptual_csv_0_1/CET-L04.csv new file mode 100644 index 0000000..035a9ff --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-L04.csv @@ -0,0 +1,256 @@ +0.000,0.000,0.000 +0.026,0.000,0.000 +0.051,0.000,0.000 +0.070,0.000,0.000 +0.085,0.000,0.000 +0.099,0.000,0.000 +0.111,0.000,0.000 +0.122,0.000,0.000 +0.132,0.000,0.000 +0.142,0.001,0.000 +0.150,0.001,0.000 +0.159,0.001,0.000 +0.166,0.001,0.000 +0.174,0.001,0.000 +0.181,0.001,0.000 +0.188,0.001,0.000 +0.195,0.001,0.000 +0.201,0.001,0.000 +0.207,0.001,0.000 +0.213,0.001,0.000 +0.219,0.002,0.000 +0.224,0.002,0.000 +0.230,0.002,0.000 +0.236,0.002,0.000 +0.241,0.002,0.000 +0.247,0.002,0.000 +0.253,0.002,0.000 +0.258,0.002,0.000 +0.264,0.002,0.000 +0.270,0.002,0.000 +0.275,0.002,0.000 +0.281,0.002,0.000 +0.287,0.003,0.000 +0.293,0.003,0.000 +0.298,0.003,0.000 +0.304,0.003,0.000 +0.310,0.003,0.000 +0.316,0.003,0.000 +0.322,0.003,0.000 +0.328,0.003,0.000 +0.334,0.004,0.000 +0.339,0.004,0.000 +0.345,0.004,0.000 +0.351,0.004,0.000 +0.357,0.004,0.000 +0.363,0.004,0.000 +0.369,0.004,0.000 +0.375,0.005,0.000 +0.381,0.005,0.000 +0.387,0.005,0.000 +0.394,0.005,0.000 +0.400,0.005,0.000 +0.406,0.006,0.000 +0.412,0.006,0.000 +0.418,0.006,0.000 +0.424,0.006,0.000 +0.430,0.006,0.000 +0.437,0.007,0.000 +0.443,0.007,0.000 +0.449,0.007,0.000 +0.455,0.007,0.000 +0.461,0.008,0.000 +0.468,0.008,0.000 +0.474,0.008,0.000 +0.480,0.008,0.000 +0.487,0.009,0.000 +0.493,0.009,0.000 +0.499,0.009,0.000 +0.506,0.009,0.000 +0.512,0.010,0.000 +0.518,0.010,0.000 +0.525,0.010,0.000 +0.531,0.011,0.000 +0.538,0.011,0.000 +0.544,0.011,0.000 +0.551,0.012,0.000 +0.557,0.012,0.000 +0.563,0.012,0.000 +0.570,0.013,0.000 +0.576,0.013,0.000 +0.583,0.014,0.000 +0.589,0.014,0.000 +0.596,0.014,0.000 +0.603,0.015,0.000 +0.609,0.015,0.000 +0.616,0.016,0.000 +0.622,0.016,0.000 +0.629,0.017,0.000 +0.635,0.017,0.000 +0.642,0.018,0.000 +0.649,0.018,0.000 +0.655,0.019,0.000 +0.662,0.019,0.000 +0.669,0.020,0.000 +0.675,0.020,0.000 +0.682,0.021,0.000 +0.689,0.022,0.000 +0.695,0.022,0.000 +0.702,0.023,0.000 +0.709,0.024,0.000 +0.716,0.024,0.000 +0.722,0.025,0.000 +0.729,0.026,0.000 +0.736,0.026,0.000 +0.743,0.027,0.000 +0.750,0.028,0.000 +0.756,0.029,0.000 +0.763,0.030,0.000 +0.770,0.031,0.000 +0.777,0.032,0.000 +0.784,0.033,0.000 +0.790,0.034,0.000 +0.797,0.035,0.000 +0.804,0.036,0.000 +0.811,0.037,0.000 +0.818,0.038,0.000 +0.825,0.039,0.000 +0.832,0.041,0.000 +0.839,0.042,0.000 +0.845,0.044,0.000 +0.852,0.045,0.000 +0.859,0.047,0.000 +0.866,0.049,0.000 +0.873,0.050,0.000 +0.880,0.052,0.000 +0.887,0.055,0.000 +0.893,0.057,0.000 +0.900,0.060,0.000 +0.907,0.063,0.000 +0.913,0.066,0.000 +0.920,0.071,0.000 +0.926,0.076,0.000 +0.932,0.084,0.000 +0.937,0.093,0.000 +0.942,0.104,0.000 +0.946,0.115,0.000 +0.950,0.128,0.000 +0.953,0.140,0.000 +0.956,0.153,0.000 +0.959,0.166,0.000 +0.961,0.179,0.000 +0.963,0.191,0.000 +0.965,0.203,0.000 +0.967,0.215,0.000 +0.969,0.227,0.000 +0.970,0.238,0.000 +0.972,0.249,0.000 +0.973,0.260,0.000 +0.974,0.270,0.000 +0.975,0.281,0.000 +0.976,0.291,0.000 +0.977,0.301,0.000 +0.978,0.311,0.000 +0.979,0.320,0.000 +0.980,0.330,0.000 +0.981,0.339,0.000 +0.982,0.348,0.000 +0.982,0.357,0.000 +0.983,0.366,0.000 +0.984,0.375,0.000 +0.984,0.383,0.000 +0.985,0.392,0.000 +0.985,0.400,0.000 +0.986,0.408,0.000 +0.986,0.416,0.000 +0.987,0.425,0.000 +0.987,0.433,0.000 +0.988,0.440,0.000 +0.988,0.448,0.000 +0.989,0.456,0.000 +0.989,0.464,0.000 +0.989,0.471,0.000 +0.990,0.479,0.000 +0.990,0.486,0.000 +0.991,0.494,0.000 +0.991,0.501,0.000 +0.991,0.508,0.000 +0.991,0.515,0.000 +0.992,0.523,0.000 +0.992,0.530,0.000 +0.992,0.537,0.000 +0.993,0.544,0.000 +0.993,0.551,0.000 +0.993,0.558,0.000 +0.993,0.565,0.000 +0.994,0.571,0.000 +0.994,0.578,0.000 +0.994,0.585,0.000 +0.994,0.592,0.000 +0.995,0.598,0.000 +0.995,0.605,0.000 +0.995,0.612,0.000 +0.995,0.618,0.000 +0.995,0.625,0.000 +0.996,0.632,0.000 +0.996,0.638,0.000 +0.996,0.645,0.000 +0.996,0.651,0.000 +0.996,0.657,0.000 +0.996,0.664,0.000 +0.997,0.670,0.000 +0.997,0.677,0.000 +0.997,0.683,0.000 +0.997,0.689,0.000 +0.997,0.696,0.000 +0.997,0.702,0.000 +0.997,0.708,0.000 +0.997,0.714,0.000 +0.998,0.721,0.000 +0.998,0.727,0.000 +0.998,0.733,0.000 +0.998,0.739,0.000 +0.998,0.745,0.000 +0.998,0.752,0.000 +0.998,0.758,0.000 +0.998,0.764,0.000 +0.998,0.770,0.000 +0.999,0.776,0.000 +0.999,0.782,0.000 +0.999,0.788,0.000 +0.999,0.794,0.000 +0.999,0.800,0.000 +0.999,0.806,0.000 +0.999,0.812,0.000 +0.999,0.818,0.000 +0.999,0.824,0.000 +0.999,0.830,0.000 +0.999,0.836,0.000 +0.999,0.842,0.000 +0.999,0.848,0.000 +0.999,0.854,0.000 +0.999,0.860,0.000 +1.000,0.866,0.000 +1.000,0.872,0.000 +1.000,0.878,0.000 +1.000,0.884,0.000 +1.000,0.890,0.000 +1.000,0.895,0.000 +1.000,0.901,0.000 +1.000,0.907,0.000 +1.000,0.913,0.000 +1.000,0.919,0.000 +1.000,0.925,0.000 +1.000,0.930,0.000 +1.000,0.936,0.000 +1.000,0.942,0.000 +1.000,0.948,0.000 +1.000,0.954,0.000 +1.000,0.960,0.000 +1.000,0.965,0.000 +1.000,0.971,0.000 +1.000,0.977,0.000 +1.000,0.983,0.000 +1.000,0.988,0.000 +1.000,0.994,0.000 +1.000,1.000,0.000 diff --git a/test/CETperceptual_csv_0_1/CET-L05.csv b/test/CETperceptual_csv_0_1/CET-L05.csv new file mode 100644 index 0000000..cd07fae --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-L05.csv @@ -0,0 +1,256 @@ +0.002,0.083,0.022 +0.004,0.086,0.022 +0.007,0.090,0.022 +0.009,0.093,0.022 +0.012,0.096,0.022 +0.014,0.100,0.022 +0.017,0.103,0.022 +0.019,0.106,0.022 +0.022,0.109,0.022 +0.024,0.112,0.022 +0.026,0.115,0.022 +0.028,0.118,0.022 +0.030,0.121,0.022 +0.032,0.124,0.022 +0.033,0.127,0.022 +0.034,0.130,0.022 +0.036,0.133,0.022 +0.036,0.136,0.022 +0.037,0.140,0.021 +0.037,0.143,0.021 +0.037,0.146,0.021 +0.037,0.150,0.021 +0.037,0.153,0.021 +0.036,0.156,0.021 +0.036,0.160,0.021 +0.036,0.163,0.020 +0.035,0.167,0.020 +0.035,0.170,0.020 +0.035,0.173,0.020 +0.034,0.177,0.020 +0.034,0.180,0.020 +0.034,0.184,0.019 +0.033,0.187,0.019 +0.033,0.191,0.019 +0.033,0.194,0.019 +0.033,0.197,0.019 +0.033,0.201,0.019 +0.033,0.204,0.019 +0.033,0.208,0.019 +0.034,0.211,0.018 +0.034,0.215,0.018 +0.035,0.218,0.018 +0.036,0.222,0.019 +0.037,0.225,0.019 +0.038,0.228,0.019 +0.039,0.232,0.019 +0.040,0.235,0.019 +0.041,0.239,0.019 +0.042,0.242,0.019 +0.043,0.246,0.019 +0.044,0.249,0.019 +0.045,0.253,0.019 +0.046,0.256,0.019 +0.047,0.260,0.020 +0.048,0.263,0.020 +0.049,0.267,0.020 +0.050,0.270,0.020 +0.051,0.274,0.020 +0.052,0.277,0.020 +0.053,0.281,0.020 +0.054,0.284,0.020 +0.055,0.288,0.020 +0.057,0.292,0.020 +0.058,0.295,0.020 +0.059,0.299,0.020 +0.060,0.302,0.020 +0.061,0.306,0.020 +0.062,0.310,0.020 +0.063,0.313,0.020 +0.064,0.317,0.021 +0.065,0.320,0.021 +0.066,0.324,0.021 +0.067,0.328,0.022 +0.068,0.331,0.022 +0.069,0.335,0.022 +0.070,0.339,0.023 +0.070,0.342,0.023 +0.071,0.346,0.023 +0.072,0.350,0.024 +0.073,0.353,0.024 +0.074,0.357,0.024 +0.075,0.361,0.025 +0.076,0.365,0.025 +0.077,0.368,0.025 +0.078,0.372,0.026 +0.079,0.376,0.026 +0.080,0.380,0.026 +0.081,0.383,0.027 +0.082,0.387,0.027 +0.083,0.391,0.028 +0.084,0.395,0.028 +0.085,0.398,0.028 +0.086,0.402,0.029 +0.087,0.406,0.029 +0.088,0.410,0.030 +0.089,0.413,0.030 +0.090,0.417,0.030 +0.091,0.421,0.031 +0.092,0.425,0.031 +0.093,0.429,0.032 +0.094,0.433,0.032 +0.095,0.436,0.032 +0.096,0.440,0.033 +0.097,0.444,0.033 +0.098,0.448,0.034 +0.099,0.452,0.034 +0.100,0.456,0.034 +0.101,0.460,0.035 +0.102,0.463,0.036 +0.103,0.467,0.036 +0.104,0.471,0.036 +0.105,0.475,0.037 +0.106,0.479,0.037 +0.107,0.483,0.038 +0.108,0.487,0.038 +0.109,0.491,0.039 +0.110,0.495,0.039 +0.111,0.499,0.039 +0.112,0.503,0.040 +0.113,0.506,0.040 +0.114,0.510,0.041 +0.115,0.514,0.041 +0.116,0.518,0.042 +0.117,0.522,0.042 +0.118,0.526,0.043 +0.119,0.530,0.043 +0.120,0.534,0.044 +0.121,0.538,0.044 +0.122,0.542,0.045 +0.123,0.546,0.045 +0.124,0.550,0.045 +0.125,0.554,0.046 +0.126,0.558,0.046 +0.127,0.562,0.047 +0.128,0.566,0.047 +0.129,0.570,0.048 +0.130,0.574,0.048 +0.131,0.578,0.049 +0.132,0.582,0.049 +0.133,0.586,0.050 +0.134,0.590,0.050 +0.135,0.595,0.050 +0.136,0.599,0.051 +0.137,0.603,0.051 +0.138,0.607,0.052 +0.139,0.611,0.052 +0.140,0.615,0.053 +0.141,0.619,0.053 +0.142,0.623,0.054 +0.143,0.627,0.054 +0.144,0.631,0.054 +0.145,0.635,0.055 +0.146,0.639,0.055 +0.147,0.644,0.056 +0.148,0.648,0.056 +0.149,0.652,0.057 +0.150,0.656,0.057 +0.151,0.660,0.058 +0.152,0.664,0.058 +0.153,0.668,0.059 +0.155,0.673,0.059 +0.156,0.677,0.060 +0.157,0.681,0.060 +0.158,0.685,0.060 +0.159,0.689,0.061 +0.160,0.693,0.061 +0.161,0.698,0.062 +0.162,0.702,0.062 +0.163,0.706,0.063 +0.164,0.710,0.063 +0.165,0.714,0.064 +0.166,0.719,0.064 +0.167,0.723,0.064 +0.168,0.727,0.065 +0.169,0.731,0.065 +0.170,0.735,0.066 +0.171,0.740,0.066 +0.172,0.744,0.067 +0.173,0.748,0.067 +0.174,0.752,0.068 +0.175,0.757,0.068 +0.177,0.761,0.069 +0.178,0.765,0.069 +0.179,0.769,0.070 +0.180,0.774,0.070 +0.181,0.778,0.070 +0.182,0.782,0.071 +0.183,0.786,0.071 +0.184,0.791,0.072 +0.185,0.795,0.072 +0.186,0.799,0.073 +0.187,0.803,0.073 +0.188,0.808,0.074 +0.189,0.812,0.074 +0.190,0.816,0.074 +0.191,0.821,0.075 +0.193,0.825,0.075 +0.194,0.829,0.076 +0.195,0.834,0.076 +0.196,0.838,0.077 +0.197,0.842,0.077 +0.198,0.847,0.077 +0.199,0.851,0.078 +0.200,0.855,0.078 +0.201,0.860,0.079 +0.202,0.864,0.079 +0.203,0.868,0.080 +0.204,0.873,0.080 +0.205,0.877,0.081 +0.206,0.881,0.081 +0.208,0.886,0.082 +0.209,0.890,0.082 +0.210,0.895,0.082 +0.212,0.899,0.083 +0.216,0.903,0.083 +0.222,0.907,0.084 +0.231,0.911,0.084 +0.242,0.915,0.084 +0.254,0.919,0.084 +0.267,0.923,0.084 +0.281,0.926,0.085 +0.296,0.930,0.085 +0.311,0.933,0.085 +0.327,0.936,0.085 +0.343,0.940,0.085 +0.359,0.943,0.085 +0.375,0.946,0.085 +0.392,0.949,0.085 +0.408,0.952,0.084 +0.425,0.955,0.084 +0.441,0.958,0.084 +0.458,0.960,0.084 +0.474,0.963,0.084 +0.491,0.966,0.084 +0.507,0.968,0.084 +0.524,0.971,0.083 +0.540,0.973,0.083 +0.557,0.976,0.083 +0.573,0.978,0.083 +0.589,0.980,0.083 +0.606,0.982,0.083 +0.622,0.985,0.082 +0.638,0.987,0.082 +0.655,0.989,0.082 +0.671,0.991,0.082 +0.687,0.993,0.082 +0.703,0.995,0.082 +0.719,0.996,0.082 +0.735,0.998,0.082 +0.751,1.000,0.081 +0.767,1.000,0.081 +0.783,1.000,0.081 +0.800,1.000,0.081 +0.816,1.000,0.081 +0.832,1.000,0.081 +0.848,1.000,0.081 diff --git a/test/CETperceptual_csv_0_1/CET-L06.csv b/test/CETperceptual_csv_0_1/CET-L06.csv new file mode 100644 index 0000000..961b35d --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-L06.csv @@ -0,0 +1,256 @@ +0.000,0.002,0.307 +0.000,0.004,0.314 +0.000,0.006,0.322 +0.000,0.008,0.330 +0.000,0.009,0.337 +0.000,0.010,0.345 +0.000,0.011,0.352 +0.000,0.011,0.360 +0.000,0.011,0.368 +0.002,0.011,0.376 +0.004,0.011,0.384 +0.007,0.010,0.392 +0.009,0.010,0.400 +0.012,0.010,0.407 +0.015,0.010,0.416 +0.018,0.009,0.424 +0.021,0.009,0.432 +0.024,0.009,0.440 +0.026,0.009,0.448 +0.029,0.008,0.456 +0.032,0.008,0.464 +0.036,0.008,0.473 +0.039,0.007,0.481 +0.041,0.007,0.489 +0.044,0.007,0.498 +0.047,0.007,0.506 +0.049,0.006,0.514 +0.052,0.006,0.523 +0.054,0.006,0.531 +0.056,0.006,0.540 +0.057,0.006,0.549 +0.059,0.005,0.557 +0.061,0.005,0.566 +0.062,0.005,0.575 +0.063,0.005,0.583 +0.064,0.005,0.592 +0.064,0.006,0.601 +0.064,0.006,0.610 +0.064,0.006,0.619 +0.063,0.007,0.628 +0.062,0.007,0.637 +0.060,0.008,0.646 +0.058,0.009,0.656 +0.055,0.010,0.665 +0.052,0.011,0.674 +0.049,0.013,0.683 +0.046,0.014,0.692 +0.043,0.016,0.701 +0.040,0.017,0.710 +0.038,0.019,0.719 +0.036,0.021,0.727 +0.033,0.024,0.736 +0.032,0.026,0.744 +0.031,0.029,0.753 +0.030,0.031,0.761 +0.029,0.034,0.769 +0.029,0.038,0.777 +0.030,0.041,0.785 +0.031,0.044,0.793 +0.032,0.048,0.801 +0.034,0.051,0.808 +0.037,0.055,0.816 +0.040,0.058,0.823 +0.043,0.062,0.831 +0.047,0.065,0.838 +0.052,0.069,0.845 +0.056,0.072,0.852 +0.061,0.076,0.859 +0.066,0.080,0.866 +0.071,0.084,0.873 +0.076,0.087,0.879 +0.082,0.091,0.886 +0.087,0.095,0.892 +0.092,0.099,0.898 +0.097,0.104,0.904 +0.102,0.108,0.910 +0.107,0.113,0.915 +0.111,0.118,0.920 +0.116,0.123,0.925 +0.120,0.128,0.930 +0.124,0.134,0.935 +0.128,0.139,0.939 +0.132,0.145,0.944 +0.135,0.151,0.948 +0.139,0.157,0.951 +0.142,0.163,0.955 +0.146,0.169,0.958 +0.149,0.175,0.962 +0.152,0.181,0.964 +0.155,0.187,0.967 +0.158,0.194,0.970 +0.160,0.200,0.972 +0.163,0.206,0.974 +0.165,0.213,0.976 +0.168,0.220,0.977 +0.170,0.226,0.979 +0.172,0.233,0.980 +0.174,0.239,0.981 +0.175,0.246,0.982 +0.177,0.253,0.982 +0.178,0.260,0.983 +0.179,0.266,0.983 +0.180,0.273,0.984 +0.181,0.280,0.984 +0.182,0.286,0.984 +0.183,0.292,0.985 +0.184,0.299,0.985 +0.185,0.305,0.985 +0.185,0.311,0.986 +0.186,0.317,0.986 +0.186,0.323,0.987 +0.186,0.329,0.987 +0.187,0.335,0.987 +0.187,0.341,0.988 +0.187,0.347,0.988 +0.187,0.353,0.988 +0.187,0.359,0.989 +0.186,0.365,0.989 +0.186,0.371,0.989 +0.186,0.376,0.990 +0.185,0.382,0.990 +0.184,0.388,0.990 +0.184,0.393,0.991 +0.183,0.399,0.991 +0.182,0.405,0.991 +0.181,0.410,0.992 +0.180,0.416,0.992 +0.178,0.421,0.992 +0.177,0.427,0.993 +0.176,0.432,0.993 +0.175,0.438,0.993 +0.174,0.443,0.994 +0.173,0.449,0.994 +0.172,0.454,0.994 +0.171,0.459,0.994 +0.171,0.465,0.994 +0.170,0.470,0.995 +0.170,0.475,0.995 +0.170,0.480,0.995 +0.170,0.486,0.995 +0.170,0.491,0.995 +0.171,0.496,0.995 +0.171,0.501,0.995 +0.172,0.506,0.995 +0.173,0.511,0.995 +0.174,0.516,0.995 +0.175,0.521,0.995 +0.176,0.526,0.995 +0.178,0.531,0.995 +0.179,0.536,0.995 +0.181,0.541,0.995 +0.183,0.546,0.995 +0.185,0.551,0.995 +0.187,0.556,0.994 +0.189,0.561,0.994 +0.192,0.566,0.994 +0.194,0.571,0.994 +0.197,0.575,0.993 +0.199,0.580,0.993 +0.201,0.585,0.993 +0.203,0.590,0.993 +0.205,0.595,0.993 +0.206,0.600,0.992 +0.207,0.605,0.992 +0.208,0.610,0.992 +0.209,0.615,0.992 +0.210,0.620,0.992 +0.211,0.624,0.991 +0.211,0.629,0.991 +0.211,0.634,0.991 +0.211,0.639,0.991 +0.211,0.644,0.991 +0.211,0.649,0.991 +0.210,0.654,0.990 +0.210,0.659,0.990 +0.209,0.664,0.990 +0.208,0.669,0.990 +0.206,0.674,0.990 +0.205,0.679,0.990 +0.203,0.684,0.990 +0.201,0.689,0.990 +0.199,0.694,0.989 +0.197,0.699,0.989 +0.194,0.704,0.989 +0.191,0.709,0.989 +0.188,0.714,0.989 +0.185,0.719,0.989 +0.182,0.724,0.989 +0.179,0.729,0.989 +0.177,0.734,0.989 +0.174,0.739,0.988 +0.172,0.744,0.988 +0.170,0.749,0.988 +0.168,0.754,0.988 +0.166,0.759,0.988 +0.165,0.764,0.987 +0.163,0.769,0.987 +0.162,0.774,0.987 +0.161,0.778,0.987 +0.160,0.783,0.987 +0.160,0.788,0.986 +0.160,0.793,0.986 +0.160,0.798,0.986 +0.160,0.803,0.985 +0.161,0.807,0.985 +0.161,0.812,0.985 +0.162,0.817,0.984 +0.164,0.822,0.984 +0.165,0.827,0.984 +0.167,0.831,0.983 +0.169,0.836,0.983 +0.171,0.841,0.982 +0.174,0.845,0.982 +0.177,0.850,0.982 +0.183,0.855,0.981 +0.190,0.859,0.981 +0.199,0.864,0.980 +0.210,0.868,0.980 +0.221,0.872,0.979 +0.233,0.876,0.979 +0.246,0.880,0.979 +0.260,0.884,0.978 +0.273,0.888,0.978 +0.287,0.892,0.977 +0.301,0.896,0.977 +0.314,0.900,0.976 +0.328,0.904,0.976 +0.342,0.907,0.976 +0.356,0.911,0.975 +0.370,0.915,0.975 +0.384,0.918,0.974 +0.397,0.922,0.974 +0.411,0.925,0.973 +0.424,0.929,0.973 +0.438,0.932,0.973 +0.451,0.936,0.972 +0.464,0.939,0.972 +0.478,0.943,0.971 +0.491,0.946,0.971 +0.504,0.949,0.970 +0.517,0.953,0.970 +0.529,0.956,0.969 +0.542,0.959,0.969 +0.555,0.962,0.968 +0.568,0.966,0.968 +0.580,0.969,0.968 +0.593,0.972,0.967 +0.605,0.975,0.967 +0.618,0.978,0.966 +0.630,0.981,0.966 +0.642,0.984,0.965 +0.654,0.987,0.965 +0.667,0.990,0.964 +0.679,0.993,0.964 +0.691,0.996,0.963 +0.703,0.999,0.963 diff --git a/test/CETperceptual_csv_0_1/CET-L07.csv b/test/CETperceptual_csv_0_1/CET-L07.csv new file mode 100644 index 0000000..023f95e --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-L07.csv @@ -0,0 +1,256 @@ +0.000,0.008,0.296 +0.000,0.010,0.303 +0.000,0.012,0.311 +0.000,0.014,0.319 +0.000,0.016,0.327 +0.000,0.017,0.335 +0.000,0.018,0.343 +0.000,0.019,0.351 +0.000,0.019,0.359 +0.000,0.020,0.368 +0.000,0.020,0.376 +0.000,0.020,0.384 +0.000,0.020,0.392 +0.000,0.020,0.401 +0.001,0.020,0.409 +0.002,0.020,0.417 +0.003,0.020,0.426 +0.005,0.021,0.434 +0.006,0.021,0.442 +0.007,0.021,0.451 +0.008,0.021,0.459 +0.009,0.021,0.468 +0.010,0.021,0.476 +0.012,0.021,0.485 +0.013,0.021,0.493 +0.014,0.021,0.502 +0.015,0.021,0.511 +0.016,0.021,0.519 +0.017,0.022,0.528 +0.018,0.022,0.537 +0.019,0.022,0.546 +0.020,0.022,0.554 +0.021,0.022,0.563 +0.022,0.022,0.572 +0.022,0.023,0.581 +0.023,0.023,0.590 +0.023,0.023,0.599 +0.023,0.024,0.607 +0.023,0.024,0.616 +0.023,0.024,0.625 +0.023,0.025,0.634 +0.022,0.025,0.643 +0.021,0.026,0.652 +0.020,0.027,0.661 +0.019,0.028,0.670 +0.018,0.029,0.679 +0.018,0.030,0.688 +0.018,0.031,0.697 +0.019,0.032,0.706 +0.020,0.033,0.714 +0.021,0.035,0.723 +0.023,0.036,0.731 +0.025,0.038,0.740 +0.029,0.039,0.748 +0.032,0.041,0.756 +0.037,0.043,0.764 +0.041,0.044,0.772 +0.046,0.046,0.780 +0.052,0.048,0.788 +0.057,0.050,0.796 +0.063,0.052,0.804 +0.069,0.054,0.811 +0.075,0.056,0.819 +0.081,0.058,0.826 +0.087,0.060,0.833 +0.094,0.063,0.841 +0.100,0.065,0.848 +0.106,0.067,0.855 +0.113,0.070,0.862 +0.119,0.072,0.869 +0.126,0.075,0.876 +0.133,0.077,0.882 +0.140,0.079,0.889 +0.148,0.082,0.895 +0.156,0.084,0.901 +0.165,0.086,0.907 +0.174,0.088,0.913 +0.184,0.090,0.919 +0.194,0.092,0.924 +0.204,0.094,0.929 +0.214,0.095,0.934 +0.225,0.097,0.939 +0.236,0.098,0.943 +0.247,0.099,0.947 +0.258,0.101,0.951 +0.269,0.102,0.955 +0.281,0.103,0.959 +0.292,0.104,0.962 +0.304,0.105,0.966 +0.316,0.106,0.969 +0.327,0.107,0.971 +0.339,0.107,0.974 +0.351,0.108,0.976 +0.363,0.109,0.979 +0.375,0.109,0.980 +0.387,0.110,0.982 +0.399,0.110,0.984 +0.411,0.110,0.985 +0.423,0.111,0.986 +0.435,0.111,0.987 +0.447,0.111,0.988 +0.458,0.111,0.988 +0.470,0.111,0.989 +0.481,0.111,0.989 +0.493,0.111,0.990 +0.504,0.111,0.991 +0.515,0.111,0.991 +0.525,0.111,0.992 +0.536,0.112,0.992 +0.547,0.112,0.993 +0.557,0.112,0.993 +0.568,0.112,0.993 +0.578,0.112,0.994 +0.588,0.112,0.994 +0.598,0.112,0.994 +0.608,0.112,0.995 +0.618,0.112,0.995 +0.628,0.112,0.995 +0.638,0.112,0.995 +0.648,0.112,0.996 +0.657,0.112,0.996 +0.667,0.112,0.996 +0.677,0.112,0.996 +0.686,0.112,0.996 +0.696,0.112,0.996 +0.705,0.112,0.996 +0.715,0.112,0.996 +0.724,0.112,0.996 +0.733,0.112,0.996 +0.742,0.112,0.996 +0.751,0.113,0.996 +0.760,0.114,0.996 +0.769,0.115,0.996 +0.777,0.117,0.996 +0.785,0.119,0.996 +0.793,0.122,0.996 +0.801,0.125,0.996 +0.809,0.128,0.996 +0.816,0.132,0.996 +0.823,0.136,0.996 +0.831,0.140,0.996 +0.838,0.145,0.996 +0.845,0.149,0.996 +0.851,0.154,0.996 +0.858,0.160,0.996 +0.864,0.165,0.996 +0.871,0.171,0.996 +0.877,0.176,0.996 +0.883,0.182,0.996 +0.888,0.188,0.996 +0.894,0.195,0.996 +0.900,0.201,0.996 +0.905,0.208,0.996 +0.910,0.214,0.996 +0.915,0.221,0.996 +0.920,0.228,0.996 +0.925,0.234,0.996 +0.930,0.241,0.996 +0.934,0.249,0.996 +0.939,0.256,0.996 +0.943,0.263,0.997 +0.947,0.270,0.997 +0.951,0.278,0.997 +0.955,0.285,0.997 +0.958,0.293,0.996 +0.961,0.301,0.996 +0.965,0.308,0.996 +0.968,0.316,0.996 +0.971,0.324,0.996 +0.973,0.332,0.996 +0.976,0.340,0.996 +0.978,0.348,0.996 +0.981,0.356,0.996 +0.983,0.364,0.996 +0.985,0.372,0.995 +0.987,0.381,0.995 +0.988,0.389,0.995 +0.990,0.397,0.995 +0.991,0.405,0.995 +0.992,0.414,0.994 +0.993,0.422,0.994 +0.994,0.430,0.994 +0.994,0.439,0.994 +0.995,0.447,0.993 +0.995,0.456,0.993 +0.995,0.464,0.993 +0.995,0.472,0.992 +0.996,0.481,0.992 +0.996,0.489,0.992 +0.996,0.497,0.992 +0.996,0.504,0.991 +0.996,0.512,0.991 +0.996,0.520,0.991 +0.996,0.527,0.991 +0.996,0.535,0.991 +0.996,0.542,0.991 +0.997,0.550,0.991 +0.997,0.557,0.991 +0.997,0.564,0.991 +0.997,0.572,0.991 +0.997,0.579,0.991 +0.997,0.586,0.991 +0.997,0.593,0.991 +0.997,0.600,0.991 +0.997,0.607,0.991 +0.997,0.614,0.991 +0.997,0.620,0.991 +0.997,0.627,0.991 +0.997,0.634,0.992 +0.997,0.641,0.992 +0.997,0.647,0.992 +0.997,0.654,0.992 +0.997,0.660,0.993 +0.997,0.667,0.993 +0.997,0.673,0.993 +0.997,0.680,0.994 +0.997,0.686,0.994 +0.997,0.693,0.994 +0.997,0.699,0.995 +0.997,0.705,0.995 +0.997,0.712,0.995 +0.997,0.718,0.995 +0.997,0.724,0.995 +0.998,0.730,0.996 +0.998,0.736,0.996 +0.998,0.743,0.996 +0.998,0.749,0.996 +0.998,0.755,0.996 +0.998,0.761,0.996 +0.998,0.767,0.997 +0.998,0.773,0.997 +0.998,0.779,0.997 +0.998,0.785,0.997 +0.998,0.791,0.997 +0.998,0.797,0.997 +0.998,0.803,0.997 +0.999,0.809,0.997 +0.999,0.815,0.997 +0.999,0.821,0.997 +0.999,0.827,0.997 +0.999,0.833,0.997 +0.999,0.839,0.998 +0.999,0.845,0.998 +0.999,0.851,0.998 +0.999,0.857,0.998 +0.999,0.863,0.998 +0.999,0.868,0.998 +0.998,0.874,0.998 +0.998,0.880,0.998 +0.998,0.886,0.998 +0.998,0.892,0.998 +0.998,0.898,0.998 +0.998,0.903,0.997 +0.998,0.909,0.997 +0.998,0.915,0.997 +0.998,0.921,0.997 diff --git a/test/CETperceptual_csv_0_1/CET-L08.csv b/test/CETperceptual_csv_0_1/CET-L08.csv new file mode 100644 index 0000000..3a4e3fd --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-L08.csv @@ -0,0 +1,256 @@ +0.002,0.058,0.364 +0.002,0.060,0.370 +0.003,0.062,0.377 +0.004,0.064,0.383 +0.006,0.065,0.390 +0.008,0.067,0.396 +0.010,0.069,0.402 +0.013,0.071,0.409 +0.016,0.072,0.415 +0.019,0.074,0.421 +0.023,0.076,0.427 +0.028,0.077,0.433 +0.033,0.079,0.439 +0.039,0.081,0.445 +0.045,0.082,0.451 +0.052,0.084,0.457 +0.058,0.085,0.463 +0.065,0.087,0.468 +0.071,0.088,0.474 +0.078,0.089,0.480 +0.085,0.091,0.485 +0.092,0.092,0.490 +0.099,0.093,0.496 +0.107,0.095,0.501 +0.114,0.096,0.506 +0.122,0.097,0.511 +0.129,0.098,0.516 +0.137,0.099,0.520 +0.145,0.100,0.525 +0.153,0.101,0.529 +0.162,0.102,0.534 +0.170,0.102,0.538 +0.178,0.103,0.542 +0.187,0.104,0.546 +0.196,0.104,0.549 +0.205,0.104,0.553 +0.214,0.105,0.556 +0.224,0.105,0.559 +0.233,0.105,0.562 +0.243,0.105,0.564 +0.253,0.104,0.566 +0.263,0.104,0.568 +0.273,0.103,0.570 +0.284,0.102,0.571 +0.295,0.101,0.572 +0.306,0.100,0.573 +0.317,0.098,0.573 +0.328,0.097,0.573 +0.339,0.095,0.574 +0.350,0.093,0.574 +0.360,0.092,0.574 +0.370,0.090,0.574 +0.380,0.088,0.574 +0.390,0.087,0.573 +0.399,0.085,0.573 +0.409,0.083,0.573 +0.418,0.081,0.573 +0.428,0.079,0.572 +0.437,0.077,0.572 +0.446,0.075,0.572 +0.455,0.074,0.571 +0.464,0.072,0.570 +0.473,0.070,0.570 +0.481,0.068,0.569 +0.490,0.066,0.568 +0.499,0.064,0.568 +0.507,0.062,0.567 +0.515,0.060,0.566 +0.524,0.058,0.565 +0.532,0.056,0.564 +0.540,0.054,0.563 +0.548,0.052,0.562 +0.556,0.051,0.560 +0.564,0.049,0.559 +0.572,0.048,0.558 +0.580,0.046,0.556 +0.588,0.045,0.555 +0.596,0.043,0.554 +0.603,0.042,0.552 +0.611,0.041,0.551 +0.619,0.040,0.549 +0.626,0.039,0.548 +0.634,0.038,0.546 +0.641,0.038,0.545 +0.648,0.037,0.543 +0.656,0.037,0.542 +0.663,0.037,0.540 +0.670,0.037,0.538 +0.677,0.037,0.537 +0.684,0.037,0.535 +0.691,0.038,0.534 +0.698,0.039,0.532 +0.705,0.040,0.530 +0.712,0.041,0.529 +0.719,0.042,0.527 +0.726,0.044,0.525 +0.733,0.045,0.523 +0.739,0.047,0.522 +0.746,0.049,0.520 +0.753,0.051,0.518 +0.759,0.054,0.516 +0.766,0.056,0.514 +0.772,0.059,0.513 +0.779,0.061,0.511 +0.785,0.064,0.509 +0.792,0.067,0.507 +0.798,0.070,0.505 +0.804,0.074,0.503 +0.811,0.078,0.501 +0.817,0.082,0.499 +0.823,0.087,0.496 +0.828,0.092,0.494 +0.834,0.097,0.492 +0.840,0.103,0.489 +0.845,0.108,0.487 +0.850,0.114,0.484 +0.856,0.120,0.481 +0.861,0.126,0.478 +0.866,0.133,0.475 +0.871,0.139,0.472 +0.876,0.146,0.469 +0.880,0.152,0.466 +0.885,0.159,0.463 +0.889,0.166,0.460 +0.894,0.173,0.456 +0.898,0.180,0.453 +0.902,0.187,0.449 +0.906,0.194,0.445 +0.910,0.201,0.441 +0.914,0.208,0.438 +0.918,0.215,0.434 +0.921,0.223,0.429 +0.924,0.230,0.425 +0.928,0.237,0.421 +0.931,0.245,0.417 +0.934,0.252,0.412 +0.937,0.259,0.408 +0.940,0.267,0.403 +0.943,0.274,0.399 +0.945,0.281,0.394 +0.948,0.289,0.390 +0.950,0.296,0.386 +0.952,0.303,0.382 +0.955,0.311,0.378 +0.957,0.318,0.374 +0.959,0.325,0.370 +0.961,0.333,0.366 +0.962,0.340,0.363 +0.964,0.347,0.359 +0.966,0.354,0.355 +0.967,0.361,0.352 +0.968,0.369,0.348 +0.970,0.376,0.345 +0.971,0.383,0.341 +0.972,0.390,0.338 +0.973,0.398,0.335 +0.974,0.405,0.332 +0.974,0.412,0.329 +0.975,0.419,0.325 +0.975,0.426,0.323 +0.976,0.434,0.320 +0.976,0.441,0.317 +0.976,0.448,0.314 +0.976,0.455,0.311 +0.976,0.462,0.309 +0.976,0.469,0.306 +0.976,0.477,0.304 +0.976,0.484,0.301 +0.976,0.491,0.299 +0.976,0.497,0.296 +0.976,0.504,0.294 +0.976,0.511,0.291 +0.976,0.517,0.289 +0.976,0.524,0.286 +0.976,0.530,0.284 +0.976,0.537,0.281 +0.976,0.543,0.278 +0.976,0.549,0.276 +0.976,0.555,0.273 +0.976,0.562,0.271 +0.977,0.568,0.268 +0.977,0.574,0.266 +0.977,0.580,0.263 +0.978,0.585,0.261 +0.978,0.591,0.258 +0.979,0.597,0.256 +0.979,0.603,0.253 +0.980,0.609,0.250 +0.980,0.614,0.248 +0.981,0.620,0.245 +0.981,0.625,0.243 +0.982,0.631,0.240 +0.983,0.636,0.238 +0.983,0.642,0.235 +0.984,0.647,0.232 +0.985,0.653,0.230 +0.986,0.658,0.227 +0.987,0.663,0.225 +0.987,0.669,0.224 +0.988,0.674,0.222 +0.988,0.680,0.221 +0.989,0.685,0.220 +0.989,0.690,0.220 +0.989,0.696,0.219 +0.990,0.701,0.219 +0.990,0.707,0.218 +0.990,0.712,0.218 +0.990,0.718,0.218 +0.990,0.723,0.219 +0.990,0.728,0.219 +0.991,0.734,0.219 +0.991,0.739,0.220 +0.991,0.745,0.221 +0.990,0.750,0.221 +0.990,0.755,0.222 +0.990,0.761,0.223 +0.990,0.766,0.224 +0.990,0.772,0.225 +0.990,0.777,0.226 +0.990,0.783,0.228 +0.989,0.788,0.229 +0.989,0.793,0.230 +0.989,0.799,0.232 +0.988,0.804,0.233 +0.988,0.810,0.235 +0.987,0.815,0.237 +0.987,0.820,0.238 +0.987,0.826,0.240 +0.986,0.831,0.242 +0.986,0.836,0.244 +0.985,0.842,0.245 +0.984,0.847,0.247 +0.984,0.853,0.249 +0.983,0.858,0.251 +0.983,0.863,0.254 +0.982,0.869,0.256 +0.981,0.874,0.258 +0.980,0.879,0.260 +0.980,0.885,0.262 +0.979,0.890,0.264 +0.978,0.895,0.267 +0.977,0.901,0.269 +0.976,0.906,0.271 +0.975,0.912,0.274 +0.974,0.917,0.276 +0.973,0.922,0.279 +0.972,0.928,0.281 +0.971,0.933,0.284 +0.970,0.938,0.286 +0.969,0.944,0.289 +0.968,0.949,0.291 +0.967,0.954,0.294 +0.966,0.960,0.297 +0.964,0.965,0.299 +0.963,0.970,0.302 +0.962,0.976,0.305 diff --git a/test/CETperceptual_csv_0_1/CET-L09.csv b/test/CETperceptual_csv_0_1/CET-L09.csv new file mode 100644 index 0000000..fed08cc --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-L09.csv @@ -0,0 +1,256 @@ +0.020,0.000,0.673 +0.022,0.009,0.675 +0.024,0.020,0.676 +0.026,0.032,0.677 +0.028,0.043,0.679 +0.029,0.053,0.680 +0.031,0.063,0.682 +0.033,0.072,0.683 +0.035,0.080,0.684 +0.036,0.087,0.686 +0.038,0.094,0.687 +0.039,0.101,0.688 +0.041,0.108,0.689 +0.042,0.114,0.690 +0.043,0.121,0.692 +0.045,0.127,0.693 +0.046,0.133,0.694 +0.047,0.139,0.695 +0.048,0.144,0.696 +0.048,0.150,0.697 +0.049,0.155,0.698 +0.050,0.161,0.699 +0.051,0.166,0.700 +0.051,0.171,0.701 +0.052,0.177,0.702 +0.052,0.182,0.703 +0.053,0.187,0.703 +0.053,0.192,0.704 +0.053,0.197,0.705 +0.054,0.202,0.705 +0.054,0.207,0.706 +0.054,0.212,0.707 +0.054,0.216,0.707 +0.054,0.221,0.708 +0.054,0.226,0.708 +0.054,0.231,0.709 +0.054,0.236,0.709 +0.054,0.240,0.709 +0.053,0.245,0.709 +0.053,0.250,0.710 +0.053,0.254,0.710 +0.052,0.259,0.710 +0.052,0.264,0.710 +0.051,0.268,0.710 +0.051,0.273,0.710 +0.050,0.278,0.709 +0.049,0.282,0.709 +0.048,0.287,0.709 +0.047,0.292,0.708 +0.046,0.296,0.708 +0.045,0.301,0.707 +0.044,0.305,0.706 +0.043,0.310,0.705 +0.042,0.315,0.704 +0.041,0.319,0.703 +0.039,0.324,0.702 +0.038,0.329,0.700 +0.036,0.333,0.698 +0.035,0.338,0.697 +0.033,0.343,0.695 +0.031,0.347,0.692 +0.030,0.352,0.690 +0.028,0.357,0.687 +0.026,0.362,0.684 +0.025,0.367,0.681 +0.023,0.372,0.677 +0.022,0.377,0.673 +0.022,0.381,0.668 +0.024,0.386,0.663 +0.028,0.391,0.659 +0.032,0.396,0.654 +0.039,0.401,0.648 +0.045,0.405,0.643 +0.052,0.410,0.637 +0.059,0.414,0.632 +0.067,0.419,0.626 +0.074,0.423,0.620 +0.080,0.428,0.614 +0.087,0.432,0.607 +0.094,0.437,0.601 +0.100,0.441,0.594 +0.106,0.446,0.588 +0.112,0.450,0.581 +0.117,0.454,0.574 +0.123,0.459,0.567 +0.128,0.463,0.560 +0.133,0.467,0.553 +0.138,0.472,0.545 +0.142,0.476,0.538 +0.147,0.480,0.530 +0.151,0.485,0.523 +0.155,0.489,0.515 +0.158,0.493,0.507 +0.162,0.497,0.499 +0.165,0.502,0.491 +0.168,0.506,0.482 +0.171,0.510,0.474 +0.174,0.514,0.466 +0.176,0.519,0.457 +0.179,0.523,0.448 +0.181,0.527,0.440 +0.182,0.531,0.431 +0.184,0.536,0.422 +0.185,0.540,0.413 +0.187,0.544,0.403 +0.188,0.548,0.394 +0.188,0.552,0.384 +0.189,0.557,0.375 +0.190,0.561,0.366 +0.191,0.565,0.357 +0.192,0.569,0.348 +0.194,0.573,0.339 +0.196,0.577,0.331 +0.198,0.581,0.323 +0.200,0.585,0.315 +0.202,0.588,0.307 +0.205,0.592,0.299 +0.208,0.596,0.292 +0.211,0.600,0.284 +0.215,0.603,0.277 +0.218,0.607,0.270 +0.222,0.611,0.263 +0.226,0.614,0.256 +0.230,0.618,0.250 +0.235,0.621,0.243 +0.240,0.625,0.237 +0.245,0.628,0.230 +0.250,0.631,0.224 +0.255,0.635,0.218 +0.260,0.638,0.212 +0.266,0.641,0.205 +0.272,0.645,0.200 +0.278,0.648,0.194 +0.284,0.651,0.188 +0.290,0.654,0.182 +0.296,0.657,0.176 +0.303,0.661,0.171 +0.309,0.664,0.165 +0.316,0.667,0.159 +0.323,0.670,0.154 +0.329,0.673,0.148 +0.336,0.676,0.143 +0.343,0.679,0.137 +0.351,0.682,0.132 +0.358,0.685,0.127 +0.365,0.688,0.121 +0.372,0.691,0.116 +0.380,0.694,0.111 +0.387,0.696,0.105 +0.395,0.699,0.100 +0.403,0.702,0.095 +0.411,0.705,0.090 +0.418,0.707,0.084 +0.426,0.710,0.079 +0.434,0.713,0.074 +0.442,0.716,0.069 +0.450,0.718,0.064 +0.458,0.721,0.058 +0.466,0.723,0.053 +0.475,0.726,0.048 +0.483,0.728,0.043 +0.491,0.731,0.038 +0.500,0.733,0.033 +0.508,0.736,0.029 +0.516,0.738,0.025 +0.525,0.741,0.022 +0.533,0.743,0.019 +0.542,0.746,0.016 +0.551,0.748,0.014 +0.559,0.750,0.013 +0.568,0.752,0.011 +0.577,0.755,0.010 +0.586,0.757,0.010 +0.594,0.759,0.010 +0.603,0.761,0.009 +0.611,0.764,0.009 +0.620,0.766,0.010 +0.628,0.768,0.010 +0.637,0.770,0.010 +0.645,0.773,0.011 +0.653,0.775,0.012 +0.662,0.777,0.013 +0.670,0.779,0.014 +0.678,0.781,0.015 +0.686,0.784,0.017 +0.694,0.786,0.019 +0.702,0.788,0.021 +0.709,0.790,0.023 +0.717,0.793,0.025 +0.725,0.795,0.028 +0.733,0.797,0.031 +0.740,0.800,0.034 +0.748,0.802,0.038 +0.755,0.804,0.042 +0.763,0.806,0.045 +0.770,0.809,0.049 +0.777,0.811,0.053 +0.784,0.813,0.057 +0.792,0.816,0.062 +0.799,0.818,0.066 +0.806,0.820,0.070 +0.813,0.823,0.075 +0.820,0.825,0.079 +0.826,0.828,0.084 +0.833,0.830,0.089 +0.840,0.833,0.093 +0.846,0.835,0.098 +0.853,0.837,0.103 +0.859,0.840,0.108 +0.865,0.843,0.113 +0.872,0.845,0.118 +0.878,0.848,0.124 +0.884,0.850,0.129 +0.890,0.853,0.135 +0.895,0.856,0.140 +0.901,0.858,0.146 +0.906,0.861,0.152 +0.912,0.864,0.158 +0.917,0.867,0.164 +0.922,0.870,0.171 +0.927,0.873,0.177 +0.932,0.876,0.184 +0.936,0.879,0.191 +0.940,0.882,0.198 +0.944,0.885,0.206 +0.948,0.888,0.213 +0.952,0.892,0.221 +0.955,0.895,0.230 +0.957,0.899,0.238 +0.960,0.903,0.248 +0.962,0.906,0.258 +0.964,0.910,0.269 +0.967,0.914,0.282 +0.969,0.917,0.296 +0.971,0.921,0.311 +0.974,0.924,0.327 +0.976,0.928,0.345 +0.979,0.931,0.363 +0.981,0.934,0.383 +0.984,0.937,0.404 +0.987,0.940,0.426 +0.989,0.943,0.450 +0.991,0.946,0.475 +0.994,0.949,0.501 +0.996,0.952,0.529 +0.997,0.955,0.558 +0.999,0.957,0.590 +1.000,0.960,0.623 +1.000,0.962,0.658 +1.000,0.965,0.695 +1.000,0.967,0.735 +0.998,0.969,0.777 +0.996,0.971,0.822 +0.991,0.973,0.870 +0.985,0.975,0.922 +0.977,0.977,0.977 diff --git a/test/CETperceptual_csv_0_1/CET-L10.csv b/test/CETperceptual_csv_0_1/CET-L10.csv new file mode 100644 index 0000000..a1cb45d --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-L10.csv @@ -0,0 +1,256 @@ +0.399,0.606,0.565 +0.402,0.607,0.563 +0.404,0.608,0.561 +0.407,0.609,0.559 +0.410,0.610,0.557 +0.413,0.611,0.555 +0.416,0.612,0.553 +0.419,0.613,0.552 +0.421,0.614,0.550 +0.424,0.615,0.548 +0.427,0.616,0.546 +0.430,0.617,0.544 +0.433,0.617,0.543 +0.436,0.618,0.541 +0.439,0.619,0.539 +0.442,0.620,0.537 +0.445,0.621,0.535 +0.448,0.622,0.534 +0.450,0.623,0.532 +0.453,0.624,0.530 +0.456,0.624,0.528 +0.459,0.625,0.527 +0.462,0.626,0.525 +0.465,0.627,0.523 +0.468,0.628,0.521 +0.471,0.629,0.520 +0.474,0.629,0.518 +0.478,0.630,0.516 +0.481,0.631,0.515 +0.484,0.632,0.513 +0.487,0.633,0.511 +0.490,0.633,0.509 +0.493,0.634,0.508 +0.496,0.635,0.506 +0.500,0.636,0.505 +0.503,0.636,0.503 +0.506,0.637,0.501 +0.509,0.638,0.500 +0.513,0.639,0.498 +0.516,0.639,0.496 +0.519,0.640,0.495 +0.523,0.641,0.493 +0.526,0.641,0.492 +0.530,0.642,0.490 +0.533,0.643,0.489 +0.537,0.643,0.487 +0.540,0.644,0.486 +0.544,0.644,0.484 +0.547,0.645,0.483 +0.551,0.645,0.481 +0.555,0.646,0.480 +0.558,0.647,0.478 +0.562,0.647,0.477 +0.566,0.648,0.475 +0.570,0.648,0.474 +0.574,0.648,0.473 +0.578,0.649,0.471 +0.582,0.649,0.470 +0.586,0.650,0.469 +0.590,0.650,0.467 +0.594,0.650,0.466 +0.598,0.651,0.465 +0.602,0.651,0.463 +0.607,0.651,0.462 +0.611,0.652,0.461 +0.616,0.652,0.460 +0.620,0.652,0.459 +0.625,0.652,0.458 +0.630,0.652,0.457 +0.634,0.652,0.456 +0.639,0.652,0.455 +0.644,0.652,0.454 +0.649,0.652,0.453 +0.654,0.652,0.452 +0.660,0.652,0.451 +0.665,0.652,0.450 +0.671,0.652,0.449 +0.676,0.652,0.449 +0.682,0.651,0.448 +0.687,0.651,0.447 +0.692,0.651,0.447 +0.697,0.651,0.446 +0.702,0.650,0.445 +0.707,0.650,0.445 +0.712,0.650,0.444 +0.717,0.650,0.443 +0.722,0.650,0.443 +0.726,0.650,0.442 +0.730,0.650,0.441 +0.735,0.650,0.440 +0.739,0.650,0.440 +0.743,0.650,0.439 +0.747,0.650,0.438 +0.751,0.650,0.438 +0.755,0.650,0.437 +0.759,0.651,0.436 +0.762,0.651,0.436 +0.766,0.651,0.435 +0.769,0.651,0.434 +0.773,0.652,0.434 +0.776,0.652,0.433 +0.779,0.652,0.432 +0.782,0.653,0.432 +0.785,0.653,0.431 +0.788,0.653,0.430 +0.791,0.654,0.430 +0.794,0.654,0.429 +0.796,0.655,0.428 +0.799,0.656,0.428 +0.801,0.656,0.427 +0.803,0.657,0.426 +0.806,0.657,0.426 +0.808,0.658,0.425 +0.810,0.659,0.424 +0.812,0.660,0.424 +0.814,0.660,0.423 +0.816,0.661,0.422 +0.818,0.662,0.422 +0.819,0.663,0.421 +0.821,0.664,0.420 +0.822,0.665,0.420 +0.824,0.666,0.419 +0.825,0.667,0.418 +0.826,0.668,0.418 +0.827,0.669,0.417 +0.829,0.670,0.416 +0.830,0.672,0.415 +0.830,0.673,0.415 +0.831,0.674,0.414 +0.832,0.675,0.414 +0.833,0.677,0.413 +0.834,0.678,0.413 +0.834,0.679,0.412 +0.835,0.680,0.412 +0.836,0.682,0.412 +0.836,0.683,0.412 +0.837,0.684,0.412 +0.838,0.685,0.412 +0.838,0.687,0.413 +0.839,0.688,0.413 +0.840,0.689,0.414 +0.840,0.690,0.414 +0.841,0.692,0.415 +0.841,0.693,0.416 +0.842,0.694,0.417 +0.842,0.695,0.418 +0.843,0.697,0.419 +0.843,0.698,0.420 +0.844,0.699,0.421 +0.844,0.700,0.423 +0.845,0.702,0.424 +0.845,0.703,0.426 +0.846,0.704,0.427 +0.846,0.706,0.429 +0.846,0.707,0.431 +0.847,0.708,0.433 +0.847,0.709,0.435 +0.847,0.711,0.437 +0.848,0.712,0.440 +0.848,0.713,0.442 +0.848,0.714,0.444 +0.848,0.716,0.447 +0.849,0.717,0.450 +0.849,0.718,0.453 +0.849,0.720,0.455 +0.849,0.721,0.458 +0.849,0.722,0.461 +0.849,0.723,0.465 +0.849,0.725,0.468 +0.850,0.726,0.471 +0.850,0.727,0.475 +0.850,0.729,0.478 +0.850,0.730,0.482 +0.850,0.731,0.486 +0.849,0.733,0.490 +0.849,0.734,0.494 +0.849,0.735,0.498 +0.849,0.737,0.502 +0.849,0.738,0.506 +0.849,0.739,0.510 +0.848,0.740,0.515 +0.848,0.742,0.519 +0.848,0.743,0.523 +0.848,0.744,0.527 +0.848,0.746,0.532 +0.848,0.747,0.536 +0.847,0.748,0.540 +0.847,0.749,0.545 +0.847,0.751,0.549 +0.847,0.752,0.553 +0.847,0.753,0.557 +0.847,0.755,0.562 +0.847,0.756,0.566 +0.846,0.757,0.570 +0.846,0.758,0.574 +0.846,0.760,0.579 +0.846,0.761,0.583 +0.846,0.762,0.587 +0.846,0.763,0.591 +0.846,0.765,0.596 +0.846,0.766,0.600 +0.845,0.767,0.604 +0.845,0.768,0.608 +0.845,0.769,0.613 +0.845,0.771,0.617 +0.845,0.772,0.621 +0.845,0.773,0.625 +0.845,0.774,0.630 +0.844,0.776,0.634 +0.844,0.777,0.638 +0.844,0.778,0.642 +0.844,0.779,0.646 +0.844,0.780,0.651 +0.844,0.782,0.655 +0.843,0.783,0.659 +0.843,0.784,0.663 +0.843,0.785,0.668 +0.843,0.787,0.672 +0.843,0.788,0.676 +0.843,0.789,0.680 +0.842,0.790,0.684 +0.842,0.791,0.689 +0.842,0.793,0.693 +0.842,0.794,0.697 +0.842,0.795,0.701 +0.841,0.796,0.706 +0.841,0.797,0.710 +0.841,0.799,0.714 +0.841,0.800,0.718 +0.841,0.801,0.722 +0.840,0.802,0.727 +0.840,0.804,0.731 +0.840,0.805,0.735 +0.840,0.806,0.739 +0.839,0.807,0.744 +0.839,0.808,0.748 +0.839,0.810,0.752 +0.838,0.811,0.756 +0.838,0.812,0.760 +0.838,0.813,0.765 +0.838,0.814,0.769 +0.837,0.816,0.773 +0.837,0.817,0.777 +0.837,0.818,0.782 +0.836,0.819,0.786 +0.836,0.820,0.790 +0.836,0.822,0.794 +0.835,0.823,0.798 +0.835,0.824,0.803 +0.835,0.825,0.807 +0.834,0.826,0.811 +0.834,0.828,0.815 +0.833,0.829,0.820 +0.833,0.830,0.824 +0.833,0.831,0.828 +0.832,0.832,0.832 diff --git a/test/CETperceptual_csv_0_1/CET-L11.csv b/test/CETperceptual_csv_0_1/CET-L11.csv new file mode 100644 index 0000000..196d703 --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-L11.csv @@ -0,0 +1,256 @@ +0.438,0.678,0.361 +0.443,0.678,0.361 +0.449,0.679,0.361 +0.454,0.679,0.362 +0.459,0.679,0.362 +0.465,0.680,0.363 +0.470,0.680,0.363 +0.475,0.680,0.364 +0.480,0.680,0.364 +0.485,0.681,0.365 +0.491,0.681,0.365 +0.496,0.681,0.366 +0.501,0.682,0.366 +0.506,0.682,0.366 +0.511,0.682,0.367 +0.515,0.682,0.367 +0.520,0.683,0.368 +0.525,0.683,0.368 +0.530,0.683,0.369 +0.535,0.683,0.369 +0.539,0.684,0.370 +0.544,0.684,0.370 +0.549,0.684,0.371 +0.554,0.684,0.371 +0.558,0.685,0.372 +0.563,0.685,0.372 +0.567,0.685,0.373 +0.572,0.685,0.373 +0.577,0.686,0.374 +0.581,0.686,0.374 +0.585,0.686,0.374 +0.590,0.686,0.375 +0.594,0.687,0.375 +0.599,0.687,0.376 +0.603,0.687,0.376 +0.608,0.687,0.377 +0.612,0.687,0.377 +0.616,0.688,0.378 +0.621,0.688,0.378 +0.625,0.688,0.379 +0.629,0.688,0.379 +0.633,0.689,0.380 +0.638,0.689,0.380 +0.642,0.689,0.381 +0.646,0.689,0.381 +0.650,0.689,0.382 +0.654,0.690,0.382 +0.658,0.690,0.383 +0.662,0.690,0.383 +0.666,0.690,0.384 +0.671,0.690,0.384 +0.675,0.691,0.385 +0.679,0.691,0.385 +0.683,0.691,0.386 +0.687,0.691,0.386 +0.691,0.691,0.387 +0.694,0.692,0.387 +0.698,0.692,0.388 +0.702,0.692,0.388 +0.706,0.692,0.389 +0.710,0.692,0.389 +0.714,0.693,0.390 +0.718,0.693,0.390 +0.722,0.693,0.391 +0.725,0.693,0.391 +0.729,0.694,0.392 +0.733,0.694,0.392 +0.737,0.694,0.393 +0.740,0.694,0.393 +0.744,0.694,0.394 +0.748,0.695,0.394 +0.751,0.695,0.395 +0.755,0.695,0.395 +0.759,0.695,0.396 +0.762,0.695,0.396 +0.766,0.696,0.397 +0.769,0.696,0.398 +0.773,0.696,0.398 +0.776,0.696,0.399 +0.780,0.697,0.399 +0.783,0.697,0.400 +0.787,0.697,0.400 +0.790,0.697,0.401 +0.794,0.698,0.401 +0.797,0.698,0.402 +0.800,0.698,0.402 +0.804,0.698,0.403 +0.807,0.699,0.403 +0.810,0.699,0.404 +0.814,0.699,0.405 +0.817,0.700,0.405 +0.820,0.700,0.406 +0.823,0.700,0.406 +0.826,0.700,0.407 +0.830,0.701,0.407 +0.833,0.701,0.408 +0.836,0.701,0.408 +0.839,0.702,0.409 +0.842,0.702,0.410 +0.845,0.702,0.410 +0.848,0.703,0.411 +0.851,0.703,0.411 +0.853,0.704,0.412 +0.856,0.704,0.412 +0.859,0.704,0.413 +0.862,0.705,0.414 +0.864,0.705,0.414 +0.867,0.706,0.415 +0.870,0.706,0.415 +0.872,0.707,0.416 +0.875,0.707,0.417 +0.877,0.708,0.417 +0.879,0.709,0.418 +0.882,0.709,0.418 +0.884,0.710,0.419 +0.886,0.710,0.420 +0.888,0.711,0.420 +0.890,0.712,0.421 +0.892,0.713,0.421 +0.894,0.713,0.422 +0.896,0.714,0.423 +0.897,0.715,0.423 +0.899,0.716,0.424 +0.900,0.717,0.425 +0.901,0.718,0.425 +0.902,0.719,0.426 +0.903,0.720,0.427 +0.903,0.722,0.428 +0.904,0.723,0.428 +0.904,0.725,0.429 +0.904,0.726,0.430 +0.904,0.727,0.431 +0.904,0.729,0.432 +0.905,0.730,0.433 +0.905,0.732,0.434 +0.905,0.733,0.436 +0.905,0.734,0.437 +0.905,0.736,0.438 +0.906,0.737,0.440 +0.906,0.739,0.441 +0.906,0.740,0.443 +0.906,0.741,0.445 +0.906,0.743,0.446 +0.906,0.744,0.448 +0.906,0.746,0.450 +0.907,0.747,0.452 +0.907,0.748,0.454 +0.907,0.750,0.456 +0.907,0.751,0.458 +0.907,0.753,0.461 +0.907,0.754,0.463 +0.907,0.755,0.465 +0.907,0.757,0.468 +0.907,0.758,0.471 +0.907,0.759,0.473 +0.908,0.761,0.476 +0.908,0.762,0.479 +0.908,0.763,0.481 +0.908,0.765,0.484 +0.908,0.766,0.487 +0.908,0.768,0.490 +0.908,0.769,0.494 +0.908,0.770,0.497 +0.908,0.772,0.500 +0.908,0.773,0.503 +0.908,0.774,0.507 +0.907,0.776,0.510 +0.907,0.777,0.514 +0.907,0.778,0.517 +0.907,0.780,0.521 +0.907,0.781,0.525 +0.907,0.782,0.529 +0.907,0.784,0.532 +0.907,0.785,0.536 +0.907,0.786,0.540 +0.906,0.788,0.545 +0.906,0.789,0.549 +0.906,0.790,0.553 +0.906,0.792,0.557 +0.905,0.793,0.562 +0.905,0.794,0.566 +0.905,0.796,0.570 +0.905,0.797,0.575 +0.905,0.798,0.579 +0.904,0.800,0.583 +0.904,0.801,0.588 +0.904,0.802,0.592 +0.904,0.804,0.596 +0.904,0.805,0.601 +0.903,0.806,0.605 +0.903,0.807,0.609 +0.903,0.809,0.614 +0.903,0.810,0.618 +0.903,0.811,0.622 +0.903,0.813,0.627 +0.902,0.814,0.631 +0.902,0.815,0.635 +0.902,0.816,0.639 +0.902,0.818,0.644 +0.902,0.819,0.648 +0.902,0.820,0.652 +0.901,0.821,0.657 +0.901,0.823,0.661 +0.901,0.824,0.665 +0.901,0.825,0.669 +0.901,0.826,0.674 +0.901,0.828,0.678 +0.900,0.829,0.682 +0.900,0.830,0.687 +0.900,0.831,0.691 +0.900,0.833,0.695 +0.900,0.834,0.699 +0.900,0.835,0.704 +0.899,0.836,0.708 +0.899,0.838,0.712 +0.899,0.839,0.717 +0.899,0.840,0.721 +0.899,0.841,0.725 +0.898,0.842,0.729 +0.898,0.844,0.734 +0.898,0.845,0.738 +0.898,0.846,0.742 +0.898,0.847,0.746 +0.897,0.849,0.751 +0.897,0.850,0.755 +0.897,0.851,0.759 +0.897,0.852,0.763 +0.897,0.854,0.768 +0.896,0.855,0.772 +0.896,0.856,0.776 +0.896,0.857,0.781 +0.896,0.858,0.785 +0.895,0.860,0.789 +0.895,0.861,0.793 +0.895,0.862,0.798 +0.894,0.863,0.802 +0.894,0.865,0.806 +0.894,0.866,0.810 +0.894,0.867,0.815 +0.893,0.868,0.819 +0.893,0.869,0.823 +0.893,0.871,0.828 +0.892,0.872,0.832 +0.892,0.873,0.836 +0.892,0.874,0.840 +0.891,0.875,0.845 +0.891,0.877,0.849 +0.891,0.878,0.853 +0.890,0.879,0.858 +0.890,0.880,0.862 +0.889,0.882,0.866 +0.889,0.883,0.870 +0.889,0.884,0.875 +0.888,0.885,0.879 +0.888,0.886,0.883 +0.887,0.888,0.888 diff --git a/test/CETperceptual_csv_0_1/CET-L12.csv b/test/CETperceptual_csv_0_1/CET-L12.csv new file mode 100644 index 0000000..61d0b20 --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-L12.csv @@ -0,0 +1,256 @@ +0.943,0.944,0.943 +0.940,0.942,0.943 +0.937,0.940,0.943 +0.934,0.938,0.943 +0.931,0.936,0.943 +0.928,0.934,0.942 +0.925,0.932,0.942 +0.922,0.930,0.942 +0.919,0.929,0.942 +0.917,0.927,0.941 +0.914,0.925,0.941 +0.911,0.923,0.941 +0.908,0.921,0.941 +0.905,0.919,0.940 +0.902,0.917,0.940 +0.899,0.916,0.940 +0.896,0.914,0.939 +0.893,0.912,0.939 +0.890,0.910,0.939 +0.887,0.908,0.939 +0.884,0.906,0.938 +0.881,0.904,0.938 +0.878,0.903,0.938 +0.875,0.901,0.937 +0.872,0.899,0.937 +0.869,0.897,0.937 +0.866,0.895,0.937 +0.863,0.893,0.936 +0.860,0.892,0.936 +0.857,0.890,0.936 +0.854,0.888,0.935 +0.851,0.886,0.935 +0.848,0.884,0.935 +0.845,0.882,0.934 +0.842,0.880,0.934 +0.839,0.879,0.934 +0.836,0.877,0.933 +0.833,0.875,0.933 +0.830,0.873,0.933 +0.827,0.871,0.932 +0.824,0.869,0.932 +0.821,0.868,0.931 +0.818,0.866,0.931 +0.815,0.864,0.931 +0.812,0.862,0.930 +0.809,0.860,0.930 +0.806,0.858,0.930 +0.803,0.857,0.929 +0.800,0.855,0.929 +0.797,0.853,0.928 +0.794,0.851,0.928 +0.791,0.849,0.928 +0.788,0.847,0.927 +0.785,0.846,0.927 +0.782,0.844,0.926 +0.779,0.842,0.926 +0.776,0.840,0.925 +0.773,0.838,0.925 +0.770,0.836,0.925 +0.767,0.835,0.924 +0.764,0.833,0.924 +0.761,0.831,0.923 +0.758,0.829,0.923 +0.755,0.827,0.922 +0.752,0.825,0.922 +0.749,0.824,0.921 +0.746,0.822,0.921 +0.743,0.820,0.920 +0.740,0.818,0.920 +0.737,0.816,0.919 +0.734,0.815,0.919 +0.731,0.813,0.918 +0.728,0.811,0.918 +0.725,0.809,0.917 +0.722,0.807,0.917 +0.719,0.805,0.916 +0.716,0.804,0.915 +0.713,0.802,0.915 +0.710,0.800,0.914 +0.707,0.798,0.914 +0.704,0.796,0.913 +0.701,0.794,0.912 +0.698,0.793,0.912 +0.695,0.791,0.911 +0.692,0.789,0.911 +0.689,0.787,0.910 +0.686,0.785,0.909 +0.684,0.784,0.909 +0.681,0.782,0.908 +0.678,0.780,0.907 +0.675,0.778,0.906 +0.672,0.776,0.906 +0.669,0.774,0.905 +0.666,0.773,0.904 +0.663,0.771,0.903 +0.660,0.769,0.903 +0.658,0.767,0.902 +0.655,0.765,0.901 +0.652,0.764,0.900 +0.649,0.762,0.899 +0.646,0.760,0.898 +0.643,0.758,0.897 +0.641,0.756,0.897 +0.638,0.754,0.896 +0.635,0.753,0.895 +0.632,0.751,0.894 +0.630,0.749,0.893 +0.627,0.747,0.892 +0.624,0.745,0.891 +0.622,0.743,0.889 +0.619,0.742,0.888 +0.617,0.740,0.887 +0.614,0.738,0.886 +0.612,0.736,0.884 +0.609,0.734,0.883 +0.607,0.732,0.882 +0.604,0.731,0.880 +0.602,0.729,0.879 +0.600,0.727,0.878 +0.597,0.725,0.876 +0.595,0.723,0.875 +0.592,0.721,0.874 +0.590,0.720,0.872 +0.588,0.718,0.871 +0.585,0.716,0.869 +0.583,0.714,0.868 +0.581,0.712,0.866 +0.578,0.710,0.865 +0.576,0.708,0.863 +0.574,0.707,0.862 +0.571,0.705,0.860 +0.569,0.703,0.859 +0.567,0.701,0.857 +0.565,0.699,0.856 +0.562,0.697,0.854 +0.560,0.696,0.853 +0.558,0.694,0.851 +0.556,0.692,0.849 +0.553,0.690,0.848 +0.551,0.688,0.846 +0.549,0.686,0.845 +0.547,0.685,0.843 +0.545,0.683,0.841 +0.542,0.681,0.840 +0.540,0.679,0.838 +0.538,0.677,0.836 +0.536,0.675,0.835 +0.534,0.673,0.833 +0.532,0.672,0.831 +0.530,0.670,0.830 +0.528,0.668,0.828 +0.526,0.666,0.826 +0.524,0.664,0.824 +0.521,0.662,0.823 +0.519,0.661,0.821 +0.517,0.659,0.819 +0.515,0.657,0.817 +0.513,0.655,0.816 +0.511,0.653,0.814 +0.509,0.651,0.812 +0.507,0.650,0.810 +0.505,0.648,0.808 +0.503,0.646,0.807 +0.502,0.644,0.805 +0.500,0.642,0.803 +0.498,0.640,0.801 +0.496,0.639,0.799 +0.494,0.637,0.797 +0.492,0.635,0.795 +0.490,0.633,0.793 +0.488,0.631,0.791 +0.486,0.629,0.790 +0.484,0.628,0.788 +0.482,0.626,0.786 +0.480,0.624,0.784 +0.478,0.622,0.782 +0.476,0.620,0.781 +0.474,0.618,0.779 +0.472,0.617,0.777 +0.470,0.615,0.776 +0.468,0.613,0.774 +0.466,0.611,0.773 +0.463,0.609,0.771 +0.461,0.608,0.769 +0.459,0.606,0.768 +0.456,0.604,0.767 +0.454,0.602,0.765 +0.452,0.600,0.764 +0.449,0.599,0.762 +0.447,0.597,0.761 +0.444,0.595,0.760 +0.442,0.593,0.758 +0.439,0.592,0.757 +0.437,0.590,0.756 +0.434,0.588,0.754 +0.432,0.586,0.753 +0.429,0.585,0.752 +0.427,0.583,0.751 +0.424,0.581,0.749 +0.421,0.579,0.748 +0.419,0.578,0.747 +0.416,0.576,0.746 +0.413,0.574,0.745 +0.410,0.572,0.744 +0.408,0.571,0.742 +0.405,0.569,0.741 +0.402,0.567,0.740 +0.399,0.565,0.739 +0.396,0.564,0.738 +0.394,0.562,0.737 +0.391,0.560,0.736 +0.388,0.558,0.735 +0.385,0.557,0.734 +0.382,0.555,0.733 +0.379,0.553,0.732 +0.376,0.552,0.731 +0.373,0.550,0.730 +0.370,0.548,0.729 +0.367,0.546,0.728 +0.364,0.545,0.727 +0.361,0.543,0.726 +0.357,0.541,0.725 +0.354,0.540,0.724 +0.351,0.538,0.723 +0.348,0.536,0.722 +0.345,0.534,0.721 +0.341,0.533,0.721 +0.338,0.531,0.720 +0.335,0.529,0.719 +0.331,0.528,0.718 +0.328,0.526,0.717 +0.324,0.524,0.716 +0.321,0.523,0.715 +0.318,0.521,0.715 +0.314,0.519,0.714 +0.310,0.518,0.713 +0.307,0.516,0.712 +0.303,0.514,0.711 +0.300,0.513,0.710 +0.296,0.511,0.710 +0.292,0.509,0.709 +0.288,0.508,0.708 +0.285,0.506,0.707 +0.281,0.504,0.706 +0.277,0.503,0.706 +0.273,0.501,0.705 +0.269,0.499,0.704 +0.265,0.498,0.703 +0.260,0.496,0.703 +0.256,0.494,0.702 +0.252,0.493,0.701 +0.248,0.491,0.700 +0.243,0.489,0.700 +0.239,0.488,0.699 +0.234,0.486,0.698 +0.230,0.484,0.698 diff --git a/test/CETperceptual_csv_0_1/CET-L13.csv b/test/CETperceptual_csv_0_1/CET-L13.csv new file mode 100644 index 0000000..f4ee4bd --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-L13.csv @@ -0,0 +1,256 @@ +0.000,0.000,0.000 +0.008,0.002,0.000 +0.016,0.003,0.000 +0.024,0.005,0.000 +0.032,0.006,0.000 +0.040,0.008,0.000 +0.048,0.009,0.000 +0.055,0.010,0.000 +0.062,0.012,0.000 +0.069,0.013,0.000 +0.075,0.014,0.000 +0.081,0.015,0.000 +0.086,0.016,0.000 +0.092,0.017,0.000 +0.097,0.018,0.000 +0.102,0.019,0.000 +0.107,0.020,0.000 +0.112,0.021,0.000 +0.116,0.022,0.000 +0.121,0.023,0.000 +0.125,0.024,0.000 +0.129,0.024,0.000 +0.133,0.025,0.000 +0.137,0.026,0.000 +0.141,0.027,0.000 +0.145,0.027,0.000 +0.149,0.028,0.000 +0.152,0.029,0.000 +0.156,0.029,0.000 +0.159,0.030,0.000 +0.163,0.031,0.000 +0.166,0.031,0.000 +0.169,0.032,0.000 +0.173,0.033,0.000 +0.176,0.033,0.000 +0.179,0.034,0.000 +0.182,0.034,0.000 +0.185,0.035,0.000 +0.188,0.036,0.000 +0.191,0.036,0.000 +0.194,0.037,0.000 +0.197,0.037,0.000 +0.200,0.038,0.000 +0.203,0.038,0.000 +0.206,0.039,0.000 +0.209,0.039,0.000 +0.212,0.040,0.000 +0.215,0.041,0.000 +0.218,0.041,0.000 +0.221,0.042,0.000 +0.223,0.042,0.000 +0.226,0.043,0.000 +0.229,0.043,0.000 +0.232,0.044,0.000 +0.235,0.044,0.000 +0.238,0.045,0.000 +0.241,0.046,0.000 +0.244,0.046,0.000 +0.247,0.047,0.000 +0.250,0.047,0.000 +0.253,0.048,0.000 +0.256,0.048,0.000 +0.259,0.049,0.000 +0.262,0.049,0.000 +0.265,0.050,0.000 +0.268,0.051,0.000 +0.271,0.051,0.000 +0.274,0.052,0.000 +0.277,0.052,0.000 +0.280,0.053,0.000 +0.283,0.053,0.000 +0.286,0.054,0.000 +0.289,0.055,0.000 +0.292,0.055,0.000 +0.295,0.056,0.000 +0.298,0.056,0.000 +0.301,0.057,0.000 +0.304,0.057,0.000 +0.307,0.058,0.000 +0.310,0.059,0.000 +0.313,0.059,0.000 +0.316,0.060,0.000 +0.319,0.060,0.000 +0.322,0.061,0.000 +0.325,0.061,0.000 +0.328,0.062,0.000 +0.332,0.063,0.000 +0.335,0.063,0.000 +0.338,0.064,0.000 +0.341,0.064,0.000 +0.344,0.065,0.000 +0.347,0.066,0.000 +0.350,0.066,0.000 +0.353,0.067,0.000 +0.356,0.067,0.000 +0.359,0.068,0.000 +0.363,0.068,0.000 +0.366,0.069,0.000 +0.369,0.070,0.000 +0.372,0.070,0.000 +0.375,0.071,0.000 +0.378,0.071,0.000 +0.381,0.072,0.000 +0.384,0.073,0.000 +0.388,0.073,0.000 +0.391,0.074,0.000 +0.394,0.074,0.000 +0.397,0.075,0.000 +0.400,0.076,0.000 +0.403,0.076,0.000 +0.406,0.077,0.000 +0.410,0.077,0.000 +0.413,0.078,0.000 +0.416,0.079,0.000 +0.419,0.079,0.000 +0.422,0.080,0.000 +0.426,0.080,0.000 +0.429,0.081,0.000 +0.432,0.082,0.000 +0.435,0.082,0.000 +0.438,0.083,0.000 +0.441,0.083,0.000 +0.445,0.084,0.000 +0.448,0.085,0.000 +0.451,0.085,0.000 +0.454,0.086,0.000 +0.458,0.086,0.000 +0.461,0.087,0.000 +0.464,0.088,0.000 +0.467,0.088,0.000 +0.470,0.089,0.000 +0.474,0.089,0.000 +0.477,0.090,0.000 +0.480,0.091,0.000 +0.483,0.091,0.000 +0.487,0.092,0.000 +0.490,0.093,0.000 +0.493,0.093,0.000 +0.496,0.094,0.000 +0.500,0.094,0.000 +0.503,0.095,0.000 +0.506,0.096,0.000 +0.510,0.096,0.000 +0.513,0.097,0.000 +0.516,0.098,0.000 +0.519,0.098,0.000 +0.523,0.099,0.000 +0.526,0.099,0.000 +0.529,0.100,0.000 +0.533,0.101,0.000 +0.536,0.101,0.000 +0.539,0.102,0.000 +0.543,0.102,0.000 +0.546,0.103,0.000 +0.549,0.104,0.000 +0.552,0.104,0.000 +0.556,0.105,0.000 +0.559,0.106,0.000 +0.563,0.106,0.000 +0.566,0.107,0.000 +0.569,0.108,0.000 +0.572,0.108,0.000 +0.576,0.109,0.000 +0.579,0.109,0.000 +0.583,0.110,0.000 +0.586,0.111,0.000 +0.589,0.111,0.000 +0.593,0.112,0.000 +0.596,0.113,0.000 +0.599,0.113,0.000 +0.603,0.114,0.000 +0.606,0.114,0.000 +0.609,0.115,0.000 +0.613,0.116,0.000 +0.616,0.116,0.000 +0.620,0.117,0.000 +0.623,0.118,0.000 +0.626,0.118,0.000 +0.630,0.119,0.000 +0.633,0.120,0.000 +0.637,0.120,0.000 +0.640,0.121,0.000 +0.643,0.122,0.000 +0.647,0.122,0.000 +0.650,0.123,0.000 +0.654,0.123,0.000 +0.657,0.124,0.000 +0.660,0.125,0.000 +0.664,0.125,0.000 +0.667,0.126,0.000 +0.671,0.127,0.000 +0.674,0.127,0.000 +0.678,0.128,0.000 +0.681,0.129,0.000 +0.685,0.129,0.000 +0.688,0.130,0.000 +0.691,0.131,0.000 +0.695,0.131,0.000 +0.698,0.132,0.000 +0.702,0.133,0.000 +0.705,0.133,0.000 +0.709,0.134,0.000 +0.712,0.135,0.000 +0.716,0.135,0.000 +0.719,0.136,0.000 +0.723,0.136,0.000 +0.726,0.137,0.000 +0.730,0.138,0.000 +0.733,0.138,0.000 +0.737,0.139,0.000 +0.740,0.140,0.000 +0.744,0.140,0.000 +0.747,0.141,0.000 +0.751,0.142,0.000 +0.754,0.142,0.000 +0.758,0.143,0.000 +0.761,0.144,0.000 +0.765,0.144,0.000 +0.768,0.145,0.000 +0.772,0.146,0.000 +0.775,0.146,0.000 +0.779,0.147,0.000 +0.782,0.148,0.000 +0.786,0.148,0.000 +0.789,0.149,0.000 +0.793,0.150,0.000 +0.796,0.150,0.000 +0.800,0.151,0.000 +0.803,0.152,0.000 +0.807,0.152,0.000 +0.810,0.153,0.000 +0.814,0.154,0.000 +0.818,0.154,0.000 +0.821,0.155,0.000 +0.825,0.156,0.000 +0.828,0.156,0.000 +0.832,0.157,0.000 +0.835,0.158,0.000 +0.839,0.158,0.000 +0.842,0.159,0.000 +0.846,0.160,0.000 +0.850,0.160,0.000 +0.853,0.161,0.000 +0.857,0.162,0.000 +0.860,0.163,0.000 +0.864,0.163,0.000 +0.868,0.164,0.000 +0.871,0.165,0.000 +0.875,0.165,0.000 +0.878,0.166,0.000 +0.882,0.167,0.000 +0.886,0.167,0.000 +0.889,0.168,0.000 +0.893,0.169,0.000 +0.896,0.169,0.000 +0.900,0.170,0.000 diff --git a/test/CETperceptual_csv_0_1/CET-L14.csv b/test/CETperceptual_csv_0_1/CET-L14.csv new file mode 100644 index 0000000..26a0908 --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-L14.csv @@ -0,0 +1,256 @@ +0.000,0.000,0.000 +0.000,0.004,0.000 +0.000,0.007,0.000 +0.000,0.011,0.000 +0.000,0.015,0.000 +0.000,0.018,0.000 +0.000,0.022,0.000 +0.000,0.025,0.000 +0.000,0.029,0.000 +0.000,0.032,0.000 +0.000,0.036,0.000 +0.000,0.040,0.000 +0.000,0.043,0.000 +0.000,0.047,0.000 +0.000,0.050,0.000 +0.000,0.053,0.000 +0.000,0.056,0.000 +0.000,0.059,0.000 +0.000,0.061,0.000 +0.000,0.064,0.000 +0.000,0.067,0.000 +0.000,0.069,0.000 +0.000,0.071,0.000 +0.000,0.074,0.000 +0.000,0.076,0.000 +0.000,0.078,0.000 +0.000,0.081,0.000 +0.000,0.083,0.000 +0.000,0.085,0.000 +0.000,0.087,0.000 +0.000,0.089,0.000 +0.000,0.091,0.000 +0.000,0.093,0.000 +0.000,0.095,0.000 +0.000,0.097,0.000 +0.000,0.098,0.000 +0.000,0.100,0.000 +0.000,0.102,0.000 +0.000,0.104,0.000 +0.000,0.106,0.000 +0.000,0.107,0.000 +0.000,0.109,0.000 +0.000,0.111,0.000 +0.000,0.112,0.000 +0.000,0.114,0.000 +0.000,0.115,0.000 +0.000,0.117,0.000 +0.000,0.119,0.000 +0.000,0.120,0.000 +0.000,0.122,0.000 +0.000,0.123,0.000 +0.000,0.125,0.000 +0.000,0.127,0.000 +0.000,0.128,0.000 +0.000,0.130,0.000 +0.000,0.132,0.000 +0.000,0.133,0.000 +0.000,0.135,0.000 +0.000,0.136,0.000 +0.000,0.138,0.000 +0.000,0.140,0.000 +0.000,0.141,0.000 +0.000,0.143,0.000 +0.000,0.145,0.000 +0.000,0.146,0.000 +0.000,0.148,0.000 +0.000,0.150,0.000 +0.000,0.151,0.000 +0.000,0.153,0.000 +0.000,0.154,0.000 +0.000,0.156,0.000 +0.000,0.158,0.000 +0.000,0.159,0.000 +0.000,0.161,0.000 +0.000,0.163,0.000 +0.000,0.165,0.000 +0.000,0.166,0.000 +0.000,0.168,0.000 +0.000,0.170,0.000 +0.000,0.171,0.000 +0.000,0.173,0.000 +0.000,0.175,0.000 +0.000,0.176,0.000 +0.000,0.178,0.000 +0.000,0.180,0.000 +0.000,0.181,0.000 +0.000,0.183,0.000 +0.000,0.185,0.000 +0.000,0.187,0.000 +0.000,0.188,0.000 +0.000,0.190,0.000 +0.000,0.192,0.000 +0.000,0.193,0.000 +0.000,0.195,0.000 +0.000,0.197,0.000 +0.000,0.199,0.000 +0.000,0.200,0.000 +0.000,0.202,0.000 +0.000,0.204,0.000 +0.000,0.205,0.000 +0.000,0.207,0.000 +0.000,0.209,0.000 +0.000,0.211,0.000 +0.000,0.212,0.000 +0.000,0.214,0.000 +0.000,0.216,0.000 +0.000,0.218,0.000 +0.000,0.219,0.000 +0.000,0.221,0.000 +0.000,0.223,0.000 +0.000,0.225,0.000 +0.000,0.226,0.000 +0.000,0.228,0.000 +0.000,0.230,0.000 +0.000,0.232,0.000 +0.000,0.234,0.000 +0.000,0.235,0.000 +0.000,0.237,0.000 +0.000,0.239,0.000 +0.000,0.241,0.000 +0.000,0.242,0.000 +0.000,0.244,0.000 +0.000,0.246,0.000 +0.000,0.248,0.000 +0.000,0.250,0.000 +0.000,0.251,0.000 +0.000,0.253,0.000 +0.000,0.255,0.000 +0.000,0.257,0.000 +0.000,0.259,0.000 +0.000,0.260,0.000 +0.000,0.262,0.000 +0.000,0.264,0.000 +0.000,0.266,0.000 +0.000,0.268,0.000 +0.000,0.269,0.000 +0.000,0.271,0.000 +0.000,0.273,0.000 +0.000,0.275,0.000 +0.000,0.277,0.000 +0.000,0.278,0.000 +0.000,0.280,0.000 +0.000,0.282,0.000 +0.000,0.284,0.000 +0.000,0.286,0.000 +0.000,0.288,0.000 +0.000,0.289,0.000 +0.000,0.291,0.000 +0.000,0.293,0.000 +0.000,0.295,0.000 +0.000,0.297,0.000 +0.000,0.299,0.000 +0.000,0.300,0.000 +0.000,0.302,0.000 +0.000,0.304,0.000 +0.000,0.306,0.000 +0.000,0.308,0.000 +0.000,0.310,0.000 +0.000,0.312,0.000 +0.000,0.313,0.000 +0.000,0.315,0.000 +0.000,0.317,0.000 +0.000,0.319,0.000 +0.000,0.321,0.000 +0.000,0.323,0.000 +0.000,0.325,0.000 +0.000,0.327,0.000 +0.000,0.328,0.000 +0.000,0.330,0.000 +0.000,0.332,0.000 +0.000,0.334,0.000 +0.000,0.336,0.000 +0.000,0.338,0.000 +0.000,0.340,0.000 +0.000,0.342,0.000 +0.000,0.343,0.000 +0.000,0.345,0.000 +0.000,0.347,0.000 +0.000,0.349,0.000 +0.000,0.351,0.000 +0.000,0.353,0.000 +0.000,0.355,0.000 +0.000,0.357,0.000 +0.000,0.359,0.000 +0.000,0.361,0.000 +0.000,0.362,0.000 +0.000,0.364,0.000 +0.000,0.366,0.000 +0.000,0.368,0.000 +0.000,0.370,0.000 +0.000,0.372,0.000 +0.000,0.374,0.000 +0.000,0.376,0.000 +0.000,0.378,0.000 +0.000,0.380,0.000 +0.000,0.382,0.000 +0.000,0.384,0.000 +0.000,0.385,0.000 +0.000,0.387,0.000 +0.000,0.389,0.000 +0.000,0.391,0.000 +0.000,0.393,0.000 +0.000,0.395,0.000 +0.000,0.397,0.000 +0.000,0.399,0.000 +0.000,0.401,0.000 +0.000,0.403,0.000 +0.000,0.405,0.000 +0.000,0.407,0.000 +0.000,0.409,0.000 +0.000,0.411,0.000 +0.000,0.413,0.000 +0.000,0.415,0.000 +0.000,0.417,0.000 +0.000,0.418,0.000 +0.000,0.420,0.000 +0.000,0.422,0.000 +0.000,0.424,0.000 +0.000,0.426,0.000 +0.000,0.428,0.000 +0.000,0.430,0.000 +0.000,0.432,0.000 +0.000,0.434,0.000 +0.000,0.436,0.000 +0.000,0.438,0.000 +0.000,0.440,0.000 +0.000,0.442,0.000 +0.000,0.444,0.000 +0.000,0.446,0.000 +0.000,0.448,0.000 +0.000,0.450,0.000 +0.000,0.452,0.000 +0.000,0.454,0.000 +0.000,0.456,0.000 +0.000,0.458,0.000 +0.000,0.460,0.000 +0.000,0.462,0.000 +0.000,0.464,0.000 +0.000,0.466,0.000 +0.000,0.468,0.000 +0.000,0.470,0.000 +0.000,0.472,0.000 +0.000,0.474,0.000 +0.000,0.476,0.000 +0.000,0.478,0.000 +0.000,0.480,0.000 +0.000,0.482,0.000 +0.000,0.484,0.000 +0.000,0.486,0.000 +0.000,0.488,0.000 +0.000,0.490,0.000 +0.000,0.492,0.000 +0.000,0.494,0.000 +0.000,0.496,0.000 +0.000,0.498,0.000 +0.000,0.500,0.000 diff --git a/test/CETperceptual_csv_0_1/CET-L15.csv b/test/CETperceptual_csv_0_1/CET-L15.csv new file mode 100644 index 0000000..df66689 --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-L15.csv @@ -0,0 +1,256 @@ +0.000,0.000,0.000 +0.001,0.002,0.007 +0.001,0.005,0.015 +0.002,0.007,0.022 +0.003,0.010,0.030 +0.004,0.012,0.038 +0.004,0.015,0.045 +0.005,0.017,0.052 +0.006,0.020,0.059 +0.007,0.022,0.066 +0.007,0.024,0.073 +0.008,0.026,0.079 +0.009,0.028,0.086 +0.009,0.030,0.092 +0.010,0.032,0.098 +0.010,0.034,0.105 +0.011,0.037,0.111 +0.012,0.038,0.117 +0.012,0.040,0.122 +0.013,0.042,0.128 +0.013,0.044,0.133 +0.014,0.046,0.138 +0.014,0.047,0.144 +0.015,0.049,0.149 +0.015,0.051,0.153 +0.016,0.052,0.158 +0.016,0.054,0.163 +0.017,0.055,0.167 +0.017,0.057,0.172 +0.018,0.058,0.176 +0.018,0.059,0.180 +0.018,0.061,0.184 +0.019,0.062,0.188 +0.019,0.063,0.192 +0.020,0.065,0.196 +0.020,0.066,0.200 +0.020,0.067,0.204 +0.021,0.069,0.208 +0.021,0.070,0.211 +0.021,0.071,0.215 +0.022,0.072,0.218 +0.022,0.073,0.222 +0.023,0.074,0.225 +0.023,0.075,0.229 +0.023,0.077,0.232 +0.024,0.078,0.235 +0.024,0.079,0.238 +0.024,0.080,0.242 +0.025,0.081,0.245 +0.025,0.082,0.248 +0.025,0.083,0.252 +0.025,0.084,0.255 +0.026,0.085,0.258 +0.026,0.086,0.261 +0.026,0.087,0.265 +0.027,0.088,0.268 +0.027,0.089,0.271 +0.027,0.091,0.274 +0.028,0.092,0.278 +0.028,0.093,0.281 +0.028,0.094,0.284 +0.029,0.095,0.288 +0.029,0.096,0.291 +0.029,0.097,0.294 +0.030,0.098,0.297 +0.030,0.099,0.301 +0.030,0.100,0.304 +0.031,0.101,0.307 +0.031,0.103,0.311 +0.031,0.104,0.314 +0.032,0.105,0.317 +0.032,0.106,0.321 +0.032,0.107,0.324 +0.033,0.108,0.327 +0.033,0.109,0.331 +0.033,0.110,0.334 +0.034,0.111,0.338 +0.034,0.113,0.341 +0.034,0.114,0.344 +0.035,0.115,0.348 +0.035,0.116,0.351 +0.035,0.117,0.354 +0.036,0.118,0.358 +0.036,0.119,0.361 +0.036,0.120,0.365 +0.037,0.121,0.368 +0.037,0.123,0.371 +0.037,0.124,0.375 +0.038,0.125,0.378 +0.038,0.126,0.382 +0.039,0.127,0.385 +0.039,0.128,0.389 +0.039,0.129,0.392 +0.040,0.131,0.395 +0.040,0.132,0.399 +0.040,0.133,0.402 +0.041,0.134,0.406 +0.041,0.135,0.409 +0.041,0.136,0.413 +0.042,0.137,0.416 +0.042,0.138,0.420 +0.042,0.140,0.423 +0.043,0.141,0.427 +0.043,0.142,0.430 +0.043,0.143,0.434 +0.044,0.144,0.437 +0.044,0.145,0.441 +0.044,0.147,0.444 +0.045,0.148,0.448 +0.045,0.149,0.451 +0.045,0.150,0.455 +0.046,0.151,0.458 +0.046,0.152,0.462 +0.047,0.153,0.465 +0.047,0.155,0.469 +0.047,0.156,0.472 +0.048,0.157,0.476 +0.048,0.158,0.479 +0.048,0.159,0.483 +0.049,0.160,0.486 +0.049,0.162,0.490 +0.049,0.163,0.493 +0.050,0.164,0.497 +0.050,0.165,0.500 +0.050,0.166,0.504 +0.051,0.168,0.508 +0.051,0.169,0.511 +0.051,0.170,0.515 +0.052,0.171,0.518 +0.052,0.172,0.522 +0.053,0.173,0.526 +0.053,0.175,0.529 +0.053,0.176,0.533 +0.054,0.177,0.536 +0.054,0.178,0.540 +0.054,0.179,0.543 +0.055,0.181,0.547 +0.055,0.182,0.551 +0.055,0.183,0.554 +0.056,0.184,0.558 +0.056,0.185,0.562 +0.057,0.187,0.565 +0.057,0.188,0.569 +0.057,0.189,0.572 +0.058,0.190,0.576 +0.058,0.191,0.580 +0.058,0.193,0.583 +0.059,0.194,0.587 +0.059,0.195,0.591 +0.059,0.196,0.594 +0.060,0.197,0.598 +0.060,0.199,0.602 +0.061,0.200,0.605 +0.061,0.201,0.609 +0.061,0.202,0.613 +0.062,0.203,0.616 +0.062,0.205,0.620 +0.062,0.206,0.624 +0.063,0.207,0.627 +0.063,0.208,0.631 +0.063,0.209,0.635 +0.064,0.211,0.638 +0.064,0.212,0.642 +0.065,0.213,0.646 +0.065,0.214,0.650 +0.065,0.216,0.653 +0.066,0.217,0.657 +0.066,0.218,0.661 +0.066,0.219,0.664 +0.067,0.220,0.668 +0.067,0.222,0.672 +0.068,0.223,0.676 +0.068,0.224,0.679 +0.068,0.225,0.683 +0.069,0.227,0.687 +0.069,0.228,0.691 +0.069,0.229,0.694 +0.070,0.230,0.698 +0.070,0.232,0.702 +0.071,0.233,0.705 +0.071,0.234,0.709 +0.071,0.235,0.713 +0.072,0.237,0.717 +0.072,0.238,0.721 +0.072,0.239,0.724 +0.073,0.240,0.728 +0.073,0.242,0.732 +0.074,0.243,0.736 +0.074,0.244,0.739 +0.074,0.245,0.743 +0.075,0.247,0.747 +0.075,0.248,0.751 +0.075,0.249,0.755 +0.076,0.250,0.758 +0.076,0.252,0.762 +0.077,0.253,0.766 +0.077,0.254,0.770 +0.077,0.255,0.774 +0.078,0.257,0.777 +0.078,0.258,0.781 +0.079,0.259,0.785 +0.079,0.260,0.789 +0.079,0.262,0.793 +0.080,0.263,0.797 +0.080,0.264,0.800 +0.080,0.265,0.804 +0.081,0.267,0.808 +0.081,0.268,0.812 +0.082,0.269,0.816 +0.082,0.270,0.820 +0.082,0.272,0.823 +0.083,0.273,0.827 +0.083,0.274,0.831 +0.084,0.276,0.835 +0.084,0.277,0.839 +0.084,0.278,0.843 +0.085,0.279,0.847 +0.085,0.281,0.851 +0.085,0.282,0.854 +0.086,0.283,0.858 +0.086,0.285,0.862 +0.087,0.286,0.866 +0.087,0.287,0.870 +0.087,0.288,0.874 +0.088,0.290,0.878 +0.088,0.291,0.882 +0.089,0.292,0.886 +0.089,0.294,0.889 +0.089,0.295,0.893 +0.090,0.296,0.897 +0.090,0.297,0.901 +0.091,0.299,0.905 +0.091,0.300,0.909 +0.091,0.301,0.913 +0.092,0.303,0.917 +0.092,0.304,0.921 +0.092,0.305,0.925 +0.093,0.306,0.929 +0.093,0.308,0.933 +0.094,0.309,0.937 +0.094,0.310,0.941 +0.094,0.312,0.944 +0.095,0.313,0.948 +0.095,0.314,0.952 +0.096,0.316,0.956 +0.096,0.317,0.960 +0.096,0.318,0.964 +0.097,0.320,0.968 +0.097,0.321,0.972 +0.098,0.322,0.976 +0.098,0.323,0.980 +0.098,0.325,0.984 +0.099,0.326,0.988 +0.099,0.327,0.992 +0.100,0.329,0.996 +0.100,0.330,1.000 diff --git a/test/CETperceptual_csv_0_1/CET-L16.csv b/test/CETperceptual_csv_0_1/CET-L16.csv new file mode 100644 index 0000000..d26db2d --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-L16.csv @@ -0,0 +1,256 @@ +0.108,0.108,0.108 +0.115,0.108,0.125 +0.121,0.107,0.142 +0.127,0.107,0.159 +0.132,0.107,0.176 +0.137,0.106,0.193 +0.141,0.106,0.210 +0.145,0.105,0.226 +0.148,0.104,0.243 +0.151,0.104,0.260 +0.154,0.103,0.276 +0.156,0.103,0.292 +0.158,0.102,0.308 +0.159,0.101,0.324 +0.160,0.101,0.340 +0.161,0.100,0.356 +0.161,0.100,0.371 +0.161,0.099,0.387 +0.161,0.099,0.402 +0.160,0.098,0.416 +0.159,0.098,0.431 +0.158,0.098,0.445 +0.156,0.098,0.460 +0.154,0.098,0.473 +0.152,0.098,0.487 +0.150,0.098,0.500 +0.147,0.099,0.513 +0.144,0.099,0.526 +0.140,0.100,0.539 +0.137,0.101,0.551 +0.133,0.102,0.562 +0.129,0.104,0.574 +0.124,0.106,0.585 +0.120,0.107,0.596 +0.115,0.110,0.606 +0.110,0.112,0.616 +0.105,0.114,0.625 +0.099,0.117,0.634 +0.094,0.120,0.643 +0.088,0.124,0.651 +0.083,0.127,0.659 +0.077,0.131,0.666 +0.071,0.135,0.673 +0.066,0.139,0.679 +0.060,0.143,0.685 +0.055,0.148,0.690 +0.050,0.152,0.695 +0.045,0.157,0.699 +0.041,0.163,0.702 +0.038,0.168,0.705 +0.036,0.173,0.708 +0.034,0.179,0.709 +0.033,0.184,0.711 +0.032,0.190,0.712 +0.031,0.196,0.714 +0.030,0.201,0.715 +0.029,0.207,0.716 +0.028,0.212,0.717 +0.028,0.217,0.718 +0.027,0.223,0.719 +0.027,0.228,0.720 +0.026,0.233,0.720 +0.026,0.239,0.721 +0.026,0.244,0.721 +0.026,0.250,0.721 +0.026,0.255,0.721 +0.026,0.260,0.721 +0.026,0.266,0.721 +0.026,0.271,0.720 +0.026,0.276,0.720 +0.026,0.282,0.719 +0.026,0.287,0.718 +0.027,0.292,0.717 +0.027,0.298,0.716 +0.027,0.303,0.714 +0.028,0.308,0.713 +0.028,0.314,0.711 +0.028,0.319,0.709 +0.028,0.324,0.707 +0.028,0.330,0.704 +0.028,0.335,0.701 +0.028,0.341,0.698 +0.028,0.346,0.695 +0.027,0.352,0.692 +0.026,0.357,0.688 +0.025,0.363,0.684 +0.024,0.368,0.680 +0.023,0.374,0.675 +0.022,0.379,0.670 +0.024,0.385,0.665 +0.027,0.390,0.659 +0.032,0.396,0.654 +0.039,0.401,0.648 +0.047,0.406,0.642 +0.055,0.411,0.635 +0.063,0.417,0.629 +0.071,0.422,0.622 +0.079,0.427,0.615 +0.086,0.432,0.608 +0.094,0.437,0.601 +0.101,0.442,0.594 +0.107,0.447,0.586 +0.114,0.452,0.578 +0.120,0.457,0.570 +0.126,0.462,0.562 +0.132,0.466,0.554 +0.137,0.471,0.546 +0.143,0.476,0.538 +0.147,0.481,0.529 +0.152,0.486,0.520 +0.156,0.491,0.511 +0.160,0.495,0.503 +0.164,0.500,0.493 +0.168,0.505,0.484 +0.171,0.510,0.475 +0.174,0.515,0.465 +0.177,0.519,0.456 +0.179,0.524,0.446 +0.181,0.529,0.436 +0.183,0.534,0.426 +0.185,0.538,0.415 +0.186,0.543,0.405 +0.188,0.548,0.394 +0.188,0.553,0.384 +0.189,0.558,0.373 +0.190,0.562,0.363 +0.192,0.567,0.352 +0.193,0.571,0.343 +0.195,0.576,0.333 +0.197,0.580,0.324 +0.200,0.585,0.315 +0.203,0.589,0.306 +0.206,0.593,0.297 +0.209,0.597,0.289 +0.213,0.601,0.281 +0.217,0.606,0.273 +0.221,0.610,0.265 +0.226,0.614,0.257 +0.231,0.618,0.250 +0.236,0.622,0.242 +0.241,0.625,0.235 +0.247,0.629,0.228 +0.252,0.633,0.221 +0.259,0.637,0.214 +0.265,0.641,0.207 +0.271,0.644,0.200 +0.278,0.648,0.194 +0.285,0.652,0.187 +0.292,0.655,0.180 +0.299,0.659,0.174 +0.306,0.662,0.168 +0.314,0.666,0.161 +0.321,0.669,0.155 +0.329,0.673,0.149 +0.337,0.676,0.143 +0.345,0.679,0.136 +0.353,0.683,0.130 +0.361,0.686,0.124 +0.369,0.689,0.118 +0.378,0.693,0.112 +0.386,0.696,0.106 +0.395,0.699,0.100 +0.403,0.702,0.095 +0.412,0.705,0.089 +0.421,0.708,0.083 +0.430,0.711,0.077 +0.439,0.714,0.071 +0.448,0.717,0.065 +0.457,0.720,0.059 +0.466,0.723,0.053 +0.476,0.726,0.048 +0.485,0.729,0.042 +0.494,0.732,0.036 +0.504,0.735,0.031 +0.513,0.737,0.027 +0.523,0.740,0.023 +0.532,0.743,0.019 +0.542,0.746,0.017 +0.552,0.748,0.014 +0.562,0.751,0.012 +0.571,0.753,0.011 +0.581,0.756,0.010 +0.591,0.758,0.010 +0.601,0.761,0.009 +0.611,0.763,0.009 +0.620,0.766,0.010 +0.630,0.768,0.010 +0.639,0.771,0.010 +0.649,0.773,0.011 +0.658,0.776,0.012 +0.667,0.779,0.014 +0.676,0.781,0.015 +0.685,0.784,0.017 +0.694,0.786,0.019 +0.703,0.789,0.021 +0.712,0.791,0.024 +0.721,0.794,0.026 +0.729,0.796,0.030 +0.738,0.799,0.033 +0.746,0.801,0.037 +0.755,0.804,0.041 +0.763,0.807,0.046 +0.771,0.809,0.050 +0.780,0.812,0.055 +0.788,0.814,0.060 +0.796,0.817,0.064 +0.804,0.820,0.069 +0.812,0.822,0.074 +0.819,0.825,0.079 +0.827,0.828,0.084 +0.835,0.831,0.090 +0.842,0.833,0.095 +0.849,0.836,0.100 +0.857,0.839,0.106 +0.864,0.842,0.112 +0.871,0.845,0.118 +0.878,0.848,0.124 +0.884,0.851,0.130 +0.891,0.854,0.136 +0.897,0.857,0.142 +0.904,0.860,0.149 +0.910,0.863,0.156 +0.916,0.866,0.163 +0.922,0.869,0.170 +0.927,0.873,0.177 +0.932,0.876,0.185 +0.937,0.880,0.193 +0.942,0.883,0.201 +0.946,0.887,0.210 +0.950,0.891,0.219 +0.954,0.895,0.228 +0.957,0.899,0.238 +0.960,0.903,0.248 +0.962,0.907,0.260 +0.965,0.911,0.273 +0.968,0.915,0.288 +0.970,0.919,0.304 +0.973,0.923,0.322 +0.976,0.927,0.341 +0.979,0.931,0.362 +0.982,0.934,0.385 +0.985,0.938,0.408 +0.987,0.941,0.434 +0.990,0.945,0.461 +0.993,0.948,0.490 +0.995,0.951,0.521 +0.997,0.954,0.554 +0.999,0.957,0.589 +1.000,0.960,0.626 +1.000,0.963,0.666 +1.000,0.966,0.709 +0.999,0.968,0.755 +0.997,0.971,0.804 +0.993,0.973,0.858 +0.986,0.975,0.915 +0.977,0.977,0.977 diff --git a/test/CETperceptual_csv_0_1/CET-L17.csv b/test/CETperceptual_csv_0_1/CET-L17.csv new file mode 100644 index 0000000..4c27d94 --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-L17.csv @@ -0,0 +1,256 @@ +1.000,1.000,1.000 +0.998,0.997,0.989 +0.996,0.994,0.978 +0.995,0.991,0.967 +0.993,0.988,0.956 +0.991,0.985,0.945 +0.989,0.982,0.934 +0.987,0.979,0.923 +0.985,0.976,0.912 +0.983,0.973,0.901 +0.981,0.970,0.890 +0.979,0.967,0.879 +0.977,0.964,0.868 +0.974,0.961,0.857 +0.972,0.958,0.846 +0.970,0.955,0.835 +0.968,0.952,0.824 +0.965,0.949,0.813 +0.963,0.946,0.803 +0.961,0.943,0.792 +0.958,0.940,0.781 +0.956,0.937,0.770 +0.953,0.934,0.759 +0.951,0.931,0.748 +0.950,0.927,0.741 +0.951,0.923,0.734 +0.951,0.919,0.728 +0.951,0.915,0.721 +0.951,0.911,0.714 +0.951,0.906,0.708 +0.951,0.902,0.701 +0.951,0.898,0.695 +0.951,0.894,0.688 +0.951,0.890,0.682 +0.951,0.886,0.675 +0.951,0.882,0.669 +0.951,0.878,0.662 +0.951,0.874,0.655 +0.951,0.870,0.649 +0.951,0.865,0.642 +0.950,0.861,0.636 +0.950,0.857,0.629 +0.950,0.853,0.623 +0.950,0.849,0.616 +0.950,0.845,0.610 +0.949,0.841,0.603 +0.949,0.837,0.597 +0.949,0.832,0.592 +0.950,0.828,0.587 +0.950,0.823,0.582 +0.951,0.819,0.577 +0.951,0.814,0.573 +0.952,0.810,0.568 +0.952,0.805,0.563 +0.953,0.801,0.559 +0.953,0.796,0.554 +0.954,0.792,0.549 +0.954,0.787,0.544 +0.955,0.783,0.540 +0.955,0.778,0.535 +0.955,0.773,0.530 +0.956,0.769,0.526 +0.956,0.764,0.521 +0.956,0.760,0.516 +0.956,0.755,0.512 +0.957,0.751,0.507 +0.957,0.746,0.502 +0.957,0.742,0.498 +0.957,0.737,0.493 +0.957,0.732,0.489 +0.958,0.728,0.485 +0.958,0.723,0.482 +0.958,0.718,0.479 +0.959,0.713,0.476 +0.959,0.708,0.474 +0.959,0.704,0.471 +0.960,0.699,0.468 +0.960,0.694,0.465 +0.960,0.689,0.463 +0.960,0.684,0.460 +0.961,0.679,0.457 +0.961,0.675,0.455 +0.961,0.670,0.452 +0.961,0.665,0.449 +0.961,0.660,0.446 +0.961,0.655,0.444 +0.962,0.650,0.441 +0.962,0.645,0.438 +0.962,0.640,0.435 +0.962,0.635,0.433 +0.962,0.630,0.430 +0.962,0.625,0.427 +0.962,0.620,0.425 +0.962,0.615,0.423 +0.962,0.610,0.422 +0.961,0.605,0.421 +0.961,0.600,0.420 +0.961,0.595,0.419 +0.961,0.590,0.418 +0.960,0.585,0.417 +0.960,0.580,0.417 +0.960,0.575,0.416 +0.959,0.570,0.415 +0.959,0.565,0.414 +0.959,0.560,0.413 +0.958,0.555,0.412 +0.958,0.550,0.412 +0.957,0.544,0.411 +0.957,0.539,0.410 +0.957,0.534,0.409 +0.956,0.529,0.408 +0.956,0.524,0.407 +0.955,0.518,0.406 +0.955,0.513,0.406 +0.954,0.508,0.405 +0.954,0.502,0.404 +0.953,0.497,0.403 +0.952,0.492,0.404 +0.951,0.487,0.405 +0.950,0.482,0.405 +0.948,0.477,0.406 +0.947,0.472,0.407 +0.946,0.467,0.408 +0.945,0.462,0.408 +0.943,0.457,0.409 +0.942,0.451,0.410 +0.941,0.446,0.410 +0.940,0.441,0.411 +0.938,0.436,0.412 +0.937,0.430,0.412 +0.936,0.425,0.413 +0.934,0.420,0.414 +0.933,0.414,0.414 +0.932,0.409,0.415 +0.930,0.404,0.416 +0.929,0.398,0.416 +0.928,0.393,0.417 +0.926,0.387,0.418 +0.925,0.382,0.418 +0.924,0.376,0.419 +0.921,0.371,0.420 +0.919,0.366,0.422 +0.917,0.361,0.424 +0.914,0.356,0.426 +0.912,0.351,0.428 +0.909,0.347,0.430 +0.907,0.342,0.431 +0.904,0.337,0.433 +0.902,0.332,0.435 +0.899,0.326,0.437 +0.897,0.321,0.438 +0.894,0.316,0.440 +0.892,0.311,0.442 +0.889,0.306,0.444 +0.887,0.300,0.445 +0.884,0.295,0.447 +0.882,0.290,0.449 +0.879,0.284,0.450 +0.876,0.279,0.452 +0.874,0.273,0.454 +0.871,0.268,0.455 +0.869,0.262,0.457 +0.866,0.256,0.459 +0.863,0.252,0.461 +0.859,0.247,0.463 +0.855,0.243,0.466 +0.851,0.239,0.468 +0.847,0.235,0.470 +0.843,0.230,0.473 +0.839,0.226,0.475 +0.835,0.222,0.478 +0.831,0.217,0.480 +0.827,0.213,0.482 +0.823,0.208,0.485 +0.819,0.204,0.487 +0.815,0.199,0.489 +0.811,0.194,0.492 +0.807,0.190,0.494 +0.803,0.185,0.496 +0.799,0.180,0.499 +0.795,0.175,0.501 +0.791,0.170,0.503 +0.787,0.165,0.506 +0.783,0.160,0.508 +0.778,0.155,0.510 +0.774,0.150,0.513 +0.769,0.146,0.515 +0.764,0.144,0.518 +0.758,0.141,0.520 +0.753,0.139,0.523 +0.747,0.137,0.525 +0.741,0.134,0.528 +0.736,0.132,0.530 +0.730,0.129,0.533 +0.724,0.127,0.535 +0.718,0.125,0.538 +0.712,0.122,0.541 +0.707,0.120,0.543 +0.701,0.118,0.546 +0.695,0.115,0.548 +0.689,0.113,0.551 +0.683,0.111,0.553 +0.677,0.109,0.556 +0.671,0.106,0.558 +0.665,0.104,0.561 +0.659,0.102,0.563 +0.653,0.100,0.566 +0.647,0.097,0.568 +0.641,0.095,0.571 +0.634,0.094,0.573 +0.626,0.096,0.576 +0.619,0.097,0.578 +0.611,0.099,0.580 +0.603,0.100,0.582 +0.596,0.102,0.585 +0.588,0.103,0.587 +0.580,0.104,0.589 +0.572,0.106,0.591 +0.564,0.107,0.594 +0.555,0.108,0.596 +0.547,0.109,0.598 +0.539,0.111,0.600 +0.531,0.112,0.603 +0.522,0.113,0.605 +0.514,0.114,0.607 +0.505,0.115,0.609 +0.496,0.116,0.612 +0.487,0.117,0.614 +0.478,0.119,0.616 +0.469,0.120,0.618 +0.460,0.121,0.620 +0.450,0.122,0.623 +0.441,0.123,0.625 +0.430,0.126,0.626 +0.419,0.128,0.628 +0.408,0.131,0.629 +0.396,0.133,0.631 +0.384,0.136,0.632 +0.372,0.138,0.633 +0.360,0.140,0.635 +0.347,0.142,0.636 +0.334,0.144,0.638 +0.321,0.146,0.639 +0.307,0.148,0.640 +0.292,0.150,0.642 +0.277,0.152,0.643 +0.261,0.153,0.645 +0.244,0.155,0.646 +0.226,0.156,0.648 +0.206,0.158,0.649 +0.184,0.159,0.650 +0.159,0.161,0.652 +0.131,0.162,0.653 +0.094,0.163,0.655 +0.038,0.164,0.656 +0.000,0.165,0.658 diff --git a/test/CETperceptual_csv_0_1/CET-L18.csv b/test/CETperceptual_csv_0_1/CET-L18.csv new file mode 100644 index 0000000..95e5438 --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-L18.csv @@ -0,0 +1,256 @@ +1.000,1.000,1.000 +0.998,0.998,0.990 +0.995,0.997,0.980 +0.993,0.995,0.969 +0.991,0.993,0.959 +0.989,0.991,0.949 +0.986,0.990,0.939 +0.984,0.988,0.929 +0.981,0.986,0.919 +0.979,0.984,0.909 +0.976,0.983,0.898 +0.974,0.981,0.888 +0.971,0.979,0.878 +0.969,0.977,0.868 +0.966,0.976,0.858 +0.964,0.974,0.848 +0.961,0.972,0.838 +0.958,0.971,0.828 +0.956,0.969,0.818 +0.953,0.967,0.807 +0.950,0.965,0.797 +0.947,0.964,0.787 +0.944,0.962,0.777 +0.941,0.960,0.767 +0.940,0.958,0.760 +0.939,0.955,0.754 +0.938,0.953,0.748 +0.937,0.950,0.742 +0.936,0.947,0.736 +0.935,0.945,0.730 +0.934,0.942,0.724 +0.933,0.940,0.718 +0.932,0.937,0.712 +0.931,0.934,0.706 +0.930,0.932,0.700 +0.929,0.929,0.694 +0.928,0.927,0.688 +0.927,0.924,0.682 +0.926,0.922,0.676 +0.925,0.919,0.670 +0.924,0.916,0.664 +0.923,0.914,0.658 +0.922,0.911,0.652 +0.920,0.909,0.646 +0.919,0.906,0.640 +0.918,0.904,0.634 +0.917,0.901,0.628 +0.916,0.898,0.623 +0.916,0.895,0.617 +0.915,0.893,0.612 +0.915,0.890,0.607 +0.915,0.887,0.602 +0.914,0.884,0.597 +0.914,0.881,0.592 +0.913,0.879,0.586 +0.913,0.876,0.581 +0.912,0.873,0.576 +0.911,0.870,0.571 +0.911,0.867,0.566 +0.910,0.864,0.560 +0.910,0.862,0.555 +0.909,0.859,0.550 +0.909,0.856,0.545 +0.908,0.853,0.540 +0.907,0.850,0.535 +0.907,0.848,0.529 +0.906,0.845,0.524 +0.906,0.842,0.519 +0.905,0.839,0.514 +0.904,0.836,0.509 +0.904,0.833,0.504 +0.904,0.830,0.499 +0.903,0.827,0.495 +0.903,0.824,0.490 +0.903,0.821,0.485 +0.903,0.818,0.481 +0.903,0.815,0.476 +0.902,0.812,0.472 +0.902,0.809,0.467 +0.902,0.806,0.463 +0.902,0.803,0.458 +0.901,0.800,0.453 +0.901,0.797,0.449 +0.901,0.794,0.444 +0.900,0.791,0.440 +0.900,0.788,0.435 +0.900,0.785,0.431 +0.899,0.782,0.426 +0.899,0.779,0.421 +0.899,0.776,0.417 +0.898,0.773,0.412 +0.898,0.771,0.408 +0.897,0.768,0.403 +0.897,0.764,0.399 +0.897,0.761,0.395 +0.897,0.758,0.391 +0.897,0.755,0.387 +0.897,0.752,0.383 +0.897,0.749,0.379 +0.897,0.746,0.375 +0.896,0.742,0.371 +0.896,0.739,0.367 +0.896,0.736,0.363 +0.896,0.733,0.359 +0.896,0.730,0.355 +0.896,0.727,0.351 +0.895,0.724,0.347 +0.895,0.720,0.343 +0.895,0.717,0.339 +0.895,0.714,0.335 +0.895,0.711,0.331 +0.894,0.708,0.327 +0.894,0.705,0.323 +0.894,0.702,0.318 +0.894,0.698,0.314 +0.893,0.695,0.310 +0.893,0.692,0.306 +0.893,0.689,0.303 +0.893,0.686,0.300 +0.893,0.682,0.296 +0.893,0.679,0.293 +0.893,0.676,0.289 +0.893,0.672,0.286 +0.893,0.669,0.283 +0.892,0.666,0.279 +0.892,0.663,0.276 +0.892,0.659,0.272 +0.892,0.656,0.269 +0.892,0.653,0.266 +0.892,0.649,0.262 +0.892,0.646,0.259 +0.891,0.643,0.255 +0.891,0.639,0.252 +0.891,0.636,0.248 +0.891,0.633,0.245 +0.891,0.629,0.241 +0.890,0.626,0.238 +0.890,0.623,0.235 +0.890,0.620,0.231 +0.890,0.616,0.228 +0.890,0.613,0.225 +0.890,0.609,0.222 +0.889,0.606,0.219 +0.889,0.602,0.217 +0.889,0.599,0.214 +0.889,0.596,0.211 +0.889,0.592,0.208 +0.889,0.589,0.206 +0.889,0.585,0.203 +0.888,0.582,0.200 +0.888,0.578,0.197 +0.888,0.575,0.195 +0.888,0.571,0.192 +0.888,0.568,0.189 +0.887,0.564,0.186 +0.887,0.561,0.183 +0.887,0.557,0.181 +0.887,0.554,0.178 +0.886,0.550,0.175 +0.886,0.547,0.172 +0.886,0.543,0.169 +0.886,0.540,0.166 +0.885,0.536,0.164 +0.885,0.533,0.161 +0.885,0.529,0.159 +0.885,0.525,0.158 +0.885,0.522,0.156 +0.884,0.518,0.154 +0.884,0.515,0.152 +0.884,0.511,0.150 +0.884,0.507,0.148 +0.883,0.504,0.146 +0.883,0.500,0.144 +0.883,0.496,0.142 +0.882,0.493,0.140 +0.882,0.489,0.138 +0.882,0.485,0.136 +0.882,0.481,0.134 +0.881,0.478,0.132 +0.881,0.474,0.130 +0.881,0.470,0.128 +0.880,0.466,0.126 +0.880,0.463,0.124 +0.880,0.459,0.122 +0.879,0.455,0.120 +0.879,0.451,0.119 +0.878,0.447,0.117 +0.878,0.443,0.116 +0.878,0.440,0.115 +0.877,0.436,0.114 +0.877,0.432,0.113 +0.877,0.428,0.112 +0.876,0.424,0.111 +0.876,0.420,0.110 +0.875,0.416,0.110 +0.875,0.412,0.109 +0.874,0.408,0.108 +0.874,0.404,0.107 +0.874,0.400,0.106 +0.873,0.396,0.105 +0.873,0.392,0.104 +0.872,0.387,0.103 +0.872,0.383,0.102 +0.871,0.379,0.101 +0.871,0.375,0.100 +0.870,0.371,0.100 +0.870,0.367,0.099 +0.869,0.362,0.098 +0.869,0.358,0.097 +0.868,0.354,0.096 +0.868,0.349,0.097 +0.867,0.345,0.097 +0.867,0.341,0.097 +0.866,0.336,0.097 +0.865,0.332,0.097 +0.865,0.327,0.097 +0.864,0.323,0.097 +0.864,0.318,0.097 +0.863,0.313,0.097 +0.862,0.309,0.098 +0.862,0.304,0.098 +0.861,0.299,0.098 +0.861,0.295,0.098 +0.860,0.290,0.098 +0.859,0.285,0.098 +0.859,0.280,0.098 +0.858,0.275,0.098 +0.857,0.270,0.098 +0.857,0.265,0.098 +0.856,0.259,0.098 +0.855,0.254,0.098 +0.855,0.249,0.098 +0.854,0.243,0.099 +0.853,0.238,0.099 +0.852,0.232,0.100 +0.852,0.226,0.101 +0.851,0.221,0.102 +0.850,0.215,0.103 +0.849,0.209,0.104 +0.848,0.203,0.104 +0.847,0.196,0.105 +0.846,0.190,0.106 +0.846,0.183,0.106 +0.845,0.177,0.107 +0.844,0.169,0.108 +0.843,0.162,0.108 +0.842,0.155,0.109 +0.841,0.147,0.110 +0.840,0.138,0.110 +0.840,0.130,0.111 +0.839,0.120,0.112 +0.838,0.110,0.112 +0.837,0.099,0.113 +0.836,0.088,0.113 +0.835,0.074,0.114 +0.834,0.059,0.114 diff --git a/test/CETperceptual_csv_0_1/CET-L19.csv b/test/CETperceptual_csv_0_1/CET-L19.csv new file mode 100644 index 0000000..652b489 --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-L19.csv @@ -0,0 +1,256 @@ +1.000,1.000,1.000 +0.995,0.998,1.000 +0.990,0.996,0.999 +0.985,0.994,0.999 +0.980,0.992,0.998 +0.975,0.990,0.998 +0.970,0.989,0.998 +0.965,0.987,0.997 +0.960,0.985,0.997 +0.955,0.983,0.996 +0.950,0.981,0.996 +0.945,0.979,0.996 +0.940,0.977,0.995 +0.935,0.975,0.995 +0.930,0.973,0.994 +0.925,0.971,0.994 +0.920,0.969,0.994 +0.915,0.967,0.993 +0.910,0.965,0.993 +0.905,0.963,0.992 +0.900,0.962,0.992 +0.895,0.960,0.992 +0.890,0.958,0.991 +0.885,0.956,0.991 +0.881,0.954,0.991 +0.877,0.951,0.991 +0.873,0.949,0.991 +0.869,0.947,0.991 +0.865,0.944,0.992 +0.861,0.942,0.992 +0.857,0.940,0.992 +0.853,0.938,0.992 +0.849,0.935,0.993 +0.845,0.933,0.993 +0.840,0.931,0.993 +0.836,0.928,0.993 +0.832,0.926,0.993 +0.828,0.924,0.994 +0.824,0.922,0.994 +0.820,0.919,0.994 +0.816,0.917,0.994 +0.812,0.915,0.994 +0.808,0.913,0.994 +0.804,0.910,0.995 +0.799,0.908,0.995 +0.795,0.906,0.995 +0.791,0.904,0.995 +0.788,0.901,0.995 +0.786,0.898,0.996 +0.783,0.896,0.996 +0.781,0.893,0.996 +0.778,0.890,0.996 +0.776,0.888,0.997 +0.773,0.885,0.997 +0.771,0.882,0.997 +0.768,0.880,0.997 +0.766,0.877,0.998 +0.763,0.874,0.998 +0.761,0.871,0.998 +0.758,0.869,0.998 +0.756,0.866,0.998 +0.753,0.863,0.999 +0.751,0.861,0.999 +0.748,0.858,0.999 +0.746,0.855,0.999 +0.743,0.853,1.000 +0.740,0.850,1.000 +0.738,0.847,1.000 +0.735,0.845,1.000 +0.733,0.842,1.000 +0.731,0.839,1.000 +0.731,0.836,1.000 +0.730,0.833,1.000 +0.730,0.830,0.999 +0.729,0.827,0.999 +0.729,0.824,0.999 +0.728,0.821,0.998 +0.728,0.817,0.998 +0.727,0.814,0.998 +0.727,0.811,0.997 +0.726,0.808,0.997 +0.726,0.805,0.996 +0.725,0.802,0.996 +0.725,0.799,0.996 +0.724,0.796,0.995 +0.724,0.793,0.995 +0.723,0.789,0.995 +0.723,0.786,0.994 +0.722,0.783,0.994 +0.722,0.780,0.994 +0.721,0.777,0.993 +0.721,0.774,0.993 +0.720,0.771,0.992 +0.720,0.767,0.992 +0.722,0.764,0.990 +0.723,0.760,0.989 +0.725,0.757,0.987 +0.726,0.753,0.986 +0.728,0.750,0.985 +0.729,0.746,0.983 +0.731,0.743,0.982 +0.732,0.739,0.980 +0.734,0.735,0.979 +0.735,0.732,0.977 +0.736,0.728,0.976 +0.738,0.725,0.974 +0.739,0.721,0.973 +0.740,0.718,0.971 +0.742,0.714,0.970 +0.743,0.710,0.968 +0.744,0.707,0.967 +0.746,0.703,0.966 +0.747,0.699,0.964 +0.748,0.696,0.963 +0.749,0.692,0.961 +0.750,0.689,0.960 +0.752,0.685,0.958 +0.755,0.681,0.955 +0.758,0.677,0.952 +0.760,0.673,0.949 +0.763,0.669,0.946 +0.766,0.665,0.943 +0.768,0.661,0.940 +0.771,0.657,0.937 +0.774,0.653,0.934 +0.776,0.649,0.931 +0.779,0.645,0.928 +0.781,0.641,0.926 +0.784,0.637,0.923 +0.786,0.633,0.920 +0.789,0.629,0.917 +0.791,0.624,0.914 +0.794,0.620,0.911 +0.796,0.616,0.908 +0.798,0.612,0.905 +0.801,0.608,0.902 +0.803,0.604,0.899 +0.805,0.600,0.896 +0.807,0.595,0.893 +0.809,0.591,0.890 +0.812,0.587,0.886 +0.816,0.582,0.881 +0.819,0.578,0.876 +0.822,0.574,0.872 +0.824,0.569,0.867 +0.827,0.565,0.863 +0.830,0.560,0.858 +0.833,0.556,0.853 +0.836,0.551,0.849 +0.838,0.547,0.844 +0.841,0.542,0.839 +0.844,0.538,0.835 +0.846,0.533,0.830 +0.849,0.529,0.826 +0.851,0.524,0.821 +0.854,0.520,0.817 +0.856,0.515,0.812 +0.859,0.510,0.807 +0.861,0.505,0.803 +0.864,0.501,0.798 +0.866,0.496,0.794 +0.868,0.491,0.789 +0.870,0.486,0.785 +0.873,0.482,0.779 +0.875,0.477,0.773 +0.877,0.473,0.766 +0.879,0.468,0.760 +0.882,0.463,0.754 +0.884,0.458,0.748 +0.886,0.454,0.741 +0.888,0.449,0.735 +0.890,0.444,0.729 +0.892,0.439,0.723 +0.894,0.434,0.717 +0.896,0.429,0.711 +0.898,0.425,0.704 +0.899,0.420,0.698 +0.901,0.415,0.692 +0.903,0.410,0.686 +0.905,0.404,0.680 +0.906,0.399,0.674 +0.908,0.394,0.668 +0.910,0.389,0.662 +0.911,0.384,0.655 +0.913,0.378,0.649 +0.914,0.373,0.643 +0.915,0.368,0.636 +0.916,0.364,0.629 +0.917,0.359,0.621 +0.918,0.354,0.614 +0.918,0.350,0.606 +0.919,0.345,0.599 +0.920,0.340,0.592 +0.920,0.335,0.584 +0.921,0.330,0.577 +0.921,0.326,0.569 +0.922,0.321,0.562 +0.922,0.316,0.555 +0.923,0.311,0.547 +0.923,0.306,0.540 +0.924,0.300,0.532 +0.924,0.295,0.525 +0.924,0.290,0.518 +0.925,0.285,0.510 +0.925,0.279,0.503 +0.925,0.274,0.496 +0.925,0.268,0.489 +0.925,0.263,0.481 +0.925,0.257,0.474 +0.925,0.252,0.467 +0.924,0.248,0.458 +0.923,0.244,0.450 +0.922,0.240,0.442 +0.921,0.237,0.434 +0.919,0.233,0.425 +0.918,0.229,0.417 +0.917,0.224,0.409 +0.916,0.220,0.401 +0.914,0.216,0.393 +0.913,0.212,0.385 +0.912,0.208,0.376 +0.910,0.204,0.368 +0.909,0.200,0.360 +0.908,0.195,0.352 +0.906,0.191,0.344 +0.905,0.186,0.336 +0.903,0.182,0.328 +0.901,0.177,0.320 +0.900,0.173,0.312 +0.898,0.168,0.304 +0.897,0.163,0.295 +0.895,0.159,0.287 +0.893,0.154,0.279 +0.890,0.153,0.271 +0.887,0.152,0.262 +0.884,0.151,0.253 +0.880,0.149,0.245 +0.877,0.148,0.236 +0.874,0.147,0.227 +0.871,0.146,0.218 +0.867,0.145,0.210 +0.864,0.144,0.201 +0.861,0.143,0.192 +0.857,0.141,0.183 +0.854,0.140,0.174 +0.851,0.139,0.164 +0.847,0.138,0.155 +0.844,0.137,0.145 +0.840,0.136,0.136 +0.837,0.135,0.126 +0.833,0.134,0.115 +0.830,0.133,0.105 +0.826,0.132,0.094 +0.823,0.131,0.082 +0.819,0.130,0.069 +0.816,0.130,0.056 diff --git a/test/CETperceptual_csv_0_1/CET-L20.csv b/test/CETperceptual_csv_0_1/CET-L20.csv new file mode 100644 index 0000000..f3ac600 --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-L20.csv @@ -0,0 +1,256 @@ +0.189,0.189,0.189 +0.193,0.191,0.199 +0.197,0.192,0.209 +0.200,0.193,0.220 +0.204,0.195,0.230 +0.207,0.196,0.240 +0.210,0.197,0.249 +0.213,0.199,0.259 +0.217,0.200,0.269 +0.219,0.201,0.279 +0.222,0.203,0.289 +0.225,0.204,0.299 +0.227,0.206,0.309 +0.230,0.207,0.319 +0.232,0.209,0.329 +0.235,0.210,0.339 +0.237,0.211,0.348 +0.239,0.213,0.358 +0.241,0.214,0.368 +0.243,0.216,0.377 +0.245,0.217,0.387 +0.246,0.219,0.397 +0.248,0.221,0.406 +0.250,0.222,0.416 +0.251,0.224,0.425 +0.252,0.225,0.435 +0.254,0.227,0.444 +0.255,0.229,0.454 +0.256,0.230,0.463 +0.257,0.232,0.472 +0.258,0.234,0.481 +0.259,0.236,0.491 +0.260,0.238,0.500 +0.260,0.239,0.509 +0.261,0.241,0.518 +0.261,0.243,0.527 +0.262,0.245,0.535 +0.262,0.247,0.544 +0.262,0.249,0.553 +0.263,0.251,0.561 +0.263,0.253,0.570 +0.263,0.255,0.578 +0.263,0.258,0.587 +0.263,0.260,0.595 +0.262,0.262,0.603 +0.262,0.264,0.611 +0.262,0.267,0.619 +0.262,0.269,0.627 +0.261,0.272,0.635 +0.261,0.274,0.642 +0.260,0.277,0.650 +0.259,0.279,0.657 +0.259,0.282,0.664 +0.258,0.284,0.671 +0.257,0.287,0.678 +0.256,0.290,0.685 +0.255,0.293,0.692 +0.254,0.296,0.698 +0.253,0.298,0.704 +0.252,0.301,0.711 +0.251,0.304,0.717 +0.250,0.308,0.722 +0.248,0.311,0.728 +0.247,0.314,0.733 +0.246,0.317,0.739 +0.244,0.321,0.744 +0.243,0.324,0.749 +0.241,0.327,0.753 +0.240,0.331,0.757 +0.238,0.335,0.762 +0.236,0.338,0.765 +0.235,0.342,0.769 +0.233,0.346,0.772 +0.231,0.350,0.775 +0.229,0.354,0.778 +0.228,0.358,0.780 +0.226,0.362,0.782 +0.224,0.366,0.784 +0.222,0.370,0.785 +0.220,0.375,0.786 +0.218,0.379,0.787 +0.215,0.384,0.787 +0.213,0.388,0.787 +0.211,0.393,0.786 +0.208,0.398,0.785 +0.206,0.403,0.783 +0.203,0.408,0.780 +0.200,0.413,0.777 +0.197,0.419,0.774 +0.193,0.424,0.769 +0.190,0.430,0.764 +0.186,0.435,0.758 +0.181,0.441,0.751 +0.176,0.447,0.743 +0.170,0.453,0.735 +0.165,0.459,0.726 +0.160,0.465,0.717 +0.155,0.471,0.709 +0.150,0.477,0.700 +0.146,0.482,0.692 +0.143,0.487,0.683 +0.140,0.493,0.675 +0.137,0.498,0.666 +0.135,0.503,0.658 +0.134,0.508,0.650 +0.133,0.513,0.641 +0.133,0.518,0.633 +0.134,0.522,0.625 +0.135,0.527,0.617 +0.137,0.531,0.609 +0.139,0.536,0.600 +0.142,0.540,0.592 +0.146,0.545,0.584 +0.150,0.549,0.577 +0.155,0.553,0.569 +0.160,0.557,0.561 +0.166,0.561,0.553 +0.172,0.565,0.545 +0.178,0.569,0.537 +0.185,0.573,0.530 +0.192,0.577,0.522 +0.199,0.580,0.514 +0.207,0.584,0.507 +0.215,0.587,0.499 +0.223,0.591,0.491 +0.231,0.594,0.484 +0.240,0.598,0.476 +0.248,0.601,0.469 +0.257,0.604,0.461 +0.267,0.608,0.454 +0.276,0.611,0.446 +0.285,0.614,0.439 +0.295,0.617,0.432 +0.305,0.620,0.424 +0.315,0.623,0.417 +0.325,0.625,0.409 +0.335,0.628,0.402 +0.345,0.631,0.395 +0.356,0.633,0.387 +0.367,0.636,0.380 +0.377,0.638,0.372 +0.388,0.641,0.365 +0.399,0.643,0.358 +0.411,0.645,0.350 +0.422,0.648,0.343 +0.433,0.650,0.335 +0.445,0.652,0.328 +0.456,0.654,0.321 +0.467,0.656,0.313 +0.477,0.658,0.306 +0.488,0.660,0.299 +0.498,0.662,0.291 +0.509,0.664,0.284 +0.519,0.666,0.277 +0.529,0.668,0.269 +0.539,0.670,0.262 +0.549,0.672,0.255 +0.559,0.673,0.248 +0.569,0.675,0.240 +0.578,0.677,0.233 +0.588,0.679,0.226 +0.598,0.681,0.218 +0.608,0.682,0.211 +0.617,0.684,0.204 +0.627,0.686,0.197 +0.637,0.687,0.190 +0.646,0.689,0.182 +0.656,0.690,0.175 +0.666,0.692,0.168 +0.675,0.693,0.161 +0.685,0.695,0.154 +0.695,0.696,0.146 +0.704,0.698,0.139 +0.714,0.699,0.132 +0.724,0.700,0.126 +0.734,0.702,0.119 +0.744,0.703,0.112 +0.754,0.704,0.106 +0.764,0.705,0.100 +0.774,0.706,0.094 +0.784,0.707,0.088 +0.795,0.708,0.083 +0.805,0.708,0.079 +0.816,0.709,0.076 +0.826,0.710,0.073 +0.837,0.710,0.071 +0.847,0.711,0.071 +0.858,0.711,0.071 +0.869,0.712,0.072 +0.878,0.713,0.073 +0.887,0.714,0.074 +0.895,0.715,0.075 +0.902,0.717,0.075 +0.909,0.719,0.076 +0.916,0.721,0.077 +0.922,0.723,0.077 +0.927,0.725,0.077 +0.932,0.728,0.078 +0.937,0.730,0.078 +0.942,0.733,0.078 +0.946,0.736,0.078 +0.950,0.739,0.079 +0.954,0.742,0.079 +0.958,0.745,0.079 +0.961,0.748,0.079 +0.965,0.752,0.079 +0.968,0.755,0.079 +0.970,0.759,0.079 +0.973,0.762,0.079 +0.976,0.766,0.078 +0.978,0.770,0.078 +0.980,0.774,0.078 +0.982,0.777,0.078 +0.984,0.781,0.078 +0.986,0.785,0.077 +0.987,0.789,0.077 +0.989,0.793,0.077 +0.990,0.797,0.076 +0.992,0.802,0.076 +0.993,0.806,0.075 +0.994,0.810,0.075 +0.995,0.814,0.074 +0.996,0.819,0.074 +0.996,0.823,0.073 +0.997,0.827,0.073 +0.998,0.832,0.072 +0.998,0.836,0.072 +0.998,0.841,0.071 +0.999,0.845,0.070 +0.999,0.850,0.070 +0.999,0.854,0.069 +0.999,0.859,0.068 +0.999,0.864,0.067 +0.999,0.868,0.066 +0.998,0.873,0.066 +0.998,0.878,0.065 +0.998,0.882,0.064 +0.997,0.887,0.063 +0.997,0.892,0.062 +0.996,0.897,0.061 +0.995,0.901,0.060 +0.994,0.906,0.059 +0.993,0.911,0.057 +0.993,0.916,0.056 +0.991,0.921,0.055 +0.990,0.926,0.054 +0.989,0.930,0.053 +0.988,0.935,0.051 +0.987,0.940,0.050 +0.985,0.945,0.049 +0.984,0.950,0.047 +0.982,0.955,0.045 +0.981,0.960,0.044 +0.979,0.965,0.042 +0.977,0.970,0.041 +0.975,0.975,0.039 diff --git a/test/CETperceptual_csv_0_1/CET-R1.csv b/test/CETperceptual_csv_0_1/CET-R1.csv new file mode 100644 index 0000000..d05c41d --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-R1.csv @@ -0,0 +1,256 @@ +0.000,0.187,0.963 +0.000,0.202,0.949 +0.000,0.217,0.935 +0.000,0.231,0.921 +0.011,0.244,0.908 +0.036,0.257,0.894 +0.056,0.269,0.880 +0.069,0.281,0.867 +0.079,0.292,0.853 +0.087,0.302,0.840 +0.092,0.313,0.826 +0.096,0.323,0.813 +0.098,0.333,0.799 +0.100,0.342,0.786 +0.100,0.352,0.772 +0.099,0.361,0.759 +0.098,0.370,0.745 +0.097,0.378,0.732 +0.095,0.386,0.719 +0.093,0.395,0.706 +0.092,0.402,0.693 +0.092,0.410,0.680 +0.092,0.417,0.667 +0.093,0.425,0.654 +0.095,0.432,0.641 +0.099,0.438,0.629 +0.104,0.445,0.616 +0.110,0.451,0.604 +0.117,0.457,0.592 +0.125,0.463,0.580 +0.134,0.469,0.568 +0.142,0.474,0.556 +0.151,0.480,0.544 +0.160,0.485,0.532 +0.169,0.491,0.520 +0.177,0.496,0.509 +0.185,0.501,0.497 +0.193,0.506,0.485 +0.200,0.511,0.473 +0.206,0.516,0.462 +0.213,0.522,0.450 +0.218,0.527,0.438 +0.223,0.532,0.426 +0.228,0.537,0.414 +0.232,0.542,0.402 +0.236,0.547,0.390 +0.239,0.552,0.378 +0.242,0.557,0.365 +0.245,0.562,0.353 +0.247,0.567,0.340 +0.249,0.573,0.327 +0.250,0.578,0.314 +0.252,0.583,0.301 +0.253,0.588,0.288 +0.254,0.593,0.275 +0.255,0.598,0.262 +0.256,0.603,0.248 +0.257,0.608,0.235 +0.258,0.613,0.221 +0.260,0.618,0.208 +0.263,0.623,0.195 +0.266,0.627,0.182 +0.270,0.632,0.169 +0.274,0.636,0.156 +0.280,0.641,0.144 +0.286,0.645,0.133 +0.293,0.649,0.122 +0.302,0.653,0.112 +0.311,0.657,0.102 +0.320,0.660,0.094 +0.331,0.664,0.086 +0.341,0.667,0.080 +0.353,0.671,0.075 +0.364,0.674,0.070 +0.376,0.677,0.067 +0.388,0.680,0.065 +0.400,0.683,0.064 +0.412,0.686,0.064 +0.425,0.689,0.064 +0.437,0.692,0.064 +0.449,0.695,0.065 +0.461,0.698,0.067 +0.473,0.701,0.068 +0.485,0.703,0.070 +0.496,0.706,0.071 +0.508,0.709,0.073 +0.520,0.712,0.075 +0.531,0.715,0.077 +0.542,0.717,0.078 +0.554,0.720,0.080 +0.565,0.723,0.082 +0.576,0.725,0.084 +0.587,0.728,0.086 +0.598,0.731,0.087 +0.609,0.733,0.089 +0.620,0.736,0.091 +0.631,0.739,0.093 +0.642,0.741,0.095 +0.653,0.744,0.096 +0.664,0.746,0.098 +0.674,0.749,0.100 +0.685,0.751,0.102 +0.696,0.754,0.103 +0.707,0.757,0.105 +0.717,0.759,0.107 +0.728,0.762,0.109 +0.738,0.764,0.111 +0.749,0.766,0.112 +0.759,0.769,0.114 +0.770,0.771,0.116 +0.780,0.774,0.118 +0.791,0.776,0.120 +0.801,0.778,0.121 +0.812,0.781,0.123 +0.822,0.783,0.125 +0.832,0.785,0.127 +0.843,0.787,0.128 +0.853,0.789,0.130 +0.863,0.791,0.132 +0.873,0.793,0.133 +0.882,0.794,0.135 +0.892,0.795,0.136 +0.901,0.796,0.137 +0.910,0.797,0.139 +0.918,0.797,0.140 +0.926,0.797,0.141 +0.933,0.796,0.142 +0.940,0.795,0.142 +0.946,0.793,0.143 +0.952,0.791,0.143 +0.957,0.789,0.143 +0.962,0.786,0.143 +0.966,0.782,0.143 +0.969,0.779,0.142 +0.972,0.774,0.142 +0.974,0.770,0.141 +0.976,0.765,0.140 +0.977,0.760,0.139 +0.978,0.754,0.138 +0.979,0.749,0.137 +0.979,0.743,0.136 +0.980,0.737,0.135 +0.980,0.732,0.133 +0.980,0.726,0.132 +0.979,0.720,0.131 +0.979,0.714,0.130 +0.979,0.707,0.128 +0.979,0.701,0.127 +0.978,0.695,0.126 +0.978,0.689,0.124 +0.977,0.683,0.123 +0.977,0.677,0.122 +0.976,0.670,0.121 +0.976,0.664,0.119 +0.975,0.658,0.118 +0.975,0.652,0.117 +0.974,0.645,0.116 +0.974,0.639,0.114 +0.973,0.633,0.113 +0.973,0.627,0.112 +0.972,0.620,0.111 +0.971,0.614,0.110 +0.971,0.608,0.108 +0.970,0.601,0.107 +0.969,0.595,0.106 +0.969,0.588,0.105 +0.968,0.582,0.104 +0.967,0.575,0.103 +0.966,0.569,0.102 +0.966,0.563,0.100 +0.965,0.556,0.099 +0.964,0.549,0.098 +0.963,0.543,0.097 +0.962,0.536,0.096 +0.961,0.530,0.095 +0.961,0.523,0.094 +0.960,0.516,0.093 +0.959,0.510,0.092 +0.958,0.503,0.091 +0.957,0.496,0.090 +0.956,0.489,0.089 +0.955,0.482,0.088 +0.954,0.476,0.087 +0.953,0.469,0.086 +0.952,0.462,0.085 +0.951,0.455,0.084 +0.950,0.448,0.083 +0.949,0.440,0.083 +0.948,0.433,0.082 +0.947,0.426,0.082 +0.946,0.419,0.082 +0.945,0.412,0.082 +0.944,0.405,0.083 +0.943,0.398,0.084 +0.942,0.391,0.086 +0.941,0.384,0.088 +0.941,0.378,0.091 +0.940,0.371,0.095 +0.940,0.365,0.100 +0.940,0.360,0.106 +0.940,0.355,0.113 +0.940,0.350,0.121 +0.941,0.346,0.130 +0.942,0.343,0.139 +0.943,0.340,0.150 +0.944,0.338,0.161 +0.946,0.337,0.173 +0.948,0.337,0.186 +0.950,0.338,0.199 +0.952,0.339,0.213 +0.954,0.341,0.227 +0.957,0.343,0.242 +0.959,0.346,0.257 +0.962,0.350,0.272 +0.965,0.354,0.288 +0.967,0.358,0.304 +0.970,0.362,0.320 +0.973,0.367,0.336 +0.975,0.372,0.352 +0.978,0.377,0.368 +0.980,0.382,0.385 +0.983,0.387,0.401 +0.985,0.392,0.418 +0.987,0.397,0.434 +0.990,0.403,0.451 +0.992,0.408,0.467 +0.993,0.413,0.484 +0.995,0.418,0.500 +0.997,0.424,0.517 +0.999,0.429,0.533 +1.000,0.434,0.550 +1.000,0.440,0.567 +1.000,0.445,0.583 +1.000,0.451,0.600 +1.000,0.456,0.617 +1.000,0.461,0.634 +1.000,0.467,0.651 +1.000,0.472,0.668 +1.000,0.478,0.685 +1.000,0.483,0.702 +1.000,0.488,0.719 +1.000,0.494,0.736 +1.000,0.499,0.753 +1.000,0.505,0.770 +1.000,0.510,0.787 +1.000,0.516,0.805 +1.000,0.521,0.822 +1.000,0.527,0.840 +1.000,0.532,0.857 +1.000,0.538,0.874 +1.000,0.544,0.892 +1.000,0.549,0.910 +0.998,0.555,0.927 +0.997,0.560,0.945 +0.995,0.566,0.963 +0.992,0.572,0.980 diff --git a/test/CETperceptual_csv_0_1/CET-R2.csv b/test/CETperceptual_csv_0_1/CET-R2.csv new file mode 100644 index 0000000..bc36cd8 --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-R2.csv @@ -0,0 +1,256 @@ +0.000,0.204,0.963 +0.000,0.215,0.951 +0.000,0.226,0.940 +0.000,0.237,0.929 +0.000,0.247,0.918 +0.000,0.256,0.907 +0.000,0.266,0.896 +0.000,0.275,0.885 +0.000,0.283,0.874 +0.000,0.292,0.863 +0.000,0.300,0.852 +0.000,0.309,0.841 +0.000,0.317,0.830 +0.000,0.325,0.819 +0.000,0.332,0.808 +0.000,0.340,0.797 +0.000,0.347,0.786 +0.000,0.355,0.775 +0.000,0.362,0.765 +0.000,0.369,0.754 +0.000,0.376,0.743 +0.000,0.383,0.732 +0.000,0.390,0.721 +0.000,0.396,0.710 +0.000,0.403,0.699 +0.000,0.409,0.689 +0.000,0.416,0.678 +0.000,0.422,0.667 +0.000,0.428,0.657 +0.000,0.433,0.646 +0.000,0.439,0.636 +0.000,0.444,0.626 +0.000,0.449,0.616 +0.000,0.454,0.606 +0.000,0.459,0.596 +0.004,0.464,0.586 +0.030,0.468,0.577 +0.056,0.472,0.567 +0.077,0.477,0.558 +0.095,0.481,0.548 +0.111,0.485,0.539 +0.125,0.489,0.530 +0.138,0.493,0.520 +0.149,0.497,0.511 +0.160,0.501,0.502 +0.169,0.505,0.492 +0.177,0.508,0.483 +0.185,0.512,0.474 +0.192,0.516,0.464 +0.199,0.520,0.455 +0.204,0.524,0.445 +0.210,0.529,0.436 +0.215,0.533,0.426 +0.219,0.537,0.417 +0.223,0.541,0.407 +0.227,0.545,0.397 +0.230,0.549,0.387 +0.233,0.553,0.377 +0.236,0.557,0.367 +0.238,0.561,0.357 +0.240,0.565,0.347 +0.242,0.569,0.336 +0.243,0.574,0.326 +0.245,0.578,0.315 +0.246,0.582,0.304 +0.246,0.586,0.293 +0.247,0.590,0.282 +0.247,0.594,0.271 +0.247,0.599,0.259 +0.247,0.603,0.247 +0.247,0.607,0.235 +0.246,0.611,0.222 +0.246,0.615,0.209 +0.246,0.619,0.196 +0.246,0.623,0.183 +0.246,0.627,0.170 +0.247,0.631,0.156 +0.249,0.635,0.143 +0.252,0.639,0.130 +0.256,0.642,0.117 +0.261,0.646,0.106 +0.267,0.649,0.095 +0.274,0.652,0.085 +0.282,0.655,0.076 +0.291,0.658,0.070 +0.300,0.661,0.065 +0.311,0.664,0.061 +0.321,0.666,0.059 +0.332,0.669,0.058 +0.343,0.671,0.058 +0.354,0.674,0.058 +0.364,0.676,0.060 +0.375,0.679,0.061 +0.386,0.681,0.063 +0.396,0.683,0.065 +0.407,0.686,0.067 +0.417,0.688,0.069 +0.427,0.690,0.071 +0.437,0.693,0.072 +0.447,0.695,0.074 +0.457,0.697,0.076 +0.467,0.700,0.078 +0.476,0.702,0.080 +0.486,0.704,0.082 +0.495,0.706,0.084 +0.505,0.709,0.086 +0.514,0.711,0.088 +0.523,0.713,0.089 +0.533,0.715,0.091 +0.542,0.717,0.093 +0.551,0.720,0.095 +0.560,0.722,0.097 +0.569,0.724,0.098 +0.578,0.726,0.100 +0.587,0.728,0.102 +0.596,0.730,0.104 +0.605,0.733,0.106 +0.614,0.735,0.107 +0.622,0.737,0.109 +0.631,0.739,0.111 +0.640,0.741,0.113 +0.649,0.743,0.115 +0.657,0.745,0.116 +0.666,0.747,0.118 +0.675,0.749,0.120 +0.683,0.751,0.122 +0.692,0.753,0.123 +0.701,0.756,0.125 +0.709,0.758,0.127 +0.718,0.760,0.129 +0.726,0.762,0.130 +0.735,0.764,0.132 +0.743,0.766,0.134 +0.752,0.768,0.136 +0.760,0.770,0.137 +0.769,0.772,0.139 +0.777,0.773,0.141 +0.786,0.775,0.143 +0.794,0.777,0.144 +0.803,0.779,0.146 +0.811,0.781,0.148 +0.819,0.783,0.150 +0.828,0.785,0.151 +0.836,0.787,0.153 +0.845,0.789,0.155 +0.853,0.791,0.157 +0.861,0.793,0.158 +0.870,0.794,0.160 +0.878,0.796,0.162 +0.886,0.798,0.163 +0.895,0.800,0.165 +0.903,0.801,0.167 +0.911,0.802,0.168 +0.919,0.804,0.170 +0.927,0.805,0.171 +0.935,0.805,0.172 +0.942,0.805,0.173 +0.949,0.805,0.174 +0.955,0.804,0.174 +0.961,0.803,0.174 +0.966,0.801,0.174 +0.971,0.798,0.173 +0.975,0.795,0.172 +0.978,0.792,0.171 +0.981,0.788,0.170 +0.983,0.784,0.168 +0.985,0.779,0.167 +0.987,0.775,0.165 +0.988,0.770,0.163 +0.989,0.764,0.161 +0.990,0.759,0.158 +0.991,0.754,0.156 +0.991,0.749,0.154 +0.992,0.744,0.152 +0.993,0.738,0.150 +0.993,0.733,0.148 +0.994,0.728,0.145 +0.995,0.722,0.143 +0.995,0.717,0.141 +0.996,0.712,0.139 +0.996,0.706,0.137 +0.997,0.701,0.134 +0.997,0.695,0.132 +0.998,0.690,0.130 +0.998,0.684,0.128 +0.998,0.679,0.126 +0.999,0.674,0.123 +0.999,0.668,0.121 +1.000,0.663,0.119 +1.000,0.657,0.117 +1.000,0.652,0.115 +1.000,0.646,0.112 +1.000,0.641,0.110 +1.000,0.635,0.108 +1.000,0.629,0.106 +1.000,0.624,0.104 +1.000,0.618,0.101 +1.000,0.613,0.099 +1.000,0.607,0.097 +1.000,0.601,0.095 +1.000,0.596,0.092 +1.000,0.590,0.090 +1.000,0.584,0.088 +1.000,0.578,0.086 +1.000,0.573,0.084 +1.000,0.567,0.081 +1.000,0.561,0.079 +1.000,0.555,0.077 +1.000,0.549,0.075 +1.000,0.543,0.072 +1.000,0.537,0.070 +1.000,0.531,0.068 +1.000,0.525,0.065 +1.000,0.519,0.063 +1.000,0.513,0.061 +1.000,0.507,0.059 +1.000,0.501,0.056 +1.000,0.495,0.054 +1.000,0.489,0.051 +1.000,0.482,0.049 +1.000,0.476,0.047 +1.000,0.470,0.044 +1.000,0.463,0.042 +1.000,0.457,0.040 +1.000,0.450,0.037 +1.000,0.444,0.035 +1.000,0.437,0.032 +1.000,0.430,0.030 +1.000,0.424,0.028 +1.000,0.417,0.026 +1.000,0.410,0.024 +1.000,0.403,0.022 +1.000,0.396,0.020 +1.000,0.389,0.019 +1.000,0.382,0.017 +1.000,0.374,0.015 +0.999,0.367,0.013 +0.999,0.359,0.012 +0.999,0.352,0.010 +0.998,0.344,0.009 +0.998,0.336,0.007 +0.997,0.328,0.006 +0.997,0.320,0.005 +0.997,0.311,0.004 +0.996,0.303,0.002 +0.996,0.294,0.001 +0.995,0.285,0.000 +0.995,0.276,0.000 +0.994,0.266,0.000 +0.994,0.257,0.000 +0.993,0.247,0.000 +0.993,0.236,0.000 +0.992,0.225,0.000 +0.992,0.214,0.000 +0.991,0.202,0.000 +0.990,0.189,0.000 diff --git a/test/CETperceptual_csv_0_1/CET-R3.csv b/test/CETperceptual_csv_0_1/CET-R3.csv new file mode 100644 index 0000000..e45d573 --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-R3.csv @@ -0,0 +1,256 @@ +0.032,0.362,0.973 +0.058,0.371,0.958 +0.076,0.380,0.943 +0.089,0.389,0.928 +0.098,0.397,0.914 +0.105,0.406,0.899 +0.110,0.414,0.884 +0.114,0.422,0.869 +0.116,0.430,0.854 +0.116,0.438,0.839 +0.115,0.445,0.824 +0.113,0.453,0.809 +0.109,0.461,0.794 +0.105,0.468,0.780 +0.099,0.475,0.765 +0.093,0.482,0.750 +0.086,0.489,0.735 +0.080,0.496,0.720 +0.075,0.503,0.705 +0.071,0.509,0.689 +0.071,0.515,0.674 +0.074,0.521,0.658 +0.080,0.527,0.643 +0.089,0.532,0.627 +0.100,0.538,0.611 +0.113,0.543,0.594 +0.126,0.548,0.578 +0.139,0.553,0.561 +0.152,0.557,0.544 +0.164,0.562,0.527 +0.175,0.566,0.510 +0.185,0.571,0.493 +0.194,0.575,0.475 +0.202,0.580,0.458 +0.209,0.584,0.440 +0.215,0.589,0.422 +0.220,0.593,0.404 +0.224,0.598,0.386 +0.227,0.602,0.368 +0.230,0.607,0.349 +0.232,0.611,0.331 +0.233,0.616,0.312 +0.234,0.620,0.294 +0.236,0.624,0.276 +0.237,0.629,0.258 +0.239,0.633,0.240 +0.241,0.637,0.223 +0.244,0.641,0.207 +0.249,0.644,0.193 +0.254,0.648,0.179 +0.261,0.651,0.167 +0.268,0.655,0.156 +0.277,0.658,0.147 +0.286,0.661,0.140 +0.297,0.663,0.134 +0.307,0.666,0.130 +0.318,0.669,0.126 +0.329,0.671,0.124 +0.340,0.674,0.122 +0.351,0.676,0.120 +0.362,0.678,0.119 +0.373,0.681,0.118 +0.384,0.683,0.117 +0.394,0.686,0.116 +0.405,0.688,0.116 +0.415,0.690,0.115 +0.425,0.693,0.114 +0.435,0.695,0.113 +0.445,0.697,0.113 +0.455,0.699,0.112 +0.465,0.702,0.111 +0.474,0.704,0.110 +0.484,0.706,0.110 +0.493,0.709,0.109 +0.503,0.711,0.108 +0.512,0.713,0.107 +0.521,0.715,0.106 +0.531,0.718,0.105 +0.540,0.720,0.104 +0.549,0.722,0.103 +0.558,0.724,0.103 +0.567,0.726,0.102 +0.576,0.729,0.101 +0.585,0.731,0.100 +0.594,0.733,0.099 +0.603,0.735,0.098 +0.611,0.737,0.097 +0.620,0.739,0.096 +0.629,0.742,0.095 +0.638,0.744,0.094 +0.646,0.746,0.092 +0.655,0.748,0.091 +0.663,0.750,0.090 +0.672,0.752,0.089 +0.681,0.754,0.088 +0.689,0.756,0.087 +0.698,0.758,0.085 +0.706,0.760,0.084 +0.715,0.762,0.083 +0.723,0.765,0.082 +0.732,0.767,0.080 +0.740,0.769,0.079 +0.748,0.771,0.078 +0.757,0.773,0.076 +0.765,0.775,0.075 +0.774,0.777,0.073 +0.782,0.779,0.072 +0.790,0.781,0.070 +0.799,0.783,0.069 +0.807,0.785,0.067 +0.815,0.786,0.065 +0.824,0.788,0.064 +0.832,0.790,0.062 +0.840,0.792,0.060 +0.849,0.794,0.058 +0.857,0.796,0.057 +0.865,0.798,0.055 +0.874,0.800,0.054 +0.882,0.801,0.054 +0.890,0.803,0.054 +0.898,0.804,0.056 +0.907,0.805,0.058 +0.915,0.806,0.063 +0.923,0.806,0.069 +0.930,0.806,0.077 +0.938,0.806,0.087 +0.945,0.805,0.098 +0.951,0.803,0.110 +0.957,0.801,0.123 +0.963,0.798,0.136 +0.968,0.794,0.149 +0.972,0.790,0.162 +0.975,0.786,0.175 +0.978,0.781,0.188 +0.980,0.776,0.200 +0.982,0.771,0.212 +0.984,0.765,0.224 +0.985,0.760,0.235 +0.986,0.754,0.245 +0.987,0.749,0.255 +0.988,0.743,0.265 +0.989,0.738,0.275 +0.990,0.732,0.284 +0.991,0.726,0.293 +0.991,0.720,0.302 +0.992,0.715,0.310 +0.993,0.709,0.319 +0.993,0.703,0.327 +0.994,0.697,0.335 +0.994,0.692,0.343 +0.995,0.686,0.351 +0.995,0.680,0.358 +0.996,0.674,0.366 +0.996,0.668,0.373 +0.996,0.663,0.380 +0.997,0.657,0.387 +0.997,0.651,0.394 +0.997,0.645,0.401 +0.998,0.639,0.408 +0.998,0.633,0.415 +0.998,0.627,0.422 +0.998,0.621,0.428 +0.998,0.615,0.435 +0.998,0.609,0.441 +0.999,0.603,0.448 +0.999,0.596,0.454 +0.999,0.590,0.461 +0.999,0.584,0.467 +0.999,0.578,0.473 +0.998,0.572,0.479 +0.998,0.565,0.486 +0.998,0.559,0.492 +0.998,0.553,0.498 +0.998,0.546,0.504 +0.998,0.540,0.510 +0.997,0.533,0.516 +0.997,0.527,0.522 +0.997,0.520,0.528 +0.997,0.514,0.533 +0.996,0.507,0.539 +0.996,0.500,0.545 +0.995,0.494,0.551 +0.995,0.487,0.557 +0.995,0.480,0.562 +0.994,0.473,0.568 +0.993,0.466,0.574 +0.993,0.459,0.579 +0.992,0.452,0.585 +0.992,0.445,0.591 +0.991,0.437,0.596 +0.990,0.430,0.602 +0.990,0.423,0.608 +0.989,0.415,0.613 +0.988,0.407,0.619 +0.987,0.400,0.624 +0.986,0.392,0.629 +0.986,0.384,0.635 +0.985,0.376,0.640 +0.984,0.368,0.644 +0.983,0.360,0.649 +0.982,0.352,0.653 +0.981,0.344,0.656 +0.980,0.336,0.658 +0.979,0.328,0.660 +0.978,0.320,0.660 +0.976,0.312,0.659 +0.975,0.305,0.656 +0.974,0.298,0.652 +0.973,0.291,0.646 +0.972,0.285,0.639 +0.970,0.279,0.631 +0.969,0.273,0.621 +0.968,0.268,0.610 +0.966,0.262,0.599 +0.965,0.257,0.587 +0.963,0.252,0.574 +0.961,0.248,0.562 +0.959,0.243,0.548 +0.958,0.238,0.535 +0.956,0.233,0.522 +0.954,0.229,0.509 +0.951,0.224,0.495 +0.949,0.219,0.482 +0.947,0.215,0.469 +0.945,0.210,0.456 +0.942,0.205,0.442 +0.940,0.200,0.429 +0.937,0.196,0.416 +0.935,0.191,0.403 +0.932,0.186,0.390 +0.929,0.181,0.377 +0.926,0.176,0.364 +0.923,0.171,0.351 +0.921,0.166,0.338 +0.918,0.161,0.325 +0.915,0.156,0.311 +0.911,0.151,0.298 +0.908,0.146,0.285 +0.905,0.140,0.272 +0.902,0.135,0.259 +0.898,0.129,0.246 +0.895,0.124,0.233 +0.892,0.118,0.220 +0.888,0.112,0.206 +0.885,0.106,0.193 +0.881,0.100,0.179 +0.877,0.094,0.165 +0.874,0.087,0.151 +0.870,0.080,0.136 +0.866,0.073,0.121 +0.862,0.065,0.105 +0.859,0.057,0.088 +0.855,0.048,0.070 +0.851,0.038,0.049 +0.847,0.028,0.024 +0.843,0.018,0.002 diff --git a/test/CETperceptual_csv_0_1/CET-R4.csv b/test/CETperceptual_csv_0_1/CET-R4.csv new file mode 100644 index 0000000..f6ecfd4 --- /dev/null +++ b/test/CETperceptual_csv_0_1/CET-R4.csv @@ -0,0 +1,256 @@ +0.015,0.002,0.425 +0.015,0.002,0.437 +0.016,0.002,0.448 +0.016,0.002,0.460 +0.016,0.002,0.472 +0.017,0.002,0.483 +0.017,0.001,0.495 +0.017,0.001,0.507 +0.017,0.001,0.519 +0.018,0.001,0.531 +0.018,0.001,0.543 +0.018,0.001,0.555 +0.018,0.001,0.567 +0.019,0.001,0.579 +0.019,0.002,0.590 +0.020,0.002,0.602 +0.020,0.003,0.614 +0.021,0.005,0.625 +0.021,0.007,0.636 +0.022,0.010,0.647 +0.023,0.013,0.657 +0.024,0.017,0.667 +0.025,0.023,0.676 +0.027,0.029,0.685 +0.028,0.036,0.694 +0.030,0.044,0.703 +0.032,0.051,0.711 +0.034,0.059,0.719 +0.036,0.067,0.727 +0.038,0.074,0.735 +0.040,0.081,0.742 +0.042,0.088,0.750 +0.044,0.095,0.757 +0.045,0.102,0.765 +0.047,0.108,0.773 +0.049,0.115,0.780 +0.050,0.121,0.788 +0.052,0.127,0.795 +0.053,0.133,0.803 +0.055,0.139,0.810 +0.056,0.146,0.818 +0.057,0.151,0.825 +0.059,0.157,0.833 +0.060,0.163,0.841 +0.061,0.169,0.848 +0.062,0.174,0.856 +0.063,0.180,0.863 +0.064,0.186,0.871 +0.065,0.191,0.879 +0.066,0.197,0.886 +0.067,0.203,0.894 +0.068,0.208,0.901 +0.069,0.214,0.909 +0.071,0.220,0.916 +0.072,0.226,0.922 +0.074,0.232,0.928 +0.077,0.239,0.933 +0.080,0.246,0.937 +0.084,0.254,0.940 +0.089,0.262,0.941 +0.094,0.271,0.941 +0.099,0.280,0.939 +0.104,0.290,0.934 +0.110,0.301,0.928 +0.114,0.312,0.920 +0.119,0.324,0.910 +0.122,0.335,0.898 +0.123,0.347,0.885 +0.124,0.359,0.871 +0.123,0.371,0.856 +0.120,0.383,0.841 +0.115,0.395,0.824 +0.109,0.406,0.808 +0.101,0.418,0.791 +0.091,0.429,0.774 +0.079,0.439,0.756 +0.066,0.450,0.739 +0.051,0.460,0.721 +0.037,0.470,0.703 +0.026,0.479,0.684 +0.021,0.488,0.665 +0.022,0.497,0.646 +0.030,0.506,0.627 +0.045,0.514,0.607 +0.063,0.522,0.586 +0.081,0.529,0.565 +0.099,0.537,0.544 +0.115,0.544,0.522 +0.129,0.551,0.500 +0.142,0.558,0.478 +0.153,0.565,0.455 +0.163,0.572,0.432 +0.171,0.579,0.408 +0.177,0.586,0.385 +0.181,0.593,0.361 +0.184,0.600,0.337 +0.187,0.607,0.313 +0.188,0.613,0.289 +0.189,0.620,0.265 +0.191,0.626,0.242 +0.193,0.633,0.219 +0.195,0.639,0.196 +0.200,0.645,0.174 +0.206,0.651,0.153 +0.214,0.656,0.133 +0.224,0.662,0.115 +0.235,0.667,0.098 +0.248,0.672,0.082 +0.262,0.677,0.069 +0.276,0.681,0.057 +0.291,0.686,0.047 +0.306,0.690,0.039 +0.321,0.694,0.033 +0.337,0.699,0.029 +0.351,0.703,0.027 +0.366,0.707,0.025 +0.381,0.711,0.024 +0.395,0.715,0.023 +0.409,0.719,0.023 +0.423,0.724,0.022 +0.437,0.728,0.021 +0.450,0.732,0.021 +0.464,0.736,0.020 +0.477,0.740,0.020 +0.490,0.744,0.020 +0.503,0.748,0.019 +0.515,0.752,0.019 +0.528,0.756,0.018 +0.541,0.760,0.018 +0.553,0.764,0.017 +0.566,0.768,0.017 +0.578,0.772,0.016 +0.590,0.776,0.016 +0.602,0.780,0.015 +0.615,0.784,0.015 +0.627,0.788,0.014 +0.639,0.792,0.014 +0.651,0.795,0.013 +0.663,0.799,0.013 +0.674,0.803,0.012 +0.686,0.807,0.012 +0.698,0.811,0.012 +0.710,0.815,0.011 +0.722,0.819,0.011 +0.733,0.823,0.010 +0.745,0.826,0.010 +0.757,0.830,0.009 +0.769,0.834,0.009 +0.780,0.838,0.008 +0.792,0.842,0.008 +0.803,0.845,0.008 +0.815,0.849,0.007 +0.827,0.853,0.007 +0.838,0.856,0.007 +0.850,0.860,0.006 +0.861,0.863,0.006 +0.873,0.866,0.006 +0.884,0.869,0.006 +0.895,0.871,0.006 +0.906,0.873,0.007 +0.916,0.874,0.007 +0.926,0.874,0.008 +0.935,0.873,0.010 +0.943,0.872,0.011 +0.950,0.869,0.013 +0.957,0.866,0.015 +0.962,0.862,0.018 +0.967,0.857,0.020 +0.971,0.851,0.023 +0.974,0.845,0.026 +0.977,0.838,0.029 +0.979,0.831,0.032 +0.980,0.824,0.035 +0.981,0.816,0.038 +0.982,0.809,0.041 +0.983,0.801,0.044 +0.984,0.793,0.047 +0.984,0.785,0.049 +0.985,0.777,0.052 +0.985,0.769,0.054 +0.985,0.761,0.056 +0.986,0.753,0.058 +0.986,0.745,0.060 +0.986,0.737,0.062 +0.986,0.729,0.064 +0.987,0.721,0.066 +0.987,0.713,0.068 +0.987,0.705,0.069 +0.987,0.697,0.071 +0.987,0.689,0.073 +0.987,0.681,0.074 +0.987,0.673,0.075 +0.987,0.664,0.077 +0.987,0.656,0.078 +0.987,0.648,0.079 +0.987,0.640,0.081 +0.987,0.631,0.082 +0.987,0.623,0.083 +0.987,0.614,0.083 +0.987,0.606,0.084 +0.987,0.597,0.084 +0.987,0.588,0.085 +0.987,0.580,0.085 +0.987,0.571,0.084 +0.987,0.561,0.084 +0.988,0.552,0.083 +0.988,0.543,0.082 +0.989,0.533,0.081 +0.990,0.524,0.080 +0.990,0.514,0.079 +0.991,0.504,0.077 +0.992,0.494,0.076 +0.992,0.483,0.074 +0.993,0.473,0.073 +0.994,0.462,0.071 +0.994,0.452,0.070 +0.995,0.441,0.068 +0.995,0.430,0.067 +0.996,0.418,0.065 +0.996,0.407,0.064 +0.997,0.395,0.063 +0.997,0.383,0.061 +0.997,0.371,0.060 +0.998,0.358,0.059 +0.998,0.345,0.058 +0.998,0.332,0.057 +0.998,0.319,0.056 +0.998,0.305,0.055 +0.997,0.291,0.054 +0.996,0.277,0.053 +0.995,0.262,0.053 +0.993,0.248,0.052 +0.991,0.234,0.052 +0.989,0.221,0.051 +0.985,0.207,0.051 +0.981,0.195,0.051 +0.977,0.183,0.051 +0.972,0.172,0.051 +0.966,0.161,0.051 +0.960,0.152,0.051 +0.953,0.143,0.051 +0.947,0.135,0.051 +0.939,0.127,0.051 +0.932,0.120,0.051 +0.925,0.113,0.051 +0.917,0.106,0.052 +0.910,0.099,0.052 +0.902,0.092,0.052 +0.895,0.085,0.052 +0.887,0.077,0.052 +0.880,0.069,0.052 +0.872,0.061,0.052 +0.864,0.052,0.052 +0.857,0.042,0.052 +0.849,0.031,0.052 +0.842,0.020,0.052 From 7d6107d9cccd579ca964acb88425e700194cc97d Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Wed, 5 Jan 2022 18:26:28 -0500 Subject: [PATCH 33/88] fluid waveform spectrogram tests --- ...luidWaveform spectrogram scratch paper.scd | 70 ++++--------------- 1 file changed, 14 insertions(+), 56 deletions(-) diff --git a/test/FluidWaveform spectrogram scratch paper.scd b/test/FluidWaveform spectrogram scratch paper.scd index 1d86849..bbed7bc 100644 --- a/test/FluidWaveform spectrogram scratch paper.scd +++ b/test/FluidWaveform spectrogram scratch paper.scd @@ -2,84 +2,42 @@ ( s.waitForBoot{ - b = Buffer.read(s,FluidFilesPath("Tremblay-AaS-AcousticStrums-M.wav")); + // b = Buffer.read(s,FluidFilesPath("Tremblay-AaS-AcousticStrums-M.wav")); + b = Buffer.read(s,FluidFilesPath("Nicol-LoopE-M.wav")); m = Buffer(s); - ~csv_colors = CSVFileReader.readInterpret("/Users/macprocomputer/Desktop/_flucoma/CETperceptual_csv_0_1/CET-L08.csv"); - - // ~csv_colors.shape.postln; - // ~csv_colors[0].postln; + // https://colorcet.com/ + ~csv_colors = CSVFileReader.readInterpret(PathName(thisProcess.nowExecutingPath).pathOnly+/+"CETperceptual_csv_0_1/CET-L16.csv"); ~colors = ~csv_colors.collect{ arg row; Color.fromArray(row); }; - // ~colors[0].postln; - s.sync; FluidBufSTFT.processBlocking(s,b,magnitude:m); s.sync; - w = Window("spectrogram test",Rect(0,0,1600,900)); - w.background_(Color.white); m.loadToFloatArray(action:{ arg mags; - // var maxItem; - // var minItem; - - mags = mags / mags.maxItem; - mags = mags.log10 * 20; + mags.clump(m.numChannels)[105].plot; - "one thing: %".format(mags[100]).postln; + mags = (mags / mags.maxItem).ampdb.linlin(-120.0,0.0,0,255).asInteger; - mags = mags.clump(m.numChannels); - - mags = mags.collect{ - arg frame; - frame.resamp1(w.bounds.height); + [0,1,2].do{ + arg amt; + "# of %s in mags: %".format(amt,mags.count({arg val; val == amt})).postln; }; - mags = mags.flop.collect{ - arg row; - row.resamp1(w.bounds.width); - }.flop; - - mags.shape.postln; - - //maxItem = mags.collect(_.maxItem).maxItem; - // minItem = mags.collect(_.minItem).minItem; - - // maxItem.postln; - - mags = mags.collect{ - arg frame; - frame.collect{ - arg mag; - mag.linlin(-120.0,0.0,0.0,255.0).asInteger; - }; - }; - - 100.do{ - // mags[rrand(0,mags.size-1)].choose.postln; - }; + ~img = Image(m.numFrames,m.numChannels); - ~uv = UserView(w,w.bounds) - .drawFunc_{ - mags.do{ - arg frame, x; - frame.do{ - arg mag, y; - // mag.postln; - Pen.addRect(Rect(x,w.bounds.height - y,1,1)); - Pen.fillColor_(~colors[mag]); - Pen.fill; - } - } + mags.do{ + arg mag, index; + ~img.setColor(~colors[mag], index.div(m.numChannels), m.numChannels - 1 - index.mod(m.numChannels)); }; - w.front; + ~img.plot; }); }; ) \ No newline at end of file From 59009d9a5b6d9c829d70a4aa5453dd428a5a6f40 Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Wed, 5 Jan 2022 18:46:44 -0500 Subject: [PATCH 34/88] spectrogram flag is working -- there are some color considerations to make --- release-packaging/Classes/FluidWaveform.sc | 66 +++++++++++++++---- ...luidWaveform spectrogram scratch paper.scd | 21 ++++-- test/FluidWaveform_test.scd | 2 +- 3 files changed, 68 insertions(+), 21 deletions(-) diff --git a/release-packaging/Classes/FluidWaveform.sc b/release-packaging/Classes/FluidWaveform.sc index cc3e0df..d9833a7 100644 --- a/release-packaging/Classes/FluidWaveform.sc +++ b/release-packaging/Classes/FluidWaveform.sc @@ -16,12 +16,12 @@ FluidWaveform : FluidViewer { var Date: Thu, 6 Jan 2022 13:45:30 -0500 Subject: [PATCH 35/88] spectrogram alpha available --- release-packaging/Classes/FluidWaveform.sc | 47 +++++++++++++++------- 1 file changed, 32 insertions(+), 15 deletions(-) diff --git a/release-packaging/Classes/FluidWaveform.sc b/release-packaging/Classes/FluidWaveform.sc index d9833a7..11e0aad 100644 --- a/release-packaging/Classes/FluidWaveform.sc +++ b/release-packaging/Classes/FluidWaveform.sc @@ -16,16 +16,16 @@ FluidWaveform : FluidViewer { var Date: Thu, 6 Jan 2022 14:00:34 -0500 Subject: [PATCH 36/88] read from color-schemes folder --- release-packaging/Classes/FluidWaveform.sc | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/release-packaging/Classes/FluidWaveform.sc b/release-packaging/Classes/FluidWaveform.sc index 11e0aad..0ca27a4 100644 --- a/release-packaging/Classes/FluidWaveform.sc +++ b/release-packaging/Classes/FluidWaveform.sc @@ -47,11 +47,7 @@ FluidWaveform : FluidViewer { }; }, 1,{ - if(File.exists("/Users/macprocomputer/Desktop/_flucoma/code/flucoma-sc/test/CETperceptual_csv_0_1/CET-L16.csv").not,{ - "Sorry, colors file doesn't exist...... where can I put this file so it exists for everyone!!!?!?!?!?!?".warn; - }); - - colors = CSVFileReader.readInterpret("/Users/macprocomputer/Desktop/_flucoma/code/flucoma-sc/test/CETperceptual_csv_0_1/CET-L16.csv").collect{ + colors = CSVFileReader.readInterpret(FluidFilesPath("/color-schemes/CET-L16.csv")).collect{ arg row; Color.fromArray(row); }; From c6aa9abb70cef2a5a3d0fbe0fabfacc454fb3cd3 Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Fri, 7 Jan 2022 18:52:48 -0500 Subject: [PATCH 37/88] normalizeFeaturesIndependently argument, close method --- release-packaging/Classes/FluidWaveform.sc | 27 ++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/release-packaging/Classes/FluidWaveform.sc b/release-packaging/Classes/FluidWaveform.sc index 0ca27a4..d16b1bb 100644 --- a/release-packaging/Classes/FluidWaveform.sc +++ b/release-packaging/Classes/FluidWaveform.sc @@ -2,6 +2,7 @@ FluidViewer { var categoryColors; createCatColors { + // colors from: https://github.com/d3/d3-scale-chromatic/blob/main/src/categorical/category10.js categoryColors = "1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf".clump(6).collect{ arg six; Color(*six.clump(2).collect{ @@ -16,12 +17,16 @@ FluidWaveform : FluidViewer { var Date: Mon, 10 Jan 2022 19:57:47 +0000 Subject: [PATCH 38/88] Nightly Builds and Continuous Integration (#38) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * build macos supercollider to begin with * build on nightlies * compile all 3 * sloppy indentation * remove ninja for configs * try all the builds * fix indentation and dependency * try packaging * make fully installation * fix bigobj whinging in github * move bigobj down * remove huge pdb files * remove pdb files * build linux on ubuntu 18.04 LTS * only build on dev branch and ci/nightlies branch * parallelise zipping and correct the name * use max cores on mac * use windows-ly way of zipping files * package things into non-nested zips * download to here * max -> supercollider 🤦 * use ninja and make release builds on windows * sudo apt * and Prs * clone the dev branch of supercollider * clone with https * delete the old release before making a new one * remove extraneous comment * Revert "move bigobj down" This reverts commit 5cd4a3532d6a629a071b1210e397f21fe416307f. * Revert "fix bigobj whinging in github" This reverts commit cb172b9c7ec2398ad0fbe6bb9456de91bfee990e. * get core not SC * use proper CMAKE variable for CORE * use DFLUID_PATH not DFLUID_CORE * update tags and remove make * use choco to install ninja * use ninja on windows * update incorrect core link * add working directory * use composite action * correctly point to the composite action * specify toolchain for cmake * use v2 of env flucoma action * use an env variable to call CMAKE * use composite action to build release * remove env * use flucoma actions to do building * use sc not scbuild --- .github/workflows/nightly.yaml | 112 +++++++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 .github/workflows/nightly.yaml diff --git a/.github/workflows/nightly.yaml b/.github/workflows/nightly.yaml new file mode 100644 index 0000000..1724cb4 --- /dev/null +++ b/.github/workflows/nightly.yaml @@ -0,0 +1,112 @@ +name: Nightly Releases + +on: + push: + branches: [ dev, ci/nightlies ] + pull_request: + branches: [ dev ] + +jobs: + macbuild: + runs-on: macos-11 + + steps: + - uses: actions/checkout@v2 + + - name: setup environment + uses: flucoma/actions/env@v2 + + - name: build toolkit + uses: flucoma/actions/sc@v2 + + - name: zip release + run: zip -r ../FluCoMa-SC-Mac-nightly.zip FluidCorpusManipulation + working-directory: install + + - uses: actions/upload-artifact@v2 + with: + name: macbuild + path: FluCoMa-SC-Mac-nightly.zip + + winbuild: + runs-on: windows-latest + + steps: + - uses: actions/checkout@v2 + + - name: setup environment + uses: flucoma/actions/env@v2 + + - name: build toolkit + uses: flucoma/actions/sc@v2 + + - name: remove pdb files + run: Remove-Item install -Recurse -Include *.pdb + + - name: zip release + run: Compress-Archive install/FluidCorpusManipulation FluCoMa-SC-Windows-nightly.zip + + - uses: actions/upload-artifact@v2 + with: + name: winbuild + path: FluCoMa-SC-Windows-nightly.zip + + linuxbuild: + runs-on: ubuntu-18.04 + + steps: + - uses: actions/checkout@v2 + + - name: setup environment + uses: flucoma/actions/env@v2 + + - name: build toolkit + uses: flucoma/actions/sc@v2 + + - name: zip release + run: zip -r ../FluCoMa-SC-Linux-nightly.zip FluidCorpusManipulation + working-directory: install + + - uses: actions/upload-artifact@v2 + with: + name: linuxbuild + path: FluCoMa-SC-Linux-nightly.zip + + release: + runs-on: ubuntu-latest + needs: [macbuild, winbuild, linuxbuild] + + steps: + - uses: actions/download-artifact@v2 + with: + name: macbuild + path: . + + - uses: actions/download-artifact@v2 + with: + name: winbuild + path: . + + - uses: actions/download-artifact@v2 + with: + name: linuxbuild + path: . + + - uses: dev-drprasad/delete-tag-and-release@v0.2.0 + with: + delete_release: true # default: false + tag_name: nightly # tag name to delete + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: package and upload + uses: svenstaro/upload-release-action@v2 + with: + release_name: FluCoMa SuperCollider Nightly Build + prerelease: true + body: "This is a nightly build of the FluCoMa SuperCollider package. As such, be warned there may be bugs or other unexpected behaviour. The build hash is ${{ github.sha }}" + repo_token: ${{ secrets.GITHUB_TOKEN }} + file: FluCoMa-SC-*.zip + file_glob: true + tag: nightly + overwrite: true From 84a7265e3a8768a862e8ace4f193a21afc16bbc6 Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Thu, 13 Jan 2022 11:21:52 -0500 Subject: [PATCH 39/88] moved CSVs --- .../Resources/color-schemes/-credits.txt | 4 + .../Resources/color-schemes/CET-C1.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-C1s.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-C2.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-C2s.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-C3.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-C3s.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-C4.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-C4s.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-C5.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-C5s.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-C6.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-C6s.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-C7.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-C7s.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-CBC1.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-CBC2.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-CBD1.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-CBL1.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-CBL2.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-D01.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-D01A.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-D02.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-D03.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-D04.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-D06.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-D07.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-D08.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-D09.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-D10.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-D11.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-D12.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-D13.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-I1.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-I2.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-I3.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-L01.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-L02.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-L03.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-L04.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-L05.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-L06.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-L07.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-L08.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-L09.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-L10.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-L11.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-L12.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-L13.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-L14.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-L15.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-L16.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-L17.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-L18.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-L19.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-L20.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-R1.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-R2.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-R3.csv | 256 ++++++++++++++++++ .../Resources/color-schemes/CET-R4.csv | 256 ++++++++++++++++++ 60 files changed, 15108 insertions(+) create mode 100644 release-packaging/Resources/color-schemes/-credits.txt create mode 100644 release-packaging/Resources/color-schemes/CET-C1.csv create mode 100644 release-packaging/Resources/color-schemes/CET-C1s.csv create mode 100644 release-packaging/Resources/color-schemes/CET-C2.csv create mode 100644 release-packaging/Resources/color-schemes/CET-C2s.csv create mode 100644 release-packaging/Resources/color-schemes/CET-C3.csv create mode 100644 release-packaging/Resources/color-schemes/CET-C3s.csv create mode 100644 release-packaging/Resources/color-schemes/CET-C4.csv create mode 100644 release-packaging/Resources/color-schemes/CET-C4s.csv create mode 100644 release-packaging/Resources/color-schemes/CET-C5.csv create mode 100644 release-packaging/Resources/color-schemes/CET-C5s.csv create mode 100644 release-packaging/Resources/color-schemes/CET-C6.csv create mode 100644 release-packaging/Resources/color-schemes/CET-C6s.csv create mode 100644 release-packaging/Resources/color-schemes/CET-C7.csv create mode 100644 release-packaging/Resources/color-schemes/CET-C7s.csv create mode 100644 release-packaging/Resources/color-schemes/CET-CBC1.csv create mode 100644 release-packaging/Resources/color-schemes/CET-CBC2.csv create mode 100644 release-packaging/Resources/color-schemes/CET-CBD1.csv create mode 100644 release-packaging/Resources/color-schemes/CET-CBL1.csv create mode 100644 release-packaging/Resources/color-schemes/CET-CBL2.csv create mode 100644 release-packaging/Resources/color-schemes/CET-D01.csv create mode 100644 release-packaging/Resources/color-schemes/CET-D01A.csv create mode 100644 release-packaging/Resources/color-schemes/CET-D02.csv create mode 100644 release-packaging/Resources/color-schemes/CET-D03.csv create mode 100644 release-packaging/Resources/color-schemes/CET-D04.csv create mode 100644 release-packaging/Resources/color-schemes/CET-D06.csv create mode 100644 release-packaging/Resources/color-schemes/CET-D07.csv create mode 100644 release-packaging/Resources/color-schemes/CET-D08.csv create mode 100644 release-packaging/Resources/color-schemes/CET-D09.csv create mode 100644 release-packaging/Resources/color-schemes/CET-D10.csv create mode 100644 release-packaging/Resources/color-schemes/CET-D11.csv create mode 100644 release-packaging/Resources/color-schemes/CET-D12.csv create mode 100644 release-packaging/Resources/color-schemes/CET-D13.csv create mode 100644 release-packaging/Resources/color-schemes/CET-I1.csv create mode 100644 release-packaging/Resources/color-schemes/CET-I2.csv create mode 100644 release-packaging/Resources/color-schemes/CET-I3.csv create mode 100644 release-packaging/Resources/color-schemes/CET-L01.csv create mode 100644 release-packaging/Resources/color-schemes/CET-L02.csv create mode 100644 release-packaging/Resources/color-schemes/CET-L03.csv create mode 100644 release-packaging/Resources/color-schemes/CET-L04.csv create mode 100644 release-packaging/Resources/color-schemes/CET-L05.csv create mode 100644 release-packaging/Resources/color-schemes/CET-L06.csv create mode 100644 release-packaging/Resources/color-schemes/CET-L07.csv create mode 100644 release-packaging/Resources/color-schemes/CET-L08.csv create mode 100644 release-packaging/Resources/color-schemes/CET-L09.csv create mode 100644 release-packaging/Resources/color-schemes/CET-L10.csv create mode 100644 release-packaging/Resources/color-schemes/CET-L11.csv create mode 100644 release-packaging/Resources/color-schemes/CET-L12.csv create mode 100644 release-packaging/Resources/color-schemes/CET-L13.csv create mode 100644 release-packaging/Resources/color-schemes/CET-L14.csv create mode 100644 release-packaging/Resources/color-schemes/CET-L15.csv create mode 100644 release-packaging/Resources/color-schemes/CET-L16.csv create mode 100644 release-packaging/Resources/color-schemes/CET-L17.csv create mode 100644 release-packaging/Resources/color-schemes/CET-L18.csv create mode 100644 release-packaging/Resources/color-schemes/CET-L19.csv create mode 100644 release-packaging/Resources/color-schemes/CET-L20.csv create mode 100644 release-packaging/Resources/color-schemes/CET-R1.csv create mode 100644 release-packaging/Resources/color-schemes/CET-R2.csv create mode 100644 release-packaging/Resources/color-schemes/CET-R3.csv create mode 100644 release-packaging/Resources/color-schemes/CET-R4.csv diff --git a/release-packaging/Resources/color-schemes/-credits.txt b/release-packaging/Resources/color-schemes/-credits.txt new file mode 100644 index 0000000..24328fa --- /dev/null +++ b/release-packaging/Resources/color-schemes/-credits.txt @@ -0,0 +1,4 @@ +https://colorcet.com/ + +Kovesi, Peter. "Good colour maps: How to design them." arXiv preprint arXiv:1509.03700 (2015). +https://arxiv.org/abs/1509.03700 diff --git a/release-packaging/Resources/color-schemes/CET-C1.csv b/release-packaging/Resources/color-schemes/CET-C1.csv new file mode 100644 index 0000000..89333d2 --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-C1.csv @@ -0,0 +1,256 @@ +0.976,0.520,0.971 +0.980,0.517,0.963 +0.984,0.514,0.954 +0.987,0.509,0.945 +0.990,0.504,0.934 +0.991,0.499,0.923 +0.992,0.492,0.911 +0.992,0.486,0.899 +0.992,0.478,0.886 +0.992,0.471,0.872 +0.991,0.463,0.858 +0.989,0.455,0.844 +0.988,0.446,0.830 +0.986,0.438,0.815 +0.984,0.429,0.800 +0.981,0.420,0.786 +0.979,0.411,0.771 +0.976,0.402,0.756 +0.973,0.393,0.741 +0.971,0.384,0.726 +0.968,0.375,0.711 +0.964,0.365,0.696 +0.961,0.356,0.682 +0.958,0.347,0.667 +0.954,0.337,0.652 +0.951,0.328,0.637 +0.947,0.318,0.623 +0.943,0.309,0.608 +0.938,0.300,0.593 +0.934,0.291,0.578 +0.929,0.282,0.564 +0.924,0.273,0.549 +0.919,0.264,0.534 +0.914,0.256,0.519 +0.908,0.247,0.504 +0.903,0.239,0.489 +0.897,0.231,0.474 +0.890,0.223,0.459 +0.884,0.215,0.444 +0.877,0.207,0.429 +0.871,0.200,0.414 +0.864,0.193,0.399 +0.857,0.185,0.384 +0.850,0.178,0.369 +0.842,0.171,0.354 +0.835,0.164,0.339 +0.828,0.157,0.324 +0.820,0.150,0.309 +0.812,0.143,0.295 +0.805,0.136,0.280 +0.797,0.129,0.265 +0.790,0.122,0.251 +0.782,0.116,0.236 +0.775,0.110,0.222 +0.767,0.104,0.208 +0.760,0.099,0.194 +0.753,0.095,0.180 +0.747,0.091,0.167 +0.740,0.089,0.154 +0.734,0.088,0.142 +0.729,0.089,0.130 +0.724,0.091,0.118 +0.720,0.095,0.107 +0.716,0.100,0.096 +0.713,0.106,0.086 +0.711,0.113,0.077 +0.710,0.121,0.068 +0.709,0.130,0.060 +0.709,0.139,0.052 +0.710,0.149,0.045 +0.711,0.159,0.039 +0.713,0.169,0.033 +0.715,0.180,0.029 +0.717,0.191,0.025 +0.720,0.201,0.023 +0.723,0.212,0.021 +0.727,0.222,0.019 +0.730,0.233,0.018 +0.734,0.243,0.017 +0.738,0.253,0.017 +0.742,0.263,0.016 +0.746,0.273,0.016 +0.750,0.283,0.016 +0.754,0.293,0.016 +0.758,0.303,0.016 +0.762,0.312,0.017 +0.765,0.322,0.017 +0.769,0.331,0.017 +0.773,0.341,0.018 +0.777,0.350,0.018 +0.780,0.359,0.018 +0.784,0.369,0.018 +0.787,0.378,0.019 +0.791,0.387,0.019 +0.794,0.396,0.019 +0.797,0.406,0.019 +0.800,0.415,0.019 +0.803,0.424,0.019 +0.806,0.433,0.019 +0.809,0.443,0.019 +0.811,0.452,0.019 +0.814,0.461,0.019 +0.816,0.471,0.018 +0.819,0.480,0.018 +0.821,0.489,0.018 +0.823,0.498,0.017 +0.825,0.508,0.017 +0.827,0.517,0.017 +0.829,0.526,0.016 +0.831,0.535,0.016 +0.833,0.544,0.016 +0.834,0.554,0.016 +0.836,0.563,0.016 +0.837,0.572,0.017 +0.839,0.580,0.018 +0.840,0.589,0.020 +0.841,0.598,0.023 +0.841,0.606,0.027 +0.842,0.614,0.032 +0.842,0.622,0.040 +0.841,0.629,0.049 +0.840,0.636,0.059 +0.839,0.643,0.070 +0.836,0.649,0.083 +0.834,0.654,0.096 +0.830,0.658,0.109 +0.825,0.662,0.123 +0.820,0.665,0.138 +0.814,0.667,0.153 +0.807,0.669,0.169 +0.799,0.669,0.184 +0.791,0.669,0.200 +0.782,0.668,0.215 +0.772,0.666,0.231 +0.761,0.664,0.246 +0.750,0.661,0.261 +0.739,0.658,0.276 +0.727,0.655,0.291 +0.714,0.651,0.306 +0.701,0.647,0.320 +0.688,0.642,0.334 +0.675,0.638,0.348 +0.661,0.633,0.361 +0.647,0.628,0.375 +0.632,0.624,0.388 +0.618,0.619,0.401 +0.602,0.614,0.413 +0.587,0.609,0.426 +0.571,0.604,0.438 +0.555,0.599,0.450 +0.539,0.594,0.463 +0.522,0.590,0.475 +0.504,0.585,0.486 +0.486,0.580,0.498 +0.468,0.575,0.510 +0.449,0.570,0.522 +0.430,0.565,0.533 +0.410,0.560,0.545 +0.390,0.555,0.556 +0.369,0.549,0.568 +0.348,0.544,0.579 +0.327,0.538,0.591 +0.306,0.532,0.603 +0.284,0.526,0.614 +0.263,0.519,0.626 +0.242,0.513,0.638 +0.223,0.506,0.649 +0.204,0.498,0.661 +0.186,0.490,0.673 +0.171,0.482,0.685 +0.157,0.473,0.697 +0.146,0.464,0.709 +0.139,0.454,0.722 +0.134,0.445,0.734 +0.132,0.434,0.746 +0.133,0.424,0.759 +0.135,0.413,0.771 +0.139,0.401,0.783 +0.144,0.390,0.796 +0.150,0.378,0.808 +0.156,0.366,0.820 +0.162,0.354,0.833 +0.169,0.342,0.845 +0.175,0.330,0.856 +0.181,0.318,0.868 +0.187,0.306,0.879 +0.194,0.295,0.889 +0.201,0.285,0.900 +0.208,0.275,0.909 +0.216,0.266,0.918 +0.225,0.258,0.927 +0.234,0.251,0.934 +0.244,0.245,0.941 +0.254,0.241,0.948 +0.265,0.239,0.953 +0.277,0.237,0.958 +0.288,0.238,0.962 +0.300,0.239,0.965 +0.311,0.242,0.968 +0.323,0.246,0.970 +0.335,0.251,0.972 +0.346,0.257,0.974 +0.357,0.263,0.975 +0.368,0.270,0.976 +0.379,0.277,0.977 +0.390,0.285,0.977 +0.400,0.293,0.977 +0.410,0.300,0.978 +0.420,0.308,0.978 +0.430,0.316,0.978 +0.440,0.324,0.978 +0.449,0.332,0.978 +0.459,0.340,0.978 +0.469,0.348,0.978 +0.478,0.355,0.978 +0.488,0.363,0.979 +0.498,0.370,0.979 +0.508,0.377,0.979 +0.518,0.384,0.979 +0.529,0.391,0.980 +0.540,0.398,0.980 +0.551,0.404,0.981 +0.563,0.410,0.981 +0.575,0.416,0.982 +0.588,0.421,0.982 +0.600,0.427,0.983 +0.613,0.432,0.984 +0.627,0.437,0.985 +0.640,0.442,0.986 +0.654,0.446,0.987 +0.668,0.451,0.988 +0.682,0.455,0.989 +0.696,0.460,0.990 +0.710,0.464,0.991 +0.724,0.468,0.992 +0.738,0.472,0.994 +0.752,0.476,0.995 +0.766,0.480,0.996 +0.780,0.484,0.997 +0.794,0.488,0.998 +0.807,0.492,0.999 +0.821,0.496,1.000 +0.834,0.500,1.000 +0.847,0.503,1.000 +0.860,0.507,1.000 +0.873,0.510,1.000 +0.885,0.513,1.000 +0.897,0.516,1.000 +0.909,0.519,1.000 +0.919,0.521,1.000 +0.930,0.523,0.999 +0.939,0.524,0.996 +0.948,0.525,0.993 +0.956,0.524,0.989 +0.964,0.524,0.984 +0.970,0.522,0.978 diff --git a/release-packaging/Resources/color-schemes/CET-C1s.csv b/release-packaging/Resources/color-schemes/CET-C1s.csv new file mode 100644 index 0000000..cdf337b --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-C1s.csv @@ -0,0 +1,256 @@ +0.244,0.245,0.941 +0.254,0.241,0.948 +0.265,0.239,0.953 +0.277,0.237,0.958 +0.288,0.238,0.962 +0.300,0.239,0.965 +0.311,0.242,0.968 +0.323,0.246,0.970 +0.335,0.251,0.972 +0.346,0.257,0.974 +0.357,0.263,0.975 +0.368,0.270,0.976 +0.379,0.277,0.977 +0.390,0.285,0.977 +0.400,0.293,0.977 +0.410,0.300,0.978 +0.420,0.308,0.978 +0.430,0.316,0.978 +0.440,0.324,0.978 +0.449,0.332,0.978 +0.459,0.340,0.978 +0.469,0.348,0.978 +0.478,0.355,0.978 +0.488,0.363,0.979 +0.498,0.370,0.979 +0.508,0.377,0.979 +0.518,0.384,0.979 +0.529,0.391,0.980 +0.540,0.398,0.980 +0.551,0.404,0.981 +0.563,0.410,0.981 +0.575,0.416,0.982 +0.588,0.421,0.982 +0.600,0.427,0.983 +0.613,0.432,0.984 +0.627,0.437,0.985 +0.640,0.442,0.986 +0.654,0.446,0.987 +0.668,0.451,0.988 +0.682,0.455,0.989 +0.696,0.460,0.990 +0.710,0.464,0.991 +0.724,0.468,0.992 +0.738,0.472,0.994 +0.752,0.476,0.995 +0.766,0.480,0.996 +0.780,0.484,0.997 +0.794,0.488,0.998 +0.807,0.492,0.999 +0.821,0.496,1.000 +0.834,0.500,1.000 +0.847,0.503,1.000 +0.860,0.507,1.000 +0.873,0.510,1.000 +0.885,0.513,1.000 +0.897,0.516,1.000 +0.909,0.519,1.000 +0.919,0.521,1.000 +0.930,0.523,0.999 +0.939,0.524,0.996 +0.948,0.525,0.993 +0.956,0.524,0.989 +0.964,0.524,0.984 +0.970,0.522,0.978 +0.976,0.520,0.971 +0.980,0.517,0.963 +0.984,0.514,0.954 +0.987,0.509,0.945 +0.990,0.504,0.934 +0.991,0.499,0.923 +0.992,0.492,0.911 +0.992,0.486,0.899 +0.992,0.478,0.886 +0.992,0.471,0.872 +0.991,0.463,0.858 +0.989,0.455,0.844 +0.988,0.446,0.830 +0.986,0.438,0.815 +0.984,0.429,0.800 +0.981,0.420,0.786 +0.979,0.411,0.771 +0.976,0.402,0.756 +0.973,0.393,0.741 +0.971,0.384,0.726 +0.968,0.375,0.711 +0.964,0.365,0.696 +0.961,0.356,0.682 +0.958,0.347,0.667 +0.954,0.337,0.652 +0.951,0.328,0.637 +0.947,0.318,0.623 +0.943,0.309,0.608 +0.938,0.300,0.593 +0.934,0.291,0.578 +0.929,0.282,0.564 +0.924,0.273,0.549 +0.919,0.264,0.534 +0.914,0.256,0.519 +0.908,0.247,0.504 +0.903,0.239,0.489 +0.897,0.231,0.474 +0.890,0.223,0.459 +0.884,0.215,0.444 +0.877,0.207,0.429 +0.871,0.200,0.414 +0.864,0.193,0.399 +0.857,0.185,0.384 +0.850,0.178,0.369 +0.842,0.171,0.354 +0.835,0.164,0.339 +0.828,0.157,0.324 +0.820,0.150,0.309 +0.812,0.143,0.295 +0.805,0.136,0.280 +0.797,0.129,0.265 +0.790,0.122,0.251 +0.782,0.116,0.236 +0.775,0.110,0.222 +0.767,0.104,0.208 +0.760,0.099,0.194 +0.753,0.095,0.180 +0.747,0.091,0.167 +0.740,0.089,0.154 +0.734,0.088,0.142 +0.729,0.089,0.130 +0.724,0.091,0.118 +0.720,0.095,0.107 +0.716,0.100,0.096 +0.713,0.106,0.086 +0.711,0.113,0.077 +0.710,0.121,0.068 +0.709,0.130,0.060 +0.709,0.139,0.052 +0.710,0.149,0.045 +0.711,0.159,0.039 +0.713,0.169,0.033 +0.715,0.180,0.029 +0.717,0.191,0.025 +0.720,0.201,0.023 +0.723,0.212,0.021 +0.727,0.222,0.019 +0.730,0.233,0.018 +0.734,0.243,0.017 +0.738,0.253,0.017 +0.742,0.263,0.016 +0.746,0.273,0.016 +0.750,0.283,0.016 +0.754,0.293,0.016 +0.758,0.303,0.016 +0.762,0.312,0.017 +0.765,0.322,0.017 +0.769,0.331,0.017 +0.773,0.341,0.018 +0.777,0.350,0.018 +0.780,0.359,0.018 +0.784,0.369,0.018 +0.787,0.378,0.019 +0.791,0.387,0.019 +0.794,0.396,0.019 +0.797,0.406,0.019 +0.800,0.415,0.019 +0.803,0.424,0.019 +0.806,0.433,0.019 +0.809,0.443,0.019 +0.811,0.452,0.019 +0.814,0.461,0.019 +0.816,0.471,0.018 +0.819,0.480,0.018 +0.821,0.489,0.018 +0.823,0.498,0.017 +0.825,0.508,0.017 +0.827,0.517,0.017 +0.829,0.526,0.016 +0.831,0.535,0.016 +0.833,0.544,0.016 +0.834,0.554,0.016 +0.836,0.563,0.016 +0.837,0.572,0.017 +0.839,0.580,0.018 +0.840,0.589,0.020 +0.841,0.598,0.023 +0.841,0.606,0.027 +0.842,0.614,0.032 +0.842,0.622,0.040 +0.841,0.629,0.049 +0.840,0.636,0.059 +0.839,0.643,0.070 +0.836,0.649,0.083 +0.834,0.654,0.096 +0.830,0.658,0.109 +0.825,0.662,0.123 +0.820,0.665,0.138 +0.814,0.667,0.153 +0.807,0.669,0.169 +0.799,0.669,0.184 +0.791,0.669,0.200 +0.782,0.668,0.215 +0.772,0.666,0.231 +0.761,0.664,0.246 +0.750,0.661,0.261 +0.739,0.658,0.276 +0.727,0.655,0.291 +0.714,0.651,0.306 +0.701,0.647,0.320 +0.688,0.642,0.334 +0.675,0.638,0.348 +0.661,0.633,0.361 +0.647,0.628,0.375 +0.632,0.624,0.388 +0.618,0.619,0.401 +0.602,0.614,0.413 +0.587,0.609,0.426 +0.571,0.604,0.438 +0.555,0.599,0.450 +0.539,0.594,0.463 +0.522,0.590,0.475 +0.504,0.585,0.486 +0.486,0.580,0.498 +0.468,0.575,0.510 +0.449,0.570,0.522 +0.430,0.565,0.533 +0.410,0.560,0.545 +0.390,0.555,0.556 +0.369,0.549,0.568 +0.348,0.544,0.579 +0.327,0.538,0.591 +0.306,0.532,0.603 +0.284,0.526,0.614 +0.263,0.519,0.626 +0.242,0.513,0.638 +0.223,0.506,0.649 +0.204,0.498,0.661 +0.186,0.490,0.673 +0.171,0.482,0.685 +0.157,0.473,0.697 +0.146,0.464,0.709 +0.139,0.454,0.722 +0.134,0.445,0.734 +0.132,0.434,0.746 +0.133,0.424,0.759 +0.135,0.413,0.771 +0.139,0.401,0.783 +0.144,0.390,0.796 +0.150,0.378,0.808 +0.156,0.366,0.820 +0.162,0.354,0.833 +0.169,0.342,0.845 +0.175,0.330,0.856 +0.181,0.318,0.868 +0.187,0.306,0.879 +0.194,0.295,0.889 +0.201,0.285,0.900 +0.208,0.275,0.909 +0.216,0.266,0.918 +0.225,0.258,0.927 +0.234,0.251,0.934 diff --git a/release-packaging/Resources/color-schemes/CET-C2.csv b/release-packaging/Resources/color-schemes/CET-C2.csv new file mode 100644 index 0000000..74424d9 --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-C2.csv @@ -0,0 +1,256 @@ +0.938,0.334,0.948 +0.944,0.343,0.942 +0.949,0.353,0.936 +0.954,0.363,0.929 +0.959,0.374,0.922 +0.963,0.386,0.914 +0.966,0.397,0.906 +0.969,0.409,0.897 +0.972,0.421,0.888 +0.975,0.433,0.879 +0.977,0.446,0.869 +0.978,0.458,0.859 +0.980,0.470,0.849 +0.981,0.482,0.839 +0.983,0.494,0.829 +0.984,0.506,0.819 +0.985,0.518,0.808 +0.985,0.530,0.798 +0.986,0.541,0.787 +0.986,0.553,0.776 +0.987,0.564,0.766 +0.987,0.575,0.755 +0.987,0.586,0.744 +0.987,0.597,0.733 +0.987,0.608,0.722 +0.987,0.618,0.712 +0.987,0.629,0.701 +0.987,0.639,0.690 +0.987,0.649,0.679 +0.987,0.659,0.668 +0.987,0.670,0.657 +0.986,0.679,0.645 +0.986,0.689,0.634 +0.986,0.699,0.623 +0.986,0.708,0.612 +0.986,0.718,0.601 +0.986,0.727,0.589 +0.986,0.736,0.578 +0.987,0.745,0.566 +0.987,0.754,0.555 +0.987,0.763,0.543 +0.987,0.772,0.531 +0.988,0.781,0.519 +0.988,0.789,0.507 +0.988,0.798,0.495 +0.988,0.807,0.483 +0.989,0.815,0.470 +0.989,0.824,0.458 +0.989,0.832,0.445 +0.989,0.840,0.432 +0.988,0.849,0.418 +0.988,0.857,0.404 +0.987,0.865,0.390 +0.986,0.873,0.376 +0.985,0.880,0.362 +0.983,0.888,0.347 +0.981,0.895,0.332 +0.978,0.901,0.316 +0.975,0.907,0.301 +0.972,0.913,0.285 +0.967,0.918,0.270 +0.962,0.923,0.254 +0.957,0.927,0.239 +0.951,0.930,0.224 +0.944,0.932,0.209 +0.936,0.934,0.195 +0.928,0.935,0.182 +0.920,0.935,0.169 +0.910,0.935,0.157 +0.901,0.934,0.146 +0.891,0.933,0.136 +0.881,0.931,0.127 +0.870,0.928,0.120 +0.859,0.925,0.113 +0.848,0.922,0.107 +0.837,0.919,0.103 +0.826,0.915,0.099 +0.815,0.911,0.095 +0.803,0.907,0.092 +0.792,0.903,0.090 +0.780,0.899,0.088 +0.769,0.895,0.086 +0.757,0.891,0.084 +0.746,0.887,0.082 +0.734,0.882,0.081 +0.722,0.878,0.079 +0.711,0.874,0.078 +0.699,0.869,0.076 +0.687,0.865,0.075 +0.675,0.861,0.074 +0.663,0.856,0.072 +0.652,0.852,0.071 +0.640,0.848,0.070 +0.628,0.843,0.068 +0.616,0.839,0.067 +0.604,0.835,0.066 +0.591,0.830,0.064 +0.579,0.826,0.063 +0.567,0.822,0.062 +0.554,0.817,0.060 +0.542,0.813,0.059 +0.529,0.808,0.058 +0.517,0.804,0.057 +0.504,0.800,0.055 +0.491,0.795,0.054 +0.478,0.791,0.053 +0.465,0.786,0.051 +0.452,0.782,0.050 +0.438,0.777,0.049 +0.424,0.773,0.048 +0.411,0.768,0.047 +0.397,0.764,0.047 +0.382,0.759,0.046 +0.368,0.755,0.047 +0.354,0.750,0.047 +0.339,0.745,0.049 +0.324,0.741,0.051 +0.310,0.736,0.054 +0.295,0.731,0.058 +0.281,0.726,0.064 +0.267,0.721,0.070 +0.254,0.716,0.078 +0.241,0.711,0.087 +0.230,0.706,0.097 +0.220,0.700,0.107 +0.211,0.695,0.119 +0.204,0.689,0.131 +0.199,0.683,0.144 +0.196,0.677,0.158 +0.195,0.671,0.172 +0.196,0.664,0.186 +0.198,0.658,0.200 +0.202,0.651,0.215 +0.206,0.644,0.230 +0.212,0.638,0.245 +0.218,0.631,0.261 +0.224,0.623,0.276 +0.230,0.616,0.291 +0.236,0.609,0.306 +0.242,0.602,0.321 +0.247,0.595,0.335 +0.252,0.587,0.350 +0.256,0.580,0.365 +0.260,0.572,0.379 +0.263,0.565,0.393 +0.266,0.558,0.407 +0.268,0.550,0.421 +0.270,0.543,0.435 +0.271,0.535,0.449 +0.272,0.528,0.462 +0.272,0.521,0.476 +0.271,0.513,0.489 +0.270,0.506,0.503 +0.268,0.498,0.516 +0.266,0.491,0.529 +0.263,0.484,0.542 +0.260,0.476,0.555 +0.256,0.469,0.568 +0.252,0.461,0.581 +0.247,0.454,0.594 +0.242,0.446,0.606 +0.236,0.438,0.619 +0.230,0.431,0.631 +0.224,0.423,0.644 +0.218,0.415,0.656 +0.212,0.407,0.667 +0.206,0.399,0.679 +0.199,0.391,0.691 +0.194,0.382,0.702 +0.188,0.374,0.713 +0.183,0.365,0.724 +0.178,0.356,0.735 +0.174,0.347,0.745 +0.170,0.337,0.756 +0.166,0.327,0.766 +0.163,0.317,0.776 +0.160,0.307,0.786 +0.157,0.297,0.796 +0.155,0.286,0.805 +0.152,0.275,0.815 +0.150,0.264,0.824 +0.147,0.253,0.833 +0.146,0.241,0.843 +0.144,0.230,0.851 +0.143,0.218,0.860 +0.143,0.206,0.869 +0.144,0.195,0.877 +0.146,0.183,0.885 +0.150,0.172,0.892 +0.155,0.161,0.900 +0.162,0.151,0.906 +0.171,0.141,0.913 +0.181,0.132,0.919 +0.192,0.124,0.924 +0.204,0.118,0.929 +0.217,0.112,0.933 +0.230,0.108,0.937 +0.244,0.105,0.941 +0.258,0.104,0.944 +0.272,0.104,0.947 +0.287,0.106,0.950 +0.301,0.108,0.952 +0.314,0.112,0.954 +0.328,0.116,0.956 +0.341,0.120,0.958 +0.354,0.125,0.960 +0.367,0.131,0.961 +0.379,0.136,0.963 +0.392,0.142,0.964 +0.404,0.148,0.966 +0.415,0.154,0.967 +0.427,0.159,0.969 +0.438,0.165,0.970 +0.449,0.171,0.971 +0.460,0.176,0.973 +0.471,0.182,0.974 +0.482,0.188,0.975 +0.493,0.193,0.976 +0.504,0.198,0.978 +0.514,0.203,0.979 +0.525,0.208,0.980 +0.536,0.213,0.981 +0.548,0.217,0.982 +0.559,0.221,0.982 +0.571,0.225,0.983 +0.582,0.229,0.984 +0.594,0.233,0.984 +0.606,0.236,0.985 +0.619,0.239,0.985 +0.631,0.242,0.985 +0.644,0.245,0.985 +0.657,0.247,0.985 +0.669,0.250,0.985 +0.682,0.252,0.985 +0.695,0.254,0.985 +0.708,0.256,0.985 +0.721,0.258,0.984 +0.734,0.260,0.984 +0.747,0.261,0.984 +0.760,0.263,0.983 +0.773,0.265,0.983 +0.785,0.267,0.982 +0.798,0.269,0.982 +0.810,0.271,0.981 +0.822,0.273,0.980 +0.834,0.275,0.979 +0.846,0.278,0.978 +0.857,0.281,0.977 +0.868,0.284,0.975 +0.878,0.288,0.973 +0.889,0.293,0.971 +0.898,0.298,0.968 +0.907,0.303,0.965 +0.916,0.310,0.962 +0.924,0.317,0.958 +0.931,0.325,0.953 diff --git a/release-packaging/Resources/color-schemes/CET-C2s.csv b/release-packaging/Resources/color-schemes/CET-C2s.csv new file mode 100644 index 0000000..fada4a2 --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-C2s.csv @@ -0,0 +1,256 @@ +0.181,0.132,0.919 +0.192,0.124,0.924 +0.204,0.118,0.929 +0.217,0.112,0.933 +0.230,0.108,0.937 +0.244,0.105,0.941 +0.258,0.104,0.944 +0.272,0.104,0.947 +0.287,0.106,0.950 +0.301,0.108,0.952 +0.314,0.112,0.954 +0.328,0.116,0.956 +0.341,0.120,0.958 +0.354,0.125,0.960 +0.367,0.131,0.961 +0.379,0.136,0.963 +0.392,0.142,0.964 +0.404,0.148,0.966 +0.415,0.154,0.967 +0.427,0.159,0.969 +0.438,0.165,0.970 +0.449,0.171,0.971 +0.460,0.176,0.973 +0.471,0.182,0.974 +0.482,0.188,0.975 +0.493,0.193,0.976 +0.504,0.198,0.978 +0.514,0.203,0.979 +0.525,0.208,0.980 +0.536,0.213,0.981 +0.548,0.217,0.982 +0.559,0.221,0.982 +0.571,0.225,0.983 +0.582,0.229,0.984 +0.594,0.233,0.984 +0.606,0.236,0.985 +0.619,0.239,0.985 +0.631,0.242,0.985 +0.644,0.245,0.985 +0.657,0.247,0.985 +0.669,0.250,0.985 +0.682,0.252,0.985 +0.695,0.254,0.985 +0.708,0.256,0.985 +0.721,0.258,0.984 +0.734,0.260,0.984 +0.747,0.261,0.984 +0.760,0.263,0.983 +0.773,0.265,0.983 +0.785,0.267,0.982 +0.798,0.269,0.982 +0.810,0.271,0.981 +0.822,0.273,0.980 +0.834,0.275,0.979 +0.846,0.278,0.978 +0.857,0.281,0.977 +0.868,0.284,0.975 +0.878,0.288,0.973 +0.889,0.293,0.971 +0.898,0.298,0.968 +0.907,0.303,0.965 +0.916,0.310,0.962 +0.924,0.317,0.958 +0.931,0.325,0.953 +0.938,0.334,0.948 +0.944,0.343,0.942 +0.949,0.353,0.936 +0.954,0.363,0.929 +0.959,0.374,0.922 +0.963,0.386,0.914 +0.966,0.397,0.906 +0.969,0.409,0.897 +0.972,0.421,0.888 +0.975,0.433,0.879 +0.977,0.446,0.869 +0.978,0.458,0.859 +0.980,0.470,0.849 +0.981,0.482,0.839 +0.983,0.494,0.829 +0.984,0.506,0.819 +0.985,0.518,0.808 +0.985,0.530,0.798 +0.986,0.541,0.787 +0.986,0.553,0.776 +0.987,0.564,0.766 +0.987,0.575,0.755 +0.987,0.586,0.744 +0.987,0.597,0.733 +0.987,0.608,0.722 +0.987,0.618,0.712 +0.987,0.629,0.701 +0.987,0.639,0.690 +0.987,0.649,0.679 +0.987,0.659,0.668 +0.987,0.670,0.657 +0.986,0.679,0.645 +0.986,0.689,0.634 +0.986,0.699,0.623 +0.986,0.708,0.612 +0.986,0.718,0.601 +0.986,0.727,0.589 +0.986,0.736,0.578 +0.987,0.745,0.566 +0.987,0.754,0.555 +0.987,0.763,0.543 +0.987,0.772,0.531 +0.988,0.781,0.519 +0.988,0.789,0.507 +0.988,0.798,0.495 +0.988,0.807,0.483 +0.989,0.815,0.470 +0.989,0.824,0.458 +0.989,0.832,0.445 +0.989,0.840,0.432 +0.988,0.849,0.418 +0.988,0.857,0.404 +0.987,0.865,0.390 +0.986,0.873,0.376 +0.985,0.880,0.362 +0.983,0.888,0.347 +0.981,0.895,0.332 +0.978,0.901,0.316 +0.975,0.907,0.301 +0.972,0.913,0.285 +0.967,0.918,0.270 +0.962,0.923,0.254 +0.957,0.927,0.239 +0.951,0.930,0.224 +0.944,0.932,0.209 +0.936,0.934,0.195 +0.928,0.935,0.182 +0.920,0.935,0.169 +0.910,0.935,0.157 +0.901,0.934,0.146 +0.891,0.933,0.136 +0.881,0.931,0.127 +0.870,0.928,0.120 +0.859,0.925,0.113 +0.848,0.922,0.107 +0.837,0.919,0.103 +0.826,0.915,0.099 +0.815,0.911,0.095 +0.803,0.907,0.092 +0.792,0.903,0.090 +0.780,0.899,0.088 +0.769,0.895,0.086 +0.757,0.891,0.084 +0.746,0.887,0.082 +0.734,0.882,0.081 +0.722,0.878,0.079 +0.711,0.874,0.078 +0.699,0.869,0.076 +0.687,0.865,0.075 +0.675,0.861,0.074 +0.663,0.856,0.072 +0.652,0.852,0.071 +0.640,0.848,0.070 +0.628,0.843,0.068 +0.616,0.839,0.067 +0.604,0.835,0.066 +0.591,0.830,0.064 +0.579,0.826,0.063 +0.567,0.822,0.062 +0.554,0.817,0.060 +0.542,0.813,0.059 +0.529,0.808,0.058 +0.517,0.804,0.057 +0.504,0.800,0.055 +0.491,0.795,0.054 +0.478,0.791,0.053 +0.465,0.786,0.051 +0.452,0.782,0.050 +0.438,0.777,0.049 +0.424,0.773,0.048 +0.411,0.768,0.047 +0.397,0.764,0.047 +0.382,0.759,0.046 +0.368,0.755,0.047 +0.354,0.750,0.047 +0.339,0.745,0.049 +0.324,0.741,0.051 +0.310,0.736,0.054 +0.295,0.731,0.058 +0.281,0.726,0.064 +0.267,0.721,0.070 +0.254,0.716,0.078 +0.241,0.711,0.087 +0.230,0.706,0.097 +0.220,0.700,0.107 +0.211,0.695,0.119 +0.204,0.689,0.131 +0.199,0.683,0.144 +0.196,0.677,0.158 +0.195,0.671,0.172 +0.196,0.664,0.186 +0.198,0.658,0.200 +0.202,0.651,0.215 +0.206,0.644,0.230 +0.212,0.638,0.245 +0.218,0.631,0.261 +0.224,0.623,0.276 +0.230,0.616,0.291 +0.236,0.609,0.306 +0.242,0.602,0.321 +0.247,0.595,0.335 +0.252,0.587,0.350 +0.256,0.580,0.365 +0.260,0.572,0.379 +0.263,0.565,0.393 +0.266,0.558,0.407 +0.268,0.550,0.421 +0.270,0.543,0.435 +0.271,0.535,0.449 +0.272,0.528,0.462 +0.272,0.521,0.476 +0.271,0.513,0.489 +0.270,0.506,0.503 +0.268,0.498,0.516 +0.266,0.491,0.529 +0.263,0.484,0.542 +0.260,0.476,0.555 +0.256,0.469,0.568 +0.252,0.461,0.581 +0.247,0.454,0.594 +0.242,0.446,0.606 +0.236,0.438,0.619 +0.230,0.431,0.631 +0.224,0.423,0.644 +0.218,0.415,0.656 +0.212,0.407,0.667 +0.206,0.399,0.679 +0.199,0.391,0.691 +0.194,0.382,0.702 +0.188,0.374,0.713 +0.183,0.365,0.724 +0.178,0.356,0.735 +0.174,0.347,0.745 +0.170,0.337,0.756 +0.166,0.327,0.766 +0.163,0.317,0.776 +0.160,0.307,0.786 +0.157,0.297,0.796 +0.155,0.286,0.805 +0.152,0.275,0.815 +0.150,0.264,0.824 +0.147,0.253,0.833 +0.146,0.241,0.843 +0.144,0.230,0.851 +0.143,0.218,0.860 +0.143,0.206,0.869 +0.144,0.195,0.877 +0.146,0.183,0.885 +0.150,0.172,0.892 +0.155,0.161,0.900 +0.162,0.151,0.906 +0.171,0.141,0.913 diff --git a/release-packaging/Resources/color-schemes/CET-C3.csv b/release-packaging/Resources/color-schemes/CET-C3.csv new file mode 100644 index 0000000..39f6da2 --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-C3.csv @@ -0,0 +1,256 @@ +0.881,0.843,0.856 +0.886,0.842,0.849 +0.891,0.839,0.840 +0.896,0.835,0.831 +0.900,0.830,0.821 +0.904,0.825,0.811 +0.907,0.819,0.800 +0.911,0.812,0.789 +0.914,0.804,0.778 +0.917,0.797,0.766 +0.919,0.788,0.754 +0.922,0.780,0.742 +0.924,0.771,0.730 +0.926,0.762,0.717 +0.928,0.752,0.705 +0.930,0.743,0.692 +0.932,0.734,0.679 +0.933,0.724,0.667 +0.935,0.714,0.654 +0.936,0.705,0.641 +0.937,0.695,0.629 +0.938,0.685,0.616 +0.939,0.676,0.604 +0.940,0.666,0.591 +0.940,0.656,0.579 +0.941,0.646,0.566 +0.941,0.636,0.554 +0.941,0.627,0.541 +0.941,0.617,0.529 +0.941,0.607,0.517 +0.941,0.597,0.504 +0.941,0.587,0.492 +0.941,0.577,0.480 +0.940,0.567,0.468 +0.940,0.557,0.456 +0.939,0.547,0.444 +0.939,0.537,0.431 +0.938,0.527,0.419 +0.937,0.516,0.407 +0.936,0.506,0.395 +0.935,0.496,0.383 +0.934,0.485,0.371 +0.932,0.475,0.359 +0.931,0.464,0.348 +0.930,0.454,0.336 +0.928,0.443,0.324 +0.926,0.432,0.312 +0.925,0.421,0.300 +0.923,0.410,0.288 +0.921,0.399,0.277 +0.919,0.388,0.265 +0.916,0.377,0.254 +0.914,0.365,0.242 +0.911,0.354,0.231 +0.908,0.343,0.220 +0.905,0.332,0.209 +0.901,0.320,0.198 +0.898,0.309,0.188 +0.893,0.299,0.178 +0.889,0.288,0.168 +0.883,0.278,0.159 +0.877,0.268,0.151 +0.871,0.259,0.143 +0.864,0.250,0.136 +0.857,0.242,0.130 +0.849,0.235,0.124 +0.840,0.229,0.119 +0.831,0.223,0.115 +0.821,0.218,0.111 +0.811,0.214,0.109 +0.800,0.211,0.107 +0.789,0.208,0.105 +0.778,0.206,0.104 +0.766,0.204,0.103 +0.755,0.202,0.103 +0.743,0.201,0.103 +0.730,0.200,0.103 +0.718,0.199,0.103 +0.706,0.198,0.104 +0.694,0.198,0.104 +0.681,0.197,0.105 +0.669,0.196,0.105 +0.656,0.195,0.106 +0.644,0.195,0.106 +0.631,0.194,0.107 +0.619,0.193,0.107 +0.607,0.192,0.108 +0.594,0.191,0.108 +0.582,0.190,0.109 +0.570,0.189,0.109 +0.558,0.188,0.110 +0.546,0.187,0.110 +0.534,0.186,0.110 +0.521,0.184,0.111 +0.509,0.183,0.111 +0.497,0.182,0.111 +0.485,0.180,0.112 +0.474,0.179,0.112 +0.462,0.177,0.112 +0.450,0.176,0.112 +0.438,0.174,0.112 +0.426,0.172,0.112 +0.414,0.171,0.112 +0.403,0.169,0.113 +0.391,0.167,0.113 +0.379,0.165,0.113 +0.368,0.163,0.113 +0.356,0.161,0.113 +0.345,0.159,0.113 +0.333,0.157,0.113 +0.322,0.155,0.113 +0.310,0.153,0.113 +0.299,0.151,0.113 +0.288,0.149,0.113 +0.277,0.146,0.113 +0.266,0.144,0.113 +0.255,0.142,0.114 +0.244,0.140,0.114 +0.234,0.138,0.115 +0.224,0.136,0.116 +0.215,0.135,0.118 +0.206,0.133,0.120 +0.197,0.132,0.122 +0.189,0.131,0.125 +0.182,0.130,0.129 +0.176,0.130,0.133 +0.170,0.130,0.138 +0.165,0.131,0.144 +0.161,0.131,0.150 +0.157,0.133,0.157 +0.155,0.134,0.164 +0.153,0.136,0.173 +0.152,0.139,0.182 +0.151,0.142,0.191 +0.151,0.145,0.201 +0.152,0.148,0.212 +0.152,0.152,0.223 +0.154,0.156,0.235 +0.155,0.160,0.246 +0.157,0.164,0.258 +0.159,0.169,0.271 +0.162,0.173,0.283 +0.164,0.178,0.296 +0.166,0.182,0.309 +0.168,0.187,0.322 +0.170,0.192,0.335 +0.172,0.196,0.348 +0.174,0.201,0.361 +0.176,0.206,0.375 +0.178,0.211,0.388 +0.180,0.216,0.402 +0.181,0.221,0.415 +0.183,0.226,0.429 +0.184,0.230,0.443 +0.185,0.235,0.457 +0.186,0.240,0.470 +0.187,0.245,0.484 +0.188,0.250,0.499 +0.188,0.255,0.513 +0.188,0.261,0.527 +0.189,0.266,0.541 +0.189,0.271,0.555 +0.188,0.276,0.570 +0.188,0.281,0.584 +0.187,0.286,0.599 +0.187,0.291,0.614 +0.186,0.297,0.628 +0.184,0.302,0.643 +0.183,0.307,0.658 +0.181,0.312,0.673 +0.179,0.317,0.687 +0.177,0.323,0.702 +0.174,0.328,0.717 +0.171,0.333,0.732 +0.168,0.339,0.747 +0.165,0.344,0.762 +0.161,0.349,0.777 +0.158,0.355,0.792 +0.154,0.360,0.807 +0.150,0.366,0.822 +0.146,0.371,0.837 +0.143,0.377,0.851 +0.140,0.382,0.865 +0.138,0.388,0.878 +0.137,0.393,0.892 +0.138,0.399,0.904 +0.141,0.405,0.916 +0.146,0.410,0.927 +0.153,0.416,0.937 +0.162,0.422,0.947 +0.173,0.428,0.955 +0.186,0.434,0.963 +0.200,0.440,0.969 +0.216,0.446,0.975 +0.232,0.452,0.979 +0.248,0.458,0.983 +0.265,0.465,0.986 +0.282,0.471,0.988 +0.299,0.477,0.989 +0.316,0.484,0.990 +0.332,0.490,0.990 +0.348,0.497,0.990 +0.364,0.503,0.989 +0.380,0.510,0.989 +0.394,0.517,0.988 +0.409,0.523,0.986 +0.423,0.530,0.985 +0.437,0.537,0.983 +0.450,0.544,0.982 +0.463,0.551,0.980 +0.476,0.557,0.979 +0.488,0.564,0.977 +0.500,0.571,0.975 +0.512,0.578,0.973 +0.524,0.585,0.972 +0.535,0.592,0.970 +0.546,0.599,0.968 +0.557,0.606,0.966 +0.568,0.613,0.964 +0.578,0.620,0.963 +0.589,0.627,0.961 +0.599,0.635,0.959 +0.609,0.642,0.957 +0.619,0.649,0.955 +0.629,0.656,0.953 +0.638,0.663,0.951 +0.648,0.671,0.950 +0.657,0.678,0.948 +0.666,0.685,0.946 +0.675,0.692,0.944 +0.685,0.700,0.942 +0.693,0.707,0.940 +0.702,0.714,0.938 +0.711,0.722,0.936 +0.720,0.729,0.934 +0.728,0.736,0.932 +0.737,0.744,0.930 +0.745,0.751,0.928 +0.754,0.759,0.925 +0.762,0.766,0.923 +0.770,0.773,0.921 +0.778,0.780,0.919 +0.786,0.788,0.917 +0.794,0.795,0.914 +0.802,0.801,0.912 +0.810,0.808,0.909 +0.817,0.814,0.906 +0.825,0.820,0.903 +0.832,0.826,0.900 +0.839,0.831,0.896 +0.846,0.835,0.892 +0.852,0.838,0.887 +0.859,0.841,0.882 +0.865,0.843,0.877 +0.871,0.844,0.870 +0.876,0.844,0.864 diff --git a/release-packaging/Resources/color-schemes/CET-C3s.csv b/release-packaging/Resources/color-schemes/CET-C3s.csv new file mode 100644 index 0000000..7b9bfab --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-C3s.csv @@ -0,0 +1,256 @@ +0.200,0.440,0.969 +0.216,0.446,0.975 +0.232,0.452,0.979 +0.248,0.458,0.983 +0.265,0.465,0.986 +0.282,0.471,0.988 +0.299,0.477,0.989 +0.316,0.484,0.990 +0.332,0.490,0.990 +0.348,0.497,0.990 +0.364,0.503,0.989 +0.380,0.510,0.989 +0.394,0.517,0.988 +0.409,0.523,0.986 +0.423,0.530,0.985 +0.437,0.537,0.983 +0.450,0.544,0.982 +0.463,0.551,0.980 +0.476,0.557,0.979 +0.488,0.564,0.977 +0.500,0.571,0.975 +0.512,0.578,0.973 +0.524,0.585,0.972 +0.535,0.592,0.970 +0.546,0.599,0.968 +0.557,0.606,0.966 +0.568,0.613,0.964 +0.578,0.620,0.963 +0.589,0.627,0.961 +0.599,0.635,0.959 +0.609,0.642,0.957 +0.619,0.649,0.955 +0.629,0.656,0.953 +0.638,0.663,0.951 +0.648,0.671,0.950 +0.657,0.678,0.948 +0.666,0.685,0.946 +0.675,0.692,0.944 +0.685,0.700,0.942 +0.693,0.707,0.940 +0.702,0.714,0.938 +0.711,0.722,0.936 +0.720,0.729,0.934 +0.728,0.736,0.932 +0.737,0.744,0.930 +0.745,0.751,0.928 +0.754,0.759,0.925 +0.762,0.766,0.923 +0.770,0.773,0.921 +0.778,0.780,0.919 +0.786,0.788,0.917 +0.794,0.795,0.914 +0.802,0.801,0.912 +0.810,0.808,0.909 +0.817,0.814,0.906 +0.825,0.820,0.903 +0.832,0.826,0.900 +0.839,0.831,0.896 +0.846,0.835,0.892 +0.852,0.838,0.887 +0.859,0.841,0.882 +0.865,0.843,0.877 +0.871,0.844,0.870 +0.876,0.844,0.864 +0.881,0.843,0.856 +0.886,0.842,0.849 +0.891,0.839,0.840 +0.896,0.835,0.831 +0.900,0.830,0.821 +0.904,0.825,0.811 +0.907,0.819,0.800 +0.911,0.812,0.789 +0.914,0.804,0.778 +0.917,0.797,0.766 +0.919,0.788,0.754 +0.922,0.780,0.742 +0.924,0.771,0.730 +0.926,0.762,0.717 +0.928,0.752,0.705 +0.930,0.743,0.692 +0.932,0.734,0.679 +0.933,0.724,0.667 +0.935,0.714,0.654 +0.936,0.705,0.641 +0.937,0.695,0.629 +0.938,0.685,0.616 +0.939,0.676,0.604 +0.940,0.666,0.591 +0.940,0.656,0.579 +0.941,0.646,0.566 +0.941,0.636,0.554 +0.941,0.627,0.541 +0.941,0.617,0.529 +0.941,0.607,0.517 +0.941,0.597,0.504 +0.941,0.587,0.492 +0.941,0.577,0.480 +0.940,0.567,0.468 +0.940,0.557,0.456 +0.939,0.547,0.444 +0.939,0.537,0.431 +0.938,0.527,0.419 +0.937,0.516,0.407 +0.936,0.506,0.395 +0.935,0.496,0.383 +0.934,0.485,0.371 +0.932,0.475,0.359 +0.931,0.464,0.348 +0.930,0.454,0.336 +0.928,0.443,0.324 +0.926,0.432,0.312 +0.925,0.421,0.300 +0.923,0.410,0.288 +0.921,0.399,0.277 +0.919,0.388,0.265 +0.916,0.377,0.254 +0.914,0.365,0.242 +0.911,0.354,0.231 +0.908,0.343,0.220 +0.905,0.332,0.209 +0.901,0.320,0.198 +0.898,0.309,0.188 +0.893,0.299,0.178 +0.889,0.288,0.168 +0.883,0.278,0.159 +0.877,0.268,0.151 +0.871,0.259,0.143 +0.864,0.250,0.136 +0.857,0.242,0.130 +0.849,0.235,0.124 +0.840,0.229,0.119 +0.831,0.223,0.115 +0.821,0.218,0.111 +0.811,0.214,0.109 +0.800,0.211,0.107 +0.789,0.208,0.105 +0.778,0.206,0.104 +0.766,0.204,0.103 +0.755,0.202,0.103 +0.743,0.201,0.103 +0.730,0.200,0.103 +0.718,0.199,0.103 +0.706,0.198,0.104 +0.694,0.198,0.104 +0.681,0.197,0.105 +0.669,0.196,0.105 +0.656,0.195,0.106 +0.644,0.195,0.106 +0.631,0.194,0.107 +0.619,0.193,0.107 +0.607,0.192,0.108 +0.594,0.191,0.108 +0.582,0.190,0.109 +0.570,0.189,0.109 +0.558,0.188,0.110 +0.546,0.187,0.110 +0.534,0.186,0.110 +0.521,0.184,0.111 +0.509,0.183,0.111 +0.497,0.182,0.111 +0.485,0.180,0.112 +0.474,0.179,0.112 +0.462,0.177,0.112 +0.450,0.176,0.112 +0.438,0.174,0.112 +0.426,0.172,0.112 +0.414,0.171,0.112 +0.403,0.169,0.113 +0.391,0.167,0.113 +0.379,0.165,0.113 +0.368,0.163,0.113 +0.356,0.161,0.113 +0.345,0.159,0.113 +0.333,0.157,0.113 +0.322,0.155,0.113 +0.310,0.153,0.113 +0.299,0.151,0.113 +0.288,0.149,0.113 +0.277,0.146,0.113 +0.266,0.144,0.113 +0.255,0.142,0.114 +0.244,0.140,0.114 +0.234,0.138,0.115 +0.224,0.136,0.116 +0.215,0.135,0.118 +0.206,0.133,0.120 +0.197,0.132,0.122 +0.189,0.131,0.125 +0.182,0.130,0.129 +0.176,0.130,0.133 +0.170,0.130,0.138 +0.165,0.131,0.144 +0.161,0.131,0.150 +0.157,0.133,0.157 +0.155,0.134,0.164 +0.153,0.136,0.173 +0.152,0.139,0.182 +0.151,0.142,0.191 +0.151,0.145,0.201 +0.152,0.148,0.212 +0.152,0.152,0.223 +0.154,0.156,0.235 +0.155,0.160,0.246 +0.157,0.164,0.258 +0.159,0.169,0.271 +0.162,0.173,0.283 +0.164,0.178,0.296 +0.166,0.182,0.309 +0.168,0.187,0.322 +0.170,0.192,0.335 +0.172,0.196,0.348 +0.174,0.201,0.361 +0.176,0.206,0.375 +0.178,0.211,0.388 +0.180,0.216,0.402 +0.181,0.221,0.415 +0.183,0.226,0.429 +0.184,0.230,0.443 +0.185,0.235,0.457 +0.186,0.240,0.470 +0.187,0.245,0.484 +0.188,0.250,0.499 +0.188,0.255,0.513 +0.188,0.261,0.527 +0.189,0.266,0.541 +0.189,0.271,0.555 +0.188,0.276,0.570 +0.188,0.281,0.584 +0.187,0.286,0.599 +0.187,0.291,0.614 +0.186,0.297,0.628 +0.184,0.302,0.643 +0.183,0.307,0.658 +0.181,0.312,0.673 +0.179,0.317,0.687 +0.177,0.323,0.702 +0.174,0.328,0.717 +0.171,0.333,0.732 +0.168,0.339,0.747 +0.165,0.344,0.762 +0.161,0.349,0.777 +0.158,0.355,0.792 +0.154,0.360,0.807 +0.150,0.366,0.822 +0.146,0.371,0.837 +0.143,0.377,0.851 +0.140,0.382,0.865 +0.138,0.388,0.878 +0.137,0.393,0.892 +0.138,0.399,0.904 +0.141,0.405,0.916 +0.146,0.410,0.927 +0.153,0.416,0.937 +0.162,0.422,0.947 +0.173,0.428,0.955 +0.186,0.434,0.963 diff --git a/release-packaging/Resources/color-schemes/CET-C4.csv b/release-packaging/Resources/color-schemes/CET-C4.csv new file mode 100644 index 0000000..f2f82bb --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-C4.csv @@ -0,0 +1,256 @@ +0.873,0.836,0.849 +0.878,0.834,0.841 +0.882,0.831,0.832 +0.886,0.827,0.823 +0.889,0.821,0.812 +0.892,0.815,0.802 +0.895,0.808,0.790 +0.897,0.800,0.778 +0.898,0.792,0.766 +0.900,0.783,0.753 +0.901,0.773,0.740 +0.902,0.763,0.727 +0.903,0.753,0.713 +0.903,0.743,0.700 +0.904,0.732,0.686 +0.904,0.722,0.672 +0.904,0.711,0.658 +0.903,0.700,0.644 +0.903,0.689,0.630 +0.902,0.678,0.617 +0.902,0.667,0.603 +0.901,0.656,0.589 +0.900,0.645,0.575 +0.899,0.634,0.562 +0.898,0.623,0.548 +0.896,0.612,0.534 +0.895,0.601,0.521 +0.893,0.589,0.507 +0.892,0.578,0.494 +0.890,0.567,0.480 +0.888,0.556,0.467 +0.886,0.545,0.454 +0.884,0.533,0.440 +0.881,0.522,0.427 +0.879,0.511,0.414 +0.876,0.500,0.401 +0.874,0.488,0.388 +0.871,0.477,0.375 +0.868,0.465,0.362 +0.866,0.454,0.349 +0.863,0.442,0.336 +0.859,0.430,0.323 +0.856,0.419,0.310 +0.853,0.407,0.297 +0.850,0.395,0.284 +0.846,0.383,0.271 +0.843,0.371,0.259 +0.839,0.358,0.246 +0.835,0.346,0.233 +0.832,0.334,0.221 +0.828,0.321,0.208 +0.824,0.309,0.196 +0.820,0.296,0.184 +0.816,0.284,0.172 +0.813,0.271,0.161 +0.809,0.260,0.150 +0.805,0.248,0.139 +0.802,0.237,0.130 +0.799,0.226,0.120 +0.796,0.217,0.112 +0.794,0.209,0.105 +0.792,0.202,0.099 +0.791,0.196,0.095 +0.790,0.193,0.092 +0.789,0.191,0.090 +0.789,0.191,0.090 +0.790,0.193,0.092 +0.791,0.198,0.096 +0.793,0.203,0.101 +0.795,0.211,0.107 +0.797,0.219,0.114 +0.800,0.229,0.123 +0.803,0.240,0.132 +0.806,0.251,0.142 +0.810,0.263,0.153 +0.814,0.275,0.164 +0.817,0.287,0.176 +0.821,0.300,0.187 +0.825,0.312,0.199 +0.829,0.324,0.212 +0.833,0.337,0.224 +0.836,0.349,0.237 +0.840,0.362,0.249 +0.844,0.374,0.262 +0.847,0.386,0.275 +0.851,0.398,0.288 +0.854,0.410,0.300 +0.857,0.422,0.313 +0.860,0.433,0.326 +0.863,0.445,0.339 +0.866,0.457,0.352 +0.869,0.468,0.365 +0.872,0.480,0.378 +0.875,0.491,0.391 +0.877,0.503,0.404 +0.880,0.514,0.418 +0.882,0.525,0.431 +0.884,0.537,0.444 +0.886,0.548,0.457 +0.888,0.559,0.471 +0.890,0.570,0.484 +0.892,0.581,0.497 +0.894,0.592,0.511 +0.895,0.604,0.524 +0.897,0.615,0.538 +0.898,0.626,0.552 +0.899,0.637,0.565 +0.900,0.648,0.579 +0.901,0.659,0.593 +0.902,0.670,0.607 +0.902,0.681,0.620 +0.903,0.692,0.634 +0.903,0.703,0.648 +0.903,0.713,0.662 +0.903,0.724,0.676 +0.903,0.735,0.690 +0.902,0.745,0.703 +0.901,0.755,0.717 +0.900,0.764,0.731 +0.899,0.774,0.744 +0.897,0.782,0.757 +0.894,0.790,0.770 +0.891,0.798,0.782 +0.888,0.804,0.794 +0.884,0.810,0.806 +0.880,0.815,0.816 +0.875,0.818,0.827 +0.870,0.821,0.836 +0.864,0.822,0.844 +0.857,0.822,0.852 +0.851,0.821,0.859 +0.843,0.819,0.865 +0.836,0.816,0.871 +0.828,0.812,0.875 +0.819,0.807,0.879 +0.811,0.802,0.883 +0.802,0.795,0.886 +0.793,0.788,0.888 +0.784,0.781,0.890 +0.775,0.773,0.891 +0.765,0.765,0.892 +0.756,0.757,0.893 +0.746,0.749,0.894 +0.737,0.740,0.895 +0.727,0.731,0.895 +0.717,0.723,0.896 +0.707,0.714,0.896 +0.697,0.705,0.897 +0.687,0.697,0.897 +0.677,0.688,0.897 +0.667,0.679,0.897 +0.657,0.670,0.898 +0.646,0.662,0.898 +0.636,0.653,0.898 +0.625,0.644,0.898 +0.615,0.636,0.898 +0.604,0.627,0.899 +0.593,0.619,0.899 +0.582,0.610,0.899 +0.571,0.602,0.899 +0.559,0.593,0.899 +0.548,0.585,0.899 +0.536,0.576,0.899 +0.524,0.568,0.899 +0.512,0.560,0.899 +0.500,0.551,0.899 +0.487,0.543,0.899 +0.475,0.535,0.899 +0.462,0.526,0.899 +0.448,0.518,0.899 +0.435,0.510,0.899 +0.421,0.502,0.899 +0.406,0.494,0.899 +0.392,0.486,0.899 +0.376,0.478,0.899 +0.361,0.470,0.899 +0.344,0.462,0.899 +0.328,0.455,0.898 +0.311,0.447,0.898 +0.293,0.440,0.898 +0.274,0.433,0.898 +0.255,0.426,0.898 +0.236,0.420,0.898 +0.216,0.414,0.898 +0.196,0.409,0.897 +0.177,0.404,0.897 +0.157,0.400,0.897 +0.139,0.396,0.897 +0.123,0.393,0.897 +0.110,0.391,0.897 +0.101,0.390,0.897 +0.099,0.390,0.897 +0.102,0.390,0.897 +0.112,0.392,0.897 +0.126,0.394,0.897 +0.143,0.397,0.897 +0.161,0.400,0.897 +0.181,0.405,0.897 +0.201,0.410,0.897 +0.221,0.415,0.898 +0.240,0.421,0.898 +0.260,0.428,0.898 +0.278,0.435,0.898 +0.297,0.442,0.898 +0.314,0.449,0.898 +0.331,0.456,0.898 +0.348,0.464,0.899 +0.364,0.472,0.899 +0.380,0.480,0.899 +0.395,0.488,0.899 +0.409,0.496,0.899 +0.424,0.504,0.899 +0.438,0.512,0.899 +0.451,0.520,0.899 +0.465,0.528,0.899 +0.477,0.536,0.899 +0.490,0.545,0.899 +0.503,0.553,0.899 +0.515,0.561,0.899 +0.527,0.570,0.899 +0.539,0.578,0.899 +0.550,0.586,0.899 +0.562,0.595,0.899 +0.573,0.603,0.899 +0.584,0.612,0.899 +0.595,0.620,0.899 +0.606,0.629,0.899 +0.617,0.638,0.898 +0.628,0.646,0.898 +0.638,0.655,0.898 +0.648,0.664,0.898 +0.659,0.672,0.898 +0.669,0.681,0.897 +0.679,0.690,0.897 +0.689,0.698,0.897 +0.699,0.707,0.897 +0.709,0.716,0.896 +0.719,0.725,0.896 +0.729,0.734,0.896 +0.739,0.742,0.895 +0.748,0.751,0.895 +0.758,0.760,0.894 +0.767,0.768,0.894 +0.776,0.777,0.893 +0.785,0.785,0.892 +0.794,0.793,0.891 +0.803,0.800,0.889 +0.811,0.807,0.888 +0.820,0.814,0.886 +0.828,0.820,0.883 +0.835,0.825,0.880 +0.843,0.829,0.877 +0.850,0.833,0.873 +0.856,0.835,0.868 +0.862,0.837,0.862 +0.868,0.837,0.856 diff --git a/release-packaging/Resources/color-schemes/CET-C4s.csv b/release-packaging/Resources/color-schemes/CET-C4s.csv new file mode 100644 index 0000000..67dd578 --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-C4s.csv @@ -0,0 +1,256 @@ +0.102,0.390,0.897 +0.112,0.392,0.897 +0.126,0.394,0.897 +0.143,0.397,0.897 +0.161,0.400,0.897 +0.181,0.405,0.897 +0.201,0.410,0.897 +0.221,0.415,0.898 +0.240,0.421,0.898 +0.260,0.428,0.898 +0.278,0.435,0.898 +0.297,0.442,0.898 +0.314,0.449,0.898 +0.331,0.456,0.898 +0.348,0.464,0.899 +0.364,0.472,0.899 +0.380,0.480,0.899 +0.395,0.488,0.899 +0.409,0.496,0.899 +0.424,0.504,0.899 +0.438,0.512,0.899 +0.451,0.520,0.899 +0.465,0.528,0.899 +0.477,0.536,0.899 +0.490,0.545,0.899 +0.503,0.553,0.899 +0.515,0.561,0.899 +0.527,0.570,0.899 +0.539,0.578,0.899 +0.550,0.586,0.899 +0.562,0.595,0.899 +0.573,0.603,0.899 +0.584,0.612,0.899 +0.595,0.620,0.899 +0.606,0.629,0.899 +0.617,0.638,0.898 +0.628,0.646,0.898 +0.638,0.655,0.898 +0.648,0.664,0.898 +0.659,0.672,0.898 +0.669,0.681,0.897 +0.679,0.690,0.897 +0.689,0.698,0.897 +0.699,0.707,0.897 +0.709,0.716,0.896 +0.719,0.725,0.896 +0.729,0.734,0.896 +0.739,0.742,0.895 +0.748,0.751,0.895 +0.758,0.760,0.894 +0.767,0.768,0.894 +0.776,0.777,0.893 +0.785,0.785,0.892 +0.794,0.793,0.891 +0.803,0.800,0.889 +0.811,0.807,0.888 +0.820,0.814,0.886 +0.828,0.820,0.883 +0.835,0.825,0.880 +0.843,0.829,0.877 +0.850,0.833,0.873 +0.856,0.835,0.868 +0.862,0.837,0.862 +0.868,0.837,0.856 +0.873,0.836,0.849 +0.878,0.834,0.841 +0.882,0.831,0.832 +0.886,0.827,0.823 +0.889,0.821,0.812 +0.892,0.815,0.802 +0.895,0.808,0.790 +0.897,0.800,0.778 +0.898,0.792,0.766 +0.900,0.783,0.753 +0.901,0.773,0.740 +0.902,0.763,0.727 +0.903,0.753,0.713 +0.903,0.743,0.700 +0.904,0.732,0.686 +0.904,0.722,0.672 +0.904,0.711,0.658 +0.903,0.700,0.644 +0.903,0.689,0.630 +0.902,0.678,0.617 +0.902,0.667,0.603 +0.901,0.656,0.589 +0.900,0.645,0.575 +0.899,0.634,0.562 +0.898,0.623,0.548 +0.896,0.612,0.534 +0.895,0.601,0.521 +0.893,0.589,0.507 +0.892,0.578,0.494 +0.890,0.567,0.480 +0.888,0.556,0.467 +0.886,0.545,0.454 +0.884,0.533,0.440 +0.881,0.522,0.427 +0.879,0.511,0.414 +0.876,0.500,0.401 +0.874,0.488,0.388 +0.871,0.477,0.375 +0.868,0.465,0.362 +0.866,0.454,0.349 +0.863,0.442,0.336 +0.859,0.430,0.323 +0.856,0.419,0.310 +0.853,0.407,0.297 +0.850,0.395,0.284 +0.846,0.383,0.271 +0.843,0.371,0.259 +0.839,0.358,0.246 +0.835,0.346,0.233 +0.832,0.334,0.221 +0.828,0.321,0.208 +0.824,0.309,0.196 +0.820,0.296,0.184 +0.816,0.284,0.172 +0.813,0.271,0.161 +0.809,0.260,0.150 +0.805,0.248,0.139 +0.802,0.237,0.130 +0.799,0.226,0.120 +0.796,0.217,0.112 +0.794,0.209,0.105 +0.792,0.202,0.099 +0.791,0.196,0.095 +0.790,0.193,0.092 +0.789,0.191,0.090 +0.789,0.191,0.090 +0.790,0.193,0.092 +0.791,0.198,0.096 +0.793,0.203,0.101 +0.795,0.211,0.107 +0.797,0.219,0.114 +0.800,0.229,0.123 +0.803,0.240,0.132 +0.806,0.251,0.142 +0.810,0.263,0.153 +0.814,0.275,0.164 +0.817,0.287,0.176 +0.821,0.300,0.187 +0.825,0.312,0.199 +0.829,0.324,0.212 +0.833,0.337,0.224 +0.836,0.349,0.237 +0.840,0.362,0.249 +0.844,0.374,0.262 +0.847,0.386,0.275 +0.851,0.398,0.288 +0.854,0.410,0.300 +0.857,0.422,0.313 +0.860,0.433,0.326 +0.863,0.445,0.339 +0.866,0.457,0.352 +0.869,0.468,0.365 +0.872,0.480,0.378 +0.875,0.491,0.391 +0.877,0.503,0.404 +0.880,0.514,0.418 +0.882,0.525,0.431 +0.884,0.537,0.444 +0.886,0.548,0.457 +0.888,0.559,0.471 +0.890,0.570,0.484 +0.892,0.581,0.497 +0.894,0.592,0.511 +0.895,0.604,0.524 +0.897,0.615,0.538 +0.898,0.626,0.552 +0.899,0.637,0.565 +0.900,0.648,0.579 +0.901,0.659,0.593 +0.902,0.670,0.607 +0.902,0.681,0.620 +0.903,0.692,0.634 +0.903,0.703,0.648 +0.903,0.713,0.662 +0.903,0.724,0.676 +0.903,0.735,0.690 +0.902,0.745,0.703 +0.901,0.755,0.717 +0.900,0.764,0.731 +0.899,0.774,0.744 +0.897,0.782,0.757 +0.894,0.790,0.770 +0.891,0.798,0.782 +0.888,0.804,0.794 +0.884,0.810,0.806 +0.880,0.815,0.816 +0.875,0.818,0.827 +0.870,0.821,0.836 +0.864,0.822,0.844 +0.857,0.822,0.852 +0.851,0.821,0.859 +0.843,0.819,0.865 +0.836,0.816,0.871 +0.828,0.812,0.875 +0.819,0.807,0.879 +0.811,0.802,0.883 +0.802,0.795,0.886 +0.793,0.788,0.888 +0.784,0.781,0.890 +0.775,0.773,0.891 +0.765,0.765,0.892 +0.756,0.757,0.893 +0.746,0.749,0.894 +0.737,0.740,0.895 +0.727,0.731,0.895 +0.717,0.723,0.896 +0.707,0.714,0.896 +0.697,0.705,0.897 +0.687,0.697,0.897 +0.677,0.688,0.897 +0.667,0.679,0.897 +0.657,0.670,0.898 +0.646,0.662,0.898 +0.636,0.653,0.898 +0.625,0.644,0.898 +0.615,0.636,0.898 +0.604,0.627,0.899 +0.593,0.619,0.899 +0.582,0.610,0.899 +0.571,0.602,0.899 +0.559,0.593,0.899 +0.548,0.585,0.899 +0.536,0.576,0.899 +0.524,0.568,0.899 +0.512,0.560,0.899 +0.500,0.551,0.899 +0.487,0.543,0.899 +0.475,0.535,0.899 +0.462,0.526,0.899 +0.448,0.518,0.899 +0.435,0.510,0.899 +0.421,0.502,0.899 +0.406,0.494,0.899 +0.392,0.486,0.899 +0.376,0.478,0.899 +0.361,0.470,0.899 +0.344,0.462,0.899 +0.328,0.455,0.898 +0.311,0.447,0.898 +0.293,0.440,0.898 +0.274,0.433,0.898 +0.255,0.426,0.898 +0.236,0.420,0.898 +0.216,0.414,0.898 +0.196,0.409,0.897 +0.177,0.404,0.897 +0.157,0.400,0.897 +0.139,0.396,0.897 +0.123,0.393,0.897 +0.110,0.391,0.897 +0.101,0.390,0.897 +0.099,0.390,0.897 diff --git a/release-packaging/Resources/color-schemes/CET-C5.csv b/release-packaging/Resources/color-schemes/CET-C5.csv new file mode 100644 index 0000000..c9256c4 --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-C5.csv @@ -0,0 +1,256 @@ +0.469,0.469,0.469 +0.474,0.474,0.474 +0.479,0.479,0.479 +0.484,0.484,0.484 +0.489,0.489,0.489 +0.494,0.494,0.494 +0.499,0.499,0.499 +0.505,0.505,0.505 +0.510,0.510,0.510 +0.515,0.515,0.515 +0.520,0.521,0.521 +0.526,0.526,0.526 +0.531,0.531,0.531 +0.537,0.537,0.537 +0.542,0.542,0.542 +0.548,0.548,0.548 +0.553,0.553,0.553 +0.558,0.559,0.559 +0.564,0.564,0.564 +0.569,0.570,0.570 +0.575,0.575,0.575 +0.581,0.581,0.581 +0.586,0.586,0.586 +0.592,0.592,0.592 +0.597,0.597,0.597 +0.603,0.603,0.603 +0.608,0.609,0.609 +0.614,0.614,0.614 +0.620,0.620,0.620 +0.625,0.625,0.625 +0.631,0.631,0.631 +0.637,0.637,0.637 +0.642,0.642,0.642 +0.648,0.648,0.648 +0.653,0.654,0.654 +0.659,0.659,0.659 +0.665,0.665,0.665 +0.671,0.671,0.671 +0.676,0.676,0.676 +0.682,0.682,0.682 +0.688,0.688,0.688 +0.693,0.694,0.693 +0.699,0.699,0.699 +0.705,0.705,0.705 +0.711,0.711,0.711 +0.716,0.717,0.716 +0.722,0.722,0.722 +0.728,0.728,0.728 +0.733,0.734,0.734 +0.739,0.739,0.739 +0.745,0.745,0.745 +0.750,0.750,0.750 +0.755,0.756,0.756 +0.761,0.761,0.761 +0.766,0.766,0.766 +0.770,0.771,0.771 +0.775,0.775,0.775 +0.779,0.779,0.779 +0.783,0.783,0.783 +0.786,0.786,0.786 +0.788,0.788,0.788 +0.790,0.790,0.790 +0.792,0.792,0.792 +0.792,0.793,0.793 +0.793,0.793,0.793 +0.792,0.792,0.792 +0.791,0.791,0.791 +0.789,0.789,0.789 +0.786,0.786,0.786 +0.783,0.783,0.783 +0.780,0.780,0.780 +0.776,0.776,0.776 +0.771,0.772,0.772 +0.767,0.767,0.767 +0.762,0.762,0.762 +0.757,0.757,0.757 +0.751,0.752,0.752 +0.746,0.746,0.746 +0.740,0.741,0.741 +0.735,0.735,0.735 +0.729,0.729,0.729 +0.723,0.724,0.724 +0.718,0.718,0.718 +0.712,0.712,0.712 +0.706,0.706,0.706 +0.701,0.701,0.701 +0.695,0.695,0.695 +0.689,0.689,0.689 +0.683,0.683,0.683 +0.678,0.678,0.678 +0.672,0.672,0.672 +0.666,0.666,0.666 +0.661,0.661,0.661 +0.655,0.655,0.655 +0.649,0.649,0.649 +0.644,0.644,0.644 +0.638,0.638,0.638 +0.632,0.632,0.632 +0.627,0.627,0.627 +0.621,0.621,0.621 +0.615,0.615,0.615 +0.610,0.610,0.610 +0.604,0.604,0.604 +0.599,0.599,0.599 +0.593,0.593,0.593 +0.587,0.588,0.588 +0.582,0.582,0.582 +0.576,0.576,0.576 +0.571,0.571,0.571 +0.565,0.565,0.565 +0.560,0.560,0.560 +0.554,0.554,0.554 +0.549,0.549,0.549 +0.543,0.543,0.543 +0.538,0.538,0.538 +0.532,0.532,0.532 +0.527,0.527,0.527 +0.521,0.522,0.522 +0.516,0.516,0.516 +0.511,0.511,0.511 +0.505,0.505,0.505 +0.500,0.500,0.500 +0.494,0.494,0.494 +0.489,0.489,0.489 +0.484,0.484,0.484 +0.478,0.478,0.478 +0.473,0.473,0.473 +0.468,0.468,0.468 +0.462,0.462,0.462 +0.457,0.457,0.457 +0.452,0.452,0.452 +0.446,0.446,0.446 +0.441,0.441,0.441 +0.436,0.436,0.436 +0.430,0.431,0.431 +0.425,0.425,0.425 +0.420,0.420,0.420 +0.415,0.415,0.415 +0.410,0.410,0.410 +0.404,0.404,0.404 +0.399,0.399,0.399 +0.394,0.394,0.394 +0.389,0.389,0.389 +0.384,0.384,0.384 +0.378,0.379,0.379 +0.373,0.373,0.373 +0.368,0.368,0.368 +0.363,0.363,0.363 +0.358,0.358,0.358 +0.353,0.353,0.353 +0.348,0.348,0.348 +0.343,0.343,0.343 +0.338,0.338,0.338 +0.333,0.333,0.333 +0.328,0.328,0.328 +0.323,0.323,0.323 +0.318,0.318,0.318 +0.313,0.313,0.313 +0.308,0.308,0.308 +0.303,0.303,0.303 +0.298,0.298,0.298 +0.293,0.293,0.293 +0.288,0.288,0.288 +0.283,0.283,0.283 +0.278,0.278,0.278 +0.273,0.273,0.273 +0.269,0.269,0.269 +0.264,0.264,0.264 +0.259,0.259,0.259 +0.254,0.254,0.254 +0.249,0.249,0.249 +0.244,0.245,0.245 +0.240,0.240,0.240 +0.235,0.235,0.235 +0.230,0.230,0.230 +0.226,0.226,0.226 +0.221,0.221,0.221 +0.217,0.217,0.217 +0.212,0.212,0.212 +0.208,0.208,0.208 +0.204,0.204,0.204 +0.200,0.200,0.200 +0.196,0.196,0.196 +0.192,0.192,0.192 +0.189,0.189,0.189 +0.186,0.186,0.186 +0.183,0.183,0.183 +0.181,0.181,0.181 +0.179,0.179,0.179 +0.178,0.178,0.178 +0.177,0.177,0.177 +0.177,0.177,0.177 +0.177,0.177,0.177 +0.178,0.178,0.178 +0.179,0.179,0.179 +0.180,0.180,0.180 +0.183,0.183,0.183 +0.185,0.185,0.185 +0.188,0.188,0.188 +0.191,0.191,0.191 +0.195,0.195,0.195 +0.199,0.199,0.199 +0.203,0.203,0.203 +0.207,0.207,0.207 +0.211,0.211,0.211 +0.215,0.216,0.216 +0.220,0.220,0.220 +0.225,0.225,0.225 +0.229,0.229,0.229 +0.234,0.234,0.234 +0.239,0.239,0.239 +0.243,0.243,0.243 +0.248,0.248,0.248 +0.253,0.253,0.253 +0.258,0.258,0.258 +0.263,0.263,0.263 +0.267,0.267,0.267 +0.272,0.272,0.272 +0.277,0.277,0.277 +0.282,0.282,0.282 +0.287,0.287,0.287 +0.292,0.292,0.292 +0.297,0.297,0.297 +0.302,0.302,0.302 +0.307,0.307,0.307 +0.312,0.312,0.312 +0.317,0.317,0.317 +0.321,0.322,0.322 +0.326,0.327,0.327 +0.332,0.332,0.332 +0.337,0.337,0.337 +0.342,0.342,0.342 +0.347,0.347,0.347 +0.352,0.352,0.352 +0.357,0.357,0.357 +0.362,0.362,0.362 +0.367,0.367,0.367 +0.372,0.372,0.372 +0.377,0.377,0.377 +0.382,0.382,0.382 +0.387,0.388,0.388 +0.393,0.393,0.393 +0.398,0.398,0.398 +0.403,0.403,0.403 +0.408,0.408,0.408 +0.413,0.413,0.413 +0.418,0.418,0.418 +0.423,0.423,0.423 +0.428,0.429,0.429 +0.434,0.434,0.434 +0.439,0.439,0.439 +0.444,0.444,0.444 +0.449,0.449,0.449 +0.454,0.454,0.454 +0.459,0.459,0.459 +0.464,0.464,0.464 diff --git a/release-packaging/Resources/color-schemes/CET-C5s.csv b/release-packaging/Resources/color-schemes/CET-C5s.csv new file mode 100644 index 0000000..64e44ca --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-C5s.csv @@ -0,0 +1,256 @@ +0.177,0.177,0.177 +0.178,0.178,0.178 +0.179,0.179,0.179 +0.180,0.180,0.180 +0.183,0.183,0.183 +0.185,0.185,0.185 +0.188,0.188,0.188 +0.191,0.191,0.191 +0.195,0.195,0.195 +0.199,0.199,0.199 +0.203,0.203,0.203 +0.207,0.207,0.207 +0.211,0.211,0.211 +0.215,0.216,0.216 +0.220,0.220,0.220 +0.225,0.225,0.225 +0.229,0.229,0.229 +0.234,0.234,0.234 +0.239,0.239,0.239 +0.243,0.243,0.243 +0.248,0.248,0.248 +0.253,0.253,0.253 +0.258,0.258,0.258 +0.263,0.263,0.263 +0.267,0.267,0.267 +0.272,0.272,0.272 +0.277,0.277,0.277 +0.282,0.282,0.282 +0.287,0.287,0.287 +0.292,0.292,0.292 +0.297,0.297,0.297 +0.302,0.302,0.302 +0.307,0.307,0.307 +0.312,0.312,0.312 +0.317,0.317,0.317 +0.321,0.322,0.322 +0.326,0.327,0.327 +0.332,0.332,0.332 +0.337,0.337,0.337 +0.342,0.342,0.342 +0.347,0.347,0.347 +0.352,0.352,0.352 +0.357,0.357,0.357 +0.362,0.362,0.362 +0.367,0.367,0.367 +0.372,0.372,0.372 +0.377,0.377,0.377 +0.382,0.382,0.382 +0.387,0.388,0.388 +0.393,0.393,0.393 +0.398,0.398,0.398 +0.403,0.403,0.403 +0.408,0.408,0.408 +0.413,0.413,0.413 +0.418,0.418,0.418 +0.423,0.423,0.423 +0.428,0.429,0.429 +0.434,0.434,0.434 +0.439,0.439,0.439 +0.444,0.444,0.444 +0.449,0.449,0.449 +0.454,0.454,0.454 +0.459,0.459,0.459 +0.464,0.464,0.464 +0.469,0.469,0.469 +0.474,0.474,0.474 +0.479,0.479,0.479 +0.484,0.484,0.484 +0.489,0.489,0.489 +0.494,0.494,0.494 +0.499,0.499,0.499 +0.505,0.505,0.505 +0.510,0.510,0.510 +0.515,0.515,0.515 +0.520,0.521,0.521 +0.526,0.526,0.526 +0.531,0.531,0.531 +0.537,0.537,0.537 +0.542,0.542,0.542 +0.548,0.548,0.548 +0.553,0.553,0.553 +0.558,0.559,0.559 +0.564,0.564,0.564 +0.569,0.570,0.570 +0.575,0.575,0.575 +0.581,0.581,0.581 +0.586,0.586,0.586 +0.592,0.592,0.592 +0.597,0.597,0.597 +0.603,0.603,0.603 +0.608,0.609,0.609 +0.614,0.614,0.614 +0.620,0.620,0.620 +0.625,0.625,0.625 +0.631,0.631,0.631 +0.637,0.637,0.637 +0.642,0.642,0.642 +0.648,0.648,0.648 +0.653,0.654,0.654 +0.659,0.659,0.659 +0.665,0.665,0.665 +0.671,0.671,0.671 +0.676,0.676,0.676 +0.682,0.682,0.682 +0.688,0.688,0.688 +0.693,0.694,0.693 +0.699,0.699,0.699 +0.705,0.705,0.705 +0.711,0.711,0.711 +0.716,0.717,0.716 +0.722,0.722,0.722 +0.728,0.728,0.728 +0.733,0.734,0.734 +0.739,0.739,0.739 +0.745,0.745,0.745 +0.750,0.750,0.750 +0.755,0.756,0.756 +0.761,0.761,0.761 +0.766,0.766,0.766 +0.770,0.771,0.771 +0.775,0.775,0.775 +0.779,0.779,0.779 +0.783,0.783,0.783 +0.786,0.786,0.786 +0.788,0.788,0.788 +0.790,0.790,0.790 +0.792,0.792,0.792 +0.792,0.793,0.793 +0.793,0.793,0.793 +0.792,0.792,0.792 +0.791,0.791,0.791 +0.789,0.789,0.789 +0.786,0.786,0.786 +0.783,0.783,0.783 +0.780,0.780,0.780 +0.776,0.776,0.776 +0.771,0.772,0.772 +0.767,0.767,0.767 +0.762,0.762,0.762 +0.757,0.757,0.757 +0.751,0.752,0.752 +0.746,0.746,0.746 +0.740,0.741,0.741 +0.735,0.735,0.735 +0.729,0.729,0.729 +0.723,0.724,0.724 +0.718,0.718,0.718 +0.712,0.712,0.712 +0.706,0.706,0.706 +0.701,0.701,0.701 +0.695,0.695,0.695 +0.689,0.689,0.689 +0.683,0.683,0.683 +0.678,0.678,0.678 +0.672,0.672,0.672 +0.666,0.666,0.666 +0.661,0.661,0.661 +0.655,0.655,0.655 +0.649,0.649,0.649 +0.644,0.644,0.644 +0.638,0.638,0.638 +0.632,0.632,0.632 +0.627,0.627,0.627 +0.621,0.621,0.621 +0.615,0.615,0.615 +0.610,0.610,0.610 +0.604,0.604,0.604 +0.599,0.599,0.599 +0.593,0.593,0.593 +0.587,0.588,0.588 +0.582,0.582,0.582 +0.576,0.576,0.576 +0.571,0.571,0.571 +0.565,0.565,0.565 +0.560,0.560,0.560 +0.554,0.554,0.554 +0.549,0.549,0.549 +0.543,0.543,0.543 +0.538,0.538,0.538 +0.532,0.532,0.532 +0.527,0.527,0.527 +0.521,0.522,0.522 +0.516,0.516,0.516 +0.511,0.511,0.511 +0.505,0.505,0.505 +0.500,0.500,0.500 +0.494,0.494,0.494 +0.489,0.489,0.489 +0.484,0.484,0.484 +0.478,0.478,0.478 +0.473,0.473,0.473 +0.468,0.468,0.468 +0.462,0.462,0.462 +0.457,0.457,0.457 +0.452,0.452,0.452 +0.446,0.446,0.446 +0.441,0.441,0.441 +0.436,0.436,0.436 +0.430,0.431,0.431 +0.425,0.425,0.425 +0.420,0.420,0.420 +0.415,0.415,0.415 +0.410,0.410,0.410 +0.404,0.404,0.404 +0.399,0.399,0.399 +0.394,0.394,0.394 +0.389,0.389,0.389 +0.384,0.384,0.384 +0.378,0.379,0.379 +0.373,0.373,0.373 +0.368,0.368,0.368 +0.363,0.363,0.363 +0.358,0.358,0.358 +0.353,0.353,0.353 +0.348,0.348,0.348 +0.343,0.343,0.343 +0.338,0.338,0.338 +0.333,0.333,0.333 +0.328,0.328,0.328 +0.323,0.323,0.323 +0.318,0.318,0.318 +0.313,0.313,0.313 +0.308,0.308,0.308 +0.303,0.303,0.303 +0.298,0.298,0.298 +0.293,0.293,0.293 +0.288,0.288,0.288 +0.283,0.283,0.283 +0.278,0.278,0.278 +0.273,0.273,0.273 +0.269,0.269,0.269 +0.264,0.264,0.264 +0.259,0.259,0.259 +0.254,0.254,0.254 +0.249,0.249,0.249 +0.244,0.245,0.245 +0.240,0.240,0.240 +0.235,0.235,0.235 +0.230,0.230,0.230 +0.226,0.226,0.226 +0.221,0.221,0.221 +0.217,0.217,0.217 +0.212,0.212,0.212 +0.208,0.208,0.208 +0.204,0.204,0.204 +0.200,0.200,0.200 +0.196,0.196,0.196 +0.192,0.192,0.192 +0.189,0.189,0.189 +0.186,0.186,0.186 +0.183,0.183,0.183 +0.181,0.181,0.181 +0.179,0.179,0.179 +0.178,0.178,0.178 +0.177,0.177,0.177 +0.177,0.177,0.177 diff --git a/release-packaging/Resources/color-schemes/CET-C6.csv b/release-packaging/Resources/color-schemes/CET-C6.csv new file mode 100644 index 0000000..aa39a47 --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-C6.csv @@ -0,0 +1,256 @@ +0.967,0.214,0.103 +0.967,0.220,0.092 +0.966,0.228,0.082 +0.967,0.239,0.072 +0.967,0.252,0.063 +0.968,0.266,0.055 +0.969,0.282,0.047 +0.971,0.298,0.040 +0.972,0.315,0.033 +0.974,0.333,0.027 +0.976,0.350,0.023 +0.978,0.368,0.019 +0.980,0.386,0.015 +0.983,0.403,0.012 +0.985,0.421,0.010 +0.987,0.438,0.007 +0.989,0.455,0.005 +0.991,0.472,0.003 +0.992,0.489,0.001 +0.994,0.505,0.000 +0.996,0.522,0.000 +0.998,0.538,0.000 +0.999,0.554,0.000 +1.000,0.569,0.000 +1.000,0.585,0.000 +1.000,0.600,0.000 +1.000,0.616,0.000 +1.000,0.631,0.000 +1.000,0.646,0.000 +1.000,0.660,0.000 +1.000,0.675,0.000 +1.000,0.689,0.000 +1.000,0.703,0.000 +1.000,0.717,0.000 +1.000,0.730,0.000 +1.000,0.743,0.000 +0.997,0.755,0.000 +0.993,0.766,0.000 +0.988,0.777,0.000 +0.983,0.787,0.000 +0.976,0.795,0.000 +0.968,0.803,0.000 +0.959,0.809,0.000 +0.949,0.814,0.000 +0.938,0.817,0.000 +0.925,0.820,0.000 +0.912,0.821,0.000 +0.898,0.821,0.000 +0.883,0.820,0.000 +0.868,0.817,0.000 +0.852,0.814,0.000 +0.835,0.810,0.000 +0.818,0.805,0.000 +0.801,0.800,0.000 +0.783,0.794,0.000 +0.765,0.788,0.000 +0.747,0.781,0.000 +0.729,0.774,0.000 +0.711,0.767,0.000 +0.692,0.760,0.000 +0.674,0.752,0.000 +0.655,0.745,0.000 +0.637,0.737,0.000 +0.618,0.730,0.000 +0.600,0.722,0.000 +0.581,0.714,0.000 +0.562,0.707,0.001 +0.543,0.699,0.003 +0.524,0.691,0.004 +0.505,0.684,0.006 +0.486,0.676,0.008 +0.467,0.668,0.010 +0.448,0.661,0.014 +0.429,0.654,0.017 +0.409,0.647,0.022 +0.390,0.640,0.027 +0.371,0.633,0.034 +0.352,0.627,0.042 +0.334,0.621,0.051 +0.316,0.616,0.061 +0.298,0.611,0.071 +0.281,0.607,0.082 +0.265,0.604,0.094 +0.249,0.602,0.106 +0.235,0.601,0.119 +0.222,0.601,0.133 +0.210,0.601,0.147 +0.199,0.603,0.162 +0.190,0.606,0.177 +0.183,0.610,0.193 +0.177,0.614,0.210 +0.173,0.620,0.227 +0.170,0.626,0.244 +0.169,0.632,0.262 +0.169,0.640,0.281 +0.169,0.648,0.299 +0.171,0.656,0.318 +0.173,0.665,0.337 +0.176,0.674,0.356 +0.179,0.683,0.375 +0.181,0.692,0.395 +0.184,0.702,0.414 +0.187,0.711,0.434 +0.190,0.721,0.454 +0.192,0.731,0.473 +0.194,0.741,0.493 +0.195,0.751,0.513 +0.196,0.760,0.533 +0.197,0.770,0.552 +0.198,0.780,0.572 +0.197,0.790,0.592 +0.197,0.800,0.612 +0.196,0.810,0.632 +0.194,0.820,0.652 +0.192,0.830,0.672 +0.190,0.839,0.692 +0.187,0.848,0.712 +0.183,0.858,0.732 +0.180,0.866,0.752 +0.176,0.874,0.771 +0.172,0.882,0.790 +0.167,0.889,0.809 +0.163,0.895,0.827 +0.159,0.901,0.845 +0.155,0.905,0.862 +0.151,0.908,0.878 +0.149,0.910,0.893 +0.147,0.911,0.907 +0.146,0.911,0.920 +0.146,0.909,0.932 +0.147,0.906,0.943 +0.149,0.901,0.953 +0.152,0.896,0.961 +0.156,0.889,0.969 +0.160,0.881,0.975 +0.164,0.873,0.980 +0.168,0.863,0.985 +0.172,0.853,0.989 +0.176,0.843,0.992 +0.180,0.832,0.995 +0.183,0.820,0.997 +0.186,0.809,0.999 +0.188,0.797,1.000 +0.190,0.785,1.000 +0.192,0.773,1.000 +0.193,0.760,1.000 +0.193,0.748,1.000 +0.193,0.736,1.000 +0.192,0.723,1.000 +0.191,0.711,1.000 +0.189,0.699,1.000 +0.187,0.687,1.000 +0.184,0.674,1.000 +0.181,0.662,1.000 +0.177,0.650,1.000 +0.173,0.638,1.000 +0.169,0.626,1.000 +0.165,0.614,1.000 +0.161,0.603,1.000 +0.158,0.591,1.000 +0.156,0.580,1.000 +0.155,0.570,1.000 +0.155,0.559,1.000 +0.158,0.550,1.000 +0.163,0.541,1.000 +0.170,0.533,1.000 +0.180,0.525,1.000 +0.193,0.519,1.000 +0.207,0.513,1.000 +0.224,0.509,1.000 +0.242,0.506,1.000 +0.262,0.504,1.000 +0.283,0.503,1.000 +0.304,0.503,1.000 +0.326,0.504,1.000 +0.348,0.507,1.000 +0.370,0.510,1.000 +0.392,0.514,1.000 +0.414,0.519,1.000 +0.435,0.525,1.000 +0.457,0.531,1.000 +0.478,0.538,1.000 +0.498,0.546,1.000 +0.518,0.553,1.000 +0.538,0.561,1.000 +0.558,0.570,1.000 +0.577,0.578,1.000 +0.595,0.586,1.000 +0.614,0.595,1.000 +0.632,0.604,1.000 +0.649,0.613,1.000 +0.667,0.622,1.000 +0.684,0.631,1.000 +0.701,0.640,1.000 +0.718,0.648,1.000 +0.734,0.657,1.000 +0.751,0.666,1.000 +0.767,0.675,1.000 +0.783,0.684,1.000 +0.799,0.692,1.000 +0.814,0.701,1.000 +0.830,0.709,1.000 +0.845,0.716,1.000 +0.861,0.723,1.000 +0.876,0.730,1.000 +0.890,0.736,1.000 +0.905,0.740,0.994 +0.919,0.744,0.987 +0.932,0.747,0.979 +0.945,0.749,0.970 +0.957,0.750,0.959 +0.969,0.749,0.947 +0.980,0.747,0.934 +0.990,0.743,0.920 +0.999,0.738,0.904 +1.000,0.732,0.887 +1.000,0.725,0.870 +1.000,0.716,0.851 +1.000,0.707,0.832 +1.000,0.696,0.812 +1.000,0.685,0.792 +1.000,0.673,0.771 +1.000,0.661,0.750 +1.000,0.648,0.729 +1.000,0.635,0.707 +1.000,0.621,0.686 +1.000,0.607,0.664 +1.000,0.593,0.643 +1.000,0.579,0.621 +1.000,0.564,0.600 +1.000,0.549,0.578 +1.000,0.535,0.557 +1.000,0.520,0.536 +1.000,0.505,0.515 +1.000,0.489,0.494 +1.000,0.474,0.473 +1.000,0.458,0.452 +1.000,0.443,0.431 +1.000,0.427,0.411 +1.000,0.411,0.390 +1.000,0.395,0.370 +1.000,0.378,0.350 +1.000,0.362,0.330 +1.000,0.346,0.310 +1.000,0.329,0.291 +0.999,0.313,0.272 +0.995,0.297,0.254 +0.991,0.282,0.235 +0.987,0.267,0.218 +0.984,0.253,0.201 +0.980,0.240,0.185 +0.977,0.230,0.169 +0.974,0.221,0.154 +0.972,0.215,0.140 +0.970,0.212,0.127 +0.968,0.211,0.115 diff --git a/release-packaging/Resources/color-schemes/CET-C6s.csv b/release-packaging/Resources/color-schemes/CET-C6s.csv new file mode 100644 index 0000000..b34d26c --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-C6s.csv @@ -0,0 +1,256 @@ +0.684,0.631,1.000 +0.701,0.640,1.000 +0.718,0.648,1.000 +0.734,0.657,1.000 +0.751,0.666,1.000 +0.767,0.675,1.000 +0.783,0.684,1.000 +0.799,0.692,1.000 +0.814,0.701,1.000 +0.830,0.709,1.000 +0.845,0.716,1.000 +0.861,0.723,1.000 +0.876,0.730,1.000 +0.890,0.736,1.000 +0.905,0.740,0.994 +0.919,0.744,0.987 +0.932,0.747,0.979 +0.945,0.749,0.970 +0.957,0.750,0.959 +0.969,0.749,0.947 +0.980,0.747,0.934 +0.990,0.743,0.920 +0.999,0.738,0.904 +1.000,0.732,0.887 +1.000,0.725,0.870 +1.000,0.716,0.851 +1.000,0.707,0.832 +1.000,0.696,0.812 +1.000,0.685,0.792 +1.000,0.673,0.771 +1.000,0.661,0.750 +1.000,0.648,0.729 +1.000,0.635,0.707 +1.000,0.621,0.686 +1.000,0.607,0.664 +1.000,0.593,0.643 +1.000,0.579,0.621 +1.000,0.564,0.600 +1.000,0.549,0.578 +1.000,0.535,0.557 +1.000,0.520,0.536 +1.000,0.505,0.515 +1.000,0.489,0.494 +1.000,0.474,0.473 +1.000,0.458,0.452 +1.000,0.443,0.431 +1.000,0.427,0.411 +1.000,0.411,0.390 +1.000,0.395,0.370 +1.000,0.378,0.350 +1.000,0.362,0.330 +1.000,0.346,0.310 +1.000,0.329,0.291 +0.999,0.313,0.272 +0.995,0.297,0.254 +0.991,0.282,0.235 +0.987,0.267,0.218 +0.984,0.253,0.201 +0.980,0.240,0.185 +0.977,0.230,0.169 +0.974,0.221,0.154 +0.972,0.215,0.140 +0.970,0.212,0.127 +0.968,0.211,0.115 +0.967,0.214,0.103 +0.967,0.220,0.092 +0.966,0.228,0.082 +0.967,0.239,0.072 +0.967,0.252,0.063 +0.968,0.266,0.055 +0.969,0.282,0.047 +0.971,0.298,0.040 +0.972,0.315,0.033 +0.974,0.333,0.027 +0.976,0.350,0.023 +0.978,0.368,0.019 +0.980,0.386,0.015 +0.983,0.403,0.012 +0.985,0.421,0.010 +0.987,0.438,0.007 +0.989,0.455,0.005 +0.991,0.472,0.003 +0.992,0.489,0.001 +0.994,0.505,0.000 +0.996,0.522,0.000 +0.998,0.538,0.000 +0.999,0.554,0.000 +1.000,0.569,0.000 +1.000,0.585,0.000 +1.000,0.600,0.000 +1.000,0.616,0.000 +1.000,0.631,0.000 +1.000,0.646,0.000 +1.000,0.660,0.000 +1.000,0.675,0.000 +1.000,0.689,0.000 +1.000,0.703,0.000 +1.000,0.717,0.000 +1.000,0.730,0.000 +1.000,0.743,0.000 +0.997,0.755,0.000 +0.993,0.766,0.000 +0.988,0.777,0.000 +0.983,0.787,0.000 +0.976,0.795,0.000 +0.968,0.803,0.000 +0.959,0.809,0.000 +0.949,0.814,0.000 +0.938,0.817,0.000 +0.925,0.820,0.000 +0.912,0.821,0.000 +0.898,0.821,0.000 +0.883,0.820,0.000 +0.868,0.817,0.000 +0.852,0.814,0.000 +0.835,0.810,0.000 +0.818,0.805,0.000 +0.801,0.800,0.000 +0.783,0.794,0.000 +0.765,0.788,0.000 +0.747,0.781,0.000 +0.729,0.774,0.000 +0.711,0.767,0.000 +0.692,0.760,0.000 +0.674,0.752,0.000 +0.655,0.745,0.000 +0.637,0.737,0.000 +0.618,0.730,0.000 +0.600,0.722,0.000 +0.581,0.714,0.000 +0.562,0.707,0.001 +0.543,0.699,0.003 +0.524,0.691,0.004 +0.505,0.684,0.006 +0.486,0.676,0.008 +0.467,0.668,0.010 +0.448,0.661,0.014 +0.429,0.654,0.017 +0.409,0.647,0.022 +0.390,0.640,0.027 +0.371,0.633,0.034 +0.352,0.627,0.042 +0.334,0.621,0.051 +0.316,0.616,0.061 +0.298,0.611,0.071 +0.281,0.607,0.082 +0.265,0.604,0.094 +0.249,0.602,0.106 +0.235,0.601,0.119 +0.222,0.601,0.133 +0.210,0.601,0.147 +0.199,0.603,0.162 +0.190,0.606,0.177 +0.183,0.610,0.193 +0.177,0.614,0.210 +0.173,0.620,0.227 +0.170,0.626,0.244 +0.169,0.632,0.262 +0.169,0.640,0.281 +0.169,0.648,0.299 +0.171,0.656,0.318 +0.173,0.665,0.337 +0.176,0.674,0.356 +0.179,0.683,0.375 +0.181,0.692,0.395 +0.184,0.702,0.414 +0.187,0.711,0.434 +0.190,0.721,0.454 +0.192,0.731,0.473 +0.194,0.741,0.493 +0.195,0.751,0.513 +0.196,0.760,0.533 +0.197,0.770,0.552 +0.198,0.780,0.572 +0.197,0.790,0.592 +0.197,0.800,0.612 +0.196,0.810,0.632 +0.194,0.820,0.652 +0.192,0.830,0.672 +0.190,0.839,0.692 +0.187,0.848,0.712 +0.183,0.858,0.732 +0.180,0.866,0.752 +0.176,0.874,0.771 +0.172,0.882,0.790 +0.167,0.889,0.809 +0.163,0.895,0.827 +0.159,0.901,0.845 +0.155,0.905,0.862 +0.151,0.908,0.878 +0.149,0.910,0.893 +0.147,0.911,0.907 +0.146,0.911,0.920 +0.146,0.909,0.932 +0.147,0.906,0.943 +0.149,0.901,0.953 +0.152,0.896,0.961 +0.156,0.889,0.969 +0.160,0.881,0.975 +0.164,0.873,0.980 +0.168,0.863,0.985 +0.172,0.853,0.989 +0.176,0.843,0.992 +0.180,0.832,0.995 +0.183,0.820,0.997 +0.186,0.809,0.999 +0.188,0.797,1.000 +0.190,0.785,1.000 +0.192,0.773,1.000 +0.193,0.760,1.000 +0.193,0.748,1.000 +0.193,0.736,1.000 +0.192,0.723,1.000 +0.191,0.711,1.000 +0.189,0.699,1.000 +0.187,0.687,1.000 +0.184,0.674,1.000 +0.181,0.662,1.000 +0.177,0.650,1.000 +0.173,0.638,1.000 +0.169,0.626,1.000 +0.165,0.614,1.000 +0.161,0.603,1.000 +0.158,0.591,1.000 +0.156,0.580,1.000 +0.155,0.570,1.000 +0.155,0.559,1.000 +0.158,0.550,1.000 +0.163,0.541,1.000 +0.170,0.533,1.000 +0.180,0.525,1.000 +0.193,0.519,1.000 +0.207,0.513,1.000 +0.224,0.509,1.000 +0.242,0.506,1.000 +0.262,0.504,1.000 +0.283,0.503,1.000 +0.304,0.503,1.000 +0.326,0.504,1.000 +0.348,0.507,1.000 +0.370,0.510,1.000 +0.392,0.514,1.000 +0.414,0.519,1.000 +0.435,0.525,1.000 +0.457,0.531,1.000 +0.478,0.538,1.000 +0.498,0.546,1.000 +0.518,0.553,1.000 +0.538,0.561,1.000 +0.558,0.570,1.000 +0.577,0.578,1.000 +0.595,0.586,1.000 +0.614,0.595,1.000 +0.632,0.604,1.000 +0.649,0.613,1.000 +0.667,0.622,1.000 diff --git a/release-packaging/Resources/color-schemes/CET-C7.csv b/release-packaging/Resources/color-schemes/CET-C7.csv new file mode 100644 index 0000000..f0136b5 --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-C7.csv @@ -0,0 +1,256 @@ +0.914,0.894,0.098 +0.920,0.891,0.123 +0.926,0.887,0.147 +0.932,0.882,0.171 +0.937,0.876,0.193 +0.942,0.869,0.215 +0.947,0.862,0.236 +0.951,0.854,0.256 +0.955,0.846,0.275 +0.959,0.837,0.294 +0.963,0.829,0.312 +0.966,0.820,0.330 +0.970,0.811,0.346 +0.973,0.802,0.363 +0.976,0.793,0.379 +0.980,0.784,0.394 +0.983,0.774,0.409 +0.985,0.765,0.423 +0.988,0.756,0.438 +0.991,0.747,0.452 +0.993,0.737,0.465 +0.996,0.728,0.479 +0.998,0.718,0.492 +1.000,0.709,0.505 +1.000,0.699,0.518 +1.000,0.689,0.531 +1.000,0.680,0.544 +1.000,0.670,0.556 +1.000,0.660,0.568 +1.000,0.650,0.581 +1.000,0.640,0.593 +1.000,0.630,0.605 +1.000,0.619,0.617 +1.000,0.609,0.629 +1.000,0.598,0.641 +1.000,0.588,0.652 +1.000,0.577,0.664 +1.000,0.566,0.676 +1.000,0.555,0.687 +1.000,0.544,0.699 +1.000,0.533,0.710 +1.000,0.522,0.722 +1.000,0.510,0.733 +1.000,0.498,0.745 +1.000,0.486,0.756 +1.000,0.474,0.767 +1.000,0.462,0.779 +1.000,0.449,0.790 +1.000,0.436,0.801 +1.000,0.423,0.812 +1.000,0.409,0.824 +1.000,0.395,0.835 +1.000,0.381,0.846 +1.000,0.366,0.857 +1.000,0.351,0.868 +1.000,0.336,0.879 +1.000,0.321,0.890 +1.000,0.306,0.901 +1.000,0.291,0.912 +1.000,0.277,0.923 +1.000,0.265,0.933 +0.999,0.255,0.942 +0.996,0.248,0.951 +0.992,0.245,0.960 +0.987,0.246,0.967 +0.983,0.250,0.974 +0.978,0.259,0.979 +0.973,0.270,0.984 +0.967,0.284,0.988 +0.962,0.300,0.990 +0.956,0.316,0.993 +0.950,0.334,0.994 +0.944,0.351,0.995 +0.938,0.369,0.996 +0.932,0.386,0.997 +0.926,0.402,0.997 +0.920,0.419,0.997 +0.913,0.435,0.997 +0.907,0.450,0.997 +0.900,0.465,0.997 +0.893,0.480,0.997 +0.886,0.494,0.997 +0.879,0.507,0.997 +0.872,0.521,0.997 +0.865,0.534,0.997 +0.858,0.547,0.997 +0.850,0.560,0.997 +0.842,0.572,0.996 +0.835,0.584,0.996 +0.827,0.596,0.996 +0.818,0.608,0.996 +0.810,0.620,0.996 +0.802,0.631,0.996 +0.793,0.642,0.996 +0.784,0.653,0.996 +0.775,0.664,0.995 +0.766,0.675,0.995 +0.756,0.686,0.995 +0.747,0.697,0.995 +0.737,0.707,0.995 +0.726,0.718,0.995 +0.716,0.728,0.994 +0.705,0.738,0.994 +0.694,0.748,0.994 +0.683,0.758,0.994 +0.671,0.768,0.994 +0.659,0.778,0.993 +0.647,0.788,0.993 +0.634,0.798,0.993 +0.620,0.807,0.993 +0.607,0.817,0.992 +0.592,0.826,0.992 +0.578,0.836,0.992 +0.562,0.845,0.992 +0.546,0.855,0.991 +0.529,0.864,0.991 +0.511,0.873,0.990 +0.493,0.882,0.990 +0.473,0.891,0.989 +0.453,0.900,0.988 +0.431,0.908,0.987 +0.408,0.916,0.985 +0.385,0.924,0.983 +0.360,0.931,0.980 +0.334,0.937,0.976 +0.308,0.943,0.972 +0.282,0.947,0.966 +0.257,0.951,0.959 +0.232,0.953,0.951 +0.209,0.955,0.942 +0.189,0.955,0.933 +0.173,0.954,0.922 +0.160,0.952,0.910 +0.152,0.949,0.898 +0.148,0.946,0.886 +0.147,0.942,0.873 +0.149,0.938,0.860 +0.153,0.934,0.847 +0.157,0.929,0.834 +0.162,0.924,0.820 +0.167,0.919,0.807 +0.172,0.914,0.793 +0.177,0.909,0.780 +0.181,0.904,0.767 +0.185,0.899,0.753 +0.188,0.894,0.740 +0.191,0.889,0.726 +0.194,0.884,0.713 +0.196,0.879,0.700 +0.198,0.873,0.687 +0.199,0.868,0.673 +0.201,0.863,0.660 +0.202,0.858,0.647 +0.202,0.853,0.633 +0.203,0.848,0.620 +0.203,0.843,0.607 +0.203,0.838,0.594 +0.203,0.833,0.581 +0.202,0.828,0.567 +0.201,0.823,0.554 +0.200,0.819,0.541 +0.199,0.814,0.528 +0.198,0.809,0.515 +0.196,0.804,0.501 +0.194,0.799,0.488 +0.192,0.794,0.475 +0.189,0.789,0.462 +0.187,0.784,0.448 +0.184,0.779,0.435 +0.181,0.774,0.422 +0.177,0.769,0.408 +0.174,0.764,0.395 +0.170,0.760,0.381 +0.166,0.755,0.368 +0.161,0.750,0.354 +0.156,0.745,0.340 +0.151,0.740,0.326 +0.146,0.735,0.312 +0.140,0.730,0.298 +0.134,0.726,0.284 +0.128,0.721,0.269 +0.122,0.716,0.255 +0.116,0.712,0.240 +0.111,0.707,0.224 +0.107,0.703,0.209 +0.104,0.699,0.193 +0.103,0.695,0.177 +0.105,0.692,0.160 +0.109,0.690,0.144 +0.116,0.688,0.128 +0.126,0.686,0.111 +0.138,0.686,0.095 +0.152,0.686,0.078 +0.167,0.686,0.062 +0.183,0.688,0.046 +0.199,0.690,0.031 +0.216,0.692,0.019 +0.232,0.695,0.009 +0.249,0.698,0.002 +0.265,0.702,0.000 +0.281,0.705,0.000 +0.296,0.709,0.000 +0.311,0.713,0.000 +0.326,0.717,0.000 +0.340,0.721,0.000 +0.354,0.725,0.000 +0.368,0.729,0.000 +0.382,0.733,0.000 +0.395,0.737,0.000 +0.408,0.741,0.000 +0.421,0.745,0.000 +0.433,0.749,0.000 +0.446,0.753,0.000 +0.458,0.757,0.000 +0.470,0.761,0.000 +0.482,0.765,0.000 +0.494,0.769,0.000 +0.506,0.773,0.000 +0.518,0.777,0.000 +0.529,0.781,0.000 +0.541,0.785,0.000 +0.552,0.789,0.000 +0.564,0.792,0.000 +0.575,0.796,0.000 +0.586,0.800,0.000 +0.597,0.804,0.000 +0.609,0.808,0.000 +0.620,0.812,0.000 +0.631,0.816,0.000 +0.642,0.820,0.000 +0.653,0.823,0.000 +0.664,0.827,0.000 +0.675,0.831,0.000 +0.686,0.835,0.000 +0.696,0.839,0.000 +0.707,0.842,0.000 +0.718,0.846,0.000 +0.729,0.850,0.000 +0.740,0.854,0.000 +0.750,0.858,0.000 +0.761,0.861,0.000 +0.772,0.865,0.000 +0.782,0.869,0.000 +0.793,0.873,0.000 +0.803,0.876,0.000 +0.814,0.880,0.000 +0.824,0.883,0.000 +0.835,0.887,0.000 +0.845,0.890,0.000 +0.855,0.892,0.000 +0.864,0.895,0.000 +0.874,0.897,0.000 +0.883,0.898,0.000 +0.891,0.898,0.012 +0.899,0.898,0.042 +0.907,0.897,0.072 diff --git a/release-packaging/Resources/color-schemes/CET-C7s.csv b/release-packaging/Resources/color-schemes/CET-C7s.csv new file mode 100644 index 0000000..fb46113 --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-C7s.csv @@ -0,0 +1,256 @@ +0.152,0.686,0.078 +0.167,0.686,0.062 +0.183,0.688,0.046 +0.199,0.690,0.031 +0.216,0.692,0.019 +0.232,0.695,0.009 +0.249,0.698,0.002 +0.265,0.702,0.000 +0.281,0.705,0.000 +0.296,0.709,0.000 +0.311,0.713,0.000 +0.326,0.717,0.000 +0.340,0.721,0.000 +0.354,0.725,0.000 +0.368,0.729,0.000 +0.382,0.733,0.000 +0.395,0.737,0.000 +0.408,0.741,0.000 +0.421,0.745,0.000 +0.433,0.749,0.000 +0.446,0.753,0.000 +0.458,0.757,0.000 +0.470,0.761,0.000 +0.482,0.765,0.000 +0.494,0.769,0.000 +0.506,0.773,0.000 +0.518,0.777,0.000 +0.529,0.781,0.000 +0.541,0.785,0.000 +0.552,0.789,0.000 +0.564,0.792,0.000 +0.575,0.796,0.000 +0.586,0.800,0.000 +0.597,0.804,0.000 +0.609,0.808,0.000 +0.620,0.812,0.000 +0.631,0.816,0.000 +0.642,0.820,0.000 +0.653,0.823,0.000 +0.664,0.827,0.000 +0.675,0.831,0.000 +0.686,0.835,0.000 +0.696,0.839,0.000 +0.707,0.842,0.000 +0.718,0.846,0.000 +0.729,0.850,0.000 +0.740,0.854,0.000 +0.750,0.858,0.000 +0.761,0.861,0.000 +0.772,0.865,0.000 +0.782,0.869,0.000 +0.793,0.873,0.000 +0.803,0.876,0.000 +0.814,0.880,0.000 +0.824,0.883,0.000 +0.835,0.887,0.000 +0.845,0.890,0.000 +0.855,0.892,0.000 +0.864,0.895,0.000 +0.874,0.897,0.000 +0.883,0.898,0.000 +0.891,0.898,0.012 +0.899,0.898,0.042 +0.907,0.897,0.072 +0.914,0.894,0.098 +0.920,0.891,0.123 +0.926,0.887,0.147 +0.932,0.882,0.171 +0.937,0.876,0.193 +0.942,0.869,0.215 +0.947,0.862,0.236 +0.951,0.854,0.256 +0.955,0.846,0.275 +0.959,0.837,0.294 +0.963,0.829,0.312 +0.966,0.820,0.330 +0.970,0.811,0.346 +0.973,0.802,0.363 +0.976,0.793,0.379 +0.980,0.784,0.394 +0.983,0.774,0.409 +0.985,0.765,0.423 +0.988,0.756,0.438 +0.991,0.747,0.452 +0.993,0.737,0.465 +0.996,0.728,0.479 +0.998,0.718,0.492 +1.000,0.709,0.505 +1.000,0.699,0.518 +1.000,0.689,0.531 +1.000,0.680,0.544 +1.000,0.670,0.556 +1.000,0.660,0.568 +1.000,0.650,0.581 +1.000,0.640,0.593 +1.000,0.630,0.605 +1.000,0.619,0.617 +1.000,0.609,0.629 +1.000,0.598,0.641 +1.000,0.588,0.652 +1.000,0.577,0.664 +1.000,0.566,0.676 +1.000,0.555,0.687 +1.000,0.544,0.699 +1.000,0.533,0.710 +1.000,0.522,0.722 +1.000,0.510,0.733 +1.000,0.498,0.745 +1.000,0.486,0.756 +1.000,0.474,0.767 +1.000,0.462,0.779 +1.000,0.449,0.790 +1.000,0.436,0.801 +1.000,0.423,0.812 +1.000,0.409,0.824 +1.000,0.395,0.835 +1.000,0.381,0.846 +1.000,0.366,0.857 +1.000,0.351,0.868 +1.000,0.336,0.879 +1.000,0.321,0.890 +1.000,0.306,0.901 +1.000,0.291,0.912 +1.000,0.277,0.923 +1.000,0.265,0.933 +0.999,0.255,0.942 +0.996,0.248,0.951 +0.992,0.245,0.960 +0.987,0.246,0.967 +0.983,0.250,0.974 +0.978,0.259,0.979 +0.973,0.270,0.984 +0.967,0.284,0.988 +0.962,0.300,0.990 +0.956,0.316,0.993 +0.950,0.334,0.994 +0.944,0.351,0.995 +0.938,0.369,0.996 +0.932,0.386,0.997 +0.926,0.402,0.997 +0.920,0.419,0.997 +0.913,0.435,0.997 +0.907,0.450,0.997 +0.900,0.465,0.997 +0.893,0.480,0.997 +0.886,0.494,0.997 +0.879,0.507,0.997 +0.872,0.521,0.997 +0.865,0.534,0.997 +0.858,0.547,0.997 +0.850,0.560,0.997 +0.842,0.572,0.996 +0.835,0.584,0.996 +0.827,0.596,0.996 +0.818,0.608,0.996 +0.810,0.620,0.996 +0.802,0.631,0.996 +0.793,0.642,0.996 +0.784,0.653,0.996 +0.775,0.664,0.995 +0.766,0.675,0.995 +0.756,0.686,0.995 +0.747,0.697,0.995 +0.737,0.707,0.995 +0.726,0.718,0.995 +0.716,0.728,0.994 +0.705,0.738,0.994 +0.694,0.748,0.994 +0.683,0.758,0.994 +0.671,0.768,0.994 +0.659,0.778,0.993 +0.647,0.788,0.993 +0.634,0.798,0.993 +0.620,0.807,0.993 +0.607,0.817,0.992 +0.592,0.826,0.992 +0.578,0.836,0.992 +0.562,0.845,0.992 +0.546,0.855,0.991 +0.529,0.864,0.991 +0.511,0.873,0.990 +0.493,0.882,0.990 +0.473,0.891,0.989 +0.453,0.900,0.988 +0.431,0.908,0.987 +0.408,0.916,0.985 +0.385,0.924,0.983 +0.360,0.931,0.980 +0.334,0.937,0.976 +0.308,0.943,0.972 +0.282,0.947,0.966 +0.257,0.951,0.959 +0.232,0.953,0.951 +0.209,0.955,0.942 +0.189,0.955,0.933 +0.173,0.954,0.922 +0.160,0.952,0.910 +0.152,0.949,0.898 +0.148,0.946,0.886 +0.147,0.942,0.873 +0.149,0.938,0.860 +0.153,0.934,0.847 +0.157,0.929,0.834 +0.162,0.924,0.820 +0.167,0.919,0.807 +0.172,0.914,0.793 +0.177,0.909,0.780 +0.181,0.904,0.767 +0.185,0.899,0.753 +0.188,0.894,0.740 +0.191,0.889,0.726 +0.194,0.884,0.713 +0.196,0.879,0.700 +0.198,0.873,0.687 +0.199,0.868,0.673 +0.201,0.863,0.660 +0.202,0.858,0.647 +0.202,0.853,0.633 +0.203,0.848,0.620 +0.203,0.843,0.607 +0.203,0.838,0.594 +0.203,0.833,0.581 +0.202,0.828,0.567 +0.201,0.823,0.554 +0.200,0.819,0.541 +0.199,0.814,0.528 +0.198,0.809,0.515 +0.196,0.804,0.501 +0.194,0.799,0.488 +0.192,0.794,0.475 +0.189,0.789,0.462 +0.187,0.784,0.448 +0.184,0.779,0.435 +0.181,0.774,0.422 +0.177,0.769,0.408 +0.174,0.764,0.395 +0.170,0.760,0.381 +0.166,0.755,0.368 +0.161,0.750,0.354 +0.156,0.745,0.340 +0.151,0.740,0.326 +0.146,0.735,0.312 +0.140,0.730,0.298 +0.134,0.726,0.284 +0.128,0.721,0.269 +0.122,0.716,0.255 +0.116,0.712,0.240 +0.111,0.707,0.224 +0.107,0.703,0.209 +0.104,0.699,0.193 +0.103,0.695,0.177 +0.105,0.692,0.160 +0.109,0.690,0.144 +0.116,0.688,0.128 +0.126,0.686,0.111 +0.138,0.686,0.095 diff --git a/release-packaging/Resources/color-schemes/CET-CBC1.csv b/release-packaging/Resources/color-schemes/CET-CBC1.csv new file mode 100644 index 0000000..8f92542 --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-CBC1.csv @@ -0,0 +1,256 @@ +0.244,0.528,0.918 +0.254,0.534,0.923 +0.267,0.539,0.928 +0.280,0.545,0.931 +0.294,0.551,0.934 +0.309,0.557,0.936 +0.324,0.563,0.938 +0.340,0.569,0.939 +0.355,0.575,0.940 +0.370,0.581,0.941 +0.384,0.587,0.942 +0.399,0.593,0.942 +0.413,0.599,0.943 +0.426,0.606,0.943 +0.440,0.612,0.944 +0.453,0.618,0.944 +0.466,0.624,0.945 +0.478,0.631,0.945 +0.491,0.637,0.945 +0.503,0.644,0.946 +0.515,0.650,0.946 +0.526,0.656,0.947 +0.538,0.663,0.947 +0.549,0.669,0.947 +0.561,0.676,0.948 +0.572,0.682,0.948 +0.583,0.689,0.948 +0.593,0.695,0.949 +0.604,0.702,0.949 +0.615,0.708,0.949 +0.625,0.715,0.950 +0.636,0.722,0.950 +0.646,0.728,0.950 +0.656,0.735,0.951 +0.666,0.742,0.951 +0.676,0.748,0.951 +0.686,0.755,0.951 +0.696,0.762,0.952 +0.706,0.768,0.952 +0.716,0.775,0.952 +0.726,0.782,0.952 +0.735,0.789,0.952 +0.745,0.795,0.953 +0.754,0.802,0.953 +0.764,0.809,0.953 +0.773,0.816,0.953 +0.783,0.823,0.953 +0.792,0.829,0.954 +0.801,0.836,0.954 +0.811,0.843,0.954 +0.820,0.850,0.954 +0.829,0.857,0.954 +0.838,0.864,0.954 +0.847,0.870,0.954 +0.856,0.877,0.953 +0.865,0.884,0.953 +0.873,0.890,0.952 +0.882,0.896,0.950 +0.890,0.901,0.948 +0.897,0.906,0.945 +0.904,0.910,0.941 +0.910,0.914,0.936 +0.915,0.916,0.930 +0.919,0.917,0.923 +0.922,0.917,0.915 +0.924,0.916,0.906 +0.925,0.914,0.895 +0.925,0.911,0.884 +0.924,0.908,0.872 +0.922,0.903,0.860 +0.920,0.898,0.847 +0.917,0.892,0.834 +0.913,0.886,0.821 +0.909,0.879,0.807 +0.905,0.872,0.794 +0.901,0.866,0.780 +0.897,0.859,0.766 +0.892,0.852,0.753 +0.888,0.845,0.739 +0.883,0.838,0.726 +0.878,0.831,0.712 +0.873,0.824,0.699 +0.869,0.818,0.685 +0.864,0.811,0.672 +0.859,0.804,0.658 +0.854,0.797,0.645 +0.849,0.790,0.631 +0.844,0.784,0.618 +0.839,0.777,0.605 +0.834,0.770,0.591 +0.829,0.763,0.578 +0.824,0.757,0.565 +0.819,0.750,0.552 +0.814,0.743,0.538 +0.808,0.736,0.525 +0.803,0.730,0.512 +0.798,0.723,0.499 +0.792,0.717,0.486 +0.787,0.710,0.472 +0.782,0.703,0.459 +0.776,0.697,0.446 +0.771,0.690,0.433 +0.765,0.684,0.420 +0.759,0.677,0.406 +0.754,0.670,0.393 +0.748,0.664,0.380 +0.742,0.657,0.367 +0.737,0.651,0.353 +0.731,0.645,0.340 +0.725,0.638,0.327 +0.719,0.632,0.313 +0.713,0.625,0.299 +0.707,0.619,0.286 +0.701,0.612,0.272 +0.695,0.606,0.258 +0.689,0.600,0.244 +0.683,0.593,0.230 +0.677,0.587,0.216 +0.671,0.581,0.201 +0.665,0.574,0.187 +0.658,0.568,0.172 +0.652,0.562,0.157 +0.645,0.556,0.143 +0.639,0.550,0.129 +0.632,0.543,0.115 +0.626,0.537,0.102 +0.619,0.531,0.090 +0.612,0.525,0.079 +0.605,0.519,0.071 +0.598,0.512,0.064 +0.591,0.506,0.059 +0.584,0.500,0.057 +0.577,0.494,0.057 +0.570,0.488,0.058 +0.563,0.482,0.061 +0.556,0.476,0.065 +0.549,0.470,0.069 +0.542,0.464,0.073 +0.534,0.458,0.077 +0.527,0.452,0.081 +0.520,0.446,0.085 +0.513,0.440,0.089 +0.506,0.434,0.093 +0.499,0.428,0.096 +0.492,0.422,0.099 +0.485,0.416,0.102 +0.478,0.410,0.105 +0.470,0.404,0.108 +0.463,0.398,0.111 +0.456,0.392,0.113 +0.449,0.386,0.116 +0.442,0.380,0.118 +0.435,0.375,0.120 +0.428,0.369,0.122 +0.421,0.363,0.124 +0.414,0.357,0.126 +0.407,0.352,0.128 +0.400,0.346,0.130 +0.393,0.340,0.131 +0.387,0.334,0.133 +0.380,0.329,0.134 +0.373,0.323,0.136 +0.366,0.317,0.137 +0.359,0.312,0.138 +0.352,0.306,0.140 +0.345,0.301,0.141 +0.338,0.295,0.142 +0.331,0.289,0.143 +0.325,0.284,0.144 +0.318,0.278,0.145 +0.311,0.273,0.146 +0.304,0.267,0.147 +0.297,0.262,0.148 +0.290,0.256,0.148 +0.283,0.251,0.149 +0.277,0.246,0.150 +0.270,0.240,0.150 +0.263,0.235,0.151 +0.256,0.230,0.152 +0.249,0.224,0.152 +0.242,0.219,0.153 +0.236,0.214,0.154 +0.229,0.209,0.155 +0.223,0.204,0.156 +0.216,0.200,0.157 +0.210,0.195,0.159 +0.205,0.192,0.161 +0.199,0.188,0.163 +0.195,0.186,0.167 +0.190,0.183,0.171 +0.187,0.182,0.176 +0.184,0.182,0.181 +0.183,0.182,0.188 +0.181,0.183,0.195 +0.181,0.185,0.203 +0.181,0.187,0.212 +0.182,0.191,0.221 +0.184,0.194,0.231 +0.186,0.198,0.241 +0.188,0.203,0.251 +0.190,0.208,0.261 +0.192,0.213,0.272 +0.195,0.218,0.283 +0.198,0.223,0.294 +0.200,0.228,0.305 +0.203,0.233,0.316 +0.205,0.239,0.327 +0.207,0.244,0.338 +0.210,0.250,0.350 +0.212,0.255,0.361 +0.214,0.260,0.373 +0.216,0.266,0.384 +0.218,0.271,0.396 +0.220,0.277,0.407 +0.222,0.283,0.419 +0.224,0.288,0.431 +0.225,0.294,0.442 +0.227,0.299,0.454 +0.228,0.305,0.466 +0.229,0.311,0.478 +0.231,0.316,0.490 +0.232,0.322,0.502 +0.233,0.328,0.514 +0.234,0.333,0.526 +0.235,0.339,0.538 +0.235,0.345,0.550 +0.236,0.351,0.563 +0.236,0.356,0.575 +0.237,0.362,0.587 +0.237,0.368,0.600 +0.237,0.374,0.612 +0.237,0.380,0.625 +0.237,0.386,0.637 +0.237,0.392,0.650 +0.237,0.397,0.662 +0.236,0.403,0.675 +0.236,0.409,0.688 +0.235,0.415,0.701 +0.234,0.421,0.713 +0.233,0.427,0.726 +0.232,0.433,0.739 +0.230,0.439,0.752 +0.229,0.445,0.765 +0.227,0.452,0.778 +0.225,0.458,0.791 +0.223,0.464,0.804 +0.221,0.470,0.816 +0.220,0.476,0.829 +0.218,0.482,0.841 +0.217,0.488,0.853 +0.216,0.494,0.865 +0.217,0.499,0.876 +0.219,0.505,0.886 +0.222,0.511,0.895 +0.228,0.517,0.904 +0.235,0.522,0.911 diff --git a/release-packaging/Resources/color-schemes/CET-CBC2.csv b/release-packaging/Resources/color-schemes/CET-CBC2.csv new file mode 100644 index 0000000..8cd0eda --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-CBC2.csv @@ -0,0 +1,256 @@ +0.933,0.930,0.927 +0.935,0.929,0.918 +0.935,0.926,0.909 +0.935,0.923,0.899 +0.933,0.919,0.887 +0.931,0.914,0.875 +0.929,0.909,0.863 +0.925,0.903,0.849 +0.922,0.896,0.836 +0.918,0.890,0.822 +0.914,0.883,0.808 +0.910,0.876,0.793 +0.906,0.869,0.779 +0.901,0.862,0.765 +0.897,0.855,0.750 +0.893,0.848,0.736 +0.888,0.841,0.721 +0.883,0.834,0.707 +0.879,0.827,0.693 +0.874,0.820,0.678 +0.869,0.813,0.664 +0.864,0.806,0.650 +0.860,0.799,0.636 +0.855,0.792,0.622 +0.850,0.785,0.607 +0.845,0.779,0.593 +0.840,0.772,0.579 +0.835,0.765,0.565 +0.829,0.758,0.551 +0.824,0.751,0.537 +0.819,0.744,0.523 +0.814,0.738,0.509 +0.808,0.731,0.495 +0.803,0.724,0.481 +0.798,0.717,0.467 +0.792,0.711,0.452 +0.787,0.704,0.438 +0.781,0.697,0.424 +0.775,0.691,0.410 +0.770,0.684,0.396 +0.764,0.677,0.382 +0.758,0.671,0.368 +0.753,0.664,0.353 +0.747,0.658,0.339 +0.741,0.651,0.325 +0.735,0.644,0.310 +0.729,0.638,0.296 +0.723,0.631,0.281 +0.717,0.625,0.266 +0.711,0.618,0.251 +0.704,0.612,0.235 +0.698,0.605,0.220 +0.692,0.599,0.204 +0.686,0.593,0.187 +0.680,0.587,0.171 +0.674,0.580,0.154 +0.668,0.575,0.136 +0.662,0.569,0.118 +0.657,0.564,0.099 +0.652,0.559,0.080 +0.647,0.555,0.060 +0.643,0.551,0.040 +0.641,0.548,0.023 +0.639,0.546,0.011 +0.638,0.546,0.006 +0.638,0.546,0.007 +0.639,0.547,0.014 +0.641,0.549,0.027 +0.644,0.552,0.046 +0.648,0.556,0.066 +0.653,0.560,0.085 +0.658,0.565,0.104 +0.663,0.570,0.123 +0.669,0.576,0.141 +0.675,0.582,0.158 +0.681,0.588,0.175 +0.688,0.594,0.192 +0.694,0.601,0.208 +0.700,0.607,0.224 +0.706,0.614,0.240 +0.712,0.620,0.255 +0.718,0.627,0.270 +0.724,0.633,0.285 +0.730,0.640,0.300 +0.736,0.646,0.314 +0.742,0.653,0.329 +0.748,0.659,0.343 +0.754,0.666,0.357 +0.760,0.672,0.372 +0.766,0.679,0.386 +0.771,0.686,0.400 +0.777,0.692,0.414 +0.783,0.699,0.428 +0.788,0.706,0.442 +0.794,0.712,0.456 +0.799,0.719,0.470 +0.805,0.726,0.484 +0.810,0.733,0.498 +0.815,0.739,0.512 +0.820,0.746,0.527 +0.826,0.753,0.541 +0.831,0.760,0.555 +0.836,0.767,0.569 +0.841,0.773,0.583 +0.846,0.780,0.597 +0.851,0.787,0.611 +0.856,0.794,0.625 +0.861,0.801,0.640 +0.866,0.808,0.654 +0.871,0.815,0.668 +0.875,0.822,0.682 +0.880,0.829,0.697 +0.885,0.836,0.711 +0.889,0.843,0.725 +0.894,0.850,0.740 +0.898,0.857,0.754 +0.902,0.864,0.768 +0.907,0.871,0.783 +0.911,0.877,0.797 +0.915,0.884,0.812 +0.918,0.890,0.826 +0.921,0.897,0.840 +0.924,0.902,0.854 +0.926,0.907,0.867 +0.927,0.912,0.880 +0.927,0.915,0.892 +0.927,0.918,0.903 +0.925,0.919,0.913 +0.922,0.919,0.922 +0.918,0.919,0.930 +0.913,0.917,0.937 +0.908,0.914,0.943 +0.901,0.910,0.948 +0.894,0.905,0.951 +0.886,0.900,0.954 +0.877,0.894,0.956 +0.869,0.888,0.958 +0.860,0.881,0.960 +0.850,0.874,0.961 +0.841,0.868,0.961 +0.832,0.861,0.962 +0.822,0.854,0.963 +0.812,0.847,0.963 +0.803,0.840,0.964 +0.793,0.833,0.964 +0.783,0.826,0.964 +0.773,0.819,0.965 +0.763,0.812,0.965 +0.753,0.805,0.966 +0.743,0.798,0.966 +0.733,0.791,0.966 +0.723,0.785,0.967 +0.713,0.778,0.967 +0.703,0.771,0.968 +0.692,0.764,0.968 +0.682,0.757,0.968 +0.671,0.750,0.969 +0.660,0.744,0.969 +0.650,0.737,0.969 +0.639,0.730,0.969 +0.628,0.724,0.970 +0.616,0.717,0.970 +0.605,0.710,0.970 +0.594,0.704,0.971 +0.582,0.697,0.971 +0.570,0.690,0.971 +0.559,0.684,0.971 +0.546,0.677,0.971 +0.534,0.671,0.972 +0.522,0.664,0.972 +0.509,0.657,0.972 +0.496,0.651,0.972 +0.483,0.644,0.972 +0.469,0.638,0.973 +0.455,0.632,0.973 +0.441,0.625,0.973 +0.426,0.619,0.973 +0.411,0.612,0.973 +0.396,0.606,0.973 +0.380,0.600,0.973 +0.363,0.594,0.973 +0.346,0.588,0.973 +0.329,0.582,0.974 +0.311,0.576,0.974 +0.293,0.571,0.974 +0.276,0.566,0.974 +0.259,0.561,0.974 +0.244,0.557,0.974 +0.231,0.554,0.974 +0.221,0.552,0.974 +0.214,0.551,0.974 +0.212,0.550,0.974 +0.215,0.551,0.974 +0.222,0.552,0.974 +0.233,0.555,0.974 +0.247,0.558,0.974 +0.263,0.562,0.974 +0.280,0.567,0.974 +0.297,0.572,0.974 +0.315,0.577,0.974 +0.333,0.583,0.974 +0.350,0.589,0.973 +0.367,0.595,0.973 +0.383,0.601,0.973 +0.399,0.607,0.973 +0.415,0.614,0.973 +0.430,0.620,0.973 +0.444,0.627,0.973 +0.458,0.633,0.973 +0.472,0.639,0.972 +0.486,0.646,0.972 +0.499,0.652,0.972 +0.512,0.659,0.972 +0.524,0.665,0.972 +0.537,0.672,0.972 +0.549,0.679,0.971 +0.561,0.685,0.971 +0.573,0.692,0.971 +0.585,0.698,0.971 +0.596,0.705,0.970 +0.608,0.712,0.970 +0.619,0.718,0.970 +0.630,0.725,0.970 +0.641,0.732,0.969 +0.652,0.738,0.969 +0.663,0.745,0.969 +0.673,0.752,0.968 +0.684,0.759,0.968 +0.694,0.766,0.968 +0.705,0.772,0.968 +0.715,0.779,0.967 +0.725,0.786,0.967 +0.736,0.793,0.966 +0.746,0.800,0.966 +0.756,0.807,0.966 +0.766,0.814,0.965 +0.775,0.820,0.965 +0.785,0.827,0.964 +0.795,0.834,0.964 +0.805,0.841,0.963 +0.814,0.848,0.963 +0.824,0.855,0.963 +0.834,0.862,0.962 +0.843,0.869,0.962 +0.852,0.876,0.961 +0.862,0.883,0.960 +0.871,0.890,0.960 +0.880,0.896,0.959 +0.888,0.903,0.957 +0.896,0.909,0.956 +0.904,0.914,0.954 +0.911,0.919,0.952 +0.918,0.923,0.948 +0.923,0.926,0.944 +0.928,0.929,0.940 +0.931,0.930,0.934 diff --git a/release-packaging/Resources/color-schemes/CET-CBD1.csv b/release-packaging/Resources/color-schemes/CET-CBD1.csv new file mode 100644 index 0000000..3ba00bd --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-CBD1.csv @@ -0,0 +1,256 @@ +0.229,0.566,0.997 +0.242,0.569,0.996 +0.253,0.571,0.996 +0.265,0.574,0.996 +0.276,0.577,0.996 +0.286,0.580,0.995 +0.296,0.582,0.995 +0.306,0.585,0.995 +0.315,0.588,0.994 +0.324,0.590,0.994 +0.333,0.593,0.994 +0.342,0.596,0.993 +0.350,0.599,0.993 +0.359,0.601,0.993 +0.367,0.604,0.993 +0.375,0.607,0.992 +0.382,0.610,0.992 +0.390,0.612,0.992 +0.397,0.615,0.991 +0.405,0.618,0.991 +0.412,0.621,0.991 +0.419,0.624,0.990 +0.426,0.626,0.990 +0.433,0.629,0.990 +0.440,0.632,0.989 +0.446,0.635,0.989 +0.453,0.638,0.989 +0.459,0.640,0.988 +0.466,0.643,0.988 +0.472,0.646,0.988 +0.478,0.649,0.987 +0.485,0.652,0.987 +0.491,0.654,0.987 +0.497,0.657,0.986 +0.503,0.660,0.986 +0.509,0.663,0.986 +0.515,0.666,0.985 +0.520,0.669,0.985 +0.526,0.672,0.985 +0.532,0.674,0.984 +0.538,0.677,0.984 +0.543,0.680,0.983 +0.549,0.683,0.983 +0.554,0.686,0.983 +0.560,0.689,0.982 +0.565,0.692,0.982 +0.571,0.694,0.982 +0.576,0.697,0.981 +0.581,0.700,0.981 +0.587,0.703,0.980 +0.592,0.706,0.980 +0.597,0.709,0.980 +0.602,0.712,0.979 +0.608,0.715,0.979 +0.613,0.718,0.979 +0.618,0.721,0.978 +0.623,0.724,0.978 +0.628,0.726,0.977 +0.633,0.729,0.977 +0.638,0.732,0.977 +0.643,0.735,0.976 +0.648,0.738,0.976 +0.653,0.741,0.975 +0.658,0.744,0.975 +0.663,0.747,0.975 +0.667,0.750,0.974 +0.672,0.753,0.974 +0.677,0.756,0.973 +0.682,0.759,0.973 +0.687,0.762,0.973 +0.691,0.765,0.972 +0.696,0.768,0.972 +0.701,0.771,0.971 +0.705,0.774,0.971 +0.710,0.777,0.970 +0.715,0.780,0.970 +0.719,0.783,0.970 +0.724,0.786,0.969 +0.728,0.789,0.969 +0.733,0.792,0.968 +0.738,0.795,0.968 +0.742,0.798,0.967 +0.747,0.801,0.967 +0.751,0.804,0.966 +0.756,0.807,0.966 +0.760,0.810,0.966 +0.765,0.813,0.965 +0.769,0.816,0.965 +0.773,0.819,0.964 +0.778,0.822,0.964 +0.782,0.825,0.963 +0.787,0.828,0.963 +0.791,0.831,0.962 +0.795,0.834,0.962 +0.800,0.837,0.961 +0.804,0.840,0.961 +0.808,0.843,0.960 +0.813,0.846,0.960 +0.817,0.849,0.959 +0.821,0.852,0.959 +0.826,0.855,0.958 +0.830,0.858,0.958 +0.834,0.862,0.957 +0.838,0.865,0.957 +0.843,0.868,0.956 +0.847,0.871,0.956 +0.851,0.874,0.955 +0.855,0.877,0.955 +0.860,0.880,0.954 +0.864,0.883,0.954 +0.868,0.886,0.953 +0.872,0.889,0.953 +0.876,0.892,0.952 +0.880,0.896,0.952 +0.885,0.899,0.951 +0.889,0.902,0.951 +0.893,0.905,0.950 +0.897,0.908,0.949 +0.901,0.911,0.949 +0.905,0.914,0.948 +0.909,0.916,0.947 +0.912,0.919,0.946 +0.916,0.922,0.944 +0.919,0.924,0.942 +0.922,0.925,0.940 +0.925,0.927,0.937 +0.927,0.928,0.934 +0.929,0.928,0.930 +0.931,0.928,0.926 +0.932,0.928,0.922 +0.932,0.927,0.917 +0.932,0.925,0.911 +0.932,0.924,0.905 +0.931,0.921,0.899 +0.931,0.919,0.893 +0.929,0.916,0.887 +0.928,0.914,0.880 +0.927,0.911,0.874 +0.925,0.908,0.867 +0.924,0.905,0.860 +0.922,0.902,0.854 +0.920,0.898,0.847 +0.919,0.895,0.840 +0.917,0.892,0.834 +0.915,0.889,0.827 +0.914,0.886,0.820 +0.912,0.883,0.814 +0.910,0.880,0.807 +0.908,0.877,0.801 +0.907,0.874,0.794 +0.905,0.870,0.787 +0.903,0.867,0.781 +0.901,0.864,0.774 +0.899,0.861,0.768 +0.898,0.858,0.761 +0.896,0.855,0.754 +0.894,0.852,0.748 +0.892,0.849,0.741 +0.890,0.846,0.735 +0.888,0.843,0.728 +0.886,0.840,0.722 +0.884,0.837,0.715 +0.882,0.834,0.709 +0.881,0.831,0.702 +0.879,0.827,0.695 +0.877,0.824,0.689 +0.875,0.821,0.682 +0.873,0.818,0.676 +0.871,0.815,0.669 +0.869,0.812,0.663 +0.867,0.809,0.656 +0.865,0.806,0.650 +0.863,0.803,0.643 +0.861,0.800,0.637 +0.859,0.797,0.630 +0.856,0.794,0.624 +0.854,0.791,0.617 +0.852,0.788,0.611 +0.850,0.785,0.604 +0.848,0.782,0.598 +0.846,0.779,0.592 +0.844,0.776,0.585 +0.842,0.773,0.579 +0.840,0.770,0.572 +0.837,0.767,0.566 +0.835,0.764,0.559 +0.833,0.761,0.553 +0.831,0.758,0.546 +0.829,0.755,0.540 +0.826,0.752,0.533 +0.824,0.749,0.527 +0.822,0.746,0.521 +0.820,0.743,0.514 +0.817,0.740,0.508 +0.815,0.737,0.501 +0.813,0.734,0.495 +0.811,0.731,0.488 +0.808,0.728,0.482 +0.806,0.726,0.476 +0.804,0.723,0.469 +0.801,0.720,0.463 +0.799,0.717,0.456 +0.797,0.714,0.450 +0.794,0.711,0.443 +0.792,0.708,0.437 +0.789,0.705,0.430 +0.787,0.702,0.424 +0.785,0.699,0.418 +0.782,0.696,0.411 +0.780,0.693,0.405 +0.777,0.690,0.398 +0.775,0.688,0.392 +0.772,0.685,0.385 +0.770,0.682,0.379 +0.767,0.679,0.372 +0.765,0.676,0.366 +0.762,0.673,0.359 +0.760,0.670,0.352 +0.757,0.667,0.346 +0.755,0.664,0.339 +0.752,0.662,0.333 +0.750,0.659,0.326 +0.747,0.656,0.319 +0.745,0.653,0.313 +0.742,0.650,0.306 +0.740,0.647,0.299 +0.737,0.644,0.292 +0.734,0.641,0.286 +0.732,0.639,0.279 +0.729,0.636,0.272 +0.726,0.633,0.265 +0.724,0.630,0.258 +0.721,0.627,0.251 +0.718,0.624,0.244 +0.716,0.622,0.237 +0.713,0.619,0.230 +0.710,0.616,0.222 +0.708,0.613,0.215 +0.705,0.610,0.207 +0.702,0.608,0.200 +0.700,0.605,0.192 +0.697,0.602,0.184 +0.694,0.599,0.176 +0.691,0.596,0.168 +0.689,0.594,0.160 +0.686,0.591,0.151 +0.683,0.588,0.142 +0.680,0.585,0.133 +0.677,0.582,0.124 +0.675,0.580,0.114 +0.672,0.577,0.103 +0.669,0.574,0.092 +0.666,0.571,0.080 +0.663,0.569,0.067 +0.660,0.566,0.051 +0.657,0.563,0.033 diff --git a/release-packaging/Resources/color-schemes/CET-CBL1.csv b/release-packaging/Resources/color-schemes/CET-CBL1.csv new file mode 100644 index 0000000..4e9df60 --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-CBL1.csv @@ -0,0 +1,256 @@ +0.066,0.066,0.066 +0.068,0.069,0.075 +0.070,0.073,0.084 +0.072,0.076,0.091 +0.073,0.079,0.099 +0.075,0.082,0.106 +0.076,0.085,0.113 +0.077,0.088,0.120 +0.077,0.090,0.127 +0.077,0.093,0.135 +0.078,0.096,0.142 +0.078,0.098,0.149 +0.078,0.101,0.157 +0.078,0.104,0.164 +0.078,0.107,0.171 +0.078,0.109,0.179 +0.077,0.112,0.186 +0.077,0.115,0.193 +0.076,0.118,0.200 +0.075,0.120,0.208 +0.075,0.123,0.215 +0.074,0.126,0.222 +0.072,0.129,0.229 +0.071,0.132,0.237 +0.070,0.135,0.244 +0.068,0.138,0.251 +0.067,0.140,0.258 +0.065,0.143,0.265 +0.063,0.146,0.272 +0.061,0.149,0.279 +0.059,0.152,0.286 +0.056,0.155,0.293 +0.054,0.158,0.300 +0.051,0.161,0.307 +0.048,0.164,0.314 +0.045,0.167,0.321 +0.042,0.170,0.328 +0.039,0.173,0.335 +0.036,0.176,0.341 +0.032,0.179,0.348 +0.029,0.182,0.355 +0.025,0.185,0.361 +0.022,0.188,0.368 +0.019,0.191,0.374 +0.015,0.194,0.381 +0.012,0.197,0.387 +0.009,0.200,0.393 +0.006,0.203,0.400 +0.004,0.206,0.406 +0.001,0.209,0.412 +0.000,0.212,0.418 +0.000,0.215,0.424 +0.000,0.218,0.430 +0.000,0.221,0.436 +0.000,0.224,0.441 +0.000,0.228,0.447 +0.000,0.231,0.452 +0.000,0.234,0.458 +0.000,0.237,0.463 +0.000,0.240,0.468 +0.000,0.243,0.474 +0.000,0.246,0.479 +0.000,0.249,0.484 +0.002,0.252,0.488 +0.005,0.255,0.493 +0.010,0.259,0.498 +0.015,0.262,0.502 +0.021,0.265,0.507 +0.028,0.268,0.511 +0.035,0.271,0.515 +0.043,0.274,0.519 +0.052,0.277,0.523 +0.060,0.281,0.526 +0.068,0.284,0.530 +0.076,0.287,0.533 +0.084,0.290,0.536 +0.092,0.293,0.539 +0.100,0.296,0.542 +0.108,0.299,0.545 +0.117,0.303,0.547 +0.125,0.306,0.549 +0.133,0.309,0.552 +0.141,0.312,0.553 +0.149,0.315,0.555 +0.158,0.319,0.556 +0.166,0.322,0.558 +0.175,0.325,0.558 +0.183,0.328,0.559 +0.191,0.331,0.560 +0.200,0.335,0.560 +0.209,0.338,0.559 +0.217,0.341,0.559 +0.226,0.344,0.558 +0.235,0.348,0.557 +0.243,0.351,0.556 +0.252,0.354,0.554 +0.261,0.357,0.551 +0.270,0.361,0.549 +0.279,0.364,0.546 +0.287,0.367,0.544 +0.295,0.370,0.541 +0.303,0.374,0.539 +0.311,0.377,0.536 +0.318,0.380,0.533 +0.326,0.384,0.531 +0.333,0.387,0.528 +0.340,0.390,0.525 +0.347,0.394,0.523 +0.354,0.397,0.520 +0.361,0.401,0.517 +0.368,0.404,0.515 +0.374,0.407,0.512 +0.381,0.411,0.509 +0.387,0.414,0.507 +0.394,0.418,0.504 +0.400,0.421,0.501 +0.406,0.424,0.498 +0.412,0.428,0.496 +0.419,0.431,0.493 +0.425,0.435,0.490 +0.431,0.438,0.487 +0.437,0.442,0.484 +0.442,0.445,0.481 +0.448,0.448,0.479 +0.454,0.452,0.476 +0.460,0.455,0.473 +0.466,0.459,0.470 +0.471,0.462,0.467 +0.477,0.466,0.464 +0.483,0.469,0.461 +0.488,0.473,0.458 +0.494,0.476,0.455 +0.499,0.480,0.452 +0.505,0.483,0.449 +0.510,0.487,0.446 +0.516,0.490,0.443 +0.521,0.494,0.440 +0.527,0.497,0.437 +0.532,0.501,0.434 +0.537,0.504,0.431 +0.543,0.508,0.428 +0.548,0.511,0.425 +0.553,0.515,0.422 +0.559,0.518,0.418 +0.564,0.522,0.415 +0.569,0.525,0.412 +0.574,0.529,0.409 +0.580,0.532,0.405 +0.585,0.536,0.402 +0.590,0.539,0.399 +0.595,0.543,0.395 +0.600,0.547,0.392 +0.606,0.550,0.389 +0.611,0.554,0.385 +0.616,0.557,0.382 +0.621,0.561,0.378 +0.626,0.564,0.375 +0.631,0.568,0.371 +0.637,0.571,0.367 +0.642,0.575,0.364 +0.647,0.578,0.361 +0.652,0.582,0.358 +0.657,0.586,0.355 +0.661,0.589,0.353 +0.666,0.593,0.351 +0.671,0.596,0.350 +0.675,0.600,0.349 +0.680,0.604,0.348 +0.684,0.607,0.348 +0.689,0.611,0.347 +0.693,0.614,0.348 +0.698,0.618,0.348 +0.702,0.622,0.349 +0.706,0.625,0.350 +0.710,0.629,0.351 +0.715,0.633,0.353 +0.719,0.636,0.354 +0.723,0.640,0.357 +0.727,0.644,0.359 +0.731,0.647,0.361 +0.735,0.651,0.364 +0.739,0.655,0.367 +0.743,0.658,0.370 +0.747,0.662,0.373 +0.751,0.666,0.377 +0.755,0.670,0.381 +0.759,0.673,0.385 +0.763,0.677,0.389 +0.766,0.681,0.393 +0.770,0.685,0.398 +0.774,0.688,0.402 +0.778,0.692,0.407 +0.781,0.696,0.412 +0.785,0.699,0.417 +0.789,0.703,0.422 +0.792,0.707,0.428 +0.796,0.711,0.433 +0.800,0.715,0.439 +0.803,0.718,0.445 +0.807,0.722,0.451 +0.810,0.726,0.457 +0.814,0.730,0.463 +0.817,0.733,0.470 +0.820,0.737,0.476 +0.824,0.741,0.483 +0.827,0.745,0.489 +0.830,0.749,0.496 +0.834,0.753,0.503 +0.837,0.756,0.510 +0.840,0.760,0.517 +0.843,0.764,0.525 +0.847,0.768,0.532 +0.850,0.772,0.540 +0.853,0.776,0.547 +0.856,0.780,0.555 +0.859,0.783,0.563 +0.862,0.787,0.571 +0.865,0.791,0.579 +0.868,0.795,0.587 +0.871,0.799,0.595 +0.873,0.803,0.603 +0.876,0.807,0.611 +0.879,0.811,0.620 +0.882,0.815,0.628 +0.884,0.818,0.637 +0.887,0.822,0.646 +0.890,0.826,0.655 +0.892,0.830,0.664 +0.895,0.834,0.672 +0.897,0.838,0.682 +0.900,0.842,0.691 +0.902,0.846,0.700 +0.904,0.850,0.709 +0.907,0.854,0.719 +0.909,0.858,0.728 +0.911,0.862,0.738 +0.913,0.866,0.747 +0.915,0.870,0.757 +0.917,0.874,0.767 +0.919,0.878,0.776 +0.921,0.882,0.786 +0.923,0.886,0.796 +0.925,0.890,0.806 +0.927,0.894,0.816 +0.928,0.898,0.827 +0.930,0.902,0.837 +0.932,0.907,0.847 +0.933,0.911,0.858 +0.935,0.915,0.868 +0.936,0.919,0.879 +0.937,0.923,0.889 +0.939,0.927,0.900 +0.940,0.931,0.911 +0.941,0.935,0.922 +0.942,0.939,0.933 +0.943,0.944,0.943 diff --git a/release-packaging/Resources/color-schemes/CET-CBL2.csv b/release-packaging/Resources/color-schemes/CET-CBL2.csv new file mode 100644 index 0000000..f221f71 --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-CBL2.csv @@ -0,0 +1,256 @@ +0.066,0.066,0.066 +0.068,0.070,0.074 +0.071,0.073,0.082 +0.073,0.076,0.089 +0.075,0.079,0.095 +0.077,0.082,0.101 +0.079,0.085,0.108 +0.080,0.088,0.114 +0.081,0.091,0.121 +0.082,0.094,0.128 +0.083,0.097,0.134 +0.084,0.099,0.141 +0.085,0.102,0.148 +0.086,0.105,0.154 +0.087,0.108,0.161 +0.087,0.111,0.168 +0.088,0.114,0.175 +0.088,0.116,0.182 +0.089,0.119,0.189 +0.089,0.122,0.196 +0.089,0.125,0.203 +0.089,0.128,0.210 +0.089,0.131,0.217 +0.089,0.134,0.224 +0.088,0.137,0.231 +0.088,0.140,0.238 +0.087,0.143,0.246 +0.087,0.146,0.253 +0.086,0.149,0.260 +0.085,0.152,0.267 +0.084,0.155,0.274 +0.083,0.158,0.281 +0.082,0.161,0.289 +0.081,0.164,0.296 +0.080,0.167,0.303 +0.078,0.170,0.310 +0.077,0.173,0.317 +0.076,0.176,0.324 +0.074,0.179,0.331 +0.073,0.182,0.338 +0.072,0.185,0.344 +0.070,0.189,0.351 +0.069,0.192,0.358 +0.068,0.195,0.364 +0.067,0.198,0.371 +0.066,0.201,0.377 +0.065,0.204,0.383 +0.064,0.207,0.390 +0.063,0.210,0.396 +0.062,0.214,0.402 +0.062,0.217,0.408 +0.061,0.220,0.414 +0.061,0.223,0.421 +0.060,0.226,0.427 +0.060,0.230,0.433 +0.060,0.233,0.439 +0.060,0.236,0.445 +0.060,0.239,0.451 +0.060,0.242,0.456 +0.060,0.246,0.462 +0.060,0.249,0.468 +0.060,0.252,0.474 +0.060,0.255,0.480 +0.060,0.259,0.486 +0.060,0.262,0.492 +0.060,0.265,0.498 +0.060,0.268,0.504 +0.060,0.272,0.510 +0.059,0.275,0.516 +0.059,0.278,0.522 +0.059,0.282,0.528 +0.059,0.285,0.534 +0.059,0.288,0.541 +0.059,0.292,0.547 +0.059,0.295,0.553 +0.058,0.298,0.559 +0.058,0.302,0.565 +0.058,0.305,0.571 +0.057,0.308,0.577 +0.057,0.312,0.583 +0.057,0.315,0.590 +0.056,0.318,0.596 +0.056,0.322,0.602 +0.056,0.325,0.608 +0.055,0.329,0.614 +0.055,0.332,0.621 +0.054,0.335,0.627 +0.053,0.339,0.633 +0.053,0.342,0.639 +0.052,0.346,0.646 +0.051,0.349,0.652 +0.051,0.352,0.658 +0.050,0.356,0.664 +0.049,0.359,0.671 +0.048,0.363,0.677 +0.047,0.366,0.683 +0.046,0.370,0.690 +0.045,0.373,0.696 +0.044,0.377,0.703 +0.043,0.380,0.709 +0.042,0.384,0.715 +0.041,0.387,0.722 +0.040,0.391,0.728 +0.038,0.394,0.735 +0.037,0.398,0.741 +0.036,0.401,0.747 +0.034,0.405,0.754 +0.032,0.408,0.760 +0.031,0.412,0.767 +0.029,0.415,0.773 +0.027,0.419,0.780 +0.026,0.422,0.786 +0.024,0.426,0.793 +0.022,0.429,0.799 +0.020,0.433,0.806 +0.018,0.436,0.812 +0.016,0.440,0.819 +0.014,0.444,0.826 +0.012,0.447,0.832 +0.010,0.451,0.839 +0.008,0.454,0.845 +0.006,0.458,0.852 +0.005,0.462,0.858 +0.003,0.465,0.865 +0.002,0.469,0.871 +0.001,0.472,0.878 +0.001,0.476,0.884 +0.002,0.480,0.891 +0.004,0.483,0.897 +0.007,0.487,0.903 +0.012,0.490,0.909 +0.019,0.494,0.915 +0.029,0.498,0.920 +0.042,0.501,0.925 +0.056,0.505,0.930 +0.071,0.509,0.935 +0.087,0.512,0.939 +0.104,0.516,0.942 +0.121,0.519,0.945 +0.138,0.523,0.947 +0.156,0.526,0.949 +0.175,0.530,0.950 +0.194,0.534,0.950 +0.213,0.537,0.949 +0.232,0.541,0.947 +0.252,0.544,0.945 +0.271,0.548,0.941 +0.291,0.551,0.937 +0.310,0.555,0.932 +0.329,0.558,0.926 +0.348,0.562,0.919 +0.366,0.565,0.911 +0.385,0.569,0.903 +0.402,0.573,0.894 +0.419,0.576,0.884 +0.436,0.580,0.874 +0.452,0.584,0.864 +0.468,0.587,0.853 +0.483,0.591,0.841 +0.498,0.595,0.829 +0.512,0.598,0.817 +0.525,0.602,0.805 +0.539,0.606,0.793 +0.551,0.610,0.781 +0.563,0.614,0.768 +0.575,0.617,0.756 +0.587,0.621,0.743 +0.598,0.625,0.730 +0.608,0.629,0.718 +0.619,0.633,0.705 +0.629,0.637,0.693 +0.639,0.640,0.681 +0.648,0.644,0.668 +0.658,0.648,0.656 +0.667,0.652,0.644 +0.676,0.656,0.632 +0.685,0.660,0.620 +0.693,0.663,0.608 +0.702,0.667,0.596 +0.710,0.671,0.584 +0.718,0.675,0.573 +0.726,0.678,0.561 +0.734,0.682,0.549 +0.742,0.686,0.537 +0.750,0.690,0.525 +0.758,0.693,0.514 +0.765,0.697,0.502 +0.772,0.701,0.490 +0.780,0.705,0.478 +0.787,0.708,0.466 +0.794,0.712,0.454 +0.801,0.716,0.442 +0.808,0.720,0.429 +0.815,0.723,0.417 +0.821,0.727,0.404 +0.828,0.731,0.391 +0.834,0.735,0.378 +0.841,0.739,0.365 +0.847,0.743,0.351 +0.853,0.746,0.337 +0.859,0.750,0.324 +0.865,0.754,0.309 +0.871,0.758,0.295 +0.877,0.762,0.281 +0.883,0.766,0.266 +0.889,0.770,0.251 +0.894,0.774,0.236 +0.900,0.778,0.222 +0.905,0.782,0.207 +0.910,0.786,0.193 +0.916,0.790,0.179 +0.921,0.794,0.166 +0.926,0.798,0.155 +0.931,0.802,0.145 +0.935,0.806,0.138 +0.940,0.809,0.134 +0.945,0.813,0.134 +0.949,0.817,0.137 +0.954,0.821,0.144 +0.958,0.825,0.155 +0.962,0.829,0.168 +0.966,0.833,0.185 +0.970,0.837,0.203 +0.973,0.841,0.223 +0.977,0.845,0.244 +0.980,0.849,0.267 +0.983,0.853,0.290 +0.986,0.857,0.314 +0.989,0.861,0.339 +0.991,0.865,0.364 +0.993,0.869,0.389 +0.995,0.873,0.415 +0.997,0.877,0.441 +0.998,0.882,0.467 +0.999,0.886,0.493 +1.000,0.890,0.519 +1.000,0.894,0.545 +1.000,0.898,0.571 +1.000,0.903,0.597 +1.000,0.907,0.622 +1.000,0.911,0.647 +1.000,0.915,0.672 +0.999,0.920,0.696 +0.998,0.924,0.720 +0.997,0.928,0.743 +0.996,0.933,0.765 +0.995,0.937,0.787 +0.994,0.942,0.808 +0.993,0.946,0.829 +0.992,0.950,0.849 +0.991,0.955,0.868 +0.990,0.959,0.886 +0.989,0.964,0.904 +0.988,0.968,0.921 +0.988,0.972,0.937 +0.987,0.977,0.953 diff --git a/release-packaging/Resources/color-schemes/CET-D01.csv b/release-packaging/Resources/color-schemes/CET-D01.csv new file mode 100644 index 0000000..96755d9 --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-D01.csv @@ -0,0 +1,256 @@ +0.128,0.316,0.858 +0.147,0.320,0.859 +0.164,0.325,0.860 +0.179,0.329,0.861 +0.194,0.333,0.862 +0.207,0.338,0.863 +0.220,0.342,0.864 +0.232,0.346,0.864 +0.243,0.351,0.865 +0.254,0.355,0.866 +0.264,0.360,0.867 +0.274,0.364,0.868 +0.284,0.369,0.869 +0.294,0.373,0.869 +0.303,0.377,0.870 +0.312,0.382,0.871 +0.321,0.386,0.872 +0.329,0.391,0.873 +0.337,0.395,0.874 +0.346,0.400,0.874 +0.354,0.404,0.875 +0.362,0.409,0.876 +0.369,0.414,0.877 +0.377,0.418,0.878 +0.384,0.423,0.878 +0.392,0.427,0.879 +0.399,0.432,0.880 +0.406,0.436,0.881 +0.413,0.441,0.882 +0.420,0.446,0.882 +0.427,0.450,0.883 +0.434,0.455,0.884 +0.440,0.460,0.885 +0.447,0.464,0.886 +0.454,0.469,0.886 +0.460,0.474,0.887 +0.467,0.478,0.888 +0.473,0.483,0.889 +0.479,0.488,0.889 +0.485,0.492,0.890 +0.492,0.497,0.891 +0.498,0.502,0.892 +0.504,0.507,0.892 +0.510,0.511,0.893 +0.516,0.516,0.894 +0.522,0.521,0.895 +0.528,0.526,0.895 +0.534,0.530,0.896 +0.540,0.535,0.897 +0.545,0.540,0.898 +0.551,0.545,0.898 +0.557,0.550,0.899 +0.563,0.555,0.900 +0.568,0.559,0.900 +0.574,0.564,0.901 +0.580,0.569,0.902 +0.585,0.574,0.903 +0.591,0.579,0.903 +0.596,0.584,0.904 +0.602,0.588,0.905 +0.607,0.593,0.905 +0.613,0.598,0.906 +0.618,0.603,0.907 +0.623,0.608,0.907 +0.629,0.613,0.908 +0.634,0.618,0.909 +0.639,0.623,0.909 +0.645,0.628,0.910 +0.650,0.633,0.911 +0.655,0.638,0.911 +0.660,0.643,0.912 +0.666,0.648,0.913 +0.671,0.653,0.913 +0.676,0.658,0.914 +0.681,0.663,0.915 +0.686,0.668,0.915 +0.691,0.673,0.916 +0.697,0.678,0.917 +0.702,0.683,0.917 +0.707,0.688,0.918 +0.712,0.693,0.918 +0.717,0.698,0.919 +0.722,0.703,0.920 +0.727,0.708,0.920 +0.732,0.713,0.921 +0.737,0.718,0.921 +0.742,0.723,0.922 +0.747,0.728,0.923 +0.752,0.733,0.923 +0.757,0.738,0.924 +0.762,0.743,0.924 +0.766,0.748,0.925 +0.771,0.754,0.926 +0.776,0.759,0.926 +0.781,0.764,0.927 +0.786,0.769,0.927 +0.791,0.774,0.928 +0.796,0.779,0.928 +0.801,0.784,0.929 +0.805,0.789,0.929 +0.810,0.795,0.930 +0.815,0.800,0.930 +0.820,0.805,0.931 +0.825,0.810,0.932 +0.829,0.815,0.932 +0.834,0.821,0.933 +0.839,0.826,0.933 +0.844,0.831,0.934 +0.848,0.836,0.934 +0.853,0.841,0.935 +0.858,0.846,0.935 +0.863,0.852,0.935 +0.867,0.857,0.936 +0.872,0.862,0.936 +0.877,0.867,0.936 +0.881,0.872,0.937 +0.886,0.876,0.937 +0.890,0.881,0.936 +0.895,0.885,0.936 +0.899,0.890,0.936 +0.903,0.893,0.935 +0.908,0.897,0.934 +0.912,0.900,0.932 +0.916,0.903,0.931 +0.919,0.905,0.928 +0.923,0.906,0.926 +0.926,0.907,0.923 +0.929,0.907,0.919 +0.932,0.907,0.915 +0.935,0.905,0.911 +0.937,0.904,0.906 +0.939,0.901,0.900 +0.941,0.898,0.895 +0.942,0.895,0.888 +0.944,0.891,0.882 +0.945,0.887,0.875 +0.946,0.882,0.869 +0.946,0.877,0.861 +0.947,0.872,0.854 +0.947,0.866,0.847 +0.948,0.861,0.840 +0.948,0.855,0.832 +0.948,0.849,0.825 +0.948,0.843,0.817 +0.948,0.837,0.810 +0.948,0.831,0.802 +0.948,0.825,0.794 +0.948,0.819,0.787 +0.948,0.813,0.779 +0.947,0.807,0.772 +0.947,0.800,0.764 +0.947,0.794,0.757 +0.947,0.788,0.749 +0.946,0.782,0.742 +0.946,0.776,0.734 +0.945,0.770,0.727 +0.945,0.764,0.719 +0.944,0.758,0.712 +0.944,0.752,0.704 +0.943,0.746,0.697 +0.942,0.740,0.689 +0.942,0.733,0.682 +0.941,0.727,0.675 +0.940,0.721,0.667 +0.940,0.715,0.660 +0.939,0.709,0.653 +0.938,0.703,0.645 +0.937,0.697,0.638 +0.936,0.691,0.631 +0.935,0.685,0.623 +0.934,0.679,0.616 +0.933,0.673,0.609 +0.932,0.666,0.601 +0.931,0.660,0.594 +0.930,0.654,0.587 +0.929,0.648,0.580 +0.928,0.642,0.573 +0.927,0.636,0.565 +0.925,0.630,0.558 +0.924,0.624,0.551 +0.923,0.618,0.544 +0.922,0.612,0.537 +0.920,0.605,0.530 +0.919,0.599,0.522 +0.917,0.593,0.515 +0.916,0.587,0.508 +0.915,0.581,0.501 +0.913,0.575,0.494 +0.912,0.569,0.487 +0.910,0.562,0.480 +0.908,0.556,0.473 +0.907,0.550,0.466 +0.905,0.544,0.459 +0.904,0.538,0.452 +0.902,0.531,0.445 +0.900,0.525,0.438 +0.898,0.519,0.431 +0.897,0.513,0.424 +0.895,0.507,0.417 +0.893,0.500,0.410 +0.891,0.494,0.403 +0.889,0.488,0.396 +0.887,0.481,0.390 +0.885,0.475,0.383 +0.884,0.469,0.376 +0.882,0.463,0.369 +0.880,0.456,0.362 +0.878,0.450,0.355 +0.875,0.443,0.349 +0.873,0.437,0.342 +0.871,0.431,0.335 +0.869,0.424,0.328 +0.867,0.418,0.322 +0.865,0.411,0.315 +0.863,0.405,0.308 +0.860,0.398,0.301 +0.858,0.391,0.295 +0.856,0.385,0.288 +0.854,0.378,0.281 +0.851,0.372,0.275 +0.849,0.365,0.268 +0.846,0.358,0.261 +0.844,0.351,0.255 +0.842,0.344,0.248 +0.839,0.337,0.241 +0.837,0.331,0.235 +0.834,0.323,0.228 +0.832,0.316,0.222 +0.829,0.309,0.215 +0.827,0.302,0.208 +0.824,0.295,0.202 +0.821,0.287,0.195 +0.819,0.280,0.188 +0.816,0.272,0.182 +0.813,0.265,0.175 +0.811,0.257,0.169 +0.808,0.249,0.162 +0.805,0.241,0.155 +0.803,0.233,0.148 +0.800,0.224,0.142 +0.797,0.216,0.135 +0.794,0.207,0.128 +0.791,0.198,0.121 +0.788,0.189,0.115 +0.786,0.179,0.108 +0.783,0.169,0.101 +0.780,0.159,0.093 +0.777,0.148,0.086 +0.774,0.137,0.079 +0.771,0.124,0.071 +0.768,0.111,0.064 +0.765,0.096,0.056 +0.762,0.080,0.047 +0.759,0.061,0.039 +0.756,0.036,0.030 +0.752,0.008,0.022 diff --git a/release-packaging/Resources/color-schemes/CET-D01A.csv b/release-packaging/Resources/color-schemes/CET-D01A.csv new file mode 100644 index 0000000..23b03b6 --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-D01A.csv @@ -0,0 +1,256 @@ +0.092,0.161,0.447 +0.093,0.165,0.458 +0.095,0.170,0.469 +0.096,0.174,0.481 +0.098,0.178,0.492 +0.099,0.182,0.504 +0.101,0.187,0.515 +0.102,0.191,0.527 +0.103,0.196,0.538 +0.104,0.200,0.550 +0.106,0.204,0.562 +0.107,0.209,0.573 +0.108,0.213,0.585 +0.109,0.218,0.597 +0.111,0.222,0.609 +0.112,0.227,0.621 +0.113,0.231,0.633 +0.114,0.236,0.645 +0.115,0.240,0.657 +0.116,0.245,0.669 +0.118,0.249,0.681 +0.119,0.254,0.693 +0.121,0.259,0.704 +0.122,0.263,0.716 +0.124,0.268,0.728 +0.127,0.273,0.740 +0.129,0.278,0.751 +0.133,0.282,0.762 +0.137,0.287,0.773 +0.141,0.292,0.784 +0.147,0.297,0.794 +0.153,0.302,0.804 +0.159,0.307,0.813 +0.167,0.312,0.822 +0.175,0.317,0.830 +0.184,0.322,0.838 +0.194,0.328,0.845 +0.203,0.333,0.852 +0.214,0.338,0.858 +0.224,0.344,0.864 +0.235,0.349,0.870 +0.246,0.355,0.875 +0.257,0.361,0.879 +0.268,0.366,0.884 +0.279,0.372,0.888 +0.290,0.378,0.892 +0.300,0.384,0.896 +0.311,0.390,0.899 +0.321,0.395,0.903 +0.332,0.401,0.906 +0.342,0.407,0.910 +0.352,0.413,0.913 +0.361,0.419,0.916 +0.371,0.425,0.920 +0.380,0.431,0.923 +0.390,0.437,0.926 +0.399,0.443,0.930 +0.408,0.449,0.933 +0.417,0.455,0.936 +0.426,0.462,0.939 +0.434,0.468,0.943 +0.443,0.474,0.946 +0.452,0.480,0.949 +0.460,0.486,0.952 +0.469,0.492,0.956 +0.477,0.498,0.959 +0.485,0.505,0.962 +0.494,0.511,0.965 +0.502,0.517,0.968 +0.510,0.523,0.970 +0.518,0.530,0.973 +0.526,0.536,0.976 +0.535,0.543,0.978 +0.543,0.549,0.980 +0.551,0.555,0.982 +0.559,0.562,0.984 +0.567,0.568,0.986 +0.576,0.575,0.987 +0.584,0.582,0.988 +0.592,0.588,0.989 +0.600,0.595,0.990 +0.608,0.602,0.990 +0.617,0.608,0.991 +0.625,0.615,0.991 +0.633,0.622,0.990 +0.641,0.629,0.990 +0.649,0.636,0.990 +0.657,0.643,0.989 +0.665,0.650,0.989 +0.672,0.657,0.988 +0.680,0.664,0.987 +0.688,0.671,0.986 +0.696,0.678,0.985 +0.703,0.685,0.985 +0.711,0.692,0.984 +0.718,0.699,0.983 +0.726,0.706,0.982 +0.733,0.713,0.981 +0.740,0.720,0.980 +0.747,0.727,0.979 +0.755,0.734,0.978 +0.762,0.742,0.977 +0.769,0.749,0.976 +0.776,0.756,0.975 +0.783,0.763,0.973 +0.790,0.770,0.972 +0.797,0.778,0.971 +0.804,0.785,0.970 +0.810,0.792,0.969 +0.817,0.799,0.968 +0.824,0.806,0.967 +0.831,0.814,0.965 +0.837,0.821,0.964 +0.844,0.828,0.963 +0.851,0.835,0.961 +0.857,0.841,0.960 +0.864,0.848,0.958 +0.871,0.854,0.956 +0.877,0.861,0.953 +0.883,0.866,0.951 +0.890,0.872,0.948 +0.896,0.876,0.944 +0.902,0.881,0.940 +0.909,0.884,0.936 +0.914,0.887,0.931 +0.920,0.889,0.926 +0.926,0.889,0.920 +0.931,0.890,0.913 +0.936,0.889,0.906 +0.941,0.887,0.898 +0.946,0.884,0.889 +0.950,0.880,0.881 +0.954,0.876,0.871 +0.958,0.871,0.861 +0.961,0.865,0.851 +0.965,0.858,0.841 +0.968,0.851,0.830 +0.970,0.844,0.820 +0.973,0.836,0.809 +0.975,0.828,0.798 +0.977,0.820,0.786 +0.979,0.811,0.775 +0.980,0.802,0.764 +0.982,0.794,0.753 +0.983,0.785,0.742 +0.984,0.776,0.730 +0.986,0.767,0.719 +0.987,0.758,0.708 +0.988,0.748,0.697 +0.988,0.739,0.686 +0.989,0.730,0.675 +0.990,0.721,0.664 +0.990,0.712,0.652 +0.991,0.703,0.641 +0.991,0.694,0.630 +0.991,0.684,0.619 +0.991,0.675,0.609 +0.991,0.666,0.598 +0.991,0.657,0.587 +0.991,0.647,0.576 +0.991,0.638,0.565 +0.991,0.629,0.554 +0.990,0.619,0.543 +0.990,0.610,0.533 +0.989,0.601,0.522 +0.989,0.591,0.511 +0.988,0.582,0.501 +0.987,0.572,0.490 +0.986,0.563,0.480 +0.985,0.554,0.470 +0.983,0.544,0.459 +0.982,0.535,0.449 +0.980,0.525,0.439 +0.978,0.516,0.429 +0.976,0.507,0.419 +0.974,0.498,0.410 +0.971,0.488,0.400 +0.969,0.479,0.391 +0.966,0.470,0.382 +0.963,0.461,0.373 +0.959,0.453,0.364 +0.956,0.444,0.356 +0.952,0.435,0.347 +0.948,0.426,0.339 +0.944,0.418,0.330 +0.940,0.409,0.322 +0.936,0.401,0.314 +0.931,0.392,0.306 +0.927,0.384,0.299 +0.922,0.375,0.291 +0.917,0.367,0.283 +0.912,0.358,0.276 +0.908,0.350,0.268 +0.903,0.341,0.260 +0.898,0.333,0.253 +0.893,0.324,0.245 +0.888,0.315,0.238 +0.883,0.306,0.230 +0.878,0.297,0.223 +0.873,0.288,0.215 +0.868,0.279,0.208 +0.863,0.270,0.200 +0.858,0.260,0.193 +0.853,0.251,0.186 +0.848,0.241,0.178 +0.843,0.231,0.171 +0.837,0.221,0.164 +0.832,0.211,0.156 +0.827,0.200,0.149 +0.821,0.190,0.142 +0.816,0.179,0.135 +0.810,0.168,0.128 +0.804,0.156,0.121 +0.798,0.145,0.114 +0.792,0.133,0.108 +0.786,0.121,0.101 +0.779,0.109,0.095 +0.772,0.097,0.090 +0.765,0.085,0.084 +0.757,0.073,0.079 +0.750,0.061,0.074 +0.742,0.049,0.070 +0.733,0.037,0.065 +0.724,0.027,0.062 +0.715,0.019,0.058 +0.706,0.012,0.056 +0.697,0.007,0.053 +0.687,0.004,0.051 +0.677,0.002,0.049 +0.667,0.001,0.047 +0.657,0.001,0.045 +0.646,0.001,0.044 +0.636,0.002,0.043 +0.625,0.003,0.042 +0.615,0.004,0.041 +0.604,0.006,0.040 +0.594,0.008,0.039 +0.583,0.009,0.038 +0.573,0.011,0.037 +0.562,0.013,0.036 +0.552,0.014,0.034 +0.542,0.016,0.033 +0.531,0.017,0.032 +0.521,0.019,0.030 +0.511,0.020,0.029 +0.500,0.021,0.027 +0.490,0.022,0.026 +0.480,0.023,0.024 +0.470,0.024,0.023 +0.460,0.025,0.021 +0.450,0.026,0.019 +0.440,0.026,0.017 +0.430,0.027,0.015 +0.420,0.027,0.013 +0.410,0.028,0.011 +0.400,0.028,0.009 diff --git a/release-packaging/Resources/color-schemes/CET-D02.csv b/release-packaging/Resources/color-schemes/CET-D02.csv new file mode 100644 index 0000000..65e14c4 --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-D02.csv @@ -0,0 +1,256 @@ +0.222,0.591,0.055 +0.230,0.594,0.069 +0.238,0.597,0.081 +0.245,0.600,0.093 +0.253,0.602,0.103 +0.260,0.605,0.113 +0.268,0.608,0.123 +0.275,0.611,0.132 +0.282,0.614,0.140 +0.289,0.616,0.149 +0.296,0.619,0.157 +0.303,0.622,0.165 +0.310,0.625,0.173 +0.316,0.628,0.181 +0.323,0.630,0.189 +0.329,0.633,0.196 +0.336,0.636,0.203 +0.342,0.639,0.211 +0.349,0.642,0.218 +0.355,0.644,0.225 +0.361,0.647,0.232 +0.367,0.650,0.239 +0.373,0.653,0.246 +0.380,0.655,0.253 +0.386,0.658,0.260 +0.392,0.661,0.267 +0.398,0.664,0.274 +0.404,0.667,0.280 +0.410,0.669,0.287 +0.415,0.672,0.294 +0.421,0.675,0.300 +0.427,0.678,0.307 +0.433,0.681,0.314 +0.439,0.683,0.320 +0.445,0.686,0.327 +0.450,0.689,0.333 +0.456,0.692,0.340 +0.462,0.694,0.346 +0.467,0.697,0.353 +0.473,0.700,0.359 +0.479,0.703,0.366 +0.484,0.705,0.372 +0.490,0.708,0.379 +0.496,0.711,0.385 +0.501,0.714,0.392 +0.507,0.716,0.398 +0.512,0.719,0.405 +0.518,0.722,0.411 +0.523,0.725,0.417 +0.529,0.728,0.424 +0.534,0.730,0.430 +0.540,0.733,0.437 +0.545,0.736,0.443 +0.550,0.739,0.449 +0.556,0.741,0.456 +0.561,0.744,0.462 +0.567,0.747,0.469 +0.572,0.750,0.475 +0.578,0.752,0.482 +0.583,0.755,0.488 +0.588,0.758,0.494 +0.594,0.760,0.501 +0.599,0.763,0.507 +0.604,0.766,0.514 +0.610,0.769,0.520 +0.615,0.771,0.526 +0.620,0.774,0.533 +0.626,0.777,0.539 +0.631,0.780,0.546 +0.636,0.782,0.552 +0.641,0.785,0.559 +0.647,0.788,0.565 +0.652,0.791,0.571 +0.657,0.793,0.578 +0.663,0.796,0.584 +0.668,0.799,0.591 +0.673,0.802,0.597 +0.678,0.804,0.604 +0.684,0.807,0.610 +0.689,0.810,0.617 +0.694,0.812,0.623 +0.699,0.815,0.630 +0.704,0.818,0.636 +0.710,0.821,0.643 +0.715,0.823,0.649 +0.720,0.826,0.656 +0.725,0.829,0.662 +0.730,0.832,0.669 +0.736,0.834,0.675 +0.741,0.837,0.682 +0.746,0.840,0.688 +0.751,0.842,0.695 +0.756,0.845,0.701 +0.762,0.848,0.708 +0.767,0.851,0.714 +0.772,0.853,0.721 +0.777,0.856,0.728 +0.782,0.859,0.734 +0.787,0.861,0.741 +0.793,0.864,0.747 +0.798,0.867,0.754 +0.803,0.870,0.760 +0.808,0.872,0.767 +0.813,0.875,0.774 +0.818,0.878,0.780 +0.823,0.880,0.787 +0.829,0.883,0.794 +0.834,0.886,0.800 +0.839,0.888,0.807 +0.844,0.891,0.813 +0.849,0.894,0.820 +0.854,0.897,0.827 +0.859,0.899,0.833 +0.864,0.902,0.840 +0.869,0.904,0.847 +0.874,0.907,0.853 +0.879,0.909,0.860 +0.884,0.911,0.866 +0.889,0.914,0.872 +0.893,0.915,0.878 +0.898,0.917,0.884 +0.902,0.919,0.890 +0.906,0.920,0.896 +0.910,0.921,0.901 +0.913,0.922,0.906 +0.917,0.922,0.911 +0.919,0.922,0.915 +0.922,0.921,0.919 +0.924,0.920,0.923 +0.926,0.919,0.926 +0.927,0.917,0.929 +0.928,0.915,0.931 +0.929,0.912,0.933 +0.929,0.909,0.935 +0.929,0.906,0.936 +0.929,0.903,0.937 +0.929,0.899,0.938 +0.928,0.895,0.939 +0.927,0.891,0.939 +0.926,0.887,0.939 +0.925,0.883,0.939 +0.924,0.879,0.939 +0.923,0.874,0.939 +0.921,0.870,0.939 +0.920,0.865,0.939 +0.919,0.861,0.939 +0.917,0.856,0.939 +0.916,0.852,0.938 +0.915,0.847,0.938 +0.913,0.843,0.938 +0.912,0.838,0.938 +0.910,0.834,0.937 +0.909,0.830,0.937 +0.907,0.825,0.937 +0.906,0.821,0.936 +0.905,0.816,0.936 +0.903,0.812,0.936 +0.902,0.807,0.935 +0.900,0.803,0.935 +0.899,0.798,0.935 +0.897,0.794,0.935 +0.896,0.789,0.934 +0.894,0.785,0.934 +0.893,0.780,0.934 +0.891,0.776,0.933 +0.890,0.771,0.933 +0.888,0.767,0.933 +0.886,0.762,0.932 +0.885,0.758,0.932 +0.883,0.753,0.932 +0.882,0.749,0.931 +0.880,0.744,0.931 +0.879,0.740,0.931 +0.877,0.735,0.930 +0.875,0.731,0.930 +0.874,0.726,0.930 +0.872,0.722,0.929 +0.871,0.717,0.929 +0.869,0.713,0.929 +0.867,0.708,0.928 +0.866,0.704,0.928 +0.864,0.699,0.928 +0.862,0.695,0.927 +0.861,0.690,0.927 +0.859,0.686,0.926 +0.857,0.681,0.926 +0.856,0.677,0.926 +0.854,0.672,0.925 +0.852,0.668,0.925 +0.850,0.663,0.925 +0.849,0.659,0.924 +0.847,0.654,0.924 +0.845,0.650,0.923 +0.844,0.645,0.923 +0.842,0.640,0.923 +0.840,0.636,0.922 +0.838,0.631,0.922 +0.836,0.627,0.921 +0.835,0.622,0.921 +0.833,0.618,0.921 +0.831,0.613,0.920 +0.829,0.609,0.920 +0.828,0.604,0.919 +0.826,0.599,0.919 +0.824,0.595,0.919 +0.822,0.590,0.918 +0.820,0.586,0.918 +0.818,0.581,0.917 +0.816,0.577,0.917 +0.815,0.572,0.917 +0.813,0.567,0.916 +0.811,0.563,0.916 +0.809,0.558,0.915 +0.807,0.554,0.915 +0.805,0.549,0.914 +0.803,0.544,0.914 +0.801,0.540,0.914 +0.799,0.535,0.913 +0.797,0.530,0.913 +0.796,0.526,0.912 +0.794,0.521,0.912 +0.792,0.516,0.911 +0.790,0.512,0.911 +0.788,0.507,0.910 +0.786,0.502,0.910 +0.784,0.498,0.910 +0.782,0.493,0.909 +0.780,0.488,0.909 +0.778,0.483,0.908 +0.776,0.479,0.908 +0.774,0.474,0.907 +0.772,0.469,0.907 +0.769,0.464,0.906 +0.767,0.460,0.906 +0.765,0.455,0.905 +0.763,0.450,0.905 +0.761,0.445,0.904 +0.759,0.440,0.904 +0.757,0.435,0.903 +0.755,0.431,0.903 +0.753,0.426,0.902 +0.751,0.421,0.902 +0.749,0.416,0.902 +0.746,0.411,0.901 +0.744,0.406,0.901 +0.742,0.401,0.900 +0.740,0.396,0.900 +0.738,0.391,0.899 +0.736,0.386,0.899 +0.733,0.381,0.898 +0.731,0.376,0.898 +0.729,0.371,0.897 +0.727,0.365,0.897 +0.724,0.360,0.896 +0.722,0.355,0.895 +0.720,0.350,0.895 diff --git a/release-packaging/Resources/color-schemes/CET-D03.csv b/release-packaging/Resources/color-schemes/CET-D03.csv new file mode 100644 index 0000000..20b5477 --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-D03.csv @@ -0,0 +1,256 @@ +0.222,0.591,0.055 +0.230,0.594,0.069 +0.238,0.597,0.081 +0.245,0.600,0.093 +0.253,0.602,0.103 +0.260,0.605,0.113 +0.268,0.608,0.123 +0.275,0.611,0.132 +0.282,0.614,0.140 +0.289,0.616,0.149 +0.296,0.619,0.157 +0.303,0.622,0.165 +0.310,0.625,0.173 +0.316,0.628,0.181 +0.323,0.630,0.189 +0.329,0.633,0.196 +0.336,0.636,0.203 +0.342,0.639,0.211 +0.349,0.642,0.218 +0.355,0.644,0.225 +0.361,0.647,0.232 +0.367,0.650,0.239 +0.373,0.653,0.246 +0.380,0.655,0.253 +0.386,0.658,0.260 +0.392,0.661,0.267 +0.398,0.664,0.274 +0.404,0.667,0.280 +0.410,0.669,0.287 +0.415,0.672,0.294 +0.421,0.675,0.300 +0.427,0.678,0.307 +0.433,0.681,0.314 +0.439,0.683,0.320 +0.445,0.686,0.327 +0.450,0.689,0.333 +0.456,0.692,0.340 +0.462,0.694,0.346 +0.467,0.697,0.353 +0.473,0.700,0.359 +0.479,0.703,0.366 +0.484,0.705,0.372 +0.490,0.708,0.379 +0.496,0.711,0.385 +0.501,0.714,0.392 +0.507,0.716,0.398 +0.512,0.719,0.405 +0.518,0.722,0.411 +0.523,0.725,0.417 +0.529,0.728,0.424 +0.534,0.730,0.430 +0.540,0.733,0.437 +0.545,0.736,0.443 +0.550,0.739,0.449 +0.556,0.741,0.456 +0.561,0.744,0.462 +0.567,0.747,0.469 +0.572,0.750,0.475 +0.578,0.752,0.482 +0.583,0.755,0.488 +0.588,0.758,0.494 +0.594,0.760,0.501 +0.599,0.763,0.507 +0.604,0.766,0.514 +0.610,0.769,0.520 +0.615,0.771,0.526 +0.620,0.774,0.533 +0.626,0.777,0.539 +0.631,0.780,0.546 +0.636,0.782,0.552 +0.641,0.785,0.559 +0.647,0.788,0.565 +0.652,0.791,0.571 +0.657,0.793,0.578 +0.663,0.796,0.584 +0.668,0.799,0.591 +0.673,0.802,0.597 +0.678,0.804,0.604 +0.684,0.807,0.610 +0.689,0.810,0.617 +0.694,0.812,0.623 +0.699,0.815,0.630 +0.704,0.818,0.636 +0.710,0.821,0.643 +0.715,0.823,0.649 +0.720,0.826,0.656 +0.725,0.829,0.662 +0.730,0.832,0.669 +0.736,0.834,0.675 +0.741,0.837,0.682 +0.746,0.840,0.688 +0.751,0.842,0.695 +0.756,0.845,0.701 +0.762,0.848,0.708 +0.767,0.851,0.714 +0.772,0.853,0.721 +0.777,0.856,0.728 +0.782,0.859,0.734 +0.787,0.861,0.741 +0.793,0.864,0.747 +0.798,0.867,0.754 +0.803,0.870,0.760 +0.808,0.872,0.767 +0.813,0.875,0.774 +0.818,0.878,0.780 +0.823,0.880,0.787 +0.829,0.883,0.794 +0.834,0.886,0.800 +0.839,0.888,0.807 +0.844,0.891,0.813 +0.849,0.894,0.820 +0.854,0.897,0.827 +0.859,0.899,0.833 +0.865,0.902,0.840 +0.870,0.904,0.846 +0.875,0.907,0.852 +0.880,0.909,0.859 +0.885,0.911,0.865 +0.890,0.913,0.870 +0.895,0.915,0.876 +0.900,0.917,0.881 +0.904,0.919,0.886 +0.909,0.920,0.890 +0.914,0.921,0.894 +0.918,0.921,0.897 +0.922,0.921,0.900 +0.926,0.921,0.902 +0.930,0.920,0.903 +0.934,0.919,0.904 +0.937,0.917,0.904 +0.940,0.915,0.903 +0.943,0.913,0.901 +0.946,0.910,0.899 +0.948,0.907,0.897 +0.950,0.904,0.893 +0.952,0.900,0.890 +0.954,0.896,0.886 +0.956,0.892,0.881 +0.957,0.888,0.876 +0.959,0.884,0.872 +0.960,0.879,0.866 +0.961,0.874,0.861 +0.962,0.870,0.856 +0.964,0.865,0.850 +0.965,0.860,0.845 +0.966,0.856,0.839 +0.966,0.851,0.834 +0.967,0.846,0.828 +0.968,0.841,0.823 +0.969,0.837,0.817 +0.970,0.832,0.812 +0.971,0.827,0.806 +0.971,0.822,0.800 +0.972,0.817,0.795 +0.973,0.813,0.789 +0.973,0.808,0.784 +0.974,0.803,0.778 +0.975,0.798,0.773 +0.975,0.793,0.767 +0.976,0.789,0.762 +0.976,0.784,0.756 +0.977,0.779,0.751 +0.977,0.774,0.745 +0.978,0.769,0.740 +0.978,0.765,0.734 +0.979,0.760,0.729 +0.979,0.755,0.723 +0.979,0.750,0.718 +0.980,0.745,0.712 +0.980,0.740,0.707 +0.980,0.736,0.701 +0.980,0.731,0.696 +0.981,0.726,0.691 +0.981,0.721,0.685 +0.981,0.716,0.680 +0.981,0.711,0.674 +0.981,0.707,0.669 +0.981,0.702,0.664 +0.982,0.697,0.658 +0.982,0.692,0.653 +0.982,0.687,0.647 +0.982,0.682,0.642 +0.982,0.677,0.637 +0.982,0.672,0.631 +0.982,0.668,0.626 +0.981,0.663,0.621 +0.981,0.658,0.615 +0.981,0.653,0.610 +0.981,0.648,0.605 +0.981,0.643,0.600 +0.981,0.638,0.594 +0.981,0.633,0.589 +0.980,0.628,0.584 +0.980,0.623,0.578 +0.980,0.618,0.573 +0.980,0.613,0.568 +0.979,0.608,0.563 +0.979,0.603,0.557 +0.979,0.598,0.552 +0.978,0.593,0.547 +0.978,0.588,0.542 +0.977,0.583,0.536 +0.977,0.578,0.531 +0.977,0.573,0.526 +0.976,0.568,0.521 +0.976,0.563,0.516 +0.975,0.558,0.511 +0.975,0.553,0.505 +0.974,0.548,0.500 +0.974,0.543,0.495 +0.973,0.538,0.490 +0.972,0.532,0.485 +0.972,0.527,0.480 +0.971,0.522,0.475 +0.970,0.517,0.469 +0.970,0.512,0.464 +0.969,0.507,0.459 +0.968,0.501,0.454 +0.968,0.496,0.449 +0.967,0.491,0.444 +0.966,0.486,0.439 +0.965,0.480,0.434 +0.965,0.475,0.429 +0.964,0.470,0.424 +0.963,0.464,0.419 +0.962,0.459,0.414 +0.961,0.453,0.409 +0.960,0.448,0.404 +0.960,0.442,0.399 +0.959,0.437,0.394 +0.958,0.431,0.389 +0.957,0.426,0.384 +0.956,0.420,0.379 +0.955,0.415,0.374 +0.954,0.409,0.369 +0.953,0.403,0.364 +0.952,0.398,0.359 +0.951,0.392,0.354 +0.950,0.386,0.349 +0.949,0.380,0.344 +0.947,0.374,0.340 +0.946,0.368,0.335 +0.945,0.363,0.330 +0.944,0.356,0.325 +0.943,0.350,0.320 +0.942,0.344,0.315 +0.941,0.338,0.310 +0.939,0.332,0.306 +0.938,0.325,0.301 +0.937,0.319,0.296 +0.936,0.312,0.291 +0.934,0.306,0.286 +0.933,0.299,0.281 +0.932,0.292,0.277 +0.931,0.286,0.272 +0.929,0.279,0.267 diff --git a/release-packaging/Resources/color-schemes/CET-D04.csv b/release-packaging/Resources/color-schemes/CET-D04.csv new file mode 100644 index 0000000..00668e2 --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-D04.csv @@ -0,0 +1,256 @@ +0.097,0.507,0.982 +0.103,0.504,0.974 +0.109,0.500,0.967 +0.114,0.497,0.959 +0.118,0.493,0.951 +0.123,0.490,0.943 +0.127,0.487,0.936 +0.131,0.483,0.928 +0.135,0.480,0.920 +0.138,0.476,0.913 +0.141,0.473,0.905 +0.145,0.469,0.897 +0.148,0.466,0.890 +0.150,0.463,0.882 +0.153,0.459,0.874 +0.156,0.456,0.867 +0.158,0.452,0.859 +0.161,0.449,0.852 +0.163,0.445,0.844 +0.165,0.442,0.837 +0.167,0.439,0.829 +0.169,0.435,0.822 +0.171,0.432,0.814 +0.172,0.429,0.807 +0.174,0.425,0.799 +0.176,0.422,0.792 +0.177,0.418,0.784 +0.179,0.415,0.777 +0.180,0.412,0.769 +0.181,0.408,0.762 +0.182,0.405,0.754 +0.184,0.402,0.747 +0.185,0.398,0.740 +0.186,0.395,0.732 +0.187,0.392,0.725 +0.188,0.389,0.718 +0.188,0.385,0.710 +0.189,0.382,0.703 +0.190,0.379,0.696 +0.191,0.375,0.688 +0.191,0.372,0.681 +0.192,0.369,0.674 +0.192,0.365,0.667 +0.193,0.362,0.659 +0.193,0.359,0.652 +0.194,0.356,0.645 +0.194,0.352,0.638 +0.194,0.349,0.631 +0.194,0.346,0.624 +0.195,0.343,0.616 +0.195,0.340,0.609 +0.195,0.336,0.602 +0.195,0.333,0.595 +0.195,0.330,0.588 +0.195,0.327,0.581 +0.195,0.323,0.574 +0.195,0.320,0.567 +0.195,0.317,0.560 +0.195,0.314,0.553 +0.194,0.311,0.546 +0.194,0.308,0.539 +0.194,0.304,0.532 +0.194,0.301,0.525 +0.193,0.298,0.518 +0.193,0.295,0.511 +0.192,0.292,0.504 +0.192,0.289,0.497 +0.192,0.286,0.491 +0.191,0.282,0.484 +0.190,0.279,0.477 +0.190,0.276,0.470 +0.189,0.273,0.463 +0.189,0.270,0.457 +0.188,0.267,0.450 +0.187,0.264,0.443 +0.187,0.261,0.436 +0.186,0.258,0.430 +0.185,0.255,0.423 +0.184,0.252,0.416 +0.183,0.249,0.410 +0.182,0.245,0.403 +0.182,0.242,0.396 +0.181,0.239,0.390 +0.180,0.236,0.383 +0.179,0.233,0.377 +0.178,0.230,0.370 +0.177,0.227,0.364 +0.176,0.224,0.357 +0.174,0.221,0.351 +0.173,0.218,0.344 +0.172,0.215,0.338 +0.171,0.213,0.331 +0.170,0.210,0.325 +0.168,0.207,0.319 +0.167,0.204,0.312 +0.166,0.201,0.306 +0.165,0.198,0.300 +0.163,0.195,0.293 +0.162,0.192,0.287 +0.160,0.189,0.281 +0.159,0.186,0.275 +0.158,0.183,0.268 +0.156,0.180,0.262 +0.155,0.178,0.256 +0.153,0.175,0.250 +0.151,0.172,0.244 +0.150,0.169,0.238 +0.148,0.166,0.232 +0.147,0.163,0.226 +0.145,0.161,0.220 +0.143,0.158,0.214 +0.142,0.155,0.208 +0.140,0.152,0.202 +0.139,0.150,0.196 +0.137,0.147,0.190 +0.135,0.144,0.184 +0.134,0.142,0.179 +0.133,0.139,0.173 +0.132,0.137,0.168 +0.131,0.134,0.163 +0.130,0.132,0.158 +0.129,0.130,0.153 +0.129,0.128,0.148 +0.129,0.127,0.144 +0.129,0.125,0.140 +0.130,0.124,0.137 +0.132,0.123,0.133 +0.133,0.123,0.131 +0.135,0.122,0.128 +0.138,0.122,0.126 +0.141,0.122,0.124 +0.144,0.122,0.123 +0.148,0.123,0.122 +0.152,0.124,0.121 +0.156,0.125,0.121 +0.161,0.126,0.121 +0.165,0.127,0.121 +0.170,0.129,0.122 +0.176,0.130,0.122 +0.181,0.132,0.123 +0.186,0.133,0.124 +0.192,0.135,0.125 +0.197,0.137,0.126 +0.203,0.139,0.127 +0.209,0.140,0.128 +0.214,0.142,0.129 +0.220,0.144,0.130 +0.226,0.146,0.131 +0.232,0.148,0.132 +0.237,0.149,0.133 +0.243,0.151,0.135 +0.249,0.153,0.136 +0.255,0.155,0.137 +0.260,0.156,0.138 +0.266,0.158,0.139 +0.272,0.160,0.140 +0.278,0.162,0.142 +0.284,0.163,0.143 +0.289,0.165,0.144 +0.295,0.167,0.145 +0.301,0.169,0.146 +0.307,0.170,0.147 +0.313,0.172,0.148 +0.319,0.174,0.150 +0.325,0.176,0.151 +0.330,0.177,0.152 +0.336,0.179,0.153 +0.342,0.181,0.154 +0.348,0.182,0.155 +0.354,0.184,0.157 +0.360,0.186,0.158 +0.366,0.187,0.159 +0.372,0.189,0.160 +0.378,0.191,0.161 +0.384,0.192,0.162 +0.390,0.194,0.163 +0.396,0.196,0.165 +0.402,0.197,0.166 +0.408,0.199,0.167 +0.414,0.201,0.168 +0.420,0.202,0.169 +0.426,0.204,0.170 +0.432,0.206,0.172 +0.438,0.207,0.173 +0.444,0.209,0.174 +0.450,0.210,0.175 +0.456,0.212,0.176 +0.463,0.214,0.177 +0.469,0.215,0.179 +0.475,0.217,0.180 +0.481,0.218,0.181 +0.487,0.220,0.182 +0.493,0.222,0.183 +0.499,0.223,0.184 +0.506,0.225,0.185 +0.512,0.226,0.187 +0.518,0.228,0.188 +0.524,0.229,0.189 +0.530,0.231,0.190 +0.537,0.232,0.191 +0.543,0.234,0.192 +0.549,0.236,0.194 +0.556,0.237,0.195 +0.562,0.239,0.196 +0.568,0.240,0.197 +0.574,0.242,0.198 +0.581,0.243,0.199 +0.587,0.245,0.201 +0.593,0.246,0.202 +0.600,0.248,0.203 +0.606,0.249,0.204 +0.612,0.251,0.205 +0.619,0.252,0.206 +0.625,0.254,0.208 +0.632,0.255,0.209 +0.638,0.257,0.210 +0.644,0.258,0.211 +0.651,0.260,0.212 +0.657,0.261,0.213 +0.664,0.263,0.215 +0.670,0.264,0.216 +0.677,0.266,0.217 +0.683,0.267,0.218 +0.690,0.268,0.219 +0.696,0.270,0.220 +0.703,0.271,0.222 +0.709,0.273,0.223 +0.716,0.274,0.224 +0.722,0.276,0.225 +0.729,0.277,0.226 +0.735,0.278,0.227 +0.742,0.280,0.229 +0.748,0.281,0.230 +0.755,0.283,0.231 +0.762,0.284,0.232 +0.768,0.286,0.233 +0.775,0.287,0.234 +0.782,0.288,0.236 +0.788,0.290,0.237 +0.795,0.291,0.238 +0.801,0.292,0.239 +0.808,0.294,0.240 +0.815,0.295,0.241 +0.821,0.297,0.243 +0.828,0.298,0.244 +0.835,0.299,0.245 +0.842,0.301,0.246 +0.848,0.302,0.247 +0.855,0.303,0.249 +0.862,0.305,0.250 +0.868,0.306,0.251 +0.875,0.307,0.252 +0.882,0.309,0.253 +0.889,0.310,0.254 +0.896,0.311,0.256 +0.902,0.313,0.257 diff --git a/release-packaging/Resources/color-schemes/CET-D06.csv b/release-packaging/Resources/color-schemes/CET-D06.csv new file mode 100644 index 0000000..72e90a9 --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-D06.csv @@ -0,0 +1,256 @@ +0.057,0.580,0.981 +0.066,0.575,0.973 +0.074,0.571,0.966 +0.082,0.567,0.958 +0.089,0.563,0.950 +0.095,0.559,0.943 +0.101,0.555,0.935 +0.106,0.551,0.927 +0.111,0.547,0.919 +0.116,0.543,0.912 +0.120,0.539,0.904 +0.124,0.535,0.896 +0.128,0.531,0.889 +0.132,0.526,0.881 +0.135,0.522,0.874 +0.138,0.518,0.866 +0.141,0.514,0.858 +0.144,0.510,0.851 +0.147,0.506,0.843 +0.150,0.502,0.836 +0.152,0.498,0.828 +0.155,0.494,0.821 +0.157,0.490,0.813 +0.159,0.486,0.806 +0.161,0.482,0.798 +0.163,0.478,0.791 +0.165,0.474,0.783 +0.167,0.470,0.776 +0.168,0.466,0.768 +0.170,0.462,0.761 +0.172,0.458,0.754 +0.173,0.455,0.746 +0.174,0.451,0.739 +0.176,0.447,0.732 +0.177,0.443,0.724 +0.178,0.439,0.717 +0.179,0.435,0.710 +0.180,0.431,0.702 +0.181,0.427,0.695 +0.182,0.423,0.688 +0.183,0.419,0.680 +0.184,0.415,0.673 +0.184,0.412,0.666 +0.185,0.408,0.659 +0.186,0.404,0.651 +0.186,0.400,0.644 +0.187,0.396,0.637 +0.187,0.392,0.630 +0.188,0.388,0.623 +0.188,0.385,0.616 +0.188,0.381,0.609 +0.189,0.377,0.601 +0.189,0.373,0.594 +0.189,0.369,0.587 +0.189,0.366,0.580 +0.189,0.362,0.573 +0.189,0.358,0.566 +0.189,0.354,0.559 +0.189,0.351,0.552 +0.189,0.347,0.545 +0.189,0.343,0.538 +0.189,0.339,0.531 +0.189,0.336,0.524 +0.189,0.332,0.517 +0.188,0.328,0.510 +0.188,0.324,0.504 +0.188,0.321,0.497 +0.187,0.317,0.490 +0.187,0.313,0.483 +0.186,0.310,0.476 +0.186,0.306,0.469 +0.186,0.302,0.463 +0.185,0.299,0.456 +0.184,0.295,0.449 +0.184,0.291,0.442 +0.183,0.288,0.436 +0.182,0.284,0.429 +0.182,0.281,0.422 +0.181,0.277,0.416 +0.180,0.273,0.409 +0.180,0.270,0.402 +0.179,0.266,0.396 +0.178,0.263,0.389 +0.177,0.259,0.383 +0.176,0.255,0.376 +0.175,0.252,0.370 +0.174,0.248,0.363 +0.173,0.245,0.357 +0.172,0.241,0.350 +0.171,0.238,0.344 +0.170,0.234,0.337 +0.169,0.231,0.331 +0.168,0.227,0.324 +0.166,0.224,0.318 +0.165,0.220,0.312 +0.164,0.217,0.305 +0.163,0.214,0.299 +0.162,0.210,0.293 +0.160,0.207,0.287 +0.159,0.203,0.280 +0.157,0.200,0.274 +0.156,0.196,0.268 +0.155,0.193,0.262 +0.153,0.190,0.256 +0.152,0.186,0.249 +0.150,0.183,0.243 +0.149,0.180,0.237 +0.147,0.176,0.231 +0.146,0.173,0.225 +0.144,0.170,0.219 +0.142,0.166,0.213 +0.141,0.163,0.207 +0.139,0.160,0.201 +0.138,0.157,0.195 +0.136,0.154,0.190 +0.135,0.151,0.184 +0.133,0.148,0.178 +0.132,0.145,0.173 +0.130,0.142,0.167 +0.129,0.139,0.162 +0.128,0.137,0.157 +0.127,0.135,0.152 +0.127,0.133,0.148 +0.127,0.131,0.143 +0.127,0.129,0.139 +0.127,0.128,0.135 +0.127,0.128,0.132 +0.128,0.127,0.129 +0.130,0.127,0.126 +0.131,0.127,0.124 +0.133,0.128,0.122 +0.135,0.129,0.120 +0.138,0.130,0.119 +0.141,0.131,0.118 +0.144,0.133,0.117 +0.147,0.135,0.116 +0.151,0.137,0.116 +0.155,0.140,0.116 +0.159,0.142,0.116 +0.162,0.145,0.116 +0.167,0.148,0.116 +0.171,0.151,0.116 +0.175,0.154,0.117 +0.179,0.157,0.117 +0.183,0.160,0.117 +0.188,0.163,0.118 +0.192,0.166,0.118 +0.196,0.169,0.119 +0.201,0.172,0.119 +0.205,0.175,0.120 +0.209,0.178,0.120 +0.214,0.181,0.121 +0.218,0.184,0.121 +0.222,0.187,0.121 +0.227,0.191,0.122 +0.231,0.194,0.122 +0.236,0.197,0.123 +0.240,0.200,0.123 +0.244,0.203,0.123 +0.249,0.207,0.124 +0.253,0.210,0.124 +0.257,0.213,0.125 +0.262,0.216,0.125 +0.266,0.219,0.125 +0.271,0.223,0.126 +0.275,0.226,0.126 +0.280,0.229,0.126 +0.284,0.232,0.126 +0.288,0.236,0.127 +0.293,0.239,0.127 +0.297,0.242,0.127 +0.302,0.245,0.128 +0.306,0.249,0.128 +0.311,0.252,0.128 +0.315,0.255,0.128 +0.320,0.259,0.129 +0.324,0.262,0.129 +0.329,0.265,0.129 +0.333,0.269,0.129 +0.338,0.272,0.129 +0.342,0.275,0.129 +0.347,0.279,0.130 +0.352,0.282,0.130 +0.356,0.286,0.130 +0.361,0.289,0.130 +0.365,0.292,0.130 +0.370,0.296,0.130 +0.374,0.299,0.130 +0.379,0.303,0.131 +0.384,0.306,0.131 +0.388,0.309,0.131 +0.393,0.313,0.131 +0.397,0.316,0.131 +0.402,0.320,0.131 +0.407,0.323,0.131 +0.411,0.327,0.131 +0.416,0.330,0.131 +0.421,0.334,0.131 +0.425,0.337,0.131 +0.430,0.341,0.131 +0.435,0.344,0.131 +0.439,0.348,0.131 +0.444,0.351,0.131 +0.449,0.355,0.130 +0.453,0.358,0.130 +0.458,0.362,0.130 +0.463,0.365,0.130 +0.468,0.369,0.130 +0.472,0.372,0.130 +0.477,0.376,0.130 +0.482,0.379,0.129 +0.487,0.383,0.129 +0.491,0.386,0.129 +0.496,0.390,0.129 +0.501,0.394,0.129 +0.506,0.397,0.128 +0.510,0.401,0.128 +0.515,0.404,0.128 +0.520,0.408,0.127 +0.525,0.412,0.127 +0.530,0.415,0.127 +0.534,0.419,0.126 +0.539,0.422,0.126 +0.544,0.426,0.126 +0.549,0.430,0.125 +0.554,0.433,0.125 +0.559,0.437,0.124 +0.564,0.441,0.124 +0.568,0.444,0.123 +0.573,0.448,0.123 +0.578,0.452,0.122 +0.583,0.455,0.122 +0.588,0.459,0.121 +0.593,0.463,0.121 +0.598,0.466,0.120 +0.603,0.470,0.120 +0.608,0.474,0.119 +0.613,0.477,0.118 +0.618,0.481,0.118 +0.622,0.485,0.117 +0.627,0.489,0.116 +0.632,0.492,0.115 +0.637,0.496,0.115 +0.642,0.500,0.114 +0.647,0.503,0.113 +0.652,0.507,0.112 +0.657,0.511,0.111 +0.662,0.515,0.110 +0.667,0.518,0.109 +0.672,0.522,0.108 +0.677,0.526,0.107 +0.682,0.530,0.106 +0.687,0.534,0.105 +0.692,0.537,0.104 +0.697,0.541,0.103 +0.702,0.545,0.102 diff --git a/release-packaging/Resources/color-schemes/CET-D07.csv b/release-packaging/Resources/color-schemes/CET-D07.csv new file mode 100644 index 0000000..76b62be --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-D07.csv @@ -0,0 +1,256 @@ +0.078,0.193,0.758 +0.095,0.196,0.757 +0.110,0.199,0.756 +0.123,0.202,0.754 +0.135,0.205,0.753 +0.146,0.208,0.751 +0.156,0.210,0.750 +0.166,0.213,0.749 +0.175,0.216,0.747 +0.183,0.219,0.746 +0.191,0.222,0.745 +0.199,0.225,0.743 +0.206,0.228,0.742 +0.213,0.230,0.740 +0.220,0.233,0.739 +0.227,0.236,0.738 +0.233,0.239,0.736 +0.240,0.242,0.735 +0.246,0.245,0.733 +0.251,0.248,0.732 +0.257,0.250,0.731 +0.263,0.253,0.729 +0.268,0.256,0.728 +0.273,0.259,0.727 +0.278,0.262,0.725 +0.283,0.265,0.724 +0.288,0.268,0.722 +0.293,0.271,0.721 +0.298,0.273,0.719 +0.303,0.276,0.718 +0.307,0.279,0.717 +0.312,0.282,0.715 +0.316,0.285,0.714 +0.320,0.288,0.712 +0.324,0.291,0.711 +0.329,0.294,0.710 +0.333,0.296,0.708 +0.337,0.299,0.707 +0.341,0.302,0.705 +0.345,0.305,0.704 +0.348,0.308,0.703 +0.352,0.311,0.701 +0.356,0.314,0.700 +0.360,0.317,0.698 +0.363,0.320,0.697 +0.367,0.322,0.695 +0.370,0.325,0.694 +0.374,0.328,0.692 +0.377,0.331,0.691 +0.381,0.334,0.690 +0.384,0.337,0.688 +0.387,0.340,0.687 +0.391,0.343,0.685 +0.394,0.346,0.684 +0.397,0.349,0.682 +0.400,0.351,0.681 +0.403,0.354,0.679 +0.406,0.357,0.678 +0.410,0.360,0.676 +0.413,0.363,0.675 +0.416,0.366,0.674 +0.418,0.369,0.672 +0.421,0.372,0.671 +0.424,0.375,0.669 +0.427,0.378,0.668 +0.430,0.381,0.666 +0.433,0.384,0.665 +0.436,0.387,0.663 +0.438,0.389,0.662 +0.441,0.392,0.660 +0.444,0.395,0.659 +0.447,0.398,0.657 +0.449,0.401,0.656 +0.452,0.404,0.654 +0.454,0.407,0.653 +0.457,0.410,0.651 +0.460,0.413,0.650 +0.462,0.416,0.648 +0.465,0.419,0.647 +0.467,0.422,0.645 +0.470,0.425,0.644 +0.472,0.428,0.642 +0.474,0.431,0.641 +0.477,0.434,0.639 +0.479,0.437,0.637 +0.482,0.440,0.636 +0.484,0.443,0.634 +0.486,0.445,0.633 +0.489,0.448,0.631 +0.491,0.451,0.630 +0.493,0.454,0.628 +0.495,0.457,0.627 +0.498,0.460,0.625 +0.500,0.463,0.624 +0.502,0.466,0.622 +0.504,0.469,0.620 +0.506,0.472,0.619 +0.509,0.475,0.617 +0.511,0.478,0.616 +0.513,0.481,0.614 +0.515,0.484,0.612 +0.517,0.487,0.611 +0.519,0.490,0.609 +0.521,0.493,0.608 +0.523,0.496,0.606 +0.525,0.499,0.604 +0.527,0.502,0.603 +0.529,0.505,0.601 +0.531,0.508,0.600 +0.533,0.511,0.598 +0.535,0.514,0.596 +0.537,0.517,0.595 +0.539,0.520,0.593 +0.541,0.523,0.591 +0.543,0.526,0.590 +0.544,0.529,0.588 +0.546,0.532,0.586 +0.548,0.535,0.585 +0.550,0.538,0.583 +0.552,0.541,0.581 +0.554,0.544,0.580 +0.555,0.547,0.578 +0.557,0.550,0.576 +0.559,0.553,0.575 +0.561,0.556,0.573 +0.562,0.559,0.571 +0.564,0.562,0.569 +0.566,0.565,0.568 +0.569,0.568,0.566 +0.573,0.570,0.563 +0.577,0.573,0.561 +0.581,0.575,0.559 +0.585,0.578,0.556 +0.589,0.580,0.554 +0.593,0.582,0.552 +0.597,0.585,0.549 +0.601,0.587,0.547 +0.605,0.590,0.544 +0.609,0.592,0.542 +0.613,0.595,0.539 +0.616,0.597,0.537 +0.620,0.599,0.535 +0.624,0.602,0.532 +0.628,0.604,0.530 +0.632,0.607,0.527 +0.635,0.609,0.525 +0.639,0.612,0.522 +0.643,0.614,0.520 +0.646,0.616,0.517 +0.650,0.619,0.515 +0.654,0.621,0.512 +0.657,0.624,0.510 +0.661,0.626,0.507 +0.665,0.629,0.505 +0.668,0.631,0.502 +0.672,0.634,0.500 +0.676,0.636,0.497 +0.679,0.639,0.495 +0.683,0.641,0.492 +0.686,0.644,0.489 +0.690,0.646,0.487 +0.693,0.649,0.484 +0.697,0.651,0.482 +0.700,0.654,0.479 +0.704,0.656,0.476 +0.707,0.659,0.474 +0.711,0.661,0.471 +0.714,0.664,0.468 +0.718,0.666,0.466 +0.721,0.669,0.463 +0.724,0.671,0.460 +0.728,0.674,0.457 +0.731,0.676,0.455 +0.735,0.679,0.452 +0.738,0.681,0.449 +0.741,0.684,0.446 +0.745,0.686,0.443 +0.748,0.689,0.441 +0.752,0.691,0.438 +0.755,0.694,0.435 +0.758,0.696,0.432 +0.761,0.699,0.429 +0.765,0.702,0.426 +0.768,0.704,0.423 +0.771,0.707,0.420 +0.775,0.709,0.417 +0.778,0.712,0.414 +0.781,0.714,0.411 +0.784,0.717,0.408 +0.788,0.719,0.405 +0.791,0.722,0.402 +0.794,0.725,0.399 +0.797,0.727,0.396 +0.801,0.730,0.393 +0.804,0.732,0.390 +0.807,0.735,0.387 +0.810,0.737,0.383 +0.814,0.740,0.380 +0.817,0.743,0.377 +0.820,0.745,0.374 +0.823,0.748,0.370 +0.826,0.750,0.367 +0.829,0.753,0.364 +0.833,0.756,0.360 +0.836,0.758,0.357 +0.839,0.761,0.353 +0.842,0.763,0.350 +0.845,0.766,0.346 +0.848,0.769,0.343 +0.851,0.771,0.339 +0.855,0.774,0.336 +0.858,0.777,0.332 +0.861,0.779,0.328 +0.864,0.782,0.324 +0.867,0.784,0.320 +0.870,0.787,0.317 +0.873,0.790,0.313 +0.876,0.792,0.309 +0.879,0.795,0.305 +0.883,0.798,0.301 +0.886,0.800,0.297 +0.889,0.803,0.292 +0.892,0.805,0.288 +0.895,0.808,0.284 +0.898,0.811,0.279 +0.901,0.813,0.275 +0.904,0.816,0.270 +0.907,0.819,0.266 +0.910,0.821,0.261 +0.913,0.824,0.256 +0.916,0.827,0.251 +0.919,0.829,0.246 +0.922,0.832,0.241 +0.925,0.835,0.236 +0.928,0.837,0.231 +0.931,0.840,0.225 +0.934,0.843,0.220 +0.937,0.845,0.214 +0.940,0.848,0.208 +0.943,0.851,0.202 +0.946,0.853,0.195 +0.949,0.856,0.189 +0.952,0.859,0.182 +0.955,0.861,0.175 +0.958,0.864,0.168 +0.961,0.867,0.160 +0.964,0.870,0.152 +0.967,0.872,0.143 +0.970,0.875,0.134 +0.973,0.878,0.124 +0.976,0.880,0.114 +0.979,0.883,0.102 +0.982,0.886,0.090 +0.985,0.888,0.075 +0.988,0.891,0.058 +0.991,0.894,0.036 diff --git a/release-packaging/Resources/color-schemes/CET-D08.csv b/release-packaging/Resources/color-schemes/CET-D08.csv new file mode 100644 index 0000000..b1b0240 --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-D08.csv @@ -0,0 +1,256 @@ +0.000,0.165,0.844 +0.000,0.167,0.840 +0.000,0.169,0.837 +0.000,0.171,0.833 +0.000,0.173,0.829 +0.000,0.175,0.826 +0.000,0.177,0.822 +0.000,0.179,0.819 +0.026,0.181,0.815 +0.053,0.183,0.811 +0.073,0.185,0.808 +0.090,0.187,0.804 +0.104,0.189,0.801 +0.116,0.191,0.797 +0.128,0.193,0.794 +0.138,0.195,0.790 +0.147,0.197,0.786 +0.156,0.199,0.783 +0.164,0.201,0.779 +0.172,0.203,0.776 +0.179,0.205,0.772 +0.186,0.207,0.768 +0.192,0.208,0.765 +0.199,0.210,0.761 +0.205,0.212,0.758 +0.210,0.214,0.754 +0.216,0.216,0.751 +0.221,0.218,0.747 +0.226,0.220,0.744 +0.231,0.222,0.740 +0.236,0.223,0.736 +0.240,0.225,0.733 +0.245,0.227,0.729 +0.249,0.229,0.726 +0.253,0.231,0.722 +0.257,0.233,0.719 +0.261,0.235,0.715 +0.265,0.236,0.712 +0.269,0.238,0.708 +0.272,0.240,0.705 +0.276,0.242,0.701 +0.279,0.244,0.697 +0.283,0.246,0.694 +0.286,0.247,0.690 +0.289,0.249,0.687 +0.292,0.251,0.683 +0.295,0.253,0.680 +0.298,0.255,0.676 +0.301,0.256,0.673 +0.304,0.258,0.669 +0.306,0.260,0.666 +0.309,0.262,0.662 +0.311,0.264,0.659 +0.314,0.265,0.655 +0.316,0.267,0.652 +0.319,0.269,0.648 +0.321,0.271,0.645 +0.323,0.273,0.641 +0.326,0.274,0.638 +0.328,0.276,0.634 +0.330,0.278,0.631 +0.332,0.280,0.627 +0.334,0.282,0.623 +0.336,0.283,0.620 +0.338,0.285,0.616 +0.340,0.287,0.613 +0.342,0.289,0.609 +0.343,0.290,0.606 +0.345,0.292,0.602 +0.347,0.294,0.599 +0.349,0.296,0.595 +0.350,0.297,0.592 +0.352,0.299,0.588 +0.353,0.301,0.585 +0.355,0.303,0.581 +0.356,0.304,0.578 +0.358,0.306,0.574 +0.359,0.308,0.571 +0.361,0.310,0.567 +0.362,0.311,0.564 +0.363,0.313,0.560 +0.365,0.315,0.557 +0.366,0.316,0.553 +0.367,0.318,0.550 +0.368,0.320,0.546 +0.369,0.322,0.543 +0.371,0.323,0.539 +0.372,0.325,0.536 +0.373,0.327,0.532 +0.374,0.329,0.529 +0.375,0.330,0.525 +0.376,0.332,0.522 +0.377,0.334,0.518 +0.378,0.335,0.515 +0.378,0.337,0.511 +0.379,0.339,0.508 +0.380,0.340,0.505 +0.381,0.342,0.501 +0.382,0.344,0.498 +0.382,0.346,0.494 +0.383,0.347,0.490 +0.384,0.349,0.487 +0.384,0.351,0.483 +0.385,0.352,0.480 +0.386,0.354,0.476 +0.386,0.356,0.473 +0.387,0.357,0.469 +0.387,0.359,0.466 +0.388,0.361,0.462 +0.388,0.362,0.459 +0.389,0.364,0.455 +0.389,0.366,0.452 +0.390,0.368,0.448 +0.390,0.369,0.445 +0.390,0.371,0.441 +0.391,0.373,0.438 +0.391,0.374,0.434 +0.391,0.376,0.431 +0.392,0.378,0.427 +0.392,0.379,0.424 +0.392,0.381,0.420 +0.392,0.383,0.417 +0.393,0.384,0.413 +0.393,0.386,0.409 +0.393,0.388,0.406 +0.393,0.389,0.402 +0.393,0.391,0.399 +0.393,0.393,0.395 +0.397,0.393,0.392 +0.403,0.393,0.390 +0.410,0.392,0.387 +0.417,0.392,0.385 +0.423,0.391,0.382 +0.429,0.391,0.380 +0.436,0.390,0.377 +0.442,0.390,0.375 +0.448,0.389,0.373 +0.454,0.388,0.370 +0.460,0.388,0.368 +0.466,0.387,0.365 +0.472,0.387,0.363 +0.478,0.386,0.360 +0.484,0.385,0.358 +0.490,0.385,0.355 +0.496,0.384,0.353 +0.501,0.383,0.350 +0.507,0.383,0.348 +0.513,0.382,0.346 +0.518,0.381,0.343 +0.524,0.380,0.341 +0.529,0.380,0.338 +0.535,0.379,0.336 +0.540,0.378,0.333 +0.545,0.377,0.331 +0.551,0.376,0.328 +0.556,0.376,0.326 +0.561,0.375,0.323 +0.567,0.374,0.321 +0.572,0.373,0.318 +0.577,0.372,0.316 +0.582,0.371,0.313 +0.587,0.370,0.311 +0.593,0.369,0.308 +0.598,0.368,0.306 +0.603,0.367,0.303 +0.608,0.366,0.301 +0.613,0.365,0.298 +0.618,0.364,0.296 +0.623,0.363,0.293 +0.628,0.362,0.291 +0.633,0.361,0.288 +0.638,0.360,0.286 +0.643,0.359,0.283 +0.648,0.358,0.281 +0.653,0.356,0.278 +0.657,0.355,0.275 +0.662,0.354,0.273 +0.667,0.353,0.270 +0.672,0.351,0.268 +0.677,0.350,0.265 +0.682,0.349,0.263 +0.686,0.347,0.260 +0.691,0.346,0.257 +0.696,0.345,0.255 +0.701,0.343,0.252 +0.705,0.342,0.250 +0.710,0.340,0.247 +0.715,0.339,0.244 +0.720,0.337,0.242 +0.724,0.336,0.239 +0.729,0.334,0.237 +0.734,0.333,0.234 +0.738,0.331,0.231 +0.743,0.330,0.229 +0.748,0.328,0.226 +0.752,0.326,0.223 +0.757,0.324,0.221 +0.761,0.323,0.218 +0.766,0.321,0.215 +0.771,0.319,0.212 +0.775,0.317,0.210 +0.780,0.315,0.207 +0.784,0.313,0.204 +0.789,0.311,0.201 +0.794,0.309,0.199 +0.798,0.307,0.196 +0.803,0.305,0.193 +0.807,0.303,0.190 +0.812,0.301,0.187 +0.816,0.299,0.184 +0.821,0.296,0.182 +0.825,0.294,0.179 +0.830,0.292,0.176 +0.834,0.290,0.173 +0.839,0.287,0.170 +0.843,0.285,0.167 +0.848,0.282,0.164 +0.852,0.280,0.161 +0.857,0.277,0.158 +0.861,0.274,0.155 +0.866,0.271,0.152 +0.870,0.269,0.149 +0.875,0.266,0.145 +0.879,0.263,0.142 +0.884,0.260,0.139 +0.888,0.257,0.136 +0.892,0.254,0.132 +0.897,0.250,0.129 +0.901,0.247,0.126 +0.906,0.244,0.122 +0.910,0.240,0.119 +0.915,0.237,0.115 +0.919,0.233,0.112 +0.923,0.229,0.108 +0.928,0.225,0.104 +0.932,0.222,0.100 +0.937,0.217,0.096 +0.941,0.213,0.092 +0.945,0.209,0.088 +0.950,0.204,0.084 +0.954,0.200,0.080 +0.959,0.195,0.075 +0.963,0.190,0.070 +0.967,0.185,0.066 +0.972,0.179,0.060 +0.976,0.174,0.055 +0.981,0.168,0.050 +0.985,0.162,0.043 +0.989,0.156,0.037 +0.994,0.149,0.030 +0.998,0.142,0.024 +1.000,0.134,0.018 +1.000,0.126,0.012 +1.000,0.117,0.005 +1.000,0.108,0.000 +1.000,0.097,0.000 diff --git a/release-packaging/Resources/color-schemes/CET-D09.csv b/release-packaging/Resources/color-schemes/CET-D09.csv new file mode 100644 index 0000000..e9f1138 --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-D09.csv @@ -0,0 +1,256 @@ +0.141,0.501,0.998 +0.162,0.504,0.998 +0.181,0.508,0.998 +0.198,0.511,0.998 +0.214,0.514,0.998 +0.228,0.518,0.998 +0.242,0.521,0.998 +0.255,0.524,0.998 +0.267,0.528,0.998 +0.279,0.531,0.998 +0.290,0.535,0.998 +0.301,0.538,0.998 +0.311,0.541,0.998 +0.321,0.545,0.998 +0.331,0.548,0.998 +0.340,0.552,0.998 +0.350,0.555,0.998 +0.359,0.559,0.998 +0.367,0.562,0.998 +0.376,0.565,0.998 +0.385,0.569,0.998 +0.393,0.572,0.998 +0.401,0.576,0.998 +0.409,0.579,0.998 +0.417,0.583,0.998 +0.424,0.586,0.997 +0.432,0.590,0.997 +0.439,0.593,0.997 +0.447,0.597,0.997 +0.454,0.600,0.997 +0.461,0.604,0.997 +0.468,0.608,0.997 +0.475,0.611,0.997 +0.482,0.615,0.997 +0.489,0.618,0.997 +0.495,0.622,0.997 +0.502,0.625,0.997 +0.509,0.629,0.997 +0.515,0.633,0.997 +0.521,0.636,0.997 +0.528,0.640,0.996 +0.534,0.643,0.996 +0.540,0.647,0.996 +0.547,0.651,0.996 +0.553,0.654,0.996 +0.559,0.658,0.996 +0.565,0.661,0.996 +0.571,0.665,0.996 +0.577,0.669,0.996 +0.583,0.672,0.996 +0.589,0.676,0.995 +0.594,0.680,0.995 +0.600,0.683,0.995 +0.606,0.687,0.995 +0.612,0.691,0.995 +0.617,0.694,0.995 +0.623,0.698,0.995 +0.629,0.702,0.995 +0.634,0.705,0.994 +0.640,0.709,0.994 +0.645,0.713,0.994 +0.651,0.717,0.994 +0.656,0.720,0.994 +0.661,0.724,0.994 +0.667,0.728,0.994 +0.672,0.731,0.993 +0.678,0.735,0.993 +0.683,0.739,0.993 +0.688,0.743,0.993 +0.693,0.746,0.993 +0.699,0.750,0.993 +0.704,0.754,0.992 +0.709,0.758,0.992 +0.714,0.762,0.992 +0.719,0.765,0.992 +0.724,0.769,0.992 +0.730,0.773,0.992 +0.735,0.777,0.991 +0.740,0.780,0.991 +0.745,0.784,0.991 +0.750,0.788,0.991 +0.755,0.792,0.991 +0.760,0.796,0.990 +0.765,0.800,0.990 +0.770,0.803,0.990 +0.775,0.807,0.990 +0.780,0.811,0.989 +0.784,0.815,0.989 +0.789,0.819,0.989 +0.794,0.823,0.989 +0.799,0.826,0.989 +0.804,0.830,0.988 +0.809,0.834,0.988 +0.814,0.838,0.988 +0.818,0.842,0.988 +0.823,0.846,0.987 +0.828,0.850,0.987 +0.833,0.853,0.987 +0.837,0.857,0.987 +0.842,0.861,0.986 +0.847,0.865,0.986 +0.852,0.869,0.986 +0.856,0.873,0.986 +0.861,0.877,0.985 +0.866,0.881,0.985 +0.870,0.885,0.985 +0.875,0.889,0.985 +0.880,0.893,0.984 +0.884,0.896,0.984 +0.889,0.900,0.984 +0.894,0.904,0.983 +0.898,0.908,0.983 +0.903,0.912,0.983 +0.908,0.916,0.982 +0.912,0.920,0.982 +0.917,0.924,0.982 +0.921,0.928,0.982 +0.926,0.932,0.981 +0.930,0.936,0.981 +0.935,0.940,0.981 +0.939,0.944,0.980 +0.944,0.948,0.980 +0.949,0.952,0.980 +0.953,0.956,0.979 +0.958,0.960,0.978 +0.962,0.963,0.977 +0.967,0.966,0.975 +0.972,0.967,0.972 +0.975,0.966,0.967 +0.978,0.964,0.962 +0.980,0.960,0.956 +0.981,0.955,0.949 +0.982,0.951,0.943 +0.983,0.946,0.936 +0.984,0.941,0.930 +0.985,0.936,0.924 +0.986,0.931,0.917 +0.986,0.926,0.911 +0.987,0.921,0.905 +0.988,0.916,0.898 +0.988,0.911,0.892 +0.989,0.906,0.886 +0.990,0.901,0.879 +0.990,0.896,0.873 +0.991,0.891,0.867 +0.991,0.886,0.860 +0.992,0.881,0.854 +0.992,0.876,0.848 +0.992,0.871,0.841 +0.993,0.866,0.835 +0.993,0.861,0.829 +0.993,0.857,0.823 +0.994,0.852,0.816 +0.994,0.847,0.810 +0.994,0.842,0.804 +0.994,0.837,0.798 +0.995,0.832,0.791 +0.995,0.827,0.785 +0.995,0.822,0.779 +0.995,0.817,0.773 +0.995,0.812,0.767 +0.995,0.807,0.760 +0.995,0.802,0.754 +0.995,0.797,0.748 +0.995,0.792,0.742 +0.995,0.787,0.736 +0.995,0.782,0.730 +0.995,0.777,0.724 +0.995,0.772,0.717 +0.995,0.767,0.711 +0.994,0.762,0.705 +0.994,0.757,0.699 +0.994,0.753,0.693 +0.994,0.748,0.687 +0.994,0.743,0.681 +0.993,0.738,0.675 +0.993,0.733,0.669 +0.993,0.728,0.663 +0.992,0.723,0.657 +0.992,0.718,0.651 +0.991,0.713,0.645 +0.991,0.708,0.639 +0.990,0.703,0.633 +0.990,0.698,0.627 +0.989,0.693,0.621 +0.989,0.688,0.615 +0.988,0.683,0.609 +0.988,0.678,0.603 +0.987,0.673,0.597 +0.987,0.668,0.591 +0.986,0.663,0.585 +0.985,0.658,0.579 +0.985,0.653,0.573 +0.984,0.648,0.567 +0.983,0.643,0.561 +0.982,0.638,0.555 +0.982,0.633,0.549 +0.981,0.628,0.543 +0.980,0.623,0.537 +0.979,0.618,0.532 +0.978,0.613,0.526 +0.978,0.608,0.520 +0.977,0.603,0.514 +0.976,0.598,0.508 +0.975,0.592,0.502 +0.974,0.587,0.496 +0.973,0.582,0.491 +0.972,0.577,0.485 +0.971,0.572,0.479 +0.970,0.567,0.473 +0.969,0.562,0.468 +0.968,0.557,0.462 +0.967,0.552,0.456 +0.966,0.547,0.450 +0.964,0.541,0.444 +0.963,0.536,0.439 +0.962,0.531,0.433 +0.961,0.526,0.427 +0.960,0.521,0.422 +0.958,0.516,0.416 +0.957,0.510,0.410 +0.956,0.505,0.404 +0.955,0.500,0.399 +0.953,0.495,0.393 +0.952,0.489,0.387 +0.951,0.484,0.382 +0.949,0.479,0.376 +0.948,0.474,0.370 +0.947,0.468,0.365 +0.945,0.463,0.359 +0.944,0.458,0.354 +0.942,0.452,0.348 +0.941,0.447,0.342 +0.940,0.441,0.337 +0.938,0.436,0.331 +0.937,0.431,0.325 +0.935,0.425,0.320 +0.933,0.420,0.314 +0.932,0.414,0.309 +0.930,0.409,0.303 +0.929,0.403,0.298 +0.927,0.397,0.292 +0.926,0.392,0.286 +0.924,0.386,0.281 +0.922,0.380,0.275 +0.921,0.375,0.270 +0.919,0.369,0.264 +0.917,0.363,0.259 +0.915,0.357,0.253 +0.914,0.351,0.248 +0.912,0.345,0.242 +0.910,0.339,0.237 +0.908,0.333,0.231 +0.907,0.327,0.226 +0.905,0.321,0.220 +0.903,0.315,0.214 diff --git a/release-packaging/Resources/color-schemes/CET-D10.csv b/release-packaging/Resources/color-schemes/CET-D10.csv new file mode 100644 index 0000000..cbf4fea --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-D10.csv @@ -0,0 +1,256 @@ +0.000,0.851,1.000 +0.000,0.852,1.000 +0.056,0.853,1.000 +0.100,0.854,1.000 +0.132,0.856,1.000 +0.157,0.857,1.000 +0.179,0.858,1.000 +0.198,0.859,1.000 +0.216,0.860,1.000 +0.232,0.862,1.000 +0.248,0.863,1.000 +0.262,0.864,1.000 +0.275,0.865,1.000 +0.288,0.867,1.000 +0.300,0.868,1.000 +0.312,0.869,1.000 +0.323,0.870,1.000 +0.334,0.871,1.000 +0.345,0.873,1.000 +0.355,0.874,1.000 +0.365,0.875,1.000 +0.375,0.876,1.000 +0.384,0.877,1.000 +0.394,0.879,1.000 +0.403,0.880,1.000 +0.411,0.881,1.000 +0.420,0.882,1.000 +0.429,0.883,1.000 +0.437,0.885,1.000 +0.445,0.886,1.000 +0.453,0.887,1.000 +0.461,0.888,1.000 +0.469,0.889,1.000 +0.477,0.891,1.000 +0.484,0.892,1.000 +0.492,0.893,1.000 +0.499,0.894,1.000 +0.506,0.895,1.000 +0.513,0.897,1.000 +0.520,0.898,1.000 +0.527,0.899,1.000 +0.534,0.900,1.000 +0.541,0.901,1.000 +0.548,0.903,1.000 +0.555,0.904,1.000 +0.561,0.905,1.000 +0.568,0.906,1.000 +0.574,0.907,1.000 +0.581,0.908,1.000 +0.587,0.910,1.000 +0.594,0.911,1.000 +0.600,0.912,1.000 +0.606,0.913,1.000 +0.612,0.914,1.000 +0.618,0.916,1.000 +0.625,0.917,1.000 +0.631,0.918,1.000 +0.637,0.919,1.000 +0.643,0.920,1.000 +0.649,0.921,1.000 +0.654,0.923,1.000 +0.660,0.924,1.000 +0.666,0.925,1.000 +0.672,0.926,1.000 +0.678,0.927,1.000 +0.683,0.928,1.000 +0.689,0.930,1.000 +0.695,0.931,1.000 +0.700,0.932,1.000 +0.706,0.933,1.000 +0.711,0.934,1.000 +0.717,0.935,1.000 +0.722,0.937,1.000 +0.728,0.938,1.000 +0.733,0.939,1.000 +0.739,0.940,1.000 +0.744,0.941,1.000 +0.749,0.942,1.000 +0.755,0.944,1.000 +0.760,0.945,1.000 +0.765,0.946,1.000 +0.771,0.947,1.000 +0.776,0.948,1.000 +0.781,0.949,1.000 +0.786,0.950,1.000 +0.792,0.952,1.000 +0.797,0.953,1.000 +0.802,0.954,1.000 +0.807,0.955,1.000 +0.812,0.956,1.000 +0.817,0.957,1.000 +0.822,0.958,1.000 +0.827,0.960,1.000 +0.833,0.961,1.000 +0.838,0.962,1.000 +0.843,0.963,1.000 +0.848,0.964,1.000 +0.853,0.965,1.000 +0.858,0.966,1.000 +0.863,0.968,1.000 +0.867,0.969,1.000 +0.872,0.970,1.000 +0.877,0.971,1.000 +0.882,0.972,1.000 +0.887,0.973,1.000 +0.892,0.974,1.000 +0.897,0.976,1.000 +0.902,0.977,1.000 +0.907,0.978,1.000 +0.911,0.979,1.000 +0.916,0.980,1.000 +0.921,0.981,1.000 +0.926,0.982,1.000 +0.931,0.984,1.000 +0.935,0.985,1.000 +0.940,0.986,1.000 +0.945,0.987,1.000 +0.950,0.988,1.000 +0.954,0.989,1.000 +0.959,0.990,1.000 +0.964,0.991,1.000 +0.968,0.993,1.000 +0.973,0.994,1.000 +0.978,0.995,1.000 +0.982,0.996,1.000 +0.987,0.997,1.000 +0.991,0.998,1.000 +0.997,0.999,1.000 +1.000,0.998,1.000 +1.000,0.996,0.999 +1.000,0.993,0.999 +1.000,0.991,0.998 +1.000,0.988,0.998 +1.000,0.986,0.998 +1.000,0.983,0.997 +1.000,0.981,0.997 +1.000,0.979,0.996 +1.000,0.976,0.996 +1.000,0.974,0.995 +1.000,0.971,0.995 +1.000,0.969,0.994 +1.000,0.966,0.994 +1.000,0.964,0.994 +1.000,0.961,0.993 +1.000,0.959,0.993 +1.000,0.956,0.992 +1.000,0.954,0.992 +1.000,0.952,0.991 +1.000,0.949,0.991 +1.000,0.947,0.991 +1.000,0.944,0.990 +1.000,0.942,0.990 +1.000,0.939,0.989 +1.000,0.937,0.989 +1.000,0.934,0.988 +0.999,0.932,0.988 +0.999,0.929,0.987 +0.999,0.927,0.987 +0.999,0.924,0.987 +0.999,0.922,0.986 +0.999,0.919,0.986 +0.999,0.917,0.985 +0.999,0.915,0.985 +0.999,0.912,0.984 +0.999,0.910,0.984 +0.999,0.907,0.983 +0.999,0.905,0.983 +0.999,0.902,0.983 +0.998,0.900,0.982 +0.998,0.897,0.982 +0.998,0.895,0.981 +0.998,0.892,0.981 +0.998,0.890,0.980 +0.998,0.887,0.980 +0.998,0.885,0.979 +0.998,0.882,0.979 +0.998,0.880,0.978 +0.997,0.877,0.978 +0.997,0.875,0.978 +0.997,0.872,0.977 +0.997,0.870,0.977 +0.997,0.868,0.976 +0.997,0.865,0.976 +0.997,0.863,0.975 +0.997,0.860,0.975 +0.996,0.858,0.974 +0.996,0.855,0.974 +0.996,0.853,0.974 +0.996,0.850,0.973 +0.996,0.848,0.973 +0.996,0.845,0.972 +0.996,0.843,0.972 +0.995,0.840,0.971 +0.995,0.838,0.971 +0.995,0.835,0.970 +0.995,0.833,0.970 +0.995,0.830,0.969 +0.995,0.828,0.969 +0.994,0.825,0.968 +0.994,0.823,0.968 +0.994,0.820,0.968 +0.994,0.818,0.967 +0.994,0.815,0.967 +0.993,0.813,0.966 +0.993,0.810,0.966 +0.993,0.808,0.965 +0.993,0.805,0.965 +0.993,0.803,0.964 +0.992,0.800,0.964 +0.992,0.798,0.963 +0.992,0.795,0.963 +0.992,0.793,0.962 +0.992,0.790,0.962 +0.991,0.788,0.962 +0.991,0.785,0.961 +0.991,0.783,0.961 +0.991,0.780,0.960 +0.990,0.777,0.960 +0.990,0.775,0.959 +0.990,0.772,0.959 +0.990,0.770,0.958 +0.990,0.767,0.958 +0.989,0.765,0.957 +0.989,0.762,0.957 +0.989,0.760,0.956 +0.989,0.757,0.956 +0.988,0.755,0.955 +0.988,0.752,0.955 +0.988,0.750,0.954 +0.988,0.747,0.954 +0.987,0.745,0.954 +0.987,0.742,0.953 +0.987,0.739,0.953 +0.987,0.737,0.952 +0.986,0.734,0.952 +0.986,0.732,0.951 +0.986,0.729,0.951 +0.985,0.727,0.950 +0.985,0.724,0.950 +0.985,0.722,0.949 +0.985,0.719,0.949 +0.984,0.717,0.948 +0.984,0.714,0.948 +0.984,0.711,0.947 +0.983,0.709,0.947 +0.983,0.706,0.946 +0.983,0.704,0.946 +0.982,0.701,0.945 +0.982,0.699,0.945 +0.982,0.696,0.944 +0.982,0.693,0.944 +0.981,0.691,0.943 +0.981,0.688,0.943 +0.981,0.686,0.943 +0.980,0.683,0.942 +0.980,0.680,0.942 diff --git a/release-packaging/Resources/color-schemes/CET-D11.csv b/release-packaging/Resources/color-schemes/CET-D11.csv new file mode 100644 index 0000000..881e843 --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-D11.csv @@ -0,0 +1,256 @@ +0.000,0.715,1.000 +0.000,0.715,1.000 +0.000,0.715,1.000 +0.000,0.714,1.000 +0.024,0.714,1.000 +0.068,0.713,0.999 +0.098,0.713,0.996 +0.121,0.713,0.994 +0.140,0.712,0.991 +0.157,0.712,0.988 +0.172,0.712,0.986 +0.186,0.711,0.983 +0.199,0.711,0.980 +0.211,0.711,0.977 +0.222,0.710,0.975 +0.232,0.710,0.972 +0.242,0.709,0.969 +0.252,0.709,0.967 +0.261,0.709,0.964 +0.270,0.708,0.961 +0.278,0.708,0.958 +0.286,0.708,0.956 +0.294,0.707,0.953 +0.301,0.707,0.950 +0.309,0.707,0.948 +0.316,0.706,0.945 +0.323,0.706,0.942 +0.329,0.705,0.939 +0.336,0.705,0.937 +0.342,0.705,0.934 +0.348,0.704,0.931 +0.355,0.704,0.929 +0.360,0.704,0.926 +0.366,0.703,0.923 +0.372,0.703,0.921 +0.377,0.703,0.918 +0.383,0.702,0.915 +0.388,0.702,0.912 +0.393,0.702,0.910 +0.398,0.701,0.907 +0.403,0.701,0.904 +0.408,0.701,0.902 +0.413,0.700,0.899 +0.418,0.700,0.896 +0.423,0.699,0.894 +0.427,0.699,0.891 +0.432,0.699,0.888 +0.436,0.698,0.886 +0.441,0.698,0.883 +0.445,0.698,0.880 +0.449,0.697,0.878 +0.453,0.697,0.875 +0.458,0.697,0.872 +0.462,0.696,0.869 +0.466,0.696,0.867 +0.470,0.696,0.864 +0.473,0.695,0.861 +0.477,0.695,0.859 +0.481,0.695,0.856 +0.485,0.694,0.853 +0.489,0.694,0.851 +0.492,0.693,0.848 +0.496,0.693,0.845 +0.500,0.693,0.843 +0.503,0.692,0.840 +0.507,0.692,0.837 +0.510,0.692,0.835 +0.513,0.691,0.832 +0.517,0.691,0.829 +0.520,0.691,0.827 +0.524,0.690,0.824 +0.527,0.690,0.821 +0.530,0.690,0.819 +0.533,0.689,0.816 +0.536,0.689,0.813 +0.540,0.689,0.811 +0.543,0.688,0.808 +0.546,0.688,0.805 +0.549,0.688,0.803 +0.552,0.687,0.800 +0.555,0.687,0.797 +0.558,0.687,0.795 +0.561,0.686,0.792 +0.564,0.686,0.789 +0.566,0.686,0.787 +0.569,0.685,0.784 +0.572,0.685,0.781 +0.575,0.685,0.779 +0.578,0.684,0.776 +0.580,0.684,0.773 +0.583,0.683,0.771 +0.586,0.683,0.768 +0.588,0.683,0.765 +0.591,0.682,0.763 +0.594,0.682,0.760 +0.596,0.682,0.757 +0.599,0.681,0.755 +0.601,0.681,0.752 +0.604,0.681,0.749 +0.607,0.680,0.747 +0.609,0.680,0.744 +0.612,0.680,0.741 +0.614,0.679,0.739 +0.616,0.679,0.736 +0.619,0.679,0.733 +0.621,0.678,0.731 +0.624,0.678,0.728 +0.626,0.678,0.725 +0.628,0.677,0.723 +0.631,0.677,0.720 +0.633,0.677,0.717 +0.635,0.676,0.715 +0.638,0.676,0.712 +0.640,0.676,0.709 +0.642,0.675,0.707 +0.644,0.675,0.704 +0.647,0.675,0.701 +0.649,0.674,0.699 +0.651,0.674,0.696 +0.653,0.674,0.694 +0.656,0.673,0.691 +0.658,0.673,0.689 +0.660,0.672,0.686 +0.662,0.672,0.684 +0.665,0.671,0.681 +0.667,0.671,0.679 +0.670,0.671,0.676 +0.672,0.670,0.674 +0.675,0.670,0.672 +0.677,0.669,0.669 +0.680,0.668,0.667 +0.682,0.668,0.665 +0.685,0.667,0.663 +0.688,0.667,0.661 +0.691,0.666,0.659 +0.693,0.665,0.657 +0.696,0.665,0.655 +0.699,0.664,0.653 +0.702,0.663,0.651 +0.704,0.663,0.649 +0.707,0.662,0.647 +0.710,0.661,0.645 +0.713,0.660,0.643 +0.715,0.660,0.641 +0.718,0.659,0.639 +0.721,0.658,0.637 +0.724,0.658,0.635 +0.726,0.657,0.633 +0.729,0.656,0.631 +0.732,0.655,0.630 +0.734,0.655,0.628 +0.737,0.654,0.626 +0.740,0.653,0.624 +0.742,0.652,0.622 +0.745,0.652,0.620 +0.748,0.651,0.618 +0.750,0.650,0.616 +0.753,0.649,0.614 +0.755,0.649,0.612 +0.758,0.648,0.610 +0.761,0.647,0.609 +0.763,0.646,0.607 +0.766,0.646,0.605 +0.768,0.645,0.603 +0.771,0.644,0.601 +0.773,0.643,0.599 +0.776,0.643,0.597 +0.778,0.642,0.595 +0.781,0.641,0.593 +0.783,0.640,0.591 +0.786,0.639,0.589 +0.788,0.639,0.588 +0.790,0.638,0.586 +0.793,0.637,0.584 +0.795,0.636,0.582 +0.798,0.636,0.580 +0.800,0.635,0.578 +0.802,0.634,0.576 +0.805,0.633,0.574 +0.807,0.632,0.572 +0.810,0.632,0.570 +0.812,0.631,0.568 +0.814,0.630,0.567 +0.817,0.629,0.565 +0.819,0.628,0.563 +0.821,0.628,0.561 +0.824,0.627,0.559 +0.826,0.626,0.557 +0.828,0.625,0.555 +0.830,0.624,0.553 +0.833,0.623,0.551 +0.835,0.623,0.549 +0.837,0.622,0.547 +0.839,0.621,0.546 +0.842,0.620,0.544 +0.844,0.619,0.542 +0.846,0.619,0.540 +0.848,0.618,0.538 +0.851,0.617,0.536 +0.853,0.616,0.534 +0.855,0.615,0.532 +0.857,0.614,0.530 +0.859,0.613,0.528 +0.862,0.613,0.527 +0.864,0.612,0.525 +0.866,0.611,0.523 +0.868,0.610,0.521 +0.870,0.609,0.519 +0.872,0.608,0.517 +0.874,0.608,0.515 +0.877,0.607,0.513 +0.879,0.606,0.511 +0.881,0.605,0.509 +0.883,0.604,0.507 +0.885,0.603,0.505 +0.887,0.602,0.504 +0.889,0.601,0.502 +0.891,0.601,0.500 +0.893,0.600,0.498 +0.895,0.599,0.496 +0.898,0.598,0.494 +0.900,0.597,0.492 +0.902,0.596,0.490 +0.904,0.595,0.488 +0.906,0.594,0.486 +0.908,0.593,0.484 +0.910,0.593,0.483 +0.912,0.592,0.481 +0.914,0.591,0.479 +0.916,0.590,0.477 +0.918,0.589,0.475 +0.920,0.588,0.473 +0.922,0.587,0.471 +0.924,0.586,0.469 +0.926,0.585,0.467 +0.928,0.584,0.465 +0.930,0.583,0.463 +0.932,0.582,0.461 +0.934,0.581,0.460 +0.936,0.581,0.458 +0.938,0.580,0.456 +0.940,0.579,0.454 +0.942,0.578,0.452 +0.943,0.577,0.450 +0.945,0.576,0.448 +0.947,0.575,0.446 +0.949,0.574,0.444 +0.951,0.573,0.442 +0.953,0.572,0.440 +0.955,0.571,0.438 +0.957,0.570,0.436 +0.959,0.569,0.434 +0.961,0.568,0.433 +0.963,0.567,0.431 +0.965,0.566,0.429 +0.966,0.565,0.427 diff --git a/release-packaging/Resources/color-schemes/CET-D12.csv b/release-packaging/Resources/color-schemes/CET-D12.csv new file mode 100644 index 0000000..3e39ba1 --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-D12.csv @@ -0,0 +1,256 @@ +0.000,0.787,1.000 +0.000,0.786,1.000 +0.000,0.786,0.998 +0.000,0.785,0.995 +0.000,0.785,0.993 +0.000,0.784,0.991 +0.000,0.784,0.989 +0.051,0.783,0.987 +0.088,0.783,0.984 +0.115,0.782,0.982 +0.137,0.782,0.980 +0.156,0.781,0.978 +0.173,0.781,0.976 +0.188,0.781,0.973 +0.202,0.780,0.971 +0.215,0.780,0.969 +0.227,0.779,0.967 +0.238,0.779,0.965 +0.249,0.778,0.962 +0.259,0.778,0.960 +0.269,0.777,0.958 +0.279,0.777,0.956 +0.288,0.776,0.954 +0.296,0.776,0.951 +0.305,0.775,0.949 +0.313,0.775,0.947 +0.321,0.774,0.945 +0.328,0.774,0.943 +0.336,0.773,0.940 +0.343,0.773,0.938 +0.350,0.773,0.936 +0.357,0.772,0.934 +0.364,0.772,0.932 +0.370,0.771,0.930 +0.377,0.771,0.927 +0.383,0.770,0.925 +0.389,0.770,0.923 +0.395,0.769,0.921 +0.401,0.769,0.919 +0.407,0.768,0.916 +0.412,0.768,0.914 +0.418,0.767,0.912 +0.423,0.767,0.910 +0.429,0.766,0.908 +0.434,0.766,0.905 +0.439,0.765,0.903 +0.444,0.765,0.901 +0.449,0.764,0.899 +0.454,0.764,0.897 +0.459,0.763,0.895 +0.464,0.763,0.892 +0.469,0.762,0.890 +0.474,0.762,0.888 +0.478,0.761,0.886 +0.483,0.761,0.884 +0.487,0.761,0.881 +0.492,0.760,0.879 +0.496,0.760,0.877 +0.500,0.759,0.875 +0.505,0.759,0.873 +0.509,0.758,0.871 +0.513,0.758,0.868 +0.517,0.757,0.866 +0.521,0.757,0.864 +0.525,0.756,0.862 +0.529,0.756,0.860 +0.533,0.755,0.858 +0.537,0.755,0.855 +0.541,0.754,0.853 +0.545,0.754,0.851 +0.549,0.753,0.849 +0.553,0.753,0.847 +0.556,0.752,0.845 +0.560,0.752,0.842 +0.564,0.751,0.840 +0.567,0.751,0.838 +0.571,0.750,0.836 +0.574,0.750,0.834 +0.578,0.749,0.831 +0.582,0.749,0.829 +0.585,0.748,0.827 +0.588,0.748,0.825 +0.592,0.747,0.823 +0.595,0.747,0.821 +0.599,0.746,0.818 +0.602,0.746,0.816 +0.605,0.745,0.814 +0.608,0.745,0.812 +0.612,0.744,0.810 +0.615,0.744,0.808 +0.618,0.743,0.805 +0.621,0.743,0.803 +0.624,0.742,0.801 +0.628,0.742,0.799 +0.631,0.741,0.797 +0.634,0.741,0.795 +0.637,0.740,0.792 +0.640,0.740,0.790 +0.643,0.739,0.788 +0.646,0.739,0.786 +0.649,0.738,0.784 +0.652,0.738,0.782 +0.655,0.737,0.780 +0.657,0.737,0.777 +0.660,0.736,0.775 +0.663,0.736,0.773 +0.666,0.735,0.771 +0.669,0.735,0.769 +0.672,0.734,0.767 +0.674,0.734,0.764 +0.677,0.733,0.762 +0.680,0.733,0.760 +0.683,0.732,0.758 +0.685,0.732,0.756 +0.688,0.731,0.754 +0.691,0.731,0.752 +0.693,0.730,0.750 +0.696,0.729,0.748 +0.699,0.729,0.746 +0.701,0.728,0.744 +0.704,0.728,0.742 +0.706,0.727,0.741 +0.709,0.727,0.739 +0.711,0.726,0.738 +0.714,0.726,0.737 +0.716,0.725,0.736 +0.718,0.724,0.735 +0.721,0.724,0.734 +0.723,0.723,0.734 +0.725,0.723,0.734 +0.727,0.722,0.734 +0.729,0.721,0.734 +0.731,0.721,0.734 +0.733,0.720,0.735 +0.735,0.719,0.735 +0.737,0.719,0.736 +0.739,0.718,0.737 +0.741,0.717,0.738 +0.743,0.717,0.739 +0.744,0.716,0.740 +0.746,0.715,0.741 +0.748,0.715,0.742 +0.750,0.714,0.744 +0.751,0.713,0.745 +0.753,0.713,0.746 +0.755,0.712,0.747 +0.757,0.711,0.749 +0.758,0.710,0.750 +0.760,0.710,0.751 +0.762,0.709,0.753 +0.763,0.708,0.754 +0.765,0.708,0.755 +0.767,0.707,0.757 +0.769,0.706,0.758 +0.770,0.706,0.759 +0.772,0.705,0.761 +0.774,0.704,0.762 +0.775,0.703,0.763 +0.777,0.703,0.765 +0.779,0.702,0.766 +0.780,0.701,0.767 +0.782,0.701,0.769 +0.784,0.700,0.770 +0.785,0.699,0.771 +0.787,0.698,0.773 +0.789,0.698,0.774 +0.790,0.697,0.775 +0.792,0.696,0.777 +0.794,0.695,0.778 +0.795,0.695,0.779 +0.797,0.694,0.781 +0.799,0.693,0.782 +0.800,0.692,0.783 +0.802,0.692,0.785 +0.804,0.691,0.786 +0.805,0.690,0.787 +0.807,0.689,0.788 +0.809,0.689,0.790 +0.810,0.688,0.791 +0.812,0.687,0.792 +0.814,0.686,0.794 +0.815,0.686,0.795 +0.817,0.685,0.796 +0.819,0.684,0.798 +0.820,0.683,0.799 +0.822,0.682,0.800 +0.823,0.682,0.802 +0.825,0.681,0.803 +0.827,0.680,0.804 +0.828,0.679,0.806 +0.830,0.678,0.807 +0.831,0.678,0.808 +0.833,0.677,0.810 +0.835,0.676,0.811 +0.836,0.675,0.812 +0.838,0.675,0.814 +0.840,0.674,0.815 +0.841,0.673,0.816 +0.843,0.672,0.818 +0.844,0.671,0.819 +0.846,0.670,0.820 +0.848,0.670,0.822 +0.849,0.669,0.823 +0.851,0.668,0.824 +0.852,0.667,0.825 +0.854,0.666,0.827 +0.855,0.666,0.828 +0.857,0.665,0.829 +0.859,0.664,0.831 +0.860,0.663,0.832 +0.862,0.662,0.833 +0.863,0.661,0.835 +0.865,0.660,0.836 +0.866,0.660,0.837 +0.868,0.659,0.839 +0.870,0.658,0.840 +0.871,0.657,0.841 +0.873,0.656,0.843 +0.874,0.655,0.844 +0.876,0.654,0.845 +0.877,0.654,0.847 +0.879,0.653,0.848 +0.881,0.652,0.849 +0.882,0.651,0.851 +0.884,0.650,0.852 +0.885,0.649,0.853 +0.887,0.648,0.855 +0.888,0.647,0.856 +0.890,0.647,0.857 +0.891,0.646,0.859 +0.893,0.645,0.860 +0.895,0.644,0.861 +0.896,0.643,0.862 +0.898,0.642,0.864 +0.899,0.641,0.865 +0.901,0.640,0.866 +0.902,0.639,0.868 +0.904,0.638,0.869 +0.905,0.638,0.870 +0.907,0.637,0.872 +0.908,0.636,0.873 +0.910,0.635,0.874 +0.911,0.634,0.876 +0.913,0.633,0.877 +0.914,0.632,0.878 +0.916,0.631,0.880 +0.917,0.630,0.881 +0.919,0.629,0.882 +0.920,0.628,0.884 +0.922,0.627,0.885 +0.924,0.626,0.886 +0.925,0.625,0.888 +0.927,0.624,0.889 +0.928,0.623,0.890 +0.930,0.622,0.892 +0.931,0.621,0.893 diff --git a/release-packaging/Resources/color-schemes/CET-D13.csv b/release-packaging/Resources/color-schemes/CET-D13.csv new file mode 100644 index 0000000..6f569c8 --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-D13.csv @@ -0,0 +1,256 @@ +0.066,0.176,0.408 +0.070,0.181,0.416 +0.074,0.186,0.424 +0.078,0.191,0.433 +0.083,0.196,0.441 +0.087,0.200,0.449 +0.091,0.205,0.458 +0.095,0.210,0.466 +0.099,0.215,0.475 +0.103,0.220,0.483 +0.107,0.225,0.491 +0.111,0.230,0.500 +0.114,0.235,0.508 +0.118,0.241,0.516 +0.122,0.246,0.525 +0.126,0.251,0.533 +0.129,0.256,0.542 +0.133,0.261,0.550 +0.136,0.267,0.558 +0.140,0.272,0.567 +0.143,0.277,0.575 +0.147,0.283,0.583 +0.150,0.288,0.591 +0.154,0.294,0.600 +0.157,0.299,0.608 +0.160,0.305,0.616 +0.163,0.310,0.624 +0.166,0.316,0.633 +0.169,0.321,0.641 +0.172,0.327,0.649 +0.175,0.333,0.657 +0.178,0.338,0.665 +0.181,0.344,0.673 +0.184,0.350,0.681 +0.186,0.356,0.689 +0.189,0.362,0.697 +0.191,0.368,0.705 +0.194,0.374,0.713 +0.196,0.380,0.721 +0.198,0.386,0.729 +0.200,0.392,0.736 +0.202,0.398,0.744 +0.204,0.404,0.752 +0.206,0.410,0.759 +0.207,0.416,0.767 +0.209,0.423,0.774 +0.210,0.429,0.781 +0.211,0.436,0.789 +0.212,0.442,0.796 +0.213,0.449,0.803 +0.213,0.455,0.810 +0.214,0.462,0.817 +0.214,0.468,0.824 +0.214,0.475,0.831 +0.214,0.482,0.838 +0.213,0.489,0.844 +0.212,0.496,0.851 +0.211,0.502,0.857 +0.210,0.509,0.863 +0.208,0.517,0.869 +0.206,0.524,0.875 +0.205,0.531,0.881 +0.203,0.538,0.887 +0.200,0.545,0.892 +0.199,0.552,0.898 +0.197,0.560,0.903 +0.196,0.567,0.908 +0.195,0.574,0.913 +0.194,0.581,0.917 +0.195,0.588,0.922 +0.196,0.596,0.926 +0.198,0.603,0.931 +0.201,0.610,0.935 +0.206,0.617,0.939 +0.211,0.624,0.942 +0.217,0.631,0.946 +0.224,0.637,0.950 +0.231,0.644,0.953 +0.240,0.651,0.956 +0.249,0.658,0.959 +0.259,0.665,0.962 +0.270,0.671,0.965 +0.281,0.678,0.967 +0.293,0.684,0.970 +0.305,0.691,0.972 +0.317,0.697,0.974 +0.330,0.704,0.976 +0.343,0.710,0.978 +0.356,0.716,0.979 +0.370,0.723,0.981 +0.384,0.729,0.982 +0.398,0.735,0.983 +0.412,0.741,0.984 +0.427,0.747,0.985 +0.441,0.753,0.985 +0.456,0.759,0.986 +0.471,0.765,0.986 +0.486,0.771,0.986 +0.502,0.777,0.986 +0.517,0.783,0.986 +0.532,0.788,0.986 +0.548,0.794,0.985 +0.563,0.800,0.985 +0.579,0.805,0.984 +0.595,0.811,0.983 +0.610,0.816,0.982 +0.626,0.822,0.981 +0.641,0.827,0.979 +0.657,0.833,0.978 +0.672,0.838,0.977 +0.687,0.844,0.975 +0.702,0.849,0.974 +0.717,0.855,0.972 +0.732,0.860,0.970 +0.747,0.865,0.969 +0.761,0.871,0.967 +0.776,0.876,0.965 +0.789,0.881,0.963 +0.803,0.887,0.961 +0.816,0.892,0.959 +0.828,0.897,0.957 +0.840,0.902,0.955 +0.850,0.906,0.952 +0.859,0.910,0.949 +0.866,0.914,0.945 +0.872,0.917,0.941 +0.875,0.919,0.937 +0.876,0.921,0.932 +0.875,0.922,0.926 +0.871,0.922,0.921 +0.865,0.921,0.914 +0.857,0.920,0.908 +0.848,0.918,0.901 +0.836,0.916,0.894 +0.824,0.913,0.886 +0.810,0.910,0.879 +0.796,0.906,0.871 +0.781,0.902,0.864 +0.766,0.899,0.856 +0.750,0.895,0.848 +0.734,0.891,0.841 +0.718,0.886,0.833 +0.702,0.882,0.825 +0.685,0.878,0.818 +0.669,0.874,0.810 +0.653,0.870,0.802 +0.636,0.865,0.795 +0.620,0.861,0.787 +0.603,0.856,0.779 +0.587,0.852,0.772 +0.570,0.848,0.764 +0.554,0.843,0.756 +0.537,0.838,0.748 +0.521,0.834,0.740 +0.505,0.829,0.732 +0.489,0.824,0.724 +0.473,0.819,0.716 +0.458,0.814,0.707 +0.442,0.809,0.699 +0.427,0.804,0.690 +0.412,0.799,0.682 +0.397,0.794,0.673 +0.383,0.789,0.664 +0.368,0.783,0.655 +0.354,0.778,0.647 +0.341,0.772,0.638 +0.327,0.767,0.628 +0.314,0.761,0.619 +0.301,0.756,0.610 +0.288,0.750,0.601 +0.276,0.745,0.591 +0.264,0.739,0.581 +0.252,0.733,0.572 +0.241,0.727,0.562 +0.230,0.721,0.552 +0.220,0.715,0.542 +0.211,0.709,0.532 +0.201,0.703,0.522 +0.193,0.697,0.512 +0.185,0.691,0.502 +0.178,0.685,0.492 +0.171,0.679,0.481 +0.165,0.673,0.471 +0.160,0.667,0.460 +0.155,0.660,0.450 +0.152,0.654,0.439 +0.149,0.648,0.428 +0.146,0.641,0.418 +0.145,0.635,0.407 +0.143,0.629,0.396 +0.142,0.622,0.386 +0.142,0.616,0.375 +0.141,0.609,0.365 +0.141,0.603,0.355 +0.140,0.597,0.345 +0.140,0.590,0.335 +0.139,0.584,0.325 +0.139,0.577,0.315 +0.138,0.571,0.306 +0.137,0.564,0.297 +0.136,0.558,0.288 +0.135,0.552,0.279 +0.134,0.545,0.271 +0.132,0.539,0.263 +0.131,0.533,0.255 +0.129,0.526,0.247 +0.127,0.520,0.239 +0.125,0.514,0.232 +0.123,0.507,0.225 +0.121,0.501,0.217 +0.119,0.495,0.211 +0.116,0.488,0.204 +0.114,0.482,0.197 +0.112,0.476,0.191 +0.109,0.470,0.184 +0.107,0.463,0.178 +0.104,0.457,0.172 +0.101,0.451,0.166 +0.099,0.445,0.160 +0.096,0.438,0.154 +0.093,0.432,0.149 +0.090,0.426,0.143 +0.087,0.420,0.138 +0.084,0.414,0.132 +0.082,0.408,0.127 +0.078,0.402,0.122 +0.075,0.395,0.117 +0.072,0.389,0.112 +0.069,0.383,0.108 +0.066,0.377,0.103 +0.063,0.371,0.098 +0.060,0.365,0.094 +0.057,0.359,0.089 +0.053,0.353,0.085 +0.050,0.347,0.081 +0.047,0.341,0.076 +0.043,0.335,0.072 +0.040,0.329,0.068 +0.037,0.324,0.064 +0.033,0.318,0.060 +0.030,0.312,0.057 +0.027,0.306,0.053 +0.024,0.300,0.049 +0.021,0.294,0.045 +0.019,0.289,0.042 +0.016,0.283,0.038 +0.013,0.277,0.035 +0.011,0.271,0.032 +0.009,0.265,0.029 +0.007,0.260,0.026 +0.005,0.254,0.023 +0.004,0.248,0.020 +0.002,0.243,0.016 +0.001,0.237,0.013 +0.001,0.232,0.009 +0.000,0.226,0.006 diff --git a/release-packaging/Resources/color-schemes/CET-I1.csv b/release-packaging/Resources/color-schemes/CET-I1.csv new file mode 100644 index 0000000..ee06085 --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-I1.csv @@ -0,0 +1,256 @@ +0.216,0.718,0.926 +0.218,0.718,0.923 +0.220,0.718,0.919 +0.223,0.719,0.916 +0.225,0.719,0.912 +0.227,0.719,0.909 +0.230,0.720,0.906 +0.232,0.720,0.902 +0.234,0.720,0.899 +0.236,0.721,0.895 +0.238,0.721,0.892 +0.240,0.721,0.888 +0.242,0.721,0.885 +0.245,0.722,0.882 +0.247,0.722,0.878 +0.249,0.722,0.875 +0.251,0.723,0.871 +0.253,0.723,0.868 +0.255,0.723,0.864 +0.257,0.723,0.861 +0.259,0.724,0.857 +0.261,0.724,0.854 +0.263,0.724,0.850 +0.265,0.724,0.847 +0.267,0.725,0.843 +0.269,0.725,0.840 +0.271,0.725,0.836 +0.273,0.725,0.833 +0.274,0.726,0.829 +0.276,0.726,0.826 +0.278,0.726,0.822 +0.280,0.726,0.819 +0.282,0.727,0.815 +0.284,0.727,0.812 +0.286,0.727,0.808 +0.288,0.727,0.805 +0.290,0.728,0.801 +0.291,0.728,0.798 +0.293,0.728,0.794 +0.295,0.728,0.791 +0.297,0.729,0.787 +0.299,0.729,0.784 +0.301,0.729,0.780 +0.303,0.729,0.776 +0.304,0.729,0.773 +0.306,0.730,0.769 +0.308,0.730,0.766 +0.310,0.730,0.762 +0.312,0.730,0.759 +0.314,0.730,0.755 +0.316,0.731,0.751 +0.318,0.731,0.748 +0.319,0.731,0.744 +0.321,0.731,0.740 +0.323,0.731,0.737 +0.325,0.731,0.733 +0.327,0.732,0.730 +0.329,0.732,0.726 +0.331,0.732,0.722 +0.333,0.732,0.719 +0.335,0.732,0.715 +0.337,0.732,0.711 +0.339,0.732,0.708 +0.341,0.733,0.704 +0.343,0.733,0.700 +0.345,0.733,0.696 +0.347,0.733,0.693 +0.349,0.733,0.689 +0.351,0.733,0.685 +0.353,0.733,0.682 +0.355,0.733,0.678 +0.357,0.733,0.674 +0.359,0.734,0.670 +0.361,0.734,0.667 +0.363,0.734,0.663 +0.366,0.734,0.659 +0.368,0.734,0.655 +0.370,0.734,0.652 +0.372,0.734,0.648 +0.375,0.734,0.644 +0.377,0.734,0.640 +0.379,0.734,0.636 +0.381,0.734,0.633 +0.384,0.734,0.629 +0.386,0.734,0.625 +0.389,0.734,0.621 +0.391,0.734,0.617 +0.394,0.734,0.613 +0.396,0.734,0.610 +0.399,0.734,0.606 +0.401,0.734,0.602 +0.404,0.734,0.598 +0.406,0.734,0.594 +0.409,0.734,0.590 +0.412,0.734,0.586 +0.415,0.733,0.582 +0.417,0.733,0.579 +0.420,0.733,0.575 +0.423,0.733,0.571 +0.426,0.733,0.567 +0.429,0.733,0.563 +0.432,0.733,0.559 +0.435,0.732,0.555 +0.438,0.732,0.552 +0.441,0.732,0.548 +0.444,0.732,0.544 +0.448,0.731,0.540 +0.451,0.731,0.536 +0.454,0.731,0.532 +0.458,0.731,0.529 +0.461,0.730,0.525 +0.465,0.730,0.521 +0.468,0.730,0.517 +0.472,0.729,0.513 +0.475,0.729,0.510 +0.479,0.729,0.506 +0.483,0.728,0.502 +0.486,0.728,0.499 +0.490,0.727,0.495 +0.494,0.727,0.492 +0.498,0.726,0.488 +0.502,0.726,0.485 +0.506,0.725,0.481 +0.510,0.725,0.478 +0.514,0.724,0.474 +0.518,0.724,0.471 +0.522,0.723,0.468 +0.526,0.722,0.465 +0.530,0.722,0.462 +0.534,0.721,0.459 +0.538,0.720,0.456 +0.542,0.720,0.453 +0.547,0.719,0.450 +0.551,0.718,0.447 +0.555,0.717,0.444 +0.559,0.717,0.441 +0.563,0.716,0.439 +0.568,0.715,0.436 +0.572,0.714,0.434 +0.576,0.713,0.431 +0.580,0.713,0.429 +0.585,0.712,0.427 +0.589,0.711,0.424 +0.593,0.710,0.422 +0.597,0.709,0.420 +0.601,0.708,0.418 +0.606,0.707,0.416 +0.610,0.706,0.414 +0.614,0.706,0.412 +0.618,0.705,0.410 +0.622,0.704,0.408 +0.626,0.703,0.406 +0.630,0.702,0.404 +0.634,0.701,0.402 +0.638,0.700,0.401 +0.642,0.699,0.399 +0.646,0.698,0.397 +0.650,0.697,0.395 +0.654,0.696,0.394 +0.658,0.695,0.392 +0.662,0.694,0.391 +0.666,0.693,0.389 +0.670,0.692,0.388 +0.674,0.691,0.386 +0.678,0.690,0.385 +0.681,0.689,0.384 +0.685,0.688,0.383 +0.689,0.687,0.381 +0.693,0.685,0.380 +0.697,0.684,0.379 +0.700,0.683,0.378 +0.704,0.682,0.377 +0.708,0.681,0.376 +0.712,0.680,0.375 +0.715,0.679,0.374 +0.719,0.678,0.373 +0.723,0.676,0.373 +0.726,0.675,0.372 +0.730,0.674,0.371 +0.734,0.673,0.371 +0.737,0.672,0.370 +0.741,0.671,0.370 +0.745,0.669,0.369 +0.748,0.668,0.369 +0.752,0.667,0.368 +0.755,0.666,0.368 +0.759,0.664,0.367 +0.762,0.663,0.367 +0.766,0.662,0.367 +0.769,0.661,0.367 +0.773,0.660,0.367 +0.776,0.658,0.367 +0.780,0.657,0.366 +0.783,0.656,0.366 +0.787,0.654,0.366 +0.790,0.653,0.367 +0.793,0.652,0.367 +0.797,0.651,0.367 +0.800,0.649,0.367 +0.803,0.648,0.367 +0.807,0.647,0.367 +0.810,0.645,0.368 +0.813,0.644,0.368 +0.816,0.643,0.369 +0.820,0.641,0.369 +0.823,0.640,0.369 +0.826,0.639,0.370 +0.829,0.637,0.370 +0.833,0.636,0.371 +0.836,0.634,0.372 +0.839,0.633,0.372 +0.842,0.632,0.373 +0.845,0.630,0.374 +0.848,0.629,0.374 +0.851,0.628,0.375 +0.854,0.626,0.376 +0.857,0.625,0.377 +0.861,0.623,0.377 +0.864,0.622,0.378 +0.867,0.620,0.379 +0.870,0.619,0.380 +0.873,0.618,0.381 +0.876,0.616,0.382 +0.878,0.615,0.383 +0.881,0.613,0.384 +0.884,0.612,0.385 +0.887,0.610,0.386 +0.890,0.609,0.387 +0.893,0.607,0.389 +0.896,0.606,0.390 +0.899,0.604,0.391 +0.902,0.603,0.392 +0.905,0.601,0.393 +0.907,0.600,0.395 +0.910,0.598,0.396 +0.913,0.597,0.397 +0.916,0.595,0.398 +0.919,0.594,0.400 +0.921,0.592,0.401 +0.924,0.591,0.402 +0.927,0.589,0.404 +0.930,0.587,0.405 +0.932,0.586,0.407 +0.935,0.584,0.408 +0.938,0.583,0.410 +0.940,0.581,0.411 +0.943,0.580,0.413 +0.946,0.578,0.414 +0.948,0.576,0.416 +0.951,0.575,0.417 +0.954,0.573,0.419 +0.956,0.572,0.420 +0.959,0.570,0.422 +0.961,0.568,0.423 +0.964,0.567,0.425 +0.966,0.565,0.427 diff --git a/release-packaging/Resources/color-schemes/CET-I2.csv b/release-packaging/Resources/color-schemes/CET-I2.csv new file mode 100644 index 0000000..5b58b9d --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-I2.csv @@ -0,0 +1,256 @@ +0.438,0.821,1.000 +0.438,0.822,1.000 +0.438,0.822,1.000 +0.439,0.823,1.000 +0.439,0.823,1.000 +0.439,0.823,0.998 +0.439,0.824,0.995 +0.440,0.824,0.992 +0.440,0.824,0.989 +0.440,0.825,0.985 +0.441,0.825,0.982 +0.441,0.825,0.979 +0.441,0.826,0.976 +0.442,0.826,0.973 +0.442,0.826,0.970 +0.442,0.827,0.967 +0.443,0.827,0.964 +0.443,0.827,0.960 +0.443,0.828,0.957 +0.444,0.828,0.954 +0.444,0.828,0.951 +0.445,0.829,0.948 +0.445,0.829,0.945 +0.445,0.829,0.942 +0.446,0.830,0.938 +0.446,0.830,0.935 +0.447,0.830,0.932 +0.447,0.831,0.929 +0.448,0.831,0.926 +0.448,0.831,0.922 +0.449,0.832,0.919 +0.449,0.832,0.916 +0.450,0.832,0.913 +0.450,0.833,0.910 +0.451,0.833,0.906 +0.451,0.833,0.903 +0.452,0.833,0.900 +0.452,0.834,0.897 +0.453,0.834,0.893 +0.454,0.834,0.890 +0.454,0.834,0.887 +0.455,0.835,0.884 +0.455,0.835,0.880 +0.456,0.835,0.877 +0.457,0.836,0.874 +0.457,0.836,0.871 +0.458,0.836,0.867 +0.459,0.836,0.864 +0.460,0.837,0.861 +0.460,0.837,0.857 +0.461,0.837,0.854 +0.462,0.837,0.851 +0.463,0.838,0.847 +0.463,0.838,0.844 +0.464,0.838,0.841 +0.465,0.838,0.838 +0.466,0.838,0.834 +0.467,0.839,0.831 +0.468,0.839,0.827 +0.469,0.839,0.824 +0.470,0.839,0.821 +0.470,0.839,0.817 +0.471,0.840,0.814 +0.472,0.840,0.811 +0.473,0.840,0.807 +0.474,0.840,0.804 +0.476,0.840,0.800 +0.477,0.841,0.797 +0.478,0.841,0.793 +0.479,0.841,0.790 +0.480,0.841,0.787 +0.481,0.841,0.783 +0.482,0.841,0.780 +0.484,0.841,0.776 +0.485,0.842,0.773 +0.486,0.842,0.769 +0.488,0.842,0.766 +0.489,0.842,0.762 +0.490,0.842,0.759 +0.492,0.842,0.755 +0.493,0.842,0.752 +0.495,0.842,0.748 +0.496,0.842,0.745 +0.498,0.842,0.741 +0.499,0.842,0.738 +0.501,0.843,0.734 +0.502,0.843,0.730 +0.504,0.843,0.727 +0.506,0.843,0.723 +0.508,0.843,0.720 +0.509,0.843,0.716 +0.511,0.843,0.713 +0.513,0.843,0.709 +0.515,0.843,0.705 +0.517,0.843,0.702 +0.519,0.843,0.698 +0.521,0.843,0.694 +0.523,0.843,0.691 +0.525,0.843,0.687 +0.527,0.842,0.684 +0.530,0.842,0.680 +0.532,0.842,0.676 +0.534,0.842,0.673 +0.537,0.842,0.669 +0.539,0.842,0.665 +0.541,0.842,0.662 +0.544,0.842,0.658 +0.547,0.841,0.655 +0.549,0.841,0.651 +0.552,0.841,0.647 +0.555,0.841,0.644 +0.557,0.841,0.640 +0.560,0.840,0.636 +0.563,0.840,0.633 +0.566,0.840,0.629 +0.569,0.840,0.626 +0.572,0.839,0.622 +0.575,0.839,0.619 +0.578,0.839,0.615 +0.582,0.838,0.612 +0.585,0.838,0.608 +0.588,0.837,0.605 +0.592,0.837,0.601 +0.595,0.837,0.598 +0.598,0.836,0.595 +0.602,0.836,0.591 +0.606,0.835,0.588 +0.609,0.835,0.585 +0.613,0.834,0.582 +0.616,0.834,0.579 +0.620,0.833,0.575 +0.624,0.832,0.572 +0.628,0.832,0.569 +0.631,0.831,0.566 +0.635,0.831,0.564 +0.639,0.830,0.561 +0.643,0.829,0.558 +0.647,0.829,0.555 +0.651,0.828,0.552 +0.655,0.827,0.550 +0.659,0.827,0.547 +0.663,0.826,0.545 +0.667,0.825,0.542 +0.671,0.824,0.540 +0.674,0.824,0.537 +0.678,0.823,0.535 +0.682,0.822,0.533 +0.686,0.821,0.531 +0.690,0.820,0.529 +0.694,0.820,0.526 +0.698,0.819,0.524 +0.702,0.818,0.522 +0.706,0.817,0.520 +0.710,0.816,0.518 +0.714,0.815,0.516 +0.718,0.815,0.514 +0.722,0.814,0.513 +0.726,0.813,0.511 +0.729,0.812,0.509 +0.733,0.811,0.507 +0.737,0.810,0.505 +0.741,0.809,0.503 +0.745,0.808,0.502 +0.748,0.807,0.500 +0.752,0.806,0.498 +0.756,0.805,0.497 +0.760,0.805,0.495 +0.763,0.804,0.493 +0.767,0.803,0.492 +0.771,0.802,0.490 +0.774,0.801,0.489 +0.778,0.800,0.487 +0.782,0.799,0.486 +0.785,0.798,0.485 +0.789,0.797,0.483 +0.793,0.796,0.482 +0.796,0.795,0.481 +0.800,0.794,0.479 +0.804,0.793,0.478 +0.807,0.792,0.477 +0.811,0.791,0.476 +0.814,0.790,0.475 +0.818,0.789,0.474 +0.821,0.788,0.473 +0.825,0.786,0.472 +0.829,0.785,0.471 +0.832,0.784,0.470 +0.836,0.783,0.469 +0.839,0.782,0.468 +0.843,0.781,0.468 +0.846,0.780,0.467 +0.849,0.779,0.466 +0.853,0.778,0.466 +0.856,0.777,0.465 +0.860,0.775,0.465 +0.863,0.774,0.464 +0.866,0.773,0.464 +0.870,0.772,0.463 +0.873,0.771,0.463 +0.877,0.770,0.462 +0.880,0.769,0.462 +0.883,0.767,0.462 +0.887,0.766,0.462 +0.890,0.765,0.462 +0.893,0.764,0.461 +0.896,0.763,0.461 +0.900,0.761,0.461 +0.903,0.760,0.461 +0.906,0.759,0.462 +0.909,0.758,0.462 +0.912,0.757,0.462 +0.916,0.755,0.462 +0.919,0.754,0.462 +0.922,0.753,0.463 +0.925,0.752,0.463 +0.928,0.750,0.463 +0.931,0.749,0.464 +0.934,0.748,0.464 +0.937,0.747,0.465 +0.940,0.745,0.465 +0.943,0.744,0.466 +0.946,0.743,0.466 +0.949,0.742,0.467 +0.952,0.740,0.468 +0.955,0.739,0.468 +0.958,0.738,0.469 +0.961,0.737,0.470 +0.964,0.735,0.471 +0.967,0.734,0.472 +0.970,0.733,0.473 +0.973,0.732,0.474 +0.975,0.730,0.475 +0.978,0.729,0.476 +0.981,0.728,0.477 +0.984,0.726,0.478 +0.986,0.725,0.479 +0.989,0.724,0.480 +0.992,0.723,0.481 +0.995,0.721,0.483 +0.997,0.720,0.484 +1.000,0.719,0.485 +1.000,0.717,0.486 +1.000,0.716,0.488 +1.000,0.715,0.489 +1.000,0.713,0.490 +1.000,0.712,0.492 +1.000,0.711,0.493 +1.000,0.710,0.495 +1.000,0.708,0.496 +1.000,0.707,0.498 +1.000,0.706,0.499 +1.000,0.704,0.501 +1.000,0.703,0.503 +1.000,0.702,0.504 +1.000,0.700,0.506 +1.000,0.699,0.508 diff --git a/release-packaging/Resources/color-schemes/CET-I3.csv b/release-packaging/Resources/color-schemes/CET-I3.csv new file mode 100644 index 0000000..1787192 --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-I3.csv @@ -0,0 +1,256 @@ +0.078,0.727,0.901 +0.097,0.727,0.901 +0.112,0.726,0.902 +0.126,0.726,0.902 +0.139,0.725,0.903 +0.150,0.725,0.903 +0.161,0.724,0.904 +0.171,0.723,0.904 +0.181,0.723,0.905 +0.190,0.722,0.905 +0.198,0.722,0.906 +0.207,0.721,0.906 +0.215,0.720,0.907 +0.222,0.720,0.907 +0.230,0.719,0.908 +0.237,0.719,0.908 +0.244,0.718,0.909 +0.251,0.717,0.909 +0.257,0.717,0.910 +0.264,0.716,0.910 +0.270,0.716,0.911 +0.276,0.715,0.911 +0.282,0.714,0.912 +0.288,0.714,0.912 +0.294,0.713,0.913 +0.300,0.712,0.913 +0.305,0.712,0.914 +0.311,0.711,0.914 +0.316,0.711,0.914 +0.322,0.710,0.915 +0.327,0.709,0.915 +0.332,0.709,0.916 +0.337,0.708,0.916 +0.342,0.707,0.916 +0.347,0.707,0.917 +0.352,0.706,0.917 +0.357,0.705,0.918 +0.362,0.705,0.918 +0.366,0.704,0.918 +0.371,0.703,0.919 +0.376,0.703,0.919 +0.380,0.702,0.919 +0.385,0.701,0.920 +0.389,0.701,0.920 +0.394,0.700,0.920 +0.398,0.699,0.921 +0.403,0.699,0.921 +0.407,0.698,0.921 +0.411,0.697,0.922 +0.416,0.697,0.922 +0.420,0.696,0.922 +0.424,0.695,0.922 +0.428,0.694,0.923 +0.432,0.694,0.923 +0.436,0.693,0.923 +0.441,0.692,0.923 +0.445,0.692,0.924 +0.449,0.691,0.924 +0.453,0.690,0.924 +0.457,0.689,0.924 +0.461,0.689,0.924 +0.465,0.688,0.925 +0.468,0.687,0.925 +0.472,0.686,0.925 +0.476,0.686,0.925 +0.480,0.685,0.925 +0.484,0.684,0.925 +0.488,0.683,0.925 +0.492,0.683,0.926 +0.495,0.682,0.926 +0.499,0.681,0.926 +0.503,0.680,0.926 +0.507,0.680,0.926 +0.510,0.679,0.926 +0.514,0.678,0.926 +0.518,0.677,0.926 +0.521,0.677,0.926 +0.525,0.676,0.926 +0.529,0.675,0.926 +0.532,0.674,0.926 +0.536,0.673,0.926 +0.540,0.673,0.926 +0.543,0.672,0.926 +0.547,0.671,0.926 +0.550,0.670,0.925 +0.554,0.669,0.925 +0.558,0.669,0.925 +0.561,0.668,0.925 +0.565,0.667,0.925 +0.568,0.666,0.925 +0.572,0.665,0.924 +0.575,0.664,0.924 +0.579,0.664,0.924 +0.582,0.663,0.924 +0.586,0.662,0.923 +0.589,0.661,0.923 +0.593,0.660,0.923 +0.596,0.659,0.922 +0.600,0.659,0.922 +0.603,0.658,0.921 +0.607,0.657,0.921 +0.610,0.656,0.921 +0.614,0.655,0.920 +0.617,0.654,0.920 +0.621,0.653,0.919 +0.624,0.653,0.919 +0.627,0.652,0.918 +0.631,0.651,0.917 +0.634,0.650,0.917 +0.638,0.649,0.916 +0.641,0.648,0.915 +0.644,0.647,0.915 +0.648,0.646,0.914 +0.651,0.645,0.913 +0.655,0.645,0.912 +0.658,0.644,0.911 +0.661,0.643,0.910 +0.665,0.642,0.910 +0.668,0.641,0.909 +0.671,0.640,0.908 +0.675,0.639,0.907 +0.678,0.638,0.905 +0.681,0.638,0.904 +0.684,0.637,0.903 +0.688,0.636,0.902 +0.691,0.635,0.901 +0.694,0.634,0.900 +0.697,0.633,0.898 +0.700,0.632,0.897 +0.704,0.631,0.896 +0.707,0.631,0.894 +0.710,0.630,0.893 +0.713,0.629,0.892 +0.716,0.628,0.890 +0.719,0.627,0.889 +0.722,0.626,0.887 +0.725,0.625,0.886 +0.728,0.625,0.885 +0.731,0.624,0.883 +0.734,0.623,0.882 +0.737,0.622,0.880 +0.740,0.621,0.879 +0.743,0.620,0.877 +0.746,0.619,0.876 +0.749,0.619,0.874 +0.752,0.618,0.873 +0.754,0.617,0.871 +0.757,0.616,0.870 +0.760,0.615,0.868 +0.763,0.614,0.867 +0.766,0.613,0.865 +0.768,0.613,0.863 +0.771,0.612,0.862 +0.774,0.611,0.860 +0.777,0.610,0.859 +0.779,0.609,0.857 +0.782,0.608,0.855 +0.785,0.608,0.854 +0.787,0.607,0.852 +0.790,0.606,0.850 +0.793,0.605,0.849 +0.795,0.604,0.847 +0.798,0.603,0.846 +0.800,0.602,0.844 +0.803,0.602,0.842 +0.806,0.601,0.841 +0.808,0.600,0.839 +0.811,0.599,0.837 +0.813,0.598,0.835 +0.816,0.597,0.834 +0.818,0.596,0.832 +0.821,0.596,0.830 +0.823,0.595,0.829 +0.826,0.594,0.827 +0.828,0.593,0.825 +0.830,0.592,0.824 +0.833,0.591,0.822 +0.835,0.590,0.820 +0.838,0.590,0.818 +0.840,0.589,0.817 +0.842,0.588,0.815 +0.845,0.587,0.813 +0.847,0.586,0.811 +0.849,0.585,0.810 +0.852,0.584,0.808 +0.854,0.584,0.806 +0.856,0.583,0.804 +0.859,0.582,0.803 +0.861,0.581,0.801 +0.863,0.580,0.799 +0.866,0.579,0.797 +0.868,0.578,0.796 +0.870,0.578,0.794 +0.872,0.577,0.792 +0.874,0.576,0.790 +0.877,0.575,0.788 +0.879,0.574,0.787 +0.881,0.573,0.785 +0.883,0.572,0.783 +0.885,0.572,0.781 +0.888,0.571,0.780 +0.890,0.570,0.778 +0.892,0.569,0.776 +0.894,0.568,0.774 +0.896,0.567,0.772 +0.898,0.566,0.770 +0.900,0.565,0.769 +0.903,0.565,0.767 +0.905,0.564,0.765 +0.907,0.563,0.763 +0.909,0.562,0.761 +0.911,0.561,0.760 +0.913,0.560,0.758 +0.915,0.559,0.756 +0.917,0.558,0.754 +0.919,0.558,0.752 +0.921,0.557,0.750 +0.923,0.556,0.749 +0.925,0.555,0.747 +0.927,0.554,0.745 +0.929,0.553,0.743 +0.931,0.552,0.741 +0.933,0.551,0.739 +0.935,0.550,0.738 +0.937,0.550,0.736 +0.939,0.549,0.734 +0.941,0.548,0.732 +0.943,0.547,0.730 +0.945,0.546,0.728 +0.947,0.545,0.727 +0.949,0.544,0.725 +0.950,0.543,0.723 +0.952,0.542,0.721 +0.954,0.541,0.719 +0.956,0.541,0.717 +0.958,0.540,0.715 +0.960,0.539,0.714 +0.962,0.538,0.712 +0.964,0.537,0.710 +0.965,0.536,0.708 +0.967,0.535,0.706 +0.969,0.534,0.704 +0.971,0.533,0.702 +0.973,0.532,0.701 +0.975,0.531,0.699 +0.976,0.531,0.697 +0.978,0.530,0.695 +0.980,0.529,0.693 +0.982,0.528,0.691 +0.984,0.527,0.689 +0.985,0.526,0.687 +0.987,0.525,0.686 +0.989,0.524,0.684 +0.991,0.523,0.682 +0.992,0.522,0.680 +0.994,0.521,0.678 diff --git a/release-packaging/Resources/color-schemes/CET-L01.csv b/release-packaging/Resources/color-schemes/CET-L01.csv new file mode 100644 index 0000000..c7005f3 --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-L01.csv @@ -0,0 +1,256 @@ +0.000,0.000,0.000 +0.006,0.006,0.006 +0.011,0.011,0.011 +0.017,0.017,0.017 +0.022,0.022,0.022 +0.028,0.028,0.028 +0.034,0.034,0.034 +0.039,0.039,0.039 +0.045,0.045,0.045 +0.050,0.050,0.050 +0.054,0.054,0.054 +0.059,0.059,0.059 +0.063,0.063,0.063 +0.067,0.067,0.067 +0.071,0.071,0.071 +0.074,0.075,0.075 +0.078,0.078,0.078 +0.081,0.081,0.081 +0.085,0.085,0.085 +0.088,0.088,0.088 +0.091,0.091,0.091 +0.094,0.094,0.094 +0.097,0.097,0.097 +0.100,0.100,0.100 +0.103,0.103,0.103 +0.106,0.106,0.106 +0.109,0.109,0.109 +0.112,0.112,0.112 +0.115,0.115,0.115 +0.119,0.119,0.119 +0.122,0.122,0.122 +0.125,0.125,0.125 +0.128,0.128,0.128 +0.131,0.131,0.131 +0.134,0.134,0.134 +0.137,0.137,0.137 +0.141,0.141,0.141 +0.144,0.144,0.144 +0.147,0.147,0.147 +0.150,0.150,0.150 +0.153,0.153,0.153 +0.157,0.157,0.157 +0.160,0.160,0.160 +0.163,0.163,0.163 +0.166,0.166,0.166 +0.170,0.170,0.170 +0.173,0.173,0.173 +0.176,0.176,0.176 +0.179,0.179,0.179 +0.183,0.183,0.183 +0.186,0.186,0.186 +0.189,0.189,0.189 +0.193,0.193,0.193 +0.196,0.196,0.196 +0.199,0.199,0.199 +0.203,0.203,0.203 +0.206,0.206,0.206 +0.209,0.210,0.209 +0.213,0.213,0.213 +0.216,0.216,0.216 +0.220,0.220,0.220 +0.223,0.223,0.223 +0.226,0.227,0.227 +0.230,0.230,0.230 +0.233,0.233,0.233 +0.237,0.237,0.237 +0.240,0.240,0.240 +0.244,0.244,0.244 +0.247,0.247,0.247 +0.251,0.251,0.251 +0.254,0.254,0.254 +0.258,0.258,0.258 +0.261,0.261,0.261 +0.265,0.265,0.265 +0.268,0.268,0.268 +0.272,0.272,0.272 +0.275,0.275,0.275 +0.279,0.279,0.279 +0.282,0.282,0.282 +0.286,0.286,0.286 +0.289,0.289,0.289 +0.293,0.293,0.293 +0.297,0.297,0.297 +0.300,0.300,0.300 +0.304,0.304,0.304 +0.307,0.307,0.307 +0.311,0.311,0.311 +0.314,0.315,0.315 +0.318,0.318,0.318 +0.322,0.322,0.322 +0.325,0.325,0.325 +0.329,0.329,0.329 +0.333,0.333,0.333 +0.336,0.336,0.336 +0.340,0.340,0.340 +0.344,0.344,0.344 +0.347,0.347,0.347 +0.351,0.351,0.351 +0.355,0.355,0.355 +0.358,0.358,0.358 +0.362,0.362,0.362 +0.366,0.366,0.366 +0.369,0.370,0.370 +0.373,0.373,0.373 +0.377,0.377,0.377 +0.381,0.381,0.381 +0.384,0.384,0.384 +0.388,0.388,0.388 +0.392,0.392,0.392 +0.396,0.396,0.396 +0.399,0.399,0.399 +0.403,0.403,0.403 +0.407,0.407,0.407 +0.411,0.411,0.411 +0.415,0.415,0.415 +0.418,0.418,0.418 +0.422,0.422,0.422 +0.426,0.426,0.426 +0.430,0.430,0.430 +0.434,0.434,0.434 +0.437,0.437,0.437 +0.441,0.441,0.441 +0.445,0.445,0.445 +0.449,0.449,0.449 +0.453,0.453,0.453 +0.457,0.457,0.457 +0.460,0.461,0.461 +0.464,0.464,0.464 +0.468,0.468,0.468 +0.472,0.472,0.472 +0.476,0.476,0.476 +0.480,0.480,0.480 +0.484,0.484,0.484 +0.488,0.488,0.488 +0.492,0.492,0.492 +0.495,0.496,0.496 +0.499,0.499,0.499 +0.503,0.503,0.503 +0.507,0.507,0.507 +0.511,0.511,0.511 +0.515,0.515,0.515 +0.519,0.519,0.519 +0.523,0.523,0.523 +0.527,0.527,0.527 +0.531,0.531,0.531 +0.535,0.535,0.535 +0.539,0.539,0.539 +0.543,0.543,0.543 +0.547,0.547,0.547 +0.551,0.551,0.551 +0.555,0.555,0.555 +0.559,0.559,0.559 +0.563,0.563,0.563 +0.567,0.567,0.567 +0.571,0.571,0.571 +0.575,0.575,0.575 +0.579,0.579,0.579 +0.583,0.583,0.583 +0.587,0.587,0.587 +0.591,0.591,0.591 +0.595,0.595,0.595 +0.599,0.599,0.599 +0.603,0.603,0.603 +0.607,0.607,0.607 +0.611,0.611,0.611 +0.615,0.615,0.615 +0.619,0.619,0.619 +0.623,0.624,0.624 +0.628,0.628,0.628 +0.632,0.632,0.632 +0.636,0.636,0.636 +0.640,0.640,0.640 +0.644,0.644,0.644 +0.648,0.648,0.648 +0.652,0.652,0.652 +0.656,0.656,0.656 +0.660,0.660,0.660 +0.664,0.665,0.665 +0.669,0.669,0.669 +0.673,0.673,0.673 +0.677,0.677,0.677 +0.681,0.681,0.681 +0.685,0.685,0.685 +0.689,0.689,0.689 +0.694,0.694,0.694 +0.698,0.698,0.698 +0.702,0.702,0.702 +0.706,0.706,0.706 +0.710,0.710,0.710 +0.714,0.715,0.714 +0.719,0.719,0.719 +0.723,0.723,0.723 +0.727,0.727,0.727 +0.731,0.731,0.731 +0.735,0.735,0.735 +0.740,0.740,0.740 +0.744,0.744,0.744 +0.748,0.748,0.748 +0.752,0.752,0.752 +0.756,0.757,0.757 +0.761,0.761,0.761 +0.765,0.765,0.765 +0.769,0.769,0.769 +0.773,0.774,0.774 +0.778,0.778,0.778 +0.782,0.782,0.782 +0.786,0.786,0.786 +0.790,0.791,0.791 +0.795,0.795,0.795 +0.799,0.799,0.799 +0.803,0.803,0.803 +0.808,0.808,0.808 +0.812,0.812,0.812 +0.816,0.816,0.816 +0.820,0.821,0.821 +0.825,0.825,0.825 +0.829,0.829,0.829 +0.833,0.833,0.833 +0.838,0.838,0.838 +0.842,0.842,0.842 +0.846,0.846,0.846 +0.851,0.851,0.851 +0.855,0.855,0.855 +0.859,0.859,0.859 +0.864,0.864,0.864 +0.868,0.868,0.868 +0.872,0.872,0.872 +0.877,0.877,0.877 +0.881,0.881,0.881 +0.885,0.885,0.885 +0.890,0.890,0.890 +0.894,0.894,0.894 +0.898,0.899,0.898 +0.903,0.903,0.903 +0.907,0.907,0.907 +0.911,0.912,0.912 +0.916,0.916,0.916 +0.920,0.920,0.920 +0.925,0.925,0.925 +0.929,0.929,0.929 +0.933,0.934,0.934 +0.938,0.938,0.938 +0.942,0.942,0.942 +0.947,0.947,0.947 +0.951,0.951,0.951 +0.955,0.956,0.956 +0.960,0.960,0.960 +0.964,0.965,0.964 +0.969,0.969,0.969 +0.973,0.973,0.973 +0.978,0.978,0.978 +0.982,0.982,0.982 +0.987,0.987,0.987 +0.991,0.991,0.991 +0.995,0.996,0.996 +1.000,1.000,1.000 diff --git a/release-packaging/Resources/color-schemes/CET-L02.csv b/release-packaging/Resources/color-schemes/CET-L02.csv new file mode 100644 index 0000000..921590d --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-L02.csv @@ -0,0 +1,256 @@ +0.108,0.108,0.108 +0.110,0.110,0.110 +0.113,0.113,0.113 +0.116,0.116,0.116 +0.118,0.118,0.118 +0.121,0.121,0.121 +0.123,0.123,0.123 +0.126,0.126,0.126 +0.129,0.129,0.129 +0.131,0.132,0.132 +0.134,0.134,0.134 +0.137,0.137,0.137 +0.140,0.140,0.140 +0.142,0.142,0.142 +0.145,0.145,0.145 +0.148,0.148,0.148 +0.150,0.150,0.150 +0.153,0.153,0.153 +0.156,0.156,0.156 +0.159,0.159,0.159 +0.161,0.161,0.161 +0.164,0.164,0.164 +0.167,0.167,0.167 +0.170,0.170,0.170 +0.172,0.173,0.173 +0.175,0.175,0.175 +0.178,0.178,0.178 +0.181,0.181,0.181 +0.184,0.184,0.184 +0.187,0.187,0.187 +0.189,0.189,0.189 +0.192,0.192,0.192 +0.195,0.195,0.195 +0.198,0.198,0.198 +0.201,0.201,0.201 +0.204,0.204,0.204 +0.206,0.207,0.206 +0.209,0.209,0.209 +0.212,0.212,0.212 +0.215,0.215,0.215 +0.218,0.218,0.218 +0.221,0.221,0.221 +0.224,0.224,0.224 +0.227,0.227,0.227 +0.230,0.230,0.230 +0.232,0.233,0.233 +0.235,0.235,0.235 +0.238,0.238,0.238 +0.241,0.241,0.241 +0.244,0.244,0.244 +0.247,0.247,0.247 +0.250,0.250,0.250 +0.253,0.253,0.253 +0.256,0.256,0.256 +0.259,0.259,0.259 +0.262,0.262,0.262 +0.265,0.265,0.265 +0.268,0.268,0.268 +0.271,0.271,0.271 +0.274,0.274,0.274 +0.277,0.277,0.277 +0.280,0.280,0.280 +0.283,0.283,0.283 +0.286,0.286,0.286 +0.289,0.289,0.289 +0.292,0.292,0.292 +0.295,0.295,0.295 +0.298,0.298,0.298 +0.301,0.301,0.301 +0.304,0.304,0.304 +0.307,0.307,0.307 +0.310,0.310,0.310 +0.313,0.313,0.313 +0.316,0.317,0.317 +0.320,0.320,0.320 +0.323,0.323,0.323 +0.326,0.326,0.326 +0.329,0.329,0.329 +0.332,0.332,0.332 +0.335,0.335,0.335 +0.338,0.338,0.338 +0.341,0.341,0.341 +0.344,0.344,0.344 +0.347,0.348,0.348 +0.351,0.351,0.351 +0.354,0.354,0.354 +0.357,0.357,0.357 +0.360,0.360,0.360 +0.363,0.363,0.363 +0.366,0.366,0.366 +0.369,0.370,0.370 +0.373,0.373,0.373 +0.376,0.376,0.376 +0.379,0.379,0.379 +0.382,0.382,0.382 +0.385,0.385,0.385 +0.389,0.389,0.389 +0.392,0.392,0.392 +0.395,0.395,0.395 +0.398,0.398,0.398 +0.401,0.401,0.401 +0.404,0.405,0.405 +0.408,0.408,0.408 +0.411,0.411,0.411 +0.414,0.414,0.414 +0.417,0.417,0.417 +0.421,0.421,0.421 +0.424,0.424,0.424 +0.427,0.427,0.427 +0.430,0.430,0.430 +0.434,0.434,0.434 +0.437,0.437,0.437 +0.440,0.440,0.440 +0.443,0.443,0.443 +0.447,0.447,0.447 +0.450,0.450,0.450 +0.453,0.453,0.453 +0.456,0.456,0.456 +0.460,0.460,0.460 +0.463,0.463,0.463 +0.466,0.466,0.466 +0.470,0.470,0.470 +0.473,0.473,0.473 +0.476,0.476,0.476 +0.479,0.480,0.480 +0.483,0.483,0.483 +0.486,0.486,0.486 +0.489,0.489,0.489 +0.493,0.493,0.493 +0.496,0.496,0.496 +0.499,0.499,0.499 +0.503,0.503,0.503 +0.506,0.506,0.506 +0.509,0.509,0.509 +0.513,0.513,0.513 +0.516,0.516,0.516 +0.519,0.520,0.520 +0.523,0.523,0.523 +0.526,0.526,0.526 +0.530,0.530,0.530 +0.533,0.533,0.533 +0.536,0.536,0.536 +0.540,0.540,0.540 +0.543,0.543,0.543 +0.546,0.547,0.546 +0.550,0.550,0.550 +0.553,0.553,0.553 +0.557,0.557,0.557 +0.560,0.560,0.560 +0.563,0.563,0.563 +0.567,0.567,0.567 +0.570,0.570,0.570 +0.574,0.574,0.574 +0.577,0.577,0.577 +0.580,0.581,0.581 +0.584,0.584,0.584 +0.587,0.587,0.587 +0.591,0.591,0.591 +0.594,0.594,0.594 +0.598,0.598,0.598 +0.601,0.601,0.601 +0.605,0.605,0.605 +0.608,0.608,0.608 +0.611,0.612,0.612 +0.615,0.615,0.615 +0.618,0.618,0.618 +0.622,0.622,0.622 +0.625,0.625,0.625 +0.629,0.629,0.629 +0.632,0.632,0.632 +0.636,0.636,0.636 +0.639,0.639,0.639 +0.643,0.643,0.643 +0.646,0.646,0.646 +0.650,0.650,0.650 +0.653,0.653,0.653 +0.657,0.657,0.657 +0.660,0.660,0.660 +0.664,0.664,0.664 +0.667,0.667,0.667 +0.671,0.671,0.671 +0.674,0.674,0.674 +0.678,0.678,0.678 +0.681,0.681,0.681 +0.685,0.685,0.685 +0.688,0.688,0.688 +0.692,0.692,0.692 +0.695,0.696,0.695 +0.699,0.699,0.699 +0.702,0.703,0.703 +0.706,0.706,0.706 +0.710,0.710,0.710 +0.713,0.713,0.713 +0.717,0.717,0.717 +0.720,0.720,0.720 +0.724,0.724,0.724 +0.727,0.728,0.727 +0.731,0.731,0.731 +0.735,0.735,0.735 +0.738,0.738,0.738 +0.742,0.742,0.742 +0.745,0.745,0.745 +0.749,0.749,0.749 +0.752,0.753,0.753 +0.756,0.756,0.756 +0.760,0.760,0.760 +0.763,0.763,0.763 +0.767,0.767,0.767 +0.770,0.771,0.771 +0.774,0.774,0.774 +0.778,0.778,0.778 +0.781,0.781,0.781 +0.785,0.785,0.785 +0.789,0.789,0.789 +0.792,0.792,0.792 +0.796,0.796,0.796 +0.799,0.800,0.800 +0.803,0.803,0.803 +0.807,0.807,0.807 +0.810,0.810,0.810 +0.814,0.814,0.814 +0.818,0.818,0.818 +0.821,0.821,0.821 +0.825,0.825,0.825 +0.829,0.829,0.829 +0.832,0.832,0.832 +0.836,0.836,0.836 +0.840,0.840,0.840 +0.843,0.843,0.843 +0.847,0.847,0.847 +0.851,0.851,0.851 +0.854,0.854,0.854 +0.858,0.858,0.858 +0.862,0.862,0.862 +0.865,0.865,0.865 +0.869,0.869,0.869 +0.873,0.873,0.873 +0.876,0.877,0.876 +0.880,0.880,0.880 +0.884,0.884,0.884 +0.887,0.888,0.888 +0.891,0.891,0.891 +0.895,0.895,0.895 +0.899,0.899,0.899 +0.902,0.902,0.902 +0.906,0.906,0.906 +0.910,0.910,0.910 +0.913,0.914,0.914 +0.917,0.917,0.917 +0.921,0.921,0.921 +0.925,0.925,0.925 +0.928,0.929,0.929 +0.932,0.932,0.932 +0.936,0.936,0.936 +0.940,0.940,0.940 +0.943,0.944,0.943 diff --git a/release-packaging/Resources/color-schemes/CET-L03.csv b/release-packaging/Resources/color-schemes/CET-L03.csv new file mode 100644 index 0000000..757974a --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-L03.csv @@ -0,0 +1,256 @@ +0.000,0.000,0.000 +0.027,0.000,0.000 +0.052,0.000,0.000 +0.072,0.000,0.000 +0.087,0.000,0.000 +0.101,0.000,0.000 +0.113,0.000,0.000 +0.124,0.000,0.000 +0.135,0.001,0.000 +0.144,0.001,0.000 +0.153,0.001,0.000 +0.161,0.001,0.000 +0.169,0.001,0.000 +0.177,0.001,0.000 +0.184,0.002,0.000 +0.191,0.002,0.000 +0.198,0.002,0.000 +0.204,0.002,0.000 +0.210,0.002,0.000 +0.216,0.002,0.000 +0.222,0.002,0.000 +0.228,0.002,0.000 +0.234,0.002,0.000 +0.240,0.002,0.000 +0.245,0.002,0.000 +0.251,0.002,0.000 +0.257,0.002,0.000 +0.263,0.002,0.000 +0.269,0.002,0.000 +0.275,0.002,0.000 +0.280,0.002,0.000 +0.286,0.003,0.000 +0.292,0.003,0.000 +0.298,0.003,0.000 +0.304,0.003,0.000 +0.310,0.003,0.000 +0.316,0.003,0.000 +0.322,0.003,0.000 +0.328,0.003,0.000 +0.334,0.004,0.000 +0.341,0.004,0.000 +0.347,0.004,0.000 +0.353,0.004,0.000 +0.359,0.004,0.000 +0.365,0.004,0.000 +0.371,0.005,0.000 +0.378,0.005,0.000 +0.384,0.005,0.000 +0.390,0.005,0.000 +0.396,0.005,0.000 +0.403,0.005,0.000 +0.409,0.006,0.000 +0.415,0.006,0.000 +0.422,0.006,0.000 +0.428,0.006,0.000 +0.434,0.007,0.000 +0.441,0.007,0.000 +0.447,0.007,0.000 +0.453,0.007,0.000 +0.460,0.007,0.000 +0.466,0.008,0.000 +0.473,0.008,0.000 +0.479,0.008,0.000 +0.486,0.009,0.000 +0.492,0.009,0.000 +0.499,0.009,0.000 +0.505,0.009,0.000 +0.512,0.010,0.000 +0.518,0.010,0.000 +0.525,0.010,0.000 +0.532,0.011,0.000 +0.538,0.011,0.000 +0.545,0.011,0.000 +0.552,0.012,0.000 +0.558,0.012,0.000 +0.565,0.013,0.000 +0.572,0.013,0.000 +0.578,0.013,0.000 +0.585,0.014,0.000 +0.592,0.014,0.000 +0.598,0.015,0.000 +0.605,0.015,0.000 +0.612,0.015,0.000 +0.619,0.016,0.000 +0.625,0.016,0.000 +0.632,0.017,0.000 +0.639,0.017,0.000 +0.646,0.018,0.000 +0.653,0.018,0.000 +0.660,0.019,0.000 +0.666,0.020,0.000 +0.673,0.020,0.000 +0.680,0.021,0.000 +0.687,0.021,0.000 +0.694,0.022,0.000 +0.701,0.023,0.000 +0.708,0.023,0.000 +0.715,0.024,0.000 +0.722,0.025,0.000 +0.729,0.026,0.000 +0.736,0.026,0.000 +0.743,0.027,0.000 +0.750,0.028,0.000 +0.757,0.029,0.000 +0.764,0.030,0.000 +0.771,0.031,0.000 +0.778,0.032,0.000 +0.785,0.033,0.000 +0.792,0.034,0.000 +0.799,0.035,0.000 +0.806,0.036,0.000 +0.813,0.037,0.000 +0.820,0.038,0.000 +0.827,0.040,0.000 +0.834,0.041,0.000 +0.841,0.043,0.000 +0.848,0.044,0.000 +0.855,0.046,0.000 +0.863,0.048,0.000 +0.870,0.050,0.000 +0.877,0.052,0.000 +0.884,0.054,0.000 +0.891,0.056,0.000 +0.898,0.059,0.000 +0.905,0.062,0.000 +0.911,0.065,0.000 +0.918,0.069,0.000 +0.924,0.075,0.000 +0.931,0.081,0.000 +0.936,0.089,0.000 +0.942,0.097,0.000 +0.947,0.107,0.000 +0.952,0.117,0.000 +0.957,0.127,0.000 +0.961,0.138,0.000 +0.965,0.150,0.000 +0.968,0.161,0.000 +0.971,0.173,0.000 +0.974,0.185,0.000 +0.977,0.197,0.000 +0.979,0.208,0.000 +0.981,0.220,0.000 +0.983,0.232,0.000 +0.985,0.243,0.000 +0.987,0.254,0.000 +0.988,0.265,0.000 +0.989,0.276,0.000 +0.991,0.287,0.000 +0.992,0.297,0.000 +0.993,0.308,0.000 +0.993,0.318,0.000 +0.994,0.328,0.000 +0.995,0.338,0.000 +0.996,0.347,0.000 +0.996,0.357,0.000 +0.997,0.366,0.000 +0.997,0.376,0.000 +0.998,0.385,0.000 +0.998,0.394,0.000 +0.998,0.403,0.000 +0.999,0.411,0.000 +0.999,0.420,0.000 +0.999,0.429,0.000 +0.999,0.437,0.000 +1.000,0.446,0.000 +1.000,0.454,0.000 +1.000,0.462,0.000 +1.000,0.470,0.000 +1.000,0.478,0.000 +1.000,0.486,0.000 +1.000,0.494,0.000 +1.000,0.502,0.000 +1.000,0.510,0.000 +1.000,0.518,0.000 +1.000,0.525,0.000 +1.000,0.533,0.000 +1.000,0.540,0.000 +1.000,0.548,0.000 +1.000,0.555,0.000 +1.000,0.562,0.001 +1.000,0.570,0.001 +1.000,0.577,0.001 +1.000,0.584,0.001 +1.000,0.591,0.001 +1.000,0.598,0.002 +1.000,0.605,0.002 +1.000,0.612,0.002 +1.000,0.619,0.003 +1.000,0.626,0.003 +1.000,0.633,0.003 +1.000,0.640,0.004 +1.000,0.647,0.004 +1.000,0.653,0.004 +1.000,0.660,0.005 +1.000,0.667,0.005 +1.000,0.673,0.006 +1.000,0.680,0.006 +1.000,0.687,0.007 +1.000,0.693,0.007 +1.000,0.700,0.008 +1.000,0.706,0.009 +1.000,0.713,0.009 +1.000,0.719,0.010 +1.000,0.726,0.011 +1.000,0.732,0.012 +1.000,0.739,0.012 +1.000,0.745,0.013 +1.000,0.751,0.014 +1.000,0.758,0.015 +1.000,0.764,0.016 +1.000,0.770,0.017 +1.000,0.777,0.018 +1.000,0.783,0.019 +1.000,0.789,0.020 +1.000,0.796,0.021 +1.000,0.802,0.023 +1.000,0.808,0.024 +1.000,0.814,0.025 +1.000,0.820,0.027 +1.000,0.827,0.028 +1.000,0.833,0.030 +1.000,0.839,0.032 +1.000,0.845,0.033 +1.000,0.851,0.035 +1.000,0.857,0.037 +1.000,0.863,0.040 +1.000,0.869,0.042 +1.000,0.876,0.044 +1.000,0.882,0.047 +1.000,0.888,0.050 +1.000,0.894,0.053 +1.000,0.900,0.056 +1.000,0.906,0.060 +1.000,0.912,0.064 +1.000,0.918,0.069 +1.000,0.924,0.074 +1.000,0.930,0.081 +1.000,0.936,0.091 +1.000,0.942,0.104 +1.000,0.948,0.121 +1.000,0.953,0.141 +1.000,0.959,0.167 +1.000,0.965,0.198 +1.000,0.970,0.235 +1.000,0.975,0.279 +1.000,0.980,0.329 +1.000,0.984,0.386 +1.000,0.988,0.449 +1.000,0.991,0.517 +1.000,0.994,0.588 +1.000,0.996,0.660 +1.000,0.998,0.732 +1.000,0.999,0.803 +1.000,1.000,0.871 +1.000,1.000,0.937 +1.000,1.000,1.000 diff --git a/release-packaging/Resources/color-schemes/CET-L04.csv b/release-packaging/Resources/color-schemes/CET-L04.csv new file mode 100644 index 0000000..035a9ff --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-L04.csv @@ -0,0 +1,256 @@ +0.000,0.000,0.000 +0.026,0.000,0.000 +0.051,0.000,0.000 +0.070,0.000,0.000 +0.085,0.000,0.000 +0.099,0.000,0.000 +0.111,0.000,0.000 +0.122,0.000,0.000 +0.132,0.000,0.000 +0.142,0.001,0.000 +0.150,0.001,0.000 +0.159,0.001,0.000 +0.166,0.001,0.000 +0.174,0.001,0.000 +0.181,0.001,0.000 +0.188,0.001,0.000 +0.195,0.001,0.000 +0.201,0.001,0.000 +0.207,0.001,0.000 +0.213,0.001,0.000 +0.219,0.002,0.000 +0.224,0.002,0.000 +0.230,0.002,0.000 +0.236,0.002,0.000 +0.241,0.002,0.000 +0.247,0.002,0.000 +0.253,0.002,0.000 +0.258,0.002,0.000 +0.264,0.002,0.000 +0.270,0.002,0.000 +0.275,0.002,0.000 +0.281,0.002,0.000 +0.287,0.003,0.000 +0.293,0.003,0.000 +0.298,0.003,0.000 +0.304,0.003,0.000 +0.310,0.003,0.000 +0.316,0.003,0.000 +0.322,0.003,0.000 +0.328,0.003,0.000 +0.334,0.004,0.000 +0.339,0.004,0.000 +0.345,0.004,0.000 +0.351,0.004,0.000 +0.357,0.004,0.000 +0.363,0.004,0.000 +0.369,0.004,0.000 +0.375,0.005,0.000 +0.381,0.005,0.000 +0.387,0.005,0.000 +0.394,0.005,0.000 +0.400,0.005,0.000 +0.406,0.006,0.000 +0.412,0.006,0.000 +0.418,0.006,0.000 +0.424,0.006,0.000 +0.430,0.006,0.000 +0.437,0.007,0.000 +0.443,0.007,0.000 +0.449,0.007,0.000 +0.455,0.007,0.000 +0.461,0.008,0.000 +0.468,0.008,0.000 +0.474,0.008,0.000 +0.480,0.008,0.000 +0.487,0.009,0.000 +0.493,0.009,0.000 +0.499,0.009,0.000 +0.506,0.009,0.000 +0.512,0.010,0.000 +0.518,0.010,0.000 +0.525,0.010,0.000 +0.531,0.011,0.000 +0.538,0.011,0.000 +0.544,0.011,0.000 +0.551,0.012,0.000 +0.557,0.012,0.000 +0.563,0.012,0.000 +0.570,0.013,0.000 +0.576,0.013,0.000 +0.583,0.014,0.000 +0.589,0.014,0.000 +0.596,0.014,0.000 +0.603,0.015,0.000 +0.609,0.015,0.000 +0.616,0.016,0.000 +0.622,0.016,0.000 +0.629,0.017,0.000 +0.635,0.017,0.000 +0.642,0.018,0.000 +0.649,0.018,0.000 +0.655,0.019,0.000 +0.662,0.019,0.000 +0.669,0.020,0.000 +0.675,0.020,0.000 +0.682,0.021,0.000 +0.689,0.022,0.000 +0.695,0.022,0.000 +0.702,0.023,0.000 +0.709,0.024,0.000 +0.716,0.024,0.000 +0.722,0.025,0.000 +0.729,0.026,0.000 +0.736,0.026,0.000 +0.743,0.027,0.000 +0.750,0.028,0.000 +0.756,0.029,0.000 +0.763,0.030,0.000 +0.770,0.031,0.000 +0.777,0.032,0.000 +0.784,0.033,0.000 +0.790,0.034,0.000 +0.797,0.035,0.000 +0.804,0.036,0.000 +0.811,0.037,0.000 +0.818,0.038,0.000 +0.825,0.039,0.000 +0.832,0.041,0.000 +0.839,0.042,0.000 +0.845,0.044,0.000 +0.852,0.045,0.000 +0.859,0.047,0.000 +0.866,0.049,0.000 +0.873,0.050,0.000 +0.880,0.052,0.000 +0.887,0.055,0.000 +0.893,0.057,0.000 +0.900,0.060,0.000 +0.907,0.063,0.000 +0.913,0.066,0.000 +0.920,0.071,0.000 +0.926,0.076,0.000 +0.932,0.084,0.000 +0.937,0.093,0.000 +0.942,0.104,0.000 +0.946,0.115,0.000 +0.950,0.128,0.000 +0.953,0.140,0.000 +0.956,0.153,0.000 +0.959,0.166,0.000 +0.961,0.179,0.000 +0.963,0.191,0.000 +0.965,0.203,0.000 +0.967,0.215,0.000 +0.969,0.227,0.000 +0.970,0.238,0.000 +0.972,0.249,0.000 +0.973,0.260,0.000 +0.974,0.270,0.000 +0.975,0.281,0.000 +0.976,0.291,0.000 +0.977,0.301,0.000 +0.978,0.311,0.000 +0.979,0.320,0.000 +0.980,0.330,0.000 +0.981,0.339,0.000 +0.982,0.348,0.000 +0.982,0.357,0.000 +0.983,0.366,0.000 +0.984,0.375,0.000 +0.984,0.383,0.000 +0.985,0.392,0.000 +0.985,0.400,0.000 +0.986,0.408,0.000 +0.986,0.416,0.000 +0.987,0.425,0.000 +0.987,0.433,0.000 +0.988,0.440,0.000 +0.988,0.448,0.000 +0.989,0.456,0.000 +0.989,0.464,0.000 +0.989,0.471,0.000 +0.990,0.479,0.000 +0.990,0.486,0.000 +0.991,0.494,0.000 +0.991,0.501,0.000 +0.991,0.508,0.000 +0.991,0.515,0.000 +0.992,0.523,0.000 +0.992,0.530,0.000 +0.992,0.537,0.000 +0.993,0.544,0.000 +0.993,0.551,0.000 +0.993,0.558,0.000 +0.993,0.565,0.000 +0.994,0.571,0.000 +0.994,0.578,0.000 +0.994,0.585,0.000 +0.994,0.592,0.000 +0.995,0.598,0.000 +0.995,0.605,0.000 +0.995,0.612,0.000 +0.995,0.618,0.000 +0.995,0.625,0.000 +0.996,0.632,0.000 +0.996,0.638,0.000 +0.996,0.645,0.000 +0.996,0.651,0.000 +0.996,0.657,0.000 +0.996,0.664,0.000 +0.997,0.670,0.000 +0.997,0.677,0.000 +0.997,0.683,0.000 +0.997,0.689,0.000 +0.997,0.696,0.000 +0.997,0.702,0.000 +0.997,0.708,0.000 +0.997,0.714,0.000 +0.998,0.721,0.000 +0.998,0.727,0.000 +0.998,0.733,0.000 +0.998,0.739,0.000 +0.998,0.745,0.000 +0.998,0.752,0.000 +0.998,0.758,0.000 +0.998,0.764,0.000 +0.998,0.770,0.000 +0.999,0.776,0.000 +0.999,0.782,0.000 +0.999,0.788,0.000 +0.999,0.794,0.000 +0.999,0.800,0.000 +0.999,0.806,0.000 +0.999,0.812,0.000 +0.999,0.818,0.000 +0.999,0.824,0.000 +0.999,0.830,0.000 +0.999,0.836,0.000 +0.999,0.842,0.000 +0.999,0.848,0.000 +0.999,0.854,0.000 +0.999,0.860,0.000 +1.000,0.866,0.000 +1.000,0.872,0.000 +1.000,0.878,0.000 +1.000,0.884,0.000 +1.000,0.890,0.000 +1.000,0.895,0.000 +1.000,0.901,0.000 +1.000,0.907,0.000 +1.000,0.913,0.000 +1.000,0.919,0.000 +1.000,0.925,0.000 +1.000,0.930,0.000 +1.000,0.936,0.000 +1.000,0.942,0.000 +1.000,0.948,0.000 +1.000,0.954,0.000 +1.000,0.960,0.000 +1.000,0.965,0.000 +1.000,0.971,0.000 +1.000,0.977,0.000 +1.000,0.983,0.000 +1.000,0.988,0.000 +1.000,0.994,0.000 +1.000,1.000,0.000 diff --git a/release-packaging/Resources/color-schemes/CET-L05.csv b/release-packaging/Resources/color-schemes/CET-L05.csv new file mode 100644 index 0000000..cd07fae --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-L05.csv @@ -0,0 +1,256 @@ +0.002,0.083,0.022 +0.004,0.086,0.022 +0.007,0.090,0.022 +0.009,0.093,0.022 +0.012,0.096,0.022 +0.014,0.100,0.022 +0.017,0.103,0.022 +0.019,0.106,0.022 +0.022,0.109,0.022 +0.024,0.112,0.022 +0.026,0.115,0.022 +0.028,0.118,0.022 +0.030,0.121,0.022 +0.032,0.124,0.022 +0.033,0.127,0.022 +0.034,0.130,0.022 +0.036,0.133,0.022 +0.036,0.136,0.022 +0.037,0.140,0.021 +0.037,0.143,0.021 +0.037,0.146,0.021 +0.037,0.150,0.021 +0.037,0.153,0.021 +0.036,0.156,0.021 +0.036,0.160,0.021 +0.036,0.163,0.020 +0.035,0.167,0.020 +0.035,0.170,0.020 +0.035,0.173,0.020 +0.034,0.177,0.020 +0.034,0.180,0.020 +0.034,0.184,0.019 +0.033,0.187,0.019 +0.033,0.191,0.019 +0.033,0.194,0.019 +0.033,0.197,0.019 +0.033,0.201,0.019 +0.033,0.204,0.019 +0.033,0.208,0.019 +0.034,0.211,0.018 +0.034,0.215,0.018 +0.035,0.218,0.018 +0.036,0.222,0.019 +0.037,0.225,0.019 +0.038,0.228,0.019 +0.039,0.232,0.019 +0.040,0.235,0.019 +0.041,0.239,0.019 +0.042,0.242,0.019 +0.043,0.246,0.019 +0.044,0.249,0.019 +0.045,0.253,0.019 +0.046,0.256,0.019 +0.047,0.260,0.020 +0.048,0.263,0.020 +0.049,0.267,0.020 +0.050,0.270,0.020 +0.051,0.274,0.020 +0.052,0.277,0.020 +0.053,0.281,0.020 +0.054,0.284,0.020 +0.055,0.288,0.020 +0.057,0.292,0.020 +0.058,0.295,0.020 +0.059,0.299,0.020 +0.060,0.302,0.020 +0.061,0.306,0.020 +0.062,0.310,0.020 +0.063,0.313,0.020 +0.064,0.317,0.021 +0.065,0.320,0.021 +0.066,0.324,0.021 +0.067,0.328,0.022 +0.068,0.331,0.022 +0.069,0.335,0.022 +0.070,0.339,0.023 +0.070,0.342,0.023 +0.071,0.346,0.023 +0.072,0.350,0.024 +0.073,0.353,0.024 +0.074,0.357,0.024 +0.075,0.361,0.025 +0.076,0.365,0.025 +0.077,0.368,0.025 +0.078,0.372,0.026 +0.079,0.376,0.026 +0.080,0.380,0.026 +0.081,0.383,0.027 +0.082,0.387,0.027 +0.083,0.391,0.028 +0.084,0.395,0.028 +0.085,0.398,0.028 +0.086,0.402,0.029 +0.087,0.406,0.029 +0.088,0.410,0.030 +0.089,0.413,0.030 +0.090,0.417,0.030 +0.091,0.421,0.031 +0.092,0.425,0.031 +0.093,0.429,0.032 +0.094,0.433,0.032 +0.095,0.436,0.032 +0.096,0.440,0.033 +0.097,0.444,0.033 +0.098,0.448,0.034 +0.099,0.452,0.034 +0.100,0.456,0.034 +0.101,0.460,0.035 +0.102,0.463,0.036 +0.103,0.467,0.036 +0.104,0.471,0.036 +0.105,0.475,0.037 +0.106,0.479,0.037 +0.107,0.483,0.038 +0.108,0.487,0.038 +0.109,0.491,0.039 +0.110,0.495,0.039 +0.111,0.499,0.039 +0.112,0.503,0.040 +0.113,0.506,0.040 +0.114,0.510,0.041 +0.115,0.514,0.041 +0.116,0.518,0.042 +0.117,0.522,0.042 +0.118,0.526,0.043 +0.119,0.530,0.043 +0.120,0.534,0.044 +0.121,0.538,0.044 +0.122,0.542,0.045 +0.123,0.546,0.045 +0.124,0.550,0.045 +0.125,0.554,0.046 +0.126,0.558,0.046 +0.127,0.562,0.047 +0.128,0.566,0.047 +0.129,0.570,0.048 +0.130,0.574,0.048 +0.131,0.578,0.049 +0.132,0.582,0.049 +0.133,0.586,0.050 +0.134,0.590,0.050 +0.135,0.595,0.050 +0.136,0.599,0.051 +0.137,0.603,0.051 +0.138,0.607,0.052 +0.139,0.611,0.052 +0.140,0.615,0.053 +0.141,0.619,0.053 +0.142,0.623,0.054 +0.143,0.627,0.054 +0.144,0.631,0.054 +0.145,0.635,0.055 +0.146,0.639,0.055 +0.147,0.644,0.056 +0.148,0.648,0.056 +0.149,0.652,0.057 +0.150,0.656,0.057 +0.151,0.660,0.058 +0.152,0.664,0.058 +0.153,0.668,0.059 +0.155,0.673,0.059 +0.156,0.677,0.060 +0.157,0.681,0.060 +0.158,0.685,0.060 +0.159,0.689,0.061 +0.160,0.693,0.061 +0.161,0.698,0.062 +0.162,0.702,0.062 +0.163,0.706,0.063 +0.164,0.710,0.063 +0.165,0.714,0.064 +0.166,0.719,0.064 +0.167,0.723,0.064 +0.168,0.727,0.065 +0.169,0.731,0.065 +0.170,0.735,0.066 +0.171,0.740,0.066 +0.172,0.744,0.067 +0.173,0.748,0.067 +0.174,0.752,0.068 +0.175,0.757,0.068 +0.177,0.761,0.069 +0.178,0.765,0.069 +0.179,0.769,0.070 +0.180,0.774,0.070 +0.181,0.778,0.070 +0.182,0.782,0.071 +0.183,0.786,0.071 +0.184,0.791,0.072 +0.185,0.795,0.072 +0.186,0.799,0.073 +0.187,0.803,0.073 +0.188,0.808,0.074 +0.189,0.812,0.074 +0.190,0.816,0.074 +0.191,0.821,0.075 +0.193,0.825,0.075 +0.194,0.829,0.076 +0.195,0.834,0.076 +0.196,0.838,0.077 +0.197,0.842,0.077 +0.198,0.847,0.077 +0.199,0.851,0.078 +0.200,0.855,0.078 +0.201,0.860,0.079 +0.202,0.864,0.079 +0.203,0.868,0.080 +0.204,0.873,0.080 +0.205,0.877,0.081 +0.206,0.881,0.081 +0.208,0.886,0.082 +0.209,0.890,0.082 +0.210,0.895,0.082 +0.212,0.899,0.083 +0.216,0.903,0.083 +0.222,0.907,0.084 +0.231,0.911,0.084 +0.242,0.915,0.084 +0.254,0.919,0.084 +0.267,0.923,0.084 +0.281,0.926,0.085 +0.296,0.930,0.085 +0.311,0.933,0.085 +0.327,0.936,0.085 +0.343,0.940,0.085 +0.359,0.943,0.085 +0.375,0.946,0.085 +0.392,0.949,0.085 +0.408,0.952,0.084 +0.425,0.955,0.084 +0.441,0.958,0.084 +0.458,0.960,0.084 +0.474,0.963,0.084 +0.491,0.966,0.084 +0.507,0.968,0.084 +0.524,0.971,0.083 +0.540,0.973,0.083 +0.557,0.976,0.083 +0.573,0.978,0.083 +0.589,0.980,0.083 +0.606,0.982,0.083 +0.622,0.985,0.082 +0.638,0.987,0.082 +0.655,0.989,0.082 +0.671,0.991,0.082 +0.687,0.993,0.082 +0.703,0.995,0.082 +0.719,0.996,0.082 +0.735,0.998,0.082 +0.751,1.000,0.081 +0.767,1.000,0.081 +0.783,1.000,0.081 +0.800,1.000,0.081 +0.816,1.000,0.081 +0.832,1.000,0.081 +0.848,1.000,0.081 diff --git a/release-packaging/Resources/color-schemes/CET-L06.csv b/release-packaging/Resources/color-schemes/CET-L06.csv new file mode 100644 index 0000000..961b35d --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-L06.csv @@ -0,0 +1,256 @@ +0.000,0.002,0.307 +0.000,0.004,0.314 +0.000,0.006,0.322 +0.000,0.008,0.330 +0.000,0.009,0.337 +0.000,0.010,0.345 +0.000,0.011,0.352 +0.000,0.011,0.360 +0.000,0.011,0.368 +0.002,0.011,0.376 +0.004,0.011,0.384 +0.007,0.010,0.392 +0.009,0.010,0.400 +0.012,0.010,0.407 +0.015,0.010,0.416 +0.018,0.009,0.424 +0.021,0.009,0.432 +0.024,0.009,0.440 +0.026,0.009,0.448 +0.029,0.008,0.456 +0.032,0.008,0.464 +0.036,0.008,0.473 +0.039,0.007,0.481 +0.041,0.007,0.489 +0.044,0.007,0.498 +0.047,0.007,0.506 +0.049,0.006,0.514 +0.052,0.006,0.523 +0.054,0.006,0.531 +0.056,0.006,0.540 +0.057,0.006,0.549 +0.059,0.005,0.557 +0.061,0.005,0.566 +0.062,0.005,0.575 +0.063,0.005,0.583 +0.064,0.005,0.592 +0.064,0.006,0.601 +0.064,0.006,0.610 +0.064,0.006,0.619 +0.063,0.007,0.628 +0.062,0.007,0.637 +0.060,0.008,0.646 +0.058,0.009,0.656 +0.055,0.010,0.665 +0.052,0.011,0.674 +0.049,0.013,0.683 +0.046,0.014,0.692 +0.043,0.016,0.701 +0.040,0.017,0.710 +0.038,0.019,0.719 +0.036,0.021,0.727 +0.033,0.024,0.736 +0.032,0.026,0.744 +0.031,0.029,0.753 +0.030,0.031,0.761 +0.029,0.034,0.769 +0.029,0.038,0.777 +0.030,0.041,0.785 +0.031,0.044,0.793 +0.032,0.048,0.801 +0.034,0.051,0.808 +0.037,0.055,0.816 +0.040,0.058,0.823 +0.043,0.062,0.831 +0.047,0.065,0.838 +0.052,0.069,0.845 +0.056,0.072,0.852 +0.061,0.076,0.859 +0.066,0.080,0.866 +0.071,0.084,0.873 +0.076,0.087,0.879 +0.082,0.091,0.886 +0.087,0.095,0.892 +0.092,0.099,0.898 +0.097,0.104,0.904 +0.102,0.108,0.910 +0.107,0.113,0.915 +0.111,0.118,0.920 +0.116,0.123,0.925 +0.120,0.128,0.930 +0.124,0.134,0.935 +0.128,0.139,0.939 +0.132,0.145,0.944 +0.135,0.151,0.948 +0.139,0.157,0.951 +0.142,0.163,0.955 +0.146,0.169,0.958 +0.149,0.175,0.962 +0.152,0.181,0.964 +0.155,0.187,0.967 +0.158,0.194,0.970 +0.160,0.200,0.972 +0.163,0.206,0.974 +0.165,0.213,0.976 +0.168,0.220,0.977 +0.170,0.226,0.979 +0.172,0.233,0.980 +0.174,0.239,0.981 +0.175,0.246,0.982 +0.177,0.253,0.982 +0.178,0.260,0.983 +0.179,0.266,0.983 +0.180,0.273,0.984 +0.181,0.280,0.984 +0.182,0.286,0.984 +0.183,0.292,0.985 +0.184,0.299,0.985 +0.185,0.305,0.985 +0.185,0.311,0.986 +0.186,0.317,0.986 +0.186,0.323,0.987 +0.186,0.329,0.987 +0.187,0.335,0.987 +0.187,0.341,0.988 +0.187,0.347,0.988 +0.187,0.353,0.988 +0.187,0.359,0.989 +0.186,0.365,0.989 +0.186,0.371,0.989 +0.186,0.376,0.990 +0.185,0.382,0.990 +0.184,0.388,0.990 +0.184,0.393,0.991 +0.183,0.399,0.991 +0.182,0.405,0.991 +0.181,0.410,0.992 +0.180,0.416,0.992 +0.178,0.421,0.992 +0.177,0.427,0.993 +0.176,0.432,0.993 +0.175,0.438,0.993 +0.174,0.443,0.994 +0.173,0.449,0.994 +0.172,0.454,0.994 +0.171,0.459,0.994 +0.171,0.465,0.994 +0.170,0.470,0.995 +0.170,0.475,0.995 +0.170,0.480,0.995 +0.170,0.486,0.995 +0.170,0.491,0.995 +0.171,0.496,0.995 +0.171,0.501,0.995 +0.172,0.506,0.995 +0.173,0.511,0.995 +0.174,0.516,0.995 +0.175,0.521,0.995 +0.176,0.526,0.995 +0.178,0.531,0.995 +0.179,0.536,0.995 +0.181,0.541,0.995 +0.183,0.546,0.995 +0.185,0.551,0.995 +0.187,0.556,0.994 +0.189,0.561,0.994 +0.192,0.566,0.994 +0.194,0.571,0.994 +0.197,0.575,0.993 +0.199,0.580,0.993 +0.201,0.585,0.993 +0.203,0.590,0.993 +0.205,0.595,0.993 +0.206,0.600,0.992 +0.207,0.605,0.992 +0.208,0.610,0.992 +0.209,0.615,0.992 +0.210,0.620,0.992 +0.211,0.624,0.991 +0.211,0.629,0.991 +0.211,0.634,0.991 +0.211,0.639,0.991 +0.211,0.644,0.991 +0.211,0.649,0.991 +0.210,0.654,0.990 +0.210,0.659,0.990 +0.209,0.664,0.990 +0.208,0.669,0.990 +0.206,0.674,0.990 +0.205,0.679,0.990 +0.203,0.684,0.990 +0.201,0.689,0.990 +0.199,0.694,0.989 +0.197,0.699,0.989 +0.194,0.704,0.989 +0.191,0.709,0.989 +0.188,0.714,0.989 +0.185,0.719,0.989 +0.182,0.724,0.989 +0.179,0.729,0.989 +0.177,0.734,0.989 +0.174,0.739,0.988 +0.172,0.744,0.988 +0.170,0.749,0.988 +0.168,0.754,0.988 +0.166,0.759,0.988 +0.165,0.764,0.987 +0.163,0.769,0.987 +0.162,0.774,0.987 +0.161,0.778,0.987 +0.160,0.783,0.987 +0.160,0.788,0.986 +0.160,0.793,0.986 +0.160,0.798,0.986 +0.160,0.803,0.985 +0.161,0.807,0.985 +0.161,0.812,0.985 +0.162,0.817,0.984 +0.164,0.822,0.984 +0.165,0.827,0.984 +0.167,0.831,0.983 +0.169,0.836,0.983 +0.171,0.841,0.982 +0.174,0.845,0.982 +0.177,0.850,0.982 +0.183,0.855,0.981 +0.190,0.859,0.981 +0.199,0.864,0.980 +0.210,0.868,0.980 +0.221,0.872,0.979 +0.233,0.876,0.979 +0.246,0.880,0.979 +0.260,0.884,0.978 +0.273,0.888,0.978 +0.287,0.892,0.977 +0.301,0.896,0.977 +0.314,0.900,0.976 +0.328,0.904,0.976 +0.342,0.907,0.976 +0.356,0.911,0.975 +0.370,0.915,0.975 +0.384,0.918,0.974 +0.397,0.922,0.974 +0.411,0.925,0.973 +0.424,0.929,0.973 +0.438,0.932,0.973 +0.451,0.936,0.972 +0.464,0.939,0.972 +0.478,0.943,0.971 +0.491,0.946,0.971 +0.504,0.949,0.970 +0.517,0.953,0.970 +0.529,0.956,0.969 +0.542,0.959,0.969 +0.555,0.962,0.968 +0.568,0.966,0.968 +0.580,0.969,0.968 +0.593,0.972,0.967 +0.605,0.975,0.967 +0.618,0.978,0.966 +0.630,0.981,0.966 +0.642,0.984,0.965 +0.654,0.987,0.965 +0.667,0.990,0.964 +0.679,0.993,0.964 +0.691,0.996,0.963 +0.703,0.999,0.963 diff --git a/release-packaging/Resources/color-schemes/CET-L07.csv b/release-packaging/Resources/color-schemes/CET-L07.csv new file mode 100644 index 0000000..023f95e --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-L07.csv @@ -0,0 +1,256 @@ +0.000,0.008,0.296 +0.000,0.010,0.303 +0.000,0.012,0.311 +0.000,0.014,0.319 +0.000,0.016,0.327 +0.000,0.017,0.335 +0.000,0.018,0.343 +0.000,0.019,0.351 +0.000,0.019,0.359 +0.000,0.020,0.368 +0.000,0.020,0.376 +0.000,0.020,0.384 +0.000,0.020,0.392 +0.000,0.020,0.401 +0.001,0.020,0.409 +0.002,0.020,0.417 +0.003,0.020,0.426 +0.005,0.021,0.434 +0.006,0.021,0.442 +0.007,0.021,0.451 +0.008,0.021,0.459 +0.009,0.021,0.468 +0.010,0.021,0.476 +0.012,0.021,0.485 +0.013,0.021,0.493 +0.014,0.021,0.502 +0.015,0.021,0.511 +0.016,0.021,0.519 +0.017,0.022,0.528 +0.018,0.022,0.537 +0.019,0.022,0.546 +0.020,0.022,0.554 +0.021,0.022,0.563 +0.022,0.022,0.572 +0.022,0.023,0.581 +0.023,0.023,0.590 +0.023,0.023,0.599 +0.023,0.024,0.607 +0.023,0.024,0.616 +0.023,0.024,0.625 +0.023,0.025,0.634 +0.022,0.025,0.643 +0.021,0.026,0.652 +0.020,0.027,0.661 +0.019,0.028,0.670 +0.018,0.029,0.679 +0.018,0.030,0.688 +0.018,0.031,0.697 +0.019,0.032,0.706 +0.020,0.033,0.714 +0.021,0.035,0.723 +0.023,0.036,0.731 +0.025,0.038,0.740 +0.029,0.039,0.748 +0.032,0.041,0.756 +0.037,0.043,0.764 +0.041,0.044,0.772 +0.046,0.046,0.780 +0.052,0.048,0.788 +0.057,0.050,0.796 +0.063,0.052,0.804 +0.069,0.054,0.811 +0.075,0.056,0.819 +0.081,0.058,0.826 +0.087,0.060,0.833 +0.094,0.063,0.841 +0.100,0.065,0.848 +0.106,0.067,0.855 +0.113,0.070,0.862 +0.119,0.072,0.869 +0.126,0.075,0.876 +0.133,0.077,0.882 +0.140,0.079,0.889 +0.148,0.082,0.895 +0.156,0.084,0.901 +0.165,0.086,0.907 +0.174,0.088,0.913 +0.184,0.090,0.919 +0.194,0.092,0.924 +0.204,0.094,0.929 +0.214,0.095,0.934 +0.225,0.097,0.939 +0.236,0.098,0.943 +0.247,0.099,0.947 +0.258,0.101,0.951 +0.269,0.102,0.955 +0.281,0.103,0.959 +0.292,0.104,0.962 +0.304,0.105,0.966 +0.316,0.106,0.969 +0.327,0.107,0.971 +0.339,0.107,0.974 +0.351,0.108,0.976 +0.363,0.109,0.979 +0.375,0.109,0.980 +0.387,0.110,0.982 +0.399,0.110,0.984 +0.411,0.110,0.985 +0.423,0.111,0.986 +0.435,0.111,0.987 +0.447,0.111,0.988 +0.458,0.111,0.988 +0.470,0.111,0.989 +0.481,0.111,0.989 +0.493,0.111,0.990 +0.504,0.111,0.991 +0.515,0.111,0.991 +0.525,0.111,0.992 +0.536,0.112,0.992 +0.547,0.112,0.993 +0.557,0.112,0.993 +0.568,0.112,0.993 +0.578,0.112,0.994 +0.588,0.112,0.994 +0.598,0.112,0.994 +0.608,0.112,0.995 +0.618,0.112,0.995 +0.628,0.112,0.995 +0.638,0.112,0.995 +0.648,0.112,0.996 +0.657,0.112,0.996 +0.667,0.112,0.996 +0.677,0.112,0.996 +0.686,0.112,0.996 +0.696,0.112,0.996 +0.705,0.112,0.996 +0.715,0.112,0.996 +0.724,0.112,0.996 +0.733,0.112,0.996 +0.742,0.112,0.996 +0.751,0.113,0.996 +0.760,0.114,0.996 +0.769,0.115,0.996 +0.777,0.117,0.996 +0.785,0.119,0.996 +0.793,0.122,0.996 +0.801,0.125,0.996 +0.809,0.128,0.996 +0.816,0.132,0.996 +0.823,0.136,0.996 +0.831,0.140,0.996 +0.838,0.145,0.996 +0.845,0.149,0.996 +0.851,0.154,0.996 +0.858,0.160,0.996 +0.864,0.165,0.996 +0.871,0.171,0.996 +0.877,0.176,0.996 +0.883,0.182,0.996 +0.888,0.188,0.996 +0.894,0.195,0.996 +0.900,0.201,0.996 +0.905,0.208,0.996 +0.910,0.214,0.996 +0.915,0.221,0.996 +0.920,0.228,0.996 +0.925,0.234,0.996 +0.930,0.241,0.996 +0.934,0.249,0.996 +0.939,0.256,0.996 +0.943,0.263,0.997 +0.947,0.270,0.997 +0.951,0.278,0.997 +0.955,0.285,0.997 +0.958,0.293,0.996 +0.961,0.301,0.996 +0.965,0.308,0.996 +0.968,0.316,0.996 +0.971,0.324,0.996 +0.973,0.332,0.996 +0.976,0.340,0.996 +0.978,0.348,0.996 +0.981,0.356,0.996 +0.983,0.364,0.996 +0.985,0.372,0.995 +0.987,0.381,0.995 +0.988,0.389,0.995 +0.990,0.397,0.995 +0.991,0.405,0.995 +0.992,0.414,0.994 +0.993,0.422,0.994 +0.994,0.430,0.994 +0.994,0.439,0.994 +0.995,0.447,0.993 +0.995,0.456,0.993 +0.995,0.464,0.993 +0.995,0.472,0.992 +0.996,0.481,0.992 +0.996,0.489,0.992 +0.996,0.497,0.992 +0.996,0.504,0.991 +0.996,0.512,0.991 +0.996,0.520,0.991 +0.996,0.527,0.991 +0.996,0.535,0.991 +0.996,0.542,0.991 +0.997,0.550,0.991 +0.997,0.557,0.991 +0.997,0.564,0.991 +0.997,0.572,0.991 +0.997,0.579,0.991 +0.997,0.586,0.991 +0.997,0.593,0.991 +0.997,0.600,0.991 +0.997,0.607,0.991 +0.997,0.614,0.991 +0.997,0.620,0.991 +0.997,0.627,0.991 +0.997,0.634,0.992 +0.997,0.641,0.992 +0.997,0.647,0.992 +0.997,0.654,0.992 +0.997,0.660,0.993 +0.997,0.667,0.993 +0.997,0.673,0.993 +0.997,0.680,0.994 +0.997,0.686,0.994 +0.997,0.693,0.994 +0.997,0.699,0.995 +0.997,0.705,0.995 +0.997,0.712,0.995 +0.997,0.718,0.995 +0.997,0.724,0.995 +0.998,0.730,0.996 +0.998,0.736,0.996 +0.998,0.743,0.996 +0.998,0.749,0.996 +0.998,0.755,0.996 +0.998,0.761,0.996 +0.998,0.767,0.997 +0.998,0.773,0.997 +0.998,0.779,0.997 +0.998,0.785,0.997 +0.998,0.791,0.997 +0.998,0.797,0.997 +0.998,0.803,0.997 +0.999,0.809,0.997 +0.999,0.815,0.997 +0.999,0.821,0.997 +0.999,0.827,0.997 +0.999,0.833,0.997 +0.999,0.839,0.998 +0.999,0.845,0.998 +0.999,0.851,0.998 +0.999,0.857,0.998 +0.999,0.863,0.998 +0.999,0.868,0.998 +0.998,0.874,0.998 +0.998,0.880,0.998 +0.998,0.886,0.998 +0.998,0.892,0.998 +0.998,0.898,0.998 +0.998,0.903,0.997 +0.998,0.909,0.997 +0.998,0.915,0.997 +0.998,0.921,0.997 diff --git a/release-packaging/Resources/color-schemes/CET-L08.csv b/release-packaging/Resources/color-schemes/CET-L08.csv new file mode 100644 index 0000000..3a4e3fd --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-L08.csv @@ -0,0 +1,256 @@ +0.002,0.058,0.364 +0.002,0.060,0.370 +0.003,0.062,0.377 +0.004,0.064,0.383 +0.006,0.065,0.390 +0.008,0.067,0.396 +0.010,0.069,0.402 +0.013,0.071,0.409 +0.016,0.072,0.415 +0.019,0.074,0.421 +0.023,0.076,0.427 +0.028,0.077,0.433 +0.033,0.079,0.439 +0.039,0.081,0.445 +0.045,0.082,0.451 +0.052,0.084,0.457 +0.058,0.085,0.463 +0.065,0.087,0.468 +0.071,0.088,0.474 +0.078,0.089,0.480 +0.085,0.091,0.485 +0.092,0.092,0.490 +0.099,0.093,0.496 +0.107,0.095,0.501 +0.114,0.096,0.506 +0.122,0.097,0.511 +0.129,0.098,0.516 +0.137,0.099,0.520 +0.145,0.100,0.525 +0.153,0.101,0.529 +0.162,0.102,0.534 +0.170,0.102,0.538 +0.178,0.103,0.542 +0.187,0.104,0.546 +0.196,0.104,0.549 +0.205,0.104,0.553 +0.214,0.105,0.556 +0.224,0.105,0.559 +0.233,0.105,0.562 +0.243,0.105,0.564 +0.253,0.104,0.566 +0.263,0.104,0.568 +0.273,0.103,0.570 +0.284,0.102,0.571 +0.295,0.101,0.572 +0.306,0.100,0.573 +0.317,0.098,0.573 +0.328,0.097,0.573 +0.339,0.095,0.574 +0.350,0.093,0.574 +0.360,0.092,0.574 +0.370,0.090,0.574 +0.380,0.088,0.574 +0.390,0.087,0.573 +0.399,0.085,0.573 +0.409,0.083,0.573 +0.418,0.081,0.573 +0.428,0.079,0.572 +0.437,0.077,0.572 +0.446,0.075,0.572 +0.455,0.074,0.571 +0.464,0.072,0.570 +0.473,0.070,0.570 +0.481,0.068,0.569 +0.490,0.066,0.568 +0.499,0.064,0.568 +0.507,0.062,0.567 +0.515,0.060,0.566 +0.524,0.058,0.565 +0.532,0.056,0.564 +0.540,0.054,0.563 +0.548,0.052,0.562 +0.556,0.051,0.560 +0.564,0.049,0.559 +0.572,0.048,0.558 +0.580,0.046,0.556 +0.588,0.045,0.555 +0.596,0.043,0.554 +0.603,0.042,0.552 +0.611,0.041,0.551 +0.619,0.040,0.549 +0.626,0.039,0.548 +0.634,0.038,0.546 +0.641,0.038,0.545 +0.648,0.037,0.543 +0.656,0.037,0.542 +0.663,0.037,0.540 +0.670,0.037,0.538 +0.677,0.037,0.537 +0.684,0.037,0.535 +0.691,0.038,0.534 +0.698,0.039,0.532 +0.705,0.040,0.530 +0.712,0.041,0.529 +0.719,0.042,0.527 +0.726,0.044,0.525 +0.733,0.045,0.523 +0.739,0.047,0.522 +0.746,0.049,0.520 +0.753,0.051,0.518 +0.759,0.054,0.516 +0.766,0.056,0.514 +0.772,0.059,0.513 +0.779,0.061,0.511 +0.785,0.064,0.509 +0.792,0.067,0.507 +0.798,0.070,0.505 +0.804,0.074,0.503 +0.811,0.078,0.501 +0.817,0.082,0.499 +0.823,0.087,0.496 +0.828,0.092,0.494 +0.834,0.097,0.492 +0.840,0.103,0.489 +0.845,0.108,0.487 +0.850,0.114,0.484 +0.856,0.120,0.481 +0.861,0.126,0.478 +0.866,0.133,0.475 +0.871,0.139,0.472 +0.876,0.146,0.469 +0.880,0.152,0.466 +0.885,0.159,0.463 +0.889,0.166,0.460 +0.894,0.173,0.456 +0.898,0.180,0.453 +0.902,0.187,0.449 +0.906,0.194,0.445 +0.910,0.201,0.441 +0.914,0.208,0.438 +0.918,0.215,0.434 +0.921,0.223,0.429 +0.924,0.230,0.425 +0.928,0.237,0.421 +0.931,0.245,0.417 +0.934,0.252,0.412 +0.937,0.259,0.408 +0.940,0.267,0.403 +0.943,0.274,0.399 +0.945,0.281,0.394 +0.948,0.289,0.390 +0.950,0.296,0.386 +0.952,0.303,0.382 +0.955,0.311,0.378 +0.957,0.318,0.374 +0.959,0.325,0.370 +0.961,0.333,0.366 +0.962,0.340,0.363 +0.964,0.347,0.359 +0.966,0.354,0.355 +0.967,0.361,0.352 +0.968,0.369,0.348 +0.970,0.376,0.345 +0.971,0.383,0.341 +0.972,0.390,0.338 +0.973,0.398,0.335 +0.974,0.405,0.332 +0.974,0.412,0.329 +0.975,0.419,0.325 +0.975,0.426,0.323 +0.976,0.434,0.320 +0.976,0.441,0.317 +0.976,0.448,0.314 +0.976,0.455,0.311 +0.976,0.462,0.309 +0.976,0.469,0.306 +0.976,0.477,0.304 +0.976,0.484,0.301 +0.976,0.491,0.299 +0.976,0.497,0.296 +0.976,0.504,0.294 +0.976,0.511,0.291 +0.976,0.517,0.289 +0.976,0.524,0.286 +0.976,0.530,0.284 +0.976,0.537,0.281 +0.976,0.543,0.278 +0.976,0.549,0.276 +0.976,0.555,0.273 +0.976,0.562,0.271 +0.977,0.568,0.268 +0.977,0.574,0.266 +0.977,0.580,0.263 +0.978,0.585,0.261 +0.978,0.591,0.258 +0.979,0.597,0.256 +0.979,0.603,0.253 +0.980,0.609,0.250 +0.980,0.614,0.248 +0.981,0.620,0.245 +0.981,0.625,0.243 +0.982,0.631,0.240 +0.983,0.636,0.238 +0.983,0.642,0.235 +0.984,0.647,0.232 +0.985,0.653,0.230 +0.986,0.658,0.227 +0.987,0.663,0.225 +0.987,0.669,0.224 +0.988,0.674,0.222 +0.988,0.680,0.221 +0.989,0.685,0.220 +0.989,0.690,0.220 +0.989,0.696,0.219 +0.990,0.701,0.219 +0.990,0.707,0.218 +0.990,0.712,0.218 +0.990,0.718,0.218 +0.990,0.723,0.219 +0.990,0.728,0.219 +0.991,0.734,0.219 +0.991,0.739,0.220 +0.991,0.745,0.221 +0.990,0.750,0.221 +0.990,0.755,0.222 +0.990,0.761,0.223 +0.990,0.766,0.224 +0.990,0.772,0.225 +0.990,0.777,0.226 +0.990,0.783,0.228 +0.989,0.788,0.229 +0.989,0.793,0.230 +0.989,0.799,0.232 +0.988,0.804,0.233 +0.988,0.810,0.235 +0.987,0.815,0.237 +0.987,0.820,0.238 +0.987,0.826,0.240 +0.986,0.831,0.242 +0.986,0.836,0.244 +0.985,0.842,0.245 +0.984,0.847,0.247 +0.984,0.853,0.249 +0.983,0.858,0.251 +0.983,0.863,0.254 +0.982,0.869,0.256 +0.981,0.874,0.258 +0.980,0.879,0.260 +0.980,0.885,0.262 +0.979,0.890,0.264 +0.978,0.895,0.267 +0.977,0.901,0.269 +0.976,0.906,0.271 +0.975,0.912,0.274 +0.974,0.917,0.276 +0.973,0.922,0.279 +0.972,0.928,0.281 +0.971,0.933,0.284 +0.970,0.938,0.286 +0.969,0.944,0.289 +0.968,0.949,0.291 +0.967,0.954,0.294 +0.966,0.960,0.297 +0.964,0.965,0.299 +0.963,0.970,0.302 +0.962,0.976,0.305 diff --git a/release-packaging/Resources/color-schemes/CET-L09.csv b/release-packaging/Resources/color-schemes/CET-L09.csv new file mode 100644 index 0000000..fed08cc --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-L09.csv @@ -0,0 +1,256 @@ +0.020,0.000,0.673 +0.022,0.009,0.675 +0.024,0.020,0.676 +0.026,0.032,0.677 +0.028,0.043,0.679 +0.029,0.053,0.680 +0.031,0.063,0.682 +0.033,0.072,0.683 +0.035,0.080,0.684 +0.036,0.087,0.686 +0.038,0.094,0.687 +0.039,0.101,0.688 +0.041,0.108,0.689 +0.042,0.114,0.690 +0.043,0.121,0.692 +0.045,0.127,0.693 +0.046,0.133,0.694 +0.047,0.139,0.695 +0.048,0.144,0.696 +0.048,0.150,0.697 +0.049,0.155,0.698 +0.050,0.161,0.699 +0.051,0.166,0.700 +0.051,0.171,0.701 +0.052,0.177,0.702 +0.052,0.182,0.703 +0.053,0.187,0.703 +0.053,0.192,0.704 +0.053,0.197,0.705 +0.054,0.202,0.705 +0.054,0.207,0.706 +0.054,0.212,0.707 +0.054,0.216,0.707 +0.054,0.221,0.708 +0.054,0.226,0.708 +0.054,0.231,0.709 +0.054,0.236,0.709 +0.054,0.240,0.709 +0.053,0.245,0.709 +0.053,0.250,0.710 +0.053,0.254,0.710 +0.052,0.259,0.710 +0.052,0.264,0.710 +0.051,0.268,0.710 +0.051,0.273,0.710 +0.050,0.278,0.709 +0.049,0.282,0.709 +0.048,0.287,0.709 +0.047,0.292,0.708 +0.046,0.296,0.708 +0.045,0.301,0.707 +0.044,0.305,0.706 +0.043,0.310,0.705 +0.042,0.315,0.704 +0.041,0.319,0.703 +0.039,0.324,0.702 +0.038,0.329,0.700 +0.036,0.333,0.698 +0.035,0.338,0.697 +0.033,0.343,0.695 +0.031,0.347,0.692 +0.030,0.352,0.690 +0.028,0.357,0.687 +0.026,0.362,0.684 +0.025,0.367,0.681 +0.023,0.372,0.677 +0.022,0.377,0.673 +0.022,0.381,0.668 +0.024,0.386,0.663 +0.028,0.391,0.659 +0.032,0.396,0.654 +0.039,0.401,0.648 +0.045,0.405,0.643 +0.052,0.410,0.637 +0.059,0.414,0.632 +0.067,0.419,0.626 +0.074,0.423,0.620 +0.080,0.428,0.614 +0.087,0.432,0.607 +0.094,0.437,0.601 +0.100,0.441,0.594 +0.106,0.446,0.588 +0.112,0.450,0.581 +0.117,0.454,0.574 +0.123,0.459,0.567 +0.128,0.463,0.560 +0.133,0.467,0.553 +0.138,0.472,0.545 +0.142,0.476,0.538 +0.147,0.480,0.530 +0.151,0.485,0.523 +0.155,0.489,0.515 +0.158,0.493,0.507 +0.162,0.497,0.499 +0.165,0.502,0.491 +0.168,0.506,0.482 +0.171,0.510,0.474 +0.174,0.514,0.466 +0.176,0.519,0.457 +0.179,0.523,0.448 +0.181,0.527,0.440 +0.182,0.531,0.431 +0.184,0.536,0.422 +0.185,0.540,0.413 +0.187,0.544,0.403 +0.188,0.548,0.394 +0.188,0.552,0.384 +0.189,0.557,0.375 +0.190,0.561,0.366 +0.191,0.565,0.357 +0.192,0.569,0.348 +0.194,0.573,0.339 +0.196,0.577,0.331 +0.198,0.581,0.323 +0.200,0.585,0.315 +0.202,0.588,0.307 +0.205,0.592,0.299 +0.208,0.596,0.292 +0.211,0.600,0.284 +0.215,0.603,0.277 +0.218,0.607,0.270 +0.222,0.611,0.263 +0.226,0.614,0.256 +0.230,0.618,0.250 +0.235,0.621,0.243 +0.240,0.625,0.237 +0.245,0.628,0.230 +0.250,0.631,0.224 +0.255,0.635,0.218 +0.260,0.638,0.212 +0.266,0.641,0.205 +0.272,0.645,0.200 +0.278,0.648,0.194 +0.284,0.651,0.188 +0.290,0.654,0.182 +0.296,0.657,0.176 +0.303,0.661,0.171 +0.309,0.664,0.165 +0.316,0.667,0.159 +0.323,0.670,0.154 +0.329,0.673,0.148 +0.336,0.676,0.143 +0.343,0.679,0.137 +0.351,0.682,0.132 +0.358,0.685,0.127 +0.365,0.688,0.121 +0.372,0.691,0.116 +0.380,0.694,0.111 +0.387,0.696,0.105 +0.395,0.699,0.100 +0.403,0.702,0.095 +0.411,0.705,0.090 +0.418,0.707,0.084 +0.426,0.710,0.079 +0.434,0.713,0.074 +0.442,0.716,0.069 +0.450,0.718,0.064 +0.458,0.721,0.058 +0.466,0.723,0.053 +0.475,0.726,0.048 +0.483,0.728,0.043 +0.491,0.731,0.038 +0.500,0.733,0.033 +0.508,0.736,0.029 +0.516,0.738,0.025 +0.525,0.741,0.022 +0.533,0.743,0.019 +0.542,0.746,0.016 +0.551,0.748,0.014 +0.559,0.750,0.013 +0.568,0.752,0.011 +0.577,0.755,0.010 +0.586,0.757,0.010 +0.594,0.759,0.010 +0.603,0.761,0.009 +0.611,0.764,0.009 +0.620,0.766,0.010 +0.628,0.768,0.010 +0.637,0.770,0.010 +0.645,0.773,0.011 +0.653,0.775,0.012 +0.662,0.777,0.013 +0.670,0.779,0.014 +0.678,0.781,0.015 +0.686,0.784,0.017 +0.694,0.786,0.019 +0.702,0.788,0.021 +0.709,0.790,0.023 +0.717,0.793,0.025 +0.725,0.795,0.028 +0.733,0.797,0.031 +0.740,0.800,0.034 +0.748,0.802,0.038 +0.755,0.804,0.042 +0.763,0.806,0.045 +0.770,0.809,0.049 +0.777,0.811,0.053 +0.784,0.813,0.057 +0.792,0.816,0.062 +0.799,0.818,0.066 +0.806,0.820,0.070 +0.813,0.823,0.075 +0.820,0.825,0.079 +0.826,0.828,0.084 +0.833,0.830,0.089 +0.840,0.833,0.093 +0.846,0.835,0.098 +0.853,0.837,0.103 +0.859,0.840,0.108 +0.865,0.843,0.113 +0.872,0.845,0.118 +0.878,0.848,0.124 +0.884,0.850,0.129 +0.890,0.853,0.135 +0.895,0.856,0.140 +0.901,0.858,0.146 +0.906,0.861,0.152 +0.912,0.864,0.158 +0.917,0.867,0.164 +0.922,0.870,0.171 +0.927,0.873,0.177 +0.932,0.876,0.184 +0.936,0.879,0.191 +0.940,0.882,0.198 +0.944,0.885,0.206 +0.948,0.888,0.213 +0.952,0.892,0.221 +0.955,0.895,0.230 +0.957,0.899,0.238 +0.960,0.903,0.248 +0.962,0.906,0.258 +0.964,0.910,0.269 +0.967,0.914,0.282 +0.969,0.917,0.296 +0.971,0.921,0.311 +0.974,0.924,0.327 +0.976,0.928,0.345 +0.979,0.931,0.363 +0.981,0.934,0.383 +0.984,0.937,0.404 +0.987,0.940,0.426 +0.989,0.943,0.450 +0.991,0.946,0.475 +0.994,0.949,0.501 +0.996,0.952,0.529 +0.997,0.955,0.558 +0.999,0.957,0.590 +1.000,0.960,0.623 +1.000,0.962,0.658 +1.000,0.965,0.695 +1.000,0.967,0.735 +0.998,0.969,0.777 +0.996,0.971,0.822 +0.991,0.973,0.870 +0.985,0.975,0.922 +0.977,0.977,0.977 diff --git a/release-packaging/Resources/color-schemes/CET-L10.csv b/release-packaging/Resources/color-schemes/CET-L10.csv new file mode 100644 index 0000000..a1cb45d --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-L10.csv @@ -0,0 +1,256 @@ +0.399,0.606,0.565 +0.402,0.607,0.563 +0.404,0.608,0.561 +0.407,0.609,0.559 +0.410,0.610,0.557 +0.413,0.611,0.555 +0.416,0.612,0.553 +0.419,0.613,0.552 +0.421,0.614,0.550 +0.424,0.615,0.548 +0.427,0.616,0.546 +0.430,0.617,0.544 +0.433,0.617,0.543 +0.436,0.618,0.541 +0.439,0.619,0.539 +0.442,0.620,0.537 +0.445,0.621,0.535 +0.448,0.622,0.534 +0.450,0.623,0.532 +0.453,0.624,0.530 +0.456,0.624,0.528 +0.459,0.625,0.527 +0.462,0.626,0.525 +0.465,0.627,0.523 +0.468,0.628,0.521 +0.471,0.629,0.520 +0.474,0.629,0.518 +0.478,0.630,0.516 +0.481,0.631,0.515 +0.484,0.632,0.513 +0.487,0.633,0.511 +0.490,0.633,0.509 +0.493,0.634,0.508 +0.496,0.635,0.506 +0.500,0.636,0.505 +0.503,0.636,0.503 +0.506,0.637,0.501 +0.509,0.638,0.500 +0.513,0.639,0.498 +0.516,0.639,0.496 +0.519,0.640,0.495 +0.523,0.641,0.493 +0.526,0.641,0.492 +0.530,0.642,0.490 +0.533,0.643,0.489 +0.537,0.643,0.487 +0.540,0.644,0.486 +0.544,0.644,0.484 +0.547,0.645,0.483 +0.551,0.645,0.481 +0.555,0.646,0.480 +0.558,0.647,0.478 +0.562,0.647,0.477 +0.566,0.648,0.475 +0.570,0.648,0.474 +0.574,0.648,0.473 +0.578,0.649,0.471 +0.582,0.649,0.470 +0.586,0.650,0.469 +0.590,0.650,0.467 +0.594,0.650,0.466 +0.598,0.651,0.465 +0.602,0.651,0.463 +0.607,0.651,0.462 +0.611,0.652,0.461 +0.616,0.652,0.460 +0.620,0.652,0.459 +0.625,0.652,0.458 +0.630,0.652,0.457 +0.634,0.652,0.456 +0.639,0.652,0.455 +0.644,0.652,0.454 +0.649,0.652,0.453 +0.654,0.652,0.452 +0.660,0.652,0.451 +0.665,0.652,0.450 +0.671,0.652,0.449 +0.676,0.652,0.449 +0.682,0.651,0.448 +0.687,0.651,0.447 +0.692,0.651,0.447 +0.697,0.651,0.446 +0.702,0.650,0.445 +0.707,0.650,0.445 +0.712,0.650,0.444 +0.717,0.650,0.443 +0.722,0.650,0.443 +0.726,0.650,0.442 +0.730,0.650,0.441 +0.735,0.650,0.440 +0.739,0.650,0.440 +0.743,0.650,0.439 +0.747,0.650,0.438 +0.751,0.650,0.438 +0.755,0.650,0.437 +0.759,0.651,0.436 +0.762,0.651,0.436 +0.766,0.651,0.435 +0.769,0.651,0.434 +0.773,0.652,0.434 +0.776,0.652,0.433 +0.779,0.652,0.432 +0.782,0.653,0.432 +0.785,0.653,0.431 +0.788,0.653,0.430 +0.791,0.654,0.430 +0.794,0.654,0.429 +0.796,0.655,0.428 +0.799,0.656,0.428 +0.801,0.656,0.427 +0.803,0.657,0.426 +0.806,0.657,0.426 +0.808,0.658,0.425 +0.810,0.659,0.424 +0.812,0.660,0.424 +0.814,0.660,0.423 +0.816,0.661,0.422 +0.818,0.662,0.422 +0.819,0.663,0.421 +0.821,0.664,0.420 +0.822,0.665,0.420 +0.824,0.666,0.419 +0.825,0.667,0.418 +0.826,0.668,0.418 +0.827,0.669,0.417 +0.829,0.670,0.416 +0.830,0.672,0.415 +0.830,0.673,0.415 +0.831,0.674,0.414 +0.832,0.675,0.414 +0.833,0.677,0.413 +0.834,0.678,0.413 +0.834,0.679,0.412 +0.835,0.680,0.412 +0.836,0.682,0.412 +0.836,0.683,0.412 +0.837,0.684,0.412 +0.838,0.685,0.412 +0.838,0.687,0.413 +0.839,0.688,0.413 +0.840,0.689,0.414 +0.840,0.690,0.414 +0.841,0.692,0.415 +0.841,0.693,0.416 +0.842,0.694,0.417 +0.842,0.695,0.418 +0.843,0.697,0.419 +0.843,0.698,0.420 +0.844,0.699,0.421 +0.844,0.700,0.423 +0.845,0.702,0.424 +0.845,0.703,0.426 +0.846,0.704,0.427 +0.846,0.706,0.429 +0.846,0.707,0.431 +0.847,0.708,0.433 +0.847,0.709,0.435 +0.847,0.711,0.437 +0.848,0.712,0.440 +0.848,0.713,0.442 +0.848,0.714,0.444 +0.848,0.716,0.447 +0.849,0.717,0.450 +0.849,0.718,0.453 +0.849,0.720,0.455 +0.849,0.721,0.458 +0.849,0.722,0.461 +0.849,0.723,0.465 +0.849,0.725,0.468 +0.850,0.726,0.471 +0.850,0.727,0.475 +0.850,0.729,0.478 +0.850,0.730,0.482 +0.850,0.731,0.486 +0.849,0.733,0.490 +0.849,0.734,0.494 +0.849,0.735,0.498 +0.849,0.737,0.502 +0.849,0.738,0.506 +0.849,0.739,0.510 +0.848,0.740,0.515 +0.848,0.742,0.519 +0.848,0.743,0.523 +0.848,0.744,0.527 +0.848,0.746,0.532 +0.848,0.747,0.536 +0.847,0.748,0.540 +0.847,0.749,0.545 +0.847,0.751,0.549 +0.847,0.752,0.553 +0.847,0.753,0.557 +0.847,0.755,0.562 +0.847,0.756,0.566 +0.846,0.757,0.570 +0.846,0.758,0.574 +0.846,0.760,0.579 +0.846,0.761,0.583 +0.846,0.762,0.587 +0.846,0.763,0.591 +0.846,0.765,0.596 +0.846,0.766,0.600 +0.845,0.767,0.604 +0.845,0.768,0.608 +0.845,0.769,0.613 +0.845,0.771,0.617 +0.845,0.772,0.621 +0.845,0.773,0.625 +0.845,0.774,0.630 +0.844,0.776,0.634 +0.844,0.777,0.638 +0.844,0.778,0.642 +0.844,0.779,0.646 +0.844,0.780,0.651 +0.844,0.782,0.655 +0.843,0.783,0.659 +0.843,0.784,0.663 +0.843,0.785,0.668 +0.843,0.787,0.672 +0.843,0.788,0.676 +0.843,0.789,0.680 +0.842,0.790,0.684 +0.842,0.791,0.689 +0.842,0.793,0.693 +0.842,0.794,0.697 +0.842,0.795,0.701 +0.841,0.796,0.706 +0.841,0.797,0.710 +0.841,0.799,0.714 +0.841,0.800,0.718 +0.841,0.801,0.722 +0.840,0.802,0.727 +0.840,0.804,0.731 +0.840,0.805,0.735 +0.840,0.806,0.739 +0.839,0.807,0.744 +0.839,0.808,0.748 +0.839,0.810,0.752 +0.838,0.811,0.756 +0.838,0.812,0.760 +0.838,0.813,0.765 +0.838,0.814,0.769 +0.837,0.816,0.773 +0.837,0.817,0.777 +0.837,0.818,0.782 +0.836,0.819,0.786 +0.836,0.820,0.790 +0.836,0.822,0.794 +0.835,0.823,0.798 +0.835,0.824,0.803 +0.835,0.825,0.807 +0.834,0.826,0.811 +0.834,0.828,0.815 +0.833,0.829,0.820 +0.833,0.830,0.824 +0.833,0.831,0.828 +0.832,0.832,0.832 diff --git a/release-packaging/Resources/color-schemes/CET-L11.csv b/release-packaging/Resources/color-schemes/CET-L11.csv new file mode 100644 index 0000000..196d703 --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-L11.csv @@ -0,0 +1,256 @@ +0.438,0.678,0.361 +0.443,0.678,0.361 +0.449,0.679,0.361 +0.454,0.679,0.362 +0.459,0.679,0.362 +0.465,0.680,0.363 +0.470,0.680,0.363 +0.475,0.680,0.364 +0.480,0.680,0.364 +0.485,0.681,0.365 +0.491,0.681,0.365 +0.496,0.681,0.366 +0.501,0.682,0.366 +0.506,0.682,0.366 +0.511,0.682,0.367 +0.515,0.682,0.367 +0.520,0.683,0.368 +0.525,0.683,0.368 +0.530,0.683,0.369 +0.535,0.683,0.369 +0.539,0.684,0.370 +0.544,0.684,0.370 +0.549,0.684,0.371 +0.554,0.684,0.371 +0.558,0.685,0.372 +0.563,0.685,0.372 +0.567,0.685,0.373 +0.572,0.685,0.373 +0.577,0.686,0.374 +0.581,0.686,0.374 +0.585,0.686,0.374 +0.590,0.686,0.375 +0.594,0.687,0.375 +0.599,0.687,0.376 +0.603,0.687,0.376 +0.608,0.687,0.377 +0.612,0.687,0.377 +0.616,0.688,0.378 +0.621,0.688,0.378 +0.625,0.688,0.379 +0.629,0.688,0.379 +0.633,0.689,0.380 +0.638,0.689,0.380 +0.642,0.689,0.381 +0.646,0.689,0.381 +0.650,0.689,0.382 +0.654,0.690,0.382 +0.658,0.690,0.383 +0.662,0.690,0.383 +0.666,0.690,0.384 +0.671,0.690,0.384 +0.675,0.691,0.385 +0.679,0.691,0.385 +0.683,0.691,0.386 +0.687,0.691,0.386 +0.691,0.691,0.387 +0.694,0.692,0.387 +0.698,0.692,0.388 +0.702,0.692,0.388 +0.706,0.692,0.389 +0.710,0.692,0.389 +0.714,0.693,0.390 +0.718,0.693,0.390 +0.722,0.693,0.391 +0.725,0.693,0.391 +0.729,0.694,0.392 +0.733,0.694,0.392 +0.737,0.694,0.393 +0.740,0.694,0.393 +0.744,0.694,0.394 +0.748,0.695,0.394 +0.751,0.695,0.395 +0.755,0.695,0.395 +0.759,0.695,0.396 +0.762,0.695,0.396 +0.766,0.696,0.397 +0.769,0.696,0.398 +0.773,0.696,0.398 +0.776,0.696,0.399 +0.780,0.697,0.399 +0.783,0.697,0.400 +0.787,0.697,0.400 +0.790,0.697,0.401 +0.794,0.698,0.401 +0.797,0.698,0.402 +0.800,0.698,0.402 +0.804,0.698,0.403 +0.807,0.699,0.403 +0.810,0.699,0.404 +0.814,0.699,0.405 +0.817,0.700,0.405 +0.820,0.700,0.406 +0.823,0.700,0.406 +0.826,0.700,0.407 +0.830,0.701,0.407 +0.833,0.701,0.408 +0.836,0.701,0.408 +0.839,0.702,0.409 +0.842,0.702,0.410 +0.845,0.702,0.410 +0.848,0.703,0.411 +0.851,0.703,0.411 +0.853,0.704,0.412 +0.856,0.704,0.412 +0.859,0.704,0.413 +0.862,0.705,0.414 +0.864,0.705,0.414 +0.867,0.706,0.415 +0.870,0.706,0.415 +0.872,0.707,0.416 +0.875,0.707,0.417 +0.877,0.708,0.417 +0.879,0.709,0.418 +0.882,0.709,0.418 +0.884,0.710,0.419 +0.886,0.710,0.420 +0.888,0.711,0.420 +0.890,0.712,0.421 +0.892,0.713,0.421 +0.894,0.713,0.422 +0.896,0.714,0.423 +0.897,0.715,0.423 +0.899,0.716,0.424 +0.900,0.717,0.425 +0.901,0.718,0.425 +0.902,0.719,0.426 +0.903,0.720,0.427 +0.903,0.722,0.428 +0.904,0.723,0.428 +0.904,0.725,0.429 +0.904,0.726,0.430 +0.904,0.727,0.431 +0.904,0.729,0.432 +0.905,0.730,0.433 +0.905,0.732,0.434 +0.905,0.733,0.436 +0.905,0.734,0.437 +0.905,0.736,0.438 +0.906,0.737,0.440 +0.906,0.739,0.441 +0.906,0.740,0.443 +0.906,0.741,0.445 +0.906,0.743,0.446 +0.906,0.744,0.448 +0.906,0.746,0.450 +0.907,0.747,0.452 +0.907,0.748,0.454 +0.907,0.750,0.456 +0.907,0.751,0.458 +0.907,0.753,0.461 +0.907,0.754,0.463 +0.907,0.755,0.465 +0.907,0.757,0.468 +0.907,0.758,0.471 +0.907,0.759,0.473 +0.908,0.761,0.476 +0.908,0.762,0.479 +0.908,0.763,0.481 +0.908,0.765,0.484 +0.908,0.766,0.487 +0.908,0.768,0.490 +0.908,0.769,0.494 +0.908,0.770,0.497 +0.908,0.772,0.500 +0.908,0.773,0.503 +0.908,0.774,0.507 +0.907,0.776,0.510 +0.907,0.777,0.514 +0.907,0.778,0.517 +0.907,0.780,0.521 +0.907,0.781,0.525 +0.907,0.782,0.529 +0.907,0.784,0.532 +0.907,0.785,0.536 +0.907,0.786,0.540 +0.906,0.788,0.545 +0.906,0.789,0.549 +0.906,0.790,0.553 +0.906,0.792,0.557 +0.905,0.793,0.562 +0.905,0.794,0.566 +0.905,0.796,0.570 +0.905,0.797,0.575 +0.905,0.798,0.579 +0.904,0.800,0.583 +0.904,0.801,0.588 +0.904,0.802,0.592 +0.904,0.804,0.596 +0.904,0.805,0.601 +0.903,0.806,0.605 +0.903,0.807,0.609 +0.903,0.809,0.614 +0.903,0.810,0.618 +0.903,0.811,0.622 +0.903,0.813,0.627 +0.902,0.814,0.631 +0.902,0.815,0.635 +0.902,0.816,0.639 +0.902,0.818,0.644 +0.902,0.819,0.648 +0.902,0.820,0.652 +0.901,0.821,0.657 +0.901,0.823,0.661 +0.901,0.824,0.665 +0.901,0.825,0.669 +0.901,0.826,0.674 +0.901,0.828,0.678 +0.900,0.829,0.682 +0.900,0.830,0.687 +0.900,0.831,0.691 +0.900,0.833,0.695 +0.900,0.834,0.699 +0.900,0.835,0.704 +0.899,0.836,0.708 +0.899,0.838,0.712 +0.899,0.839,0.717 +0.899,0.840,0.721 +0.899,0.841,0.725 +0.898,0.842,0.729 +0.898,0.844,0.734 +0.898,0.845,0.738 +0.898,0.846,0.742 +0.898,0.847,0.746 +0.897,0.849,0.751 +0.897,0.850,0.755 +0.897,0.851,0.759 +0.897,0.852,0.763 +0.897,0.854,0.768 +0.896,0.855,0.772 +0.896,0.856,0.776 +0.896,0.857,0.781 +0.896,0.858,0.785 +0.895,0.860,0.789 +0.895,0.861,0.793 +0.895,0.862,0.798 +0.894,0.863,0.802 +0.894,0.865,0.806 +0.894,0.866,0.810 +0.894,0.867,0.815 +0.893,0.868,0.819 +0.893,0.869,0.823 +0.893,0.871,0.828 +0.892,0.872,0.832 +0.892,0.873,0.836 +0.892,0.874,0.840 +0.891,0.875,0.845 +0.891,0.877,0.849 +0.891,0.878,0.853 +0.890,0.879,0.858 +0.890,0.880,0.862 +0.889,0.882,0.866 +0.889,0.883,0.870 +0.889,0.884,0.875 +0.888,0.885,0.879 +0.888,0.886,0.883 +0.887,0.888,0.888 diff --git a/release-packaging/Resources/color-schemes/CET-L12.csv b/release-packaging/Resources/color-schemes/CET-L12.csv new file mode 100644 index 0000000..61d0b20 --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-L12.csv @@ -0,0 +1,256 @@ +0.943,0.944,0.943 +0.940,0.942,0.943 +0.937,0.940,0.943 +0.934,0.938,0.943 +0.931,0.936,0.943 +0.928,0.934,0.942 +0.925,0.932,0.942 +0.922,0.930,0.942 +0.919,0.929,0.942 +0.917,0.927,0.941 +0.914,0.925,0.941 +0.911,0.923,0.941 +0.908,0.921,0.941 +0.905,0.919,0.940 +0.902,0.917,0.940 +0.899,0.916,0.940 +0.896,0.914,0.939 +0.893,0.912,0.939 +0.890,0.910,0.939 +0.887,0.908,0.939 +0.884,0.906,0.938 +0.881,0.904,0.938 +0.878,0.903,0.938 +0.875,0.901,0.937 +0.872,0.899,0.937 +0.869,0.897,0.937 +0.866,0.895,0.937 +0.863,0.893,0.936 +0.860,0.892,0.936 +0.857,0.890,0.936 +0.854,0.888,0.935 +0.851,0.886,0.935 +0.848,0.884,0.935 +0.845,0.882,0.934 +0.842,0.880,0.934 +0.839,0.879,0.934 +0.836,0.877,0.933 +0.833,0.875,0.933 +0.830,0.873,0.933 +0.827,0.871,0.932 +0.824,0.869,0.932 +0.821,0.868,0.931 +0.818,0.866,0.931 +0.815,0.864,0.931 +0.812,0.862,0.930 +0.809,0.860,0.930 +0.806,0.858,0.930 +0.803,0.857,0.929 +0.800,0.855,0.929 +0.797,0.853,0.928 +0.794,0.851,0.928 +0.791,0.849,0.928 +0.788,0.847,0.927 +0.785,0.846,0.927 +0.782,0.844,0.926 +0.779,0.842,0.926 +0.776,0.840,0.925 +0.773,0.838,0.925 +0.770,0.836,0.925 +0.767,0.835,0.924 +0.764,0.833,0.924 +0.761,0.831,0.923 +0.758,0.829,0.923 +0.755,0.827,0.922 +0.752,0.825,0.922 +0.749,0.824,0.921 +0.746,0.822,0.921 +0.743,0.820,0.920 +0.740,0.818,0.920 +0.737,0.816,0.919 +0.734,0.815,0.919 +0.731,0.813,0.918 +0.728,0.811,0.918 +0.725,0.809,0.917 +0.722,0.807,0.917 +0.719,0.805,0.916 +0.716,0.804,0.915 +0.713,0.802,0.915 +0.710,0.800,0.914 +0.707,0.798,0.914 +0.704,0.796,0.913 +0.701,0.794,0.912 +0.698,0.793,0.912 +0.695,0.791,0.911 +0.692,0.789,0.911 +0.689,0.787,0.910 +0.686,0.785,0.909 +0.684,0.784,0.909 +0.681,0.782,0.908 +0.678,0.780,0.907 +0.675,0.778,0.906 +0.672,0.776,0.906 +0.669,0.774,0.905 +0.666,0.773,0.904 +0.663,0.771,0.903 +0.660,0.769,0.903 +0.658,0.767,0.902 +0.655,0.765,0.901 +0.652,0.764,0.900 +0.649,0.762,0.899 +0.646,0.760,0.898 +0.643,0.758,0.897 +0.641,0.756,0.897 +0.638,0.754,0.896 +0.635,0.753,0.895 +0.632,0.751,0.894 +0.630,0.749,0.893 +0.627,0.747,0.892 +0.624,0.745,0.891 +0.622,0.743,0.889 +0.619,0.742,0.888 +0.617,0.740,0.887 +0.614,0.738,0.886 +0.612,0.736,0.884 +0.609,0.734,0.883 +0.607,0.732,0.882 +0.604,0.731,0.880 +0.602,0.729,0.879 +0.600,0.727,0.878 +0.597,0.725,0.876 +0.595,0.723,0.875 +0.592,0.721,0.874 +0.590,0.720,0.872 +0.588,0.718,0.871 +0.585,0.716,0.869 +0.583,0.714,0.868 +0.581,0.712,0.866 +0.578,0.710,0.865 +0.576,0.708,0.863 +0.574,0.707,0.862 +0.571,0.705,0.860 +0.569,0.703,0.859 +0.567,0.701,0.857 +0.565,0.699,0.856 +0.562,0.697,0.854 +0.560,0.696,0.853 +0.558,0.694,0.851 +0.556,0.692,0.849 +0.553,0.690,0.848 +0.551,0.688,0.846 +0.549,0.686,0.845 +0.547,0.685,0.843 +0.545,0.683,0.841 +0.542,0.681,0.840 +0.540,0.679,0.838 +0.538,0.677,0.836 +0.536,0.675,0.835 +0.534,0.673,0.833 +0.532,0.672,0.831 +0.530,0.670,0.830 +0.528,0.668,0.828 +0.526,0.666,0.826 +0.524,0.664,0.824 +0.521,0.662,0.823 +0.519,0.661,0.821 +0.517,0.659,0.819 +0.515,0.657,0.817 +0.513,0.655,0.816 +0.511,0.653,0.814 +0.509,0.651,0.812 +0.507,0.650,0.810 +0.505,0.648,0.808 +0.503,0.646,0.807 +0.502,0.644,0.805 +0.500,0.642,0.803 +0.498,0.640,0.801 +0.496,0.639,0.799 +0.494,0.637,0.797 +0.492,0.635,0.795 +0.490,0.633,0.793 +0.488,0.631,0.791 +0.486,0.629,0.790 +0.484,0.628,0.788 +0.482,0.626,0.786 +0.480,0.624,0.784 +0.478,0.622,0.782 +0.476,0.620,0.781 +0.474,0.618,0.779 +0.472,0.617,0.777 +0.470,0.615,0.776 +0.468,0.613,0.774 +0.466,0.611,0.773 +0.463,0.609,0.771 +0.461,0.608,0.769 +0.459,0.606,0.768 +0.456,0.604,0.767 +0.454,0.602,0.765 +0.452,0.600,0.764 +0.449,0.599,0.762 +0.447,0.597,0.761 +0.444,0.595,0.760 +0.442,0.593,0.758 +0.439,0.592,0.757 +0.437,0.590,0.756 +0.434,0.588,0.754 +0.432,0.586,0.753 +0.429,0.585,0.752 +0.427,0.583,0.751 +0.424,0.581,0.749 +0.421,0.579,0.748 +0.419,0.578,0.747 +0.416,0.576,0.746 +0.413,0.574,0.745 +0.410,0.572,0.744 +0.408,0.571,0.742 +0.405,0.569,0.741 +0.402,0.567,0.740 +0.399,0.565,0.739 +0.396,0.564,0.738 +0.394,0.562,0.737 +0.391,0.560,0.736 +0.388,0.558,0.735 +0.385,0.557,0.734 +0.382,0.555,0.733 +0.379,0.553,0.732 +0.376,0.552,0.731 +0.373,0.550,0.730 +0.370,0.548,0.729 +0.367,0.546,0.728 +0.364,0.545,0.727 +0.361,0.543,0.726 +0.357,0.541,0.725 +0.354,0.540,0.724 +0.351,0.538,0.723 +0.348,0.536,0.722 +0.345,0.534,0.721 +0.341,0.533,0.721 +0.338,0.531,0.720 +0.335,0.529,0.719 +0.331,0.528,0.718 +0.328,0.526,0.717 +0.324,0.524,0.716 +0.321,0.523,0.715 +0.318,0.521,0.715 +0.314,0.519,0.714 +0.310,0.518,0.713 +0.307,0.516,0.712 +0.303,0.514,0.711 +0.300,0.513,0.710 +0.296,0.511,0.710 +0.292,0.509,0.709 +0.288,0.508,0.708 +0.285,0.506,0.707 +0.281,0.504,0.706 +0.277,0.503,0.706 +0.273,0.501,0.705 +0.269,0.499,0.704 +0.265,0.498,0.703 +0.260,0.496,0.703 +0.256,0.494,0.702 +0.252,0.493,0.701 +0.248,0.491,0.700 +0.243,0.489,0.700 +0.239,0.488,0.699 +0.234,0.486,0.698 +0.230,0.484,0.698 diff --git a/release-packaging/Resources/color-schemes/CET-L13.csv b/release-packaging/Resources/color-schemes/CET-L13.csv new file mode 100644 index 0000000..f4ee4bd --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-L13.csv @@ -0,0 +1,256 @@ +0.000,0.000,0.000 +0.008,0.002,0.000 +0.016,0.003,0.000 +0.024,0.005,0.000 +0.032,0.006,0.000 +0.040,0.008,0.000 +0.048,0.009,0.000 +0.055,0.010,0.000 +0.062,0.012,0.000 +0.069,0.013,0.000 +0.075,0.014,0.000 +0.081,0.015,0.000 +0.086,0.016,0.000 +0.092,0.017,0.000 +0.097,0.018,0.000 +0.102,0.019,0.000 +0.107,0.020,0.000 +0.112,0.021,0.000 +0.116,0.022,0.000 +0.121,0.023,0.000 +0.125,0.024,0.000 +0.129,0.024,0.000 +0.133,0.025,0.000 +0.137,0.026,0.000 +0.141,0.027,0.000 +0.145,0.027,0.000 +0.149,0.028,0.000 +0.152,0.029,0.000 +0.156,0.029,0.000 +0.159,0.030,0.000 +0.163,0.031,0.000 +0.166,0.031,0.000 +0.169,0.032,0.000 +0.173,0.033,0.000 +0.176,0.033,0.000 +0.179,0.034,0.000 +0.182,0.034,0.000 +0.185,0.035,0.000 +0.188,0.036,0.000 +0.191,0.036,0.000 +0.194,0.037,0.000 +0.197,0.037,0.000 +0.200,0.038,0.000 +0.203,0.038,0.000 +0.206,0.039,0.000 +0.209,0.039,0.000 +0.212,0.040,0.000 +0.215,0.041,0.000 +0.218,0.041,0.000 +0.221,0.042,0.000 +0.223,0.042,0.000 +0.226,0.043,0.000 +0.229,0.043,0.000 +0.232,0.044,0.000 +0.235,0.044,0.000 +0.238,0.045,0.000 +0.241,0.046,0.000 +0.244,0.046,0.000 +0.247,0.047,0.000 +0.250,0.047,0.000 +0.253,0.048,0.000 +0.256,0.048,0.000 +0.259,0.049,0.000 +0.262,0.049,0.000 +0.265,0.050,0.000 +0.268,0.051,0.000 +0.271,0.051,0.000 +0.274,0.052,0.000 +0.277,0.052,0.000 +0.280,0.053,0.000 +0.283,0.053,0.000 +0.286,0.054,0.000 +0.289,0.055,0.000 +0.292,0.055,0.000 +0.295,0.056,0.000 +0.298,0.056,0.000 +0.301,0.057,0.000 +0.304,0.057,0.000 +0.307,0.058,0.000 +0.310,0.059,0.000 +0.313,0.059,0.000 +0.316,0.060,0.000 +0.319,0.060,0.000 +0.322,0.061,0.000 +0.325,0.061,0.000 +0.328,0.062,0.000 +0.332,0.063,0.000 +0.335,0.063,0.000 +0.338,0.064,0.000 +0.341,0.064,0.000 +0.344,0.065,0.000 +0.347,0.066,0.000 +0.350,0.066,0.000 +0.353,0.067,0.000 +0.356,0.067,0.000 +0.359,0.068,0.000 +0.363,0.068,0.000 +0.366,0.069,0.000 +0.369,0.070,0.000 +0.372,0.070,0.000 +0.375,0.071,0.000 +0.378,0.071,0.000 +0.381,0.072,0.000 +0.384,0.073,0.000 +0.388,0.073,0.000 +0.391,0.074,0.000 +0.394,0.074,0.000 +0.397,0.075,0.000 +0.400,0.076,0.000 +0.403,0.076,0.000 +0.406,0.077,0.000 +0.410,0.077,0.000 +0.413,0.078,0.000 +0.416,0.079,0.000 +0.419,0.079,0.000 +0.422,0.080,0.000 +0.426,0.080,0.000 +0.429,0.081,0.000 +0.432,0.082,0.000 +0.435,0.082,0.000 +0.438,0.083,0.000 +0.441,0.083,0.000 +0.445,0.084,0.000 +0.448,0.085,0.000 +0.451,0.085,0.000 +0.454,0.086,0.000 +0.458,0.086,0.000 +0.461,0.087,0.000 +0.464,0.088,0.000 +0.467,0.088,0.000 +0.470,0.089,0.000 +0.474,0.089,0.000 +0.477,0.090,0.000 +0.480,0.091,0.000 +0.483,0.091,0.000 +0.487,0.092,0.000 +0.490,0.093,0.000 +0.493,0.093,0.000 +0.496,0.094,0.000 +0.500,0.094,0.000 +0.503,0.095,0.000 +0.506,0.096,0.000 +0.510,0.096,0.000 +0.513,0.097,0.000 +0.516,0.098,0.000 +0.519,0.098,0.000 +0.523,0.099,0.000 +0.526,0.099,0.000 +0.529,0.100,0.000 +0.533,0.101,0.000 +0.536,0.101,0.000 +0.539,0.102,0.000 +0.543,0.102,0.000 +0.546,0.103,0.000 +0.549,0.104,0.000 +0.552,0.104,0.000 +0.556,0.105,0.000 +0.559,0.106,0.000 +0.563,0.106,0.000 +0.566,0.107,0.000 +0.569,0.108,0.000 +0.572,0.108,0.000 +0.576,0.109,0.000 +0.579,0.109,0.000 +0.583,0.110,0.000 +0.586,0.111,0.000 +0.589,0.111,0.000 +0.593,0.112,0.000 +0.596,0.113,0.000 +0.599,0.113,0.000 +0.603,0.114,0.000 +0.606,0.114,0.000 +0.609,0.115,0.000 +0.613,0.116,0.000 +0.616,0.116,0.000 +0.620,0.117,0.000 +0.623,0.118,0.000 +0.626,0.118,0.000 +0.630,0.119,0.000 +0.633,0.120,0.000 +0.637,0.120,0.000 +0.640,0.121,0.000 +0.643,0.122,0.000 +0.647,0.122,0.000 +0.650,0.123,0.000 +0.654,0.123,0.000 +0.657,0.124,0.000 +0.660,0.125,0.000 +0.664,0.125,0.000 +0.667,0.126,0.000 +0.671,0.127,0.000 +0.674,0.127,0.000 +0.678,0.128,0.000 +0.681,0.129,0.000 +0.685,0.129,0.000 +0.688,0.130,0.000 +0.691,0.131,0.000 +0.695,0.131,0.000 +0.698,0.132,0.000 +0.702,0.133,0.000 +0.705,0.133,0.000 +0.709,0.134,0.000 +0.712,0.135,0.000 +0.716,0.135,0.000 +0.719,0.136,0.000 +0.723,0.136,0.000 +0.726,0.137,0.000 +0.730,0.138,0.000 +0.733,0.138,0.000 +0.737,0.139,0.000 +0.740,0.140,0.000 +0.744,0.140,0.000 +0.747,0.141,0.000 +0.751,0.142,0.000 +0.754,0.142,0.000 +0.758,0.143,0.000 +0.761,0.144,0.000 +0.765,0.144,0.000 +0.768,0.145,0.000 +0.772,0.146,0.000 +0.775,0.146,0.000 +0.779,0.147,0.000 +0.782,0.148,0.000 +0.786,0.148,0.000 +0.789,0.149,0.000 +0.793,0.150,0.000 +0.796,0.150,0.000 +0.800,0.151,0.000 +0.803,0.152,0.000 +0.807,0.152,0.000 +0.810,0.153,0.000 +0.814,0.154,0.000 +0.818,0.154,0.000 +0.821,0.155,0.000 +0.825,0.156,0.000 +0.828,0.156,0.000 +0.832,0.157,0.000 +0.835,0.158,0.000 +0.839,0.158,0.000 +0.842,0.159,0.000 +0.846,0.160,0.000 +0.850,0.160,0.000 +0.853,0.161,0.000 +0.857,0.162,0.000 +0.860,0.163,0.000 +0.864,0.163,0.000 +0.868,0.164,0.000 +0.871,0.165,0.000 +0.875,0.165,0.000 +0.878,0.166,0.000 +0.882,0.167,0.000 +0.886,0.167,0.000 +0.889,0.168,0.000 +0.893,0.169,0.000 +0.896,0.169,0.000 +0.900,0.170,0.000 diff --git a/release-packaging/Resources/color-schemes/CET-L14.csv b/release-packaging/Resources/color-schemes/CET-L14.csv new file mode 100644 index 0000000..26a0908 --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-L14.csv @@ -0,0 +1,256 @@ +0.000,0.000,0.000 +0.000,0.004,0.000 +0.000,0.007,0.000 +0.000,0.011,0.000 +0.000,0.015,0.000 +0.000,0.018,0.000 +0.000,0.022,0.000 +0.000,0.025,0.000 +0.000,0.029,0.000 +0.000,0.032,0.000 +0.000,0.036,0.000 +0.000,0.040,0.000 +0.000,0.043,0.000 +0.000,0.047,0.000 +0.000,0.050,0.000 +0.000,0.053,0.000 +0.000,0.056,0.000 +0.000,0.059,0.000 +0.000,0.061,0.000 +0.000,0.064,0.000 +0.000,0.067,0.000 +0.000,0.069,0.000 +0.000,0.071,0.000 +0.000,0.074,0.000 +0.000,0.076,0.000 +0.000,0.078,0.000 +0.000,0.081,0.000 +0.000,0.083,0.000 +0.000,0.085,0.000 +0.000,0.087,0.000 +0.000,0.089,0.000 +0.000,0.091,0.000 +0.000,0.093,0.000 +0.000,0.095,0.000 +0.000,0.097,0.000 +0.000,0.098,0.000 +0.000,0.100,0.000 +0.000,0.102,0.000 +0.000,0.104,0.000 +0.000,0.106,0.000 +0.000,0.107,0.000 +0.000,0.109,0.000 +0.000,0.111,0.000 +0.000,0.112,0.000 +0.000,0.114,0.000 +0.000,0.115,0.000 +0.000,0.117,0.000 +0.000,0.119,0.000 +0.000,0.120,0.000 +0.000,0.122,0.000 +0.000,0.123,0.000 +0.000,0.125,0.000 +0.000,0.127,0.000 +0.000,0.128,0.000 +0.000,0.130,0.000 +0.000,0.132,0.000 +0.000,0.133,0.000 +0.000,0.135,0.000 +0.000,0.136,0.000 +0.000,0.138,0.000 +0.000,0.140,0.000 +0.000,0.141,0.000 +0.000,0.143,0.000 +0.000,0.145,0.000 +0.000,0.146,0.000 +0.000,0.148,0.000 +0.000,0.150,0.000 +0.000,0.151,0.000 +0.000,0.153,0.000 +0.000,0.154,0.000 +0.000,0.156,0.000 +0.000,0.158,0.000 +0.000,0.159,0.000 +0.000,0.161,0.000 +0.000,0.163,0.000 +0.000,0.165,0.000 +0.000,0.166,0.000 +0.000,0.168,0.000 +0.000,0.170,0.000 +0.000,0.171,0.000 +0.000,0.173,0.000 +0.000,0.175,0.000 +0.000,0.176,0.000 +0.000,0.178,0.000 +0.000,0.180,0.000 +0.000,0.181,0.000 +0.000,0.183,0.000 +0.000,0.185,0.000 +0.000,0.187,0.000 +0.000,0.188,0.000 +0.000,0.190,0.000 +0.000,0.192,0.000 +0.000,0.193,0.000 +0.000,0.195,0.000 +0.000,0.197,0.000 +0.000,0.199,0.000 +0.000,0.200,0.000 +0.000,0.202,0.000 +0.000,0.204,0.000 +0.000,0.205,0.000 +0.000,0.207,0.000 +0.000,0.209,0.000 +0.000,0.211,0.000 +0.000,0.212,0.000 +0.000,0.214,0.000 +0.000,0.216,0.000 +0.000,0.218,0.000 +0.000,0.219,0.000 +0.000,0.221,0.000 +0.000,0.223,0.000 +0.000,0.225,0.000 +0.000,0.226,0.000 +0.000,0.228,0.000 +0.000,0.230,0.000 +0.000,0.232,0.000 +0.000,0.234,0.000 +0.000,0.235,0.000 +0.000,0.237,0.000 +0.000,0.239,0.000 +0.000,0.241,0.000 +0.000,0.242,0.000 +0.000,0.244,0.000 +0.000,0.246,0.000 +0.000,0.248,0.000 +0.000,0.250,0.000 +0.000,0.251,0.000 +0.000,0.253,0.000 +0.000,0.255,0.000 +0.000,0.257,0.000 +0.000,0.259,0.000 +0.000,0.260,0.000 +0.000,0.262,0.000 +0.000,0.264,0.000 +0.000,0.266,0.000 +0.000,0.268,0.000 +0.000,0.269,0.000 +0.000,0.271,0.000 +0.000,0.273,0.000 +0.000,0.275,0.000 +0.000,0.277,0.000 +0.000,0.278,0.000 +0.000,0.280,0.000 +0.000,0.282,0.000 +0.000,0.284,0.000 +0.000,0.286,0.000 +0.000,0.288,0.000 +0.000,0.289,0.000 +0.000,0.291,0.000 +0.000,0.293,0.000 +0.000,0.295,0.000 +0.000,0.297,0.000 +0.000,0.299,0.000 +0.000,0.300,0.000 +0.000,0.302,0.000 +0.000,0.304,0.000 +0.000,0.306,0.000 +0.000,0.308,0.000 +0.000,0.310,0.000 +0.000,0.312,0.000 +0.000,0.313,0.000 +0.000,0.315,0.000 +0.000,0.317,0.000 +0.000,0.319,0.000 +0.000,0.321,0.000 +0.000,0.323,0.000 +0.000,0.325,0.000 +0.000,0.327,0.000 +0.000,0.328,0.000 +0.000,0.330,0.000 +0.000,0.332,0.000 +0.000,0.334,0.000 +0.000,0.336,0.000 +0.000,0.338,0.000 +0.000,0.340,0.000 +0.000,0.342,0.000 +0.000,0.343,0.000 +0.000,0.345,0.000 +0.000,0.347,0.000 +0.000,0.349,0.000 +0.000,0.351,0.000 +0.000,0.353,0.000 +0.000,0.355,0.000 +0.000,0.357,0.000 +0.000,0.359,0.000 +0.000,0.361,0.000 +0.000,0.362,0.000 +0.000,0.364,0.000 +0.000,0.366,0.000 +0.000,0.368,0.000 +0.000,0.370,0.000 +0.000,0.372,0.000 +0.000,0.374,0.000 +0.000,0.376,0.000 +0.000,0.378,0.000 +0.000,0.380,0.000 +0.000,0.382,0.000 +0.000,0.384,0.000 +0.000,0.385,0.000 +0.000,0.387,0.000 +0.000,0.389,0.000 +0.000,0.391,0.000 +0.000,0.393,0.000 +0.000,0.395,0.000 +0.000,0.397,0.000 +0.000,0.399,0.000 +0.000,0.401,0.000 +0.000,0.403,0.000 +0.000,0.405,0.000 +0.000,0.407,0.000 +0.000,0.409,0.000 +0.000,0.411,0.000 +0.000,0.413,0.000 +0.000,0.415,0.000 +0.000,0.417,0.000 +0.000,0.418,0.000 +0.000,0.420,0.000 +0.000,0.422,0.000 +0.000,0.424,0.000 +0.000,0.426,0.000 +0.000,0.428,0.000 +0.000,0.430,0.000 +0.000,0.432,0.000 +0.000,0.434,0.000 +0.000,0.436,0.000 +0.000,0.438,0.000 +0.000,0.440,0.000 +0.000,0.442,0.000 +0.000,0.444,0.000 +0.000,0.446,0.000 +0.000,0.448,0.000 +0.000,0.450,0.000 +0.000,0.452,0.000 +0.000,0.454,0.000 +0.000,0.456,0.000 +0.000,0.458,0.000 +0.000,0.460,0.000 +0.000,0.462,0.000 +0.000,0.464,0.000 +0.000,0.466,0.000 +0.000,0.468,0.000 +0.000,0.470,0.000 +0.000,0.472,0.000 +0.000,0.474,0.000 +0.000,0.476,0.000 +0.000,0.478,0.000 +0.000,0.480,0.000 +0.000,0.482,0.000 +0.000,0.484,0.000 +0.000,0.486,0.000 +0.000,0.488,0.000 +0.000,0.490,0.000 +0.000,0.492,0.000 +0.000,0.494,0.000 +0.000,0.496,0.000 +0.000,0.498,0.000 +0.000,0.500,0.000 diff --git a/release-packaging/Resources/color-schemes/CET-L15.csv b/release-packaging/Resources/color-schemes/CET-L15.csv new file mode 100644 index 0000000..df66689 --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-L15.csv @@ -0,0 +1,256 @@ +0.000,0.000,0.000 +0.001,0.002,0.007 +0.001,0.005,0.015 +0.002,0.007,0.022 +0.003,0.010,0.030 +0.004,0.012,0.038 +0.004,0.015,0.045 +0.005,0.017,0.052 +0.006,0.020,0.059 +0.007,0.022,0.066 +0.007,0.024,0.073 +0.008,0.026,0.079 +0.009,0.028,0.086 +0.009,0.030,0.092 +0.010,0.032,0.098 +0.010,0.034,0.105 +0.011,0.037,0.111 +0.012,0.038,0.117 +0.012,0.040,0.122 +0.013,0.042,0.128 +0.013,0.044,0.133 +0.014,0.046,0.138 +0.014,0.047,0.144 +0.015,0.049,0.149 +0.015,0.051,0.153 +0.016,0.052,0.158 +0.016,0.054,0.163 +0.017,0.055,0.167 +0.017,0.057,0.172 +0.018,0.058,0.176 +0.018,0.059,0.180 +0.018,0.061,0.184 +0.019,0.062,0.188 +0.019,0.063,0.192 +0.020,0.065,0.196 +0.020,0.066,0.200 +0.020,0.067,0.204 +0.021,0.069,0.208 +0.021,0.070,0.211 +0.021,0.071,0.215 +0.022,0.072,0.218 +0.022,0.073,0.222 +0.023,0.074,0.225 +0.023,0.075,0.229 +0.023,0.077,0.232 +0.024,0.078,0.235 +0.024,0.079,0.238 +0.024,0.080,0.242 +0.025,0.081,0.245 +0.025,0.082,0.248 +0.025,0.083,0.252 +0.025,0.084,0.255 +0.026,0.085,0.258 +0.026,0.086,0.261 +0.026,0.087,0.265 +0.027,0.088,0.268 +0.027,0.089,0.271 +0.027,0.091,0.274 +0.028,0.092,0.278 +0.028,0.093,0.281 +0.028,0.094,0.284 +0.029,0.095,0.288 +0.029,0.096,0.291 +0.029,0.097,0.294 +0.030,0.098,0.297 +0.030,0.099,0.301 +0.030,0.100,0.304 +0.031,0.101,0.307 +0.031,0.103,0.311 +0.031,0.104,0.314 +0.032,0.105,0.317 +0.032,0.106,0.321 +0.032,0.107,0.324 +0.033,0.108,0.327 +0.033,0.109,0.331 +0.033,0.110,0.334 +0.034,0.111,0.338 +0.034,0.113,0.341 +0.034,0.114,0.344 +0.035,0.115,0.348 +0.035,0.116,0.351 +0.035,0.117,0.354 +0.036,0.118,0.358 +0.036,0.119,0.361 +0.036,0.120,0.365 +0.037,0.121,0.368 +0.037,0.123,0.371 +0.037,0.124,0.375 +0.038,0.125,0.378 +0.038,0.126,0.382 +0.039,0.127,0.385 +0.039,0.128,0.389 +0.039,0.129,0.392 +0.040,0.131,0.395 +0.040,0.132,0.399 +0.040,0.133,0.402 +0.041,0.134,0.406 +0.041,0.135,0.409 +0.041,0.136,0.413 +0.042,0.137,0.416 +0.042,0.138,0.420 +0.042,0.140,0.423 +0.043,0.141,0.427 +0.043,0.142,0.430 +0.043,0.143,0.434 +0.044,0.144,0.437 +0.044,0.145,0.441 +0.044,0.147,0.444 +0.045,0.148,0.448 +0.045,0.149,0.451 +0.045,0.150,0.455 +0.046,0.151,0.458 +0.046,0.152,0.462 +0.047,0.153,0.465 +0.047,0.155,0.469 +0.047,0.156,0.472 +0.048,0.157,0.476 +0.048,0.158,0.479 +0.048,0.159,0.483 +0.049,0.160,0.486 +0.049,0.162,0.490 +0.049,0.163,0.493 +0.050,0.164,0.497 +0.050,0.165,0.500 +0.050,0.166,0.504 +0.051,0.168,0.508 +0.051,0.169,0.511 +0.051,0.170,0.515 +0.052,0.171,0.518 +0.052,0.172,0.522 +0.053,0.173,0.526 +0.053,0.175,0.529 +0.053,0.176,0.533 +0.054,0.177,0.536 +0.054,0.178,0.540 +0.054,0.179,0.543 +0.055,0.181,0.547 +0.055,0.182,0.551 +0.055,0.183,0.554 +0.056,0.184,0.558 +0.056,0.185,0.562 +0.057,0.187,0.565 +0.057,0.188,0.569 +0.057,0.189,0.572 +0.058,0.190,0.576 +0.058,0.191,0.580 +0.058,0.193,0.583 +0.059,0.194,0.587 +0.059,0.195,0.591 +0.059,0.196,0.594 +0.060,0.197,0.598 +0.060,0.199,0.602 +0.061,0.200,0.605 +0.061,0.201,0.609 +0.061,0.202,0.613 +0.062,0.203,0.616 +0.062,0.205,0.620 +0.062,0.206,0.624 +0.063,0.207,0.627 +0.063,0.208,0.631 +0.063,0.209,0.635 +0.064,0.211,0.638 +0.064,0.212,0.642 +0.065,0.213,0.646 +0.065,0.214,0.650 +0.065,0.216,0.653 +0.066,0.217,0.657 +0.066,0.218,0.661 +0.066,0.219,0.664 +0.067,0.220,0.668 +0.067,0.222,0.672 +0.068,0.223,0.676 +0.068,0.224,0.679 +0.068,0.225,0.683 +0.069,0.227,0.687 +0.069,0.228,0.691 +0.069,0.229,0.694 +0.070,0.230,0.698 +0.070,0.232,0.702 +0.071,0.233,0.705 +0.071,0.234,0.709 +0.071,0.235,0.713 +0.072,0.237,0.717 +0.072,0.238,0.721 +0.072,0.239,0.724 +0.073,0.240,0.728 +0.073,0.242,0.732 +0.074,0.243,0.736 +0.074,0.244,0.739 +0.074,0.245,0.743 +0.075,0.247,0.747 +0.075,0.248,0.751 +0.075,0.249,0.755 +0.076,0.250,0.758 +0.076,0.252,0.762 +0.077,0.253,0.766 +0.077,0.254,0.770 +0.077,0.255,0.774 +0.078,0.257,0.777 +0.078,0.258,0.781 +0.079,0.259,0.785 +0.079,0.260,0.789 +0.079,0.262,0.793 +0.080,0.263,0.797 +0.080,0.264,0.800 +0.080,0.265,0.804 +0.081,0.267,0.808 +0.081,0.268,0.812 +0.082,0.269,0.816 +0.082,0.270,0.820 +0.082,0.272,0.823 +0.083,0.273,0.827 +0.083,0.274,0.831 +0.084,0.276,0.835 +0.084,0.277,0.839 +0.084,0.278,0.843 +0.085,0.279,0.847 +0.085,0.281,0.851 +0.085,0.282,0.854 +0.086,0.283,0.858 +0.086,0.285,0.862 +0.087,0.286,0.866 +0.087,0.287,0.870 +0.087,0.288,0.874 +0.088,0.290,0.878 +0.088,0.291,0.882 +0.089,0.292,0.886 +0.089,0.294,0.889 +0.089,0.295,0.893 +0.090,0.296,0.897 +0.090,0.297,0.901 +0.091,0.299,0.905 +0.091,0.300,0.909 +0.091,0.301,0.913 +0.092,0.303,0.917 +0.092,0.304,0.921 +0.092,0.305,0.925 +0.093,0.306,0.929 +0.093,0.308,0.933 +0.094,0.309,0.937 +0.094,0.310,0.941 +0.094,0.312,0.944 +0.095,0.313,0.948 +0.095,0.314,0.952 +0.096,0.316,0.956 +0.096,0.317,0.960 +0.096,0.318,0.964 +0.097,0.320,0.968 +0.097,0.321,0.972 +0.098,0.322,0.976 +0.098,0.323,0.980 +0.098,0.325,0.984 +0.099,0.326,0.988 +0.099,0.327,0.992 +0.100,0.329,0.996 +0.100,0.330,1.000 diff --git a/release-packaging/Resources/color-schemes/CET-L16.csv b/release-packaging/Resources/color-schemes/CET-L16.csv new file mode 100644 index 0000000..d26db2d --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-L16.csv @@ -0,0 +1,256 @@ +0.108,0.108,0.108 +0.115,0.108,0.125 +0.121,0.107,0.142 +0.127,0.107,0.159 +0.132,0.107,0.176 +0.137,0.106,0.193 +0.141,0.106,0.210 +0.145,0.105,0.226 +0.148,0.104,0.243 +0.151,0.104,0.260 +0.154,0.103,0.276 +0.156,0.103,0.292 +0.158,0.102,0.308 +0.159,0.101,0.324 +0.160,0.101,0.340 +0.161,0.100,0.356 +0.161,0.100,0.371 +0.161,0.099,0.387 +0.161,0.099,0.402 +0.160,0.098,0.416 +0.159,0.098,0.431 +0.158,0.098,0.445 +0.156,0.098,0.460 +0.154,0.098,0.473 +0.152,0.098,0.487 +0.150,0.098,0.500 +0.147,0.099,0.513 +0.144,0.099,0.526 +0.140,0.100,0.539 +0.137,0.101,0.551 +0.133,0.102,0.562 +0.129,0.104,0.574 +0.124,0.106,0.585 +0.120,0.107,0.596 +0.115,0.110,0.606 +0.110,0.112,0.616 +0.105,0.114,0.625 +0.099,0.117,0.634 +0.094,0.120,0.643 +0.088,0.124,0.651 +0.083,0.127,0.659 +0.077,0.131,0.666 +0.071,0.135,0.673 +0.066,0.139,0.679 +0.060,0.143,0.685 +0.055,0.148,0.690 +0.050,0.152,0.695 +0.045,0.157,0.699 +0.041,0.163,0.702 +0.038,0.168,0.705 +0.036,0.173,0.708 +0.034,0.179,0.709 +0.033,0.184,0.711 +0.032,0.190,0.712 +0.031,0.196,0.714 +0.030,0.201,0.715 +0.029,0.207,0.716 +0.028,0.212,0.717 +0.028,0.217,0.718 +0.027,0.223,0.719 +0.027,0.228,0.720 +0.026,0.233,0.720 +0.026,0.239,0.721 +0.026,0.244,0.721 +0.026,0.250,0.721 +0.026,0.255,0.721 +0.026,0.260,0.721 +0.026,0.266,0.721 +0.026,0.271,0.720 +0.026,0.276,0.720 +0.026,0.282,0.719 +0.026,0.287,0.718 +0.027,0.292,0.717 +0.027,0.298,0.716 +0.027,0.303,0.714 +0.028,0.308,0.713 +0.028,0.314,0.711 +0.028,0.319,0.709 +0.028,0.324,0.707 +0.028,0.330,0.704 +0.028,0.335,0.701 +0.028,0.341,0.698 +0.028,0.346,0.695 +0.027,0.352,0.692 +0.026,0.357,0.688 +0.025,0.363,0.684 +0.024,0.368,0.680 +0.023,0.374,0.675 +0.022,0.379,0.670 +0.024,0.385,0.665 +0.027,0.390,0.659 +0.032,0.396,0.654 +0.039,0.401,0.648 +0.047,0.406,0.642 +0.055,0.411,0.635 +0.063,0.417,0.629 +0.071,0.422,0.622 +0.079,0.427,0.615 +0.086,0.432,0.608 +0.094,0.437,0.601 +0.101,0.442,0.594 +0.107,0.447,0.586 +0.114,0.452,0.578 +0.120,0.457,0.570 +0.126,0.462,0.562 +0.132,0.466,0.554 +0.137,0.471,0.546 +0.143,0.476,0.538 +0.147,0.481,0.529 +0.152,0.486,0.520 +0.156,0.491,0.511 +0.160,0.495,0.503 +0.164,0.500,0.493 +0.168,0.505,0.484 +0.171,0.510,0.475 +0.174,0.515,0.465 +0.177,0.519,0.456 +0.179,0.524,0.446 +0.181,0.529,0.436 +0.183,0.534,0.426 +0.185,0.538,0.415 +0.186,0.543,0.405 +0.188,0.548,0.394 +0.188,0.553,0.384 +0.189,0.558,0.373 +0.190,0.562,0.363 +0.192,0.567,0.352 +0.193,0.571,0.343 +0.195,0.576,0.333 +0.197,0.580,0.324 +0.200,0.585,0.315 +0.203,0.589,0.306 +0.206,0.593,0.297 +0.209,0.597,0.289 +0.213,0.601,0.281 +0.217,0.606,0.273 +0.221,0.610,0.265 +0.226,0.614,0.257 +0.231,0.618,0.250 +0.236,0.622,0.242 +0.241,0.625,0.235 +0.247,0.629,0.228 +0.252,0.633,0.221 +0.259,0.637,0.214 +0.265,0.641,0.207 +0.271,0.644,0.200 +0.278,0.648,0.194 +0.285,0.652,0.187 +0.292,0.655,0.180 +0.299,0.659,0.174 +0.306,0.662,0.168 +0.314,0.666,0.161 +0.321,0.669,0.155 +0.329,0.673,0.149 +0.337,0.676,0.143 +0.345,0.679,0.136 +0.353,0.683,0.130 +0.361,0.686,0.124 +0.369,0.689,0.118 +0.378,0.693,0.112 +0.386,0.696,0.106 +0.395,0.699,0.100 +0.403,0.702,0.095 +0.412,0.705,0.089 +0.421,0.708,0.083 +0.430,0.711,0.077 +0.439,0.714,0.071 +0.448,0.717,0.065 +0.457,0.720,0.059 +0.466,0.723,0.053 +0.476,0.726,0.048 +0.485,0.729,0.042 +0.494,0.732,0.036 +0.504,0.735,0.031 +0.513,0.737,0.027 +0.523,0.740,0.023 +0.532,0.743,0.019 +0.542,0.746,0.017 +0.552,0.748,0.014 +0.562,0.751,0.012 +0.571,0.753,0.011 +0.581,0.756,0.010 +0.591,0.758,0.010 +0.601,0.761,0.009 +0.611,0.763,0.009 +0.620,0.766,0.010 +0.630,0.768,0.010 +0.639,0.771,0.010 +0.649,0.773,0.011 +0.658,0.776,0.012 +0.667,0.779,0.014 +0.676,0.781,0.015 +0.685,0.784,0.017 +0.694,0.786,0.019 +0.703,0.789,0.021 +0.712,0.791,0.024 +0.721,0.794,0.026 +0.729,0.796,0.030 +0.738,0.799,0.033 +0.746,0.801,0.037 +0.755,0.804,0.041 +0.763,0.807,0.046 +0.771,0.809,0.050 +0.780,0.812,0.055 +0.788,0.814,0.060 +0.796,0.817,0.064 +0.804,0.820,0.069 +0.812,0.822,0.074 +0.819,0.825,0.079 +0.827,0.828,0.084 +0.835,0.831,0.090 +0.842,0.833,0.095 +0.849,0.836,0.100 +0.857,0.839,0.106 +0.864,0.842,0.112 +0.871,0.845,0.118 +0.878,0.848,0.124 +0.884,0.851,0.130 +0.891,0.854,0.136 +0.897,0.857,0.142 +0.904,0.860,0.149 +0.910,0.863,0.156 +0.916,0.866,0.163 +0.922,0.869,0.170 +0.927,0.873,0.177 +0.932,0.876,0.185 +0.937,0.880,0.193 +0.942,0.883,0.201 +0.946,0.887,0.210 +0.950,0.891,0.219 +0.954,0.895,0.228 +0.957,0.899,0.238 +0.960,0.903,0.248 +0.962,0.907,0.260 +0.965,0.911,0.273 +0.968,0.915,0.288 +0.970,0.919,0.304 +0.973,0.923,0.322 +0.976,0.927,0.341 +0.979,0.931,0.362 +0.982,0.934,0.385 +0.985,0.938,0.408 +0.987,0.941,0.434 +0.990,0.945,0.461 +0.993,0.948,0.490 +0.995,0.951,0.521 +0.997,0.954,0.554 +0.999,0.957,0.589 +1.000,0.960,0.626 +1.000,0.963,0.666 +1.000,0.966,0.709 +0.999,0.968,0.755 +0.997,0.971,0.804 +0.993,0.973,0.858 +0.986,0.975,0.915 +0.977,0.977,0.977 diff --git a/release-packaging/Resources/color-schemes/CET-L17.csv b/release-packaging/Resources/color-schemes/CET-L17.csv new file mode 100644 index 0000000..4c27d94 --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-L17.csv @@ -0,0 +1,256 @@ +1.000,1.000,1.000 +0.998,0.997,0.989 +0.996,0.994,0.978 +0.995,0.991,0.967 +0.993,0.988,0.956 +0.991,0.985,0.945 +0.989,0.982,0.934 +0.987,0.979,0.923 +0.985,0.976,0.912 +0.983,0.973,0.901 +0.981,0.970,0.890 +0.979,0.967,0.879 +0.977,0.964,0.868 +0.974,0.961,0.857 +0.972,0.958,0.846 +0.970,0.955,0.835 +0.968,0.952,0.824 +0.965,0.949,0.813 +0.963,0.946,0.803 +0.961,0.943,0.792 +0.958,0.940,0.781 +0.956,0.937,0.770 +0.953,0.934,0.759 +0.951,0.931,0.748 +0.950,0.927,0.741 +0.951,0.923,0.734 +0.951,0.919,0.728 +0.951,0.915,0.721 +0.951,0.911,0.714 +0.951,0.906,0.708 +0.951,0.902,0.701 +0.951,0.898,0.695 +0.951,0.894,0.688 +0.951,0.890,0.682 +0.951,0.886,0.675 +0.951,0.882,0.669 +0.951,0.878,0.662 +0.951,0.874,0.655 +0.951,0.870,0.649 +0.951,0.865,0.642 +0.950,0.861,0.636 +0.950,0.857,0.629 +0.950,0.853,0.623 +0.950,0.849,0.616 +0.950,0.845,0.610 +0.949,0.841,0.603 +0.949,0.837,0.597 +0.949,0.832,0.592 +0.950,0.828,0.587 +0.950,0.823,0.582 +0.951,0.819,0.577 +0.951,0.814,0.573 +0.952,0.810,0.568 +0.952,0.805,0.563 +0.953,0.801,0.559 +0.953,0.796,0.554 +0.954,0.792,0.549 +0.954,0.787,0.544 +0.955,0.783,0.540 +0.955,0.778,0.535 +0.955,0.773,0.530 +0.956,0.769,0.526 +0.956,0.764,0.521 +0.956,0.760,0.516 +0.956,0.755,0.512 +0.957,0.751,0.507 +0.957,0.746,0.502 +0.957,0.742,0.498 +0.957,0.737,0.493 +0.957,0.732,0.489 +0.958,0.728,0.485 +0.958,0.723,0.482 +0.958,0.718,0.479 +0.959,0.713,0.476 +0.959,0.708,0.474 +0.959,0.704,0.471 +0.960,0.699,0.468 +0.960,0.694,0.465 +0.960,0.689,0.463 +0.960,0.684,0.460 +0.961,0.679,0.457 +0.961,0.675,0.455 +0.961,0.670,0.452 +0.961,0.665,0.449 +0.961,0.660,0.446 +0.961,0.655,0.444 +0.962,0.650,0.441 +0.962,0.645,0.438 +0.962,0.640,0.435 +0.962,0.635,0.433 +0.962,0.630,0.430 +0.962,0.625,0.427 +0.962,0.620,0.425 +0.962,0.615,0.423 +0.962,0.610,0.422 +0.961,0.605,0.421 +0.961,0.600,0.420 +0.961,0.595,0.419 +0.961,0.590,0.418 +0.960,0.585,0.417 +0.960,0.580,0.417 +0.960,0.575,0.416 +0.959,0.570,0.415 +0.959,0.565,0.414 +0.959,0.560,0.413 +0.958,0.555,0.412 +0.958,0.550,0.412 +0.957,0.544,0.411 +0.957,0.539,0.410 +0.957,0.534,0.409 +0.956,0.529,0.408 +0.956,0.524,0.407 +0.955,0.518,0.406 +0.955,0.513,0.406 +0.954,0.508,0.405 +0.954,0.502,0.404 +0.953,0.497,0.403 +0.952,0.492,0.404 +0.951,0.487,0.405 +0.950,0.482,0.405 +0.948,0.477,0.406 +0.947,0.472,0.407 +0.946,0.467,0.408 +0.945,0.462,0.408 +0.943,0.457,0.409 +0.942,0.451,0.410 +0.941,0.446,0.410 +0.940,0.441,0.411 +0.938,0.436,0.412 +0.937,0.430,0.412 +0.936,0.425,0.413 +0.934,0.420,0.414 +0.933,0.414,0.414 +0.932,0.409,0.415 +0.930,0.404,0.416 +0.929,0.398,0.416 +0.928,0.393,0.417 +0.926,0.387,0.418 +0.925,0.382,0.418 +0.924,0.376,0.419 +0.921,0.371,0.420 +0.919,0.366,0.422 +0.917,0.361,0.424 +0.914,0.356,0.426 +0.912,0.351,0.428 +0.909,0.347,0.430 +0.907,0.342,0.431 +0.904,0.337,0.433 +0.902,0.332,0.435 +0.899,0.326,0.437 +0.897,0.321,0.438 +0.894,0.316,0.440 +0.892,0.311,0.442 +0.889,0.306,0.444 +0.887,0.300,0.445 +0.884,0.295,0.447 +0.882,0.290,0.449 +0.879,0.284,0.450 +0.876,0.279,0.452 +0.874,0.273,0.454 +0.871,0.268,0.455 +0.869,0.262,0.457 +0.866,0.256,0.459 +0.863,0.252,0.461 +0.859,0.247,0.463 +0.855,0.243,0.466 +0.851,0.239,0.468 +0.847,0.235,0.470 +0.843,0.230,0.473 +0.839,0.226,0.475 +0.835,0.222,0.478 +0.831,0.217,0.480 +0.827,0.213,0.482 +0.823,0.208,0.485 +0.819,0.204,0.487 +0.815,0.199,0.489 +0.811,0.194,0.492 +0.807,0.190,0.494 +0.803,0.185,0.496 +0.799,0.180,0.499 +0.795,0.175,0.501 +0.791,0.170,0.503 +0.787,0.165,0.506 +0.783,0.160,0.508 +0.778,0.155,0.510 +0.774,0.150,0.513 +0.769,0.146,0.515 +0.764,0.144,0.518 +0.758,0.141,0.520 +0.753,0.139,0.523 +0.747,0.137,0.525 +0.741,0.134,0.528 +0.736,0.132,0.530 +0.730,0.129,0.533 +0.724,0.127,0.535 +0.718,0.125,0.538 +0.712,0.122,0.541 +0.707,0.120,0.543 +0.701,0.118,0.546 +0.695,0.115,0.548 +0.689,0.113,0.551 +0.683,0.111,0.553 +0.677,0.109,0.556 +0.671,0.106,0.558 +0.665,0.104,0.561 +0.659,0.102,0.563 +0.653,0.100,0.566 +0.647,0.097,0.568 +0.641,0.095,0.571 +0.634,0.094,0.573 +0.626,0.096,0.576 +0.619,0.097,0.578 +0.611,0.099,0.580 +0.603,0.100,0.582 +0.596,0.102,0.585 +0.588,0.103,0.587 +0.580,0.104,0.589 +0.572,0.106,0.591 +0.564,0.107,0.594 +0.555,0.108,0.596 +0.547,0.109,0.598 +0.539,0.111,0.600 +0.531,0.112,0.603 +0.522,0.113,0.605 +0.514,0.114,0.607 +0.505,0.115,0.609 +0.496,0.116,0.612 +0.487,0.117,0.614 +0.478,0.119,0.616 +0.469,0.120,0.618 +0.460,0.121,0.620 +0.450,0.122,0.623 +0.441,0.123,0.625 +0.430,0.126,0.626 +0.419,0.128,0.628 +0.408,0.131,0.629 +0.396,0.133,0.631 +0.384,0.136,0.632 +0.372,0.138,0.633 +0.360,0.140,0.635 +0.347,0.142,0.636 +0.334,0.144,0.638 +0.321,0.146,0.639 +0.307,0.148,0.640 +0.292,0.150,0.642 +0.277,0.152,0.643 +0.261,0.153,0.645 +0.244,0.155,0.646 +0.226,0.156,0.648 +0.206,0.158,0.649 +0.184,0.159,0.650 +0.159,0.161,0.652 +0.131,0.162,0.653 +0.094,0.163,0.655 +0.038,0.164,0.656 +0.000,0.165,0.658 diff --git a/release-packaging/Resources/color-schemes/CET-L18.csv b/release-packaging/Resources/color-schemes/CET-L18.csv new file mode 100644 index 0000000..95e5438 --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-L18.csv @@ -0,0 +1,256 @@ +1.000,1.000,1.000 +0.998,0.998,0.990 +0.995,0.997,0.980 +0.993,0.995,0.969 +0.991,0.993,0.959 +0.989,0.991,0.949 +0.986,0.990,0.939 +0.984,0.988,0.929 +0.981,0.986,0.919 +0.979,0.984,0.909 +0.976,0.983,0.898 +0.974,0.981,0.888 +0.971,0.979,0.878 +0.969,0.977,0.868 +0.966,0.976,0.858 +0.964,0.974,0.848 +0.961,0.972,0.838 +0.958,0.971,0.828 +0.956,0.969,0.818 +0.953,0.967,0.807 +0.950,0.965,0.797 +0.947,0.964,0.787 +0.944,0.962,0.777 +0.941,0.960,0.767 +0.940,0.958,0.760 +0.939,0.955,0.754 +0.938,0.953,0.748 +0.937,0.950,0.742 +0.936,0.947,0.736 +0.935,0.945,0.730 +0.934,0.942,0.724 +0.933,0.940,0.718 +0.932,0.937,0.712 +0.931,0.934,0.706 +0.930,0.932,0.700 +0.929,0.929,0.694 +0.928,0.927,0.688 +0.927,0.924,0.682 +0.926,0.922,0.676 +0.925,0.919,0.670 +0.924,0.916,0.664 +0.923,0.914,0.658 +0.922,0.911,0.652 +0.920,0.909,0.646 +0.919,0.906,0.640 +0.918,0.904,0.634 +0.917,0.901,0.628 +0.916,0.898,0.623 +0.916,0.895,0.617 +0.915,0.893,0.612 +0.915,0.890,0.607 +0.915,0.887,0.602 +0.914,0.884,0.597 +0.914,0.881,0.592 +0.913,0.879,0.586 +0.913,0.876,0.581 +0.912,0.873,0.576 +0.911,0.870,0.571 +0.911,0.867,0.566 +0.910,0.864,0.560 +0.910,0.862,0.555 +0.909,0.859,0.550 +0.909,0.856,0.545 +0.908,0.853,0.540 +0.907,0.850,0.535 +0.907,0.848,0.529 +0.906,0.845,0.524 +0.906,0.842,0.519 +0.905,0.839,0.514 +0.904,0.836,0.509 +0.904,0.833,0.504 +0.904,0.830,0.499 +0.903,0.827,0.495 +0.903,0.824,0.490 +0.903,0.821,0.485 +0.903,0.818,0.481 +0.903,0.815,0.476 +0.902,0.812,0.472 +0.902,0.809,0.467 +0.902,0.806,0.463 +0.902,0.803,0.458 +0.901,0.800,0.453 +0.901,0.797,0.449 +0.901,0.794,0.444 +0.900,0.791,0.440 +0.900,0.788,0.435 +0.900,0.785,0.431 +0.899,0.782,0.426 +0.899,0.779,0.421 +0.899,0.776,0.417 +0.898,0.773,0.412 +0.898,0.771,0.408 +0.897,0.768,0.403 +0.897,0.764,0.399 +0.897,0.761,0.395 +0.897,0.758,0.391 +0.897,0.755,0.387 +0.897,0.752,0.383 +0.897,0.749,0.379 +0.897,0.746,0.375 +0.896,0.742,0.371 +0.896,0.739,0.367 +0.896,0.736,0.363 +0.896,0.733,0.359 +0.896,0.730,0.355 +0.896,0.727,0.351 +0.895,0.724,0.347 +0.895,0.720,0.343 +0.895,0.717,0.339 +0.895,0.714,0.335 +0.895,0.711,0.331 +0.894,0.708,0.327 +0.894,0.705,0.323 +0.894,0.702,0.318 +0.894,0.698,0.314 +0.893,0.695,0.310 +0.893,0.692,0.306 +0.893,0.689,0.303 +0.893,0.686,0.300 +0.893,0.682,0.296 +0.893,0.679,0.293 +0.893,0.676,0.289 +0.893,0.672,0.286 +0.893,0.669,0.283 +0.892,0.666,0.279 +0.892,0.663,0.276 +0.892,0.659,0.272 +0.892,0.656,0.269 +0.892,0.653,0.266 +0.892,0.649,0.262 +0.892,0.646,0.259 +0.891,0.643,0.255 +0.891,0.639,0.252 +0.891,0.636,0.248 +0.891,0.633,0.245 +0.891,0.629,0.241 +0.890,0.626,0.238 +0.890,0.623,0.235 +0.890,0.620,0.231 +0.890,0.616,0.228 +0.890,0.613,0.225 +0.890,0.609,0.222 +0.889,0.606,0.219 +0.889,0.602,0.217 +0.889,0.599,0.214 +0.889,0.596,0.211 +0.889,0.592,0.208 +0.889,0.589,0.206 +0.889,0.585,0.203 +0.888,0.582,0.200 +0.888,0.578,0.197 +0.888,0.575,0.195 +0.888,0.571,0.192 +0.888,0.568,0.189 +0.887,0.564,0.186 +0.887,0.561,0.183 +0.887,0.557,0.181 +0.887,0.554,0.178 +0.886,0.550,0.175 +0.886,0.547,0.172 +0.886,0.543,0.169 +0.886,0.540,0.166 +0.885,0.536,0.164 +0.885,0.533,0.161 +0.885,0.529,0.159 +0.885,0.525,0.158 +0.885,0.522,0.156 +0.884,0.518,0.154 +0.884,0.515,0.152 +0.884,0.511,0.150 +0.884,0.507,0.148 +0.883,0.504,0.146 +0.883,0.500,0.144 +0.883,0.496,0.142 +0.882,0.493,0.140 +0.882,0.489,0.138 +0.882,0.485,0.136 +0.882,0.481,0.134 +0.881,0.478,0.132 +0.881,0.474,0.130 +0.881,0.470,0.128 +0.880,0.466,0.126 +0.880,0.463,0.124 +0.880,0.459,0.122 +0.879,0.455,0.120 +0.879,0.451,0.119 +0.878,0.447,0.117 +0.878,0.443,0.116 +0.878,0.440,0.115 +0.877,0.436,0.114 +0.877,0.432,0.113 +0.877,0.428,0.112 +0.876,0.424,0.111 +0.876,0.420,0.110 +0.875,0.416,0.110 +0.875,0.412,0.109 +0.874,0.408,0.108 +0.874,0.404,0.107 +0.874,0.400,0.106 +0.873,0.396,0.105 +0.873,0.392,0.104 +0.872,0.387,0.103 +0.872,0.383,0.102 +0.871,0.379,0.101 +0.871,0.375,0.100 +0.870,0.371,0.100 +0.870,0.367,0.099 +0.869,0.362,0.098 +0.869,0.358,0.097 +0.868,0.354,0.096 +0.868,0.349,0.097 +0.867,0.345,0.097 +0.867,0.341,0.097 +0.866,0.336,0.097 +0.865,0.332,0.097 +0.865,0.327,0.097 +0.864,0.323,0.097 +0.864,0.318,0.097 +0.863,0.313,0.097 +0.862,0.309,0.098 +0.862,0.304,0.098 +0.861,0.299,0.098 +0.861,0.295,0.098 +0.860,0.290,0.098 +0.859,0.285,0.098 +0.859,0.280,0.098 +0.858,0.275,0.098 +0.857,0.270,0.098 +0.857,0.265,0.098 +0.856,0.259,0.098 +0.855,0.254,0.098 +0.855,0.249,0.098 +0.854,0.243,0.099 +0.853,0.238,0.099 +0.852,0.232,0.100 +0.852,0.226,0.101 +0.851,0.221,0.102 +0.850,0.215,0.103 +0.849,0.209,0.104 +0.848,0.203,0.104 +0.847,0.196,0.105 +0.846,0.190,0.106 +0.846,0.183,0.106 +0.845,0.177,0.107 +0.844,0.169,0.108 +0.843,0.162,0.108 +0.842,0.155,0.109 +0.841,0.147,0.110 +0.840,0.138,0.110 +0.840,0.130,0.111 +0.839,0.120,0.112 +0.838,0.110,0.112 +0.837,0.099,0.113 +0.836,0.088,0.113 +0.835,0.074,0.114 +0.834,0.059,0.114 diff --git a/release-packaging/Resources/color-schemes/CET-L19.csv b/release-packaging/Resources/color-schemes/CET-L19.csv new file mode 100644 index 0000000..652b489 --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-L19.csv @@ -0,0 +1,256 @@ +1.000,1.000,1.000 +0.995,0.998,1.000 +0.990,0.996,0.999 +0.985,0.994,0.999 +0.980,0.992,0.998 +0.975,0.990,0.998 +0.970,0.989,0.998 +0.965,0.987,0.997 +0.960,0.985,0.997 +0.955,0.983,0.996 +0.950,0.981,0.996 +0.945,0.979,0.996 +0.940,0.977,0.995 +0.935,0.975,0.995 +0.930,0.973,0.994 +0.925,0.971,0.994 +0.920,0.969,0.994 +0.915,0.967,0.993 +0.910,0.965,0.993 +0.905,0.963,0.992 +0.900,0.962,0.992 +0.895,0.960,0.992 +0.890,0.958,0.991 +0.885,0.956,0.991 +0.881,0.954,0.991 +0.877,0.951,0.991 +0.873,0.949,0.991 +0.869,0.947,0.991 +0.865,0.944,0.992 +0.861,0.942,0.992 +0.857,0.940,0.992 +0.853,0.938,0.992 +0.849,0.935,0.993 +0.845,0.933,0.993 +0.840,0.931,0.993 +0.836,0.928,0.993 +0.832,0.926,0.993 +0.828,0.924,0.994 +0.824,0.922,0.994 +0.820,0.919,0.994 +0.816,0.917,0.994 +0.812,0.915,0.994 +0.808,0.913,0.994 +0.804,0.910,0.995 +0.799,0.908,0.995 +0.795,0.906,0.995 +0.791,0.904,0.995 +0.788,0.901,0.995 +0.786,0.898,0.996 +0.783,0.896,0.996 +0.781,0.893,0.996 +0.778,0.890,0.996 +0.776,0.888,0.997 +0.773,0.885,0.997 +0.771,0.882,0.997 +0.768,0.880,0.997 +0.766,0.877,0.998 +0.763,0.874,0.998 +0.761,0.871,0.998 +0.758,0.869,0.998 +0.756,0.866,0.998 +0.753,0.863,0.999 +0.751,0.861,0.999 +0.748,0.858,0.999 +0.746,0.855,0.999 +0.743,0.853,1.000 +0.740,0.850,1.000 +0.738,0.847,1.000 +0.735,0.845,1.000 +0.733,0.842,1.000 +0.731,0.839,1.000 +0.731,0.836,1.000 +0.730,0.833,1.000 +0.730,0.830,0.999 +0.729,0.827,0.999 +0.729,0.824,0.999 +0.728,0.821,0.998 +0.728,0.817,0.998 +0.727,0.814,0.998 +0.727,0.811,0.997 +0.726,0.808,0.997 +0.726,0.805,0.996 +0.725,0.802,0.996 +0.725,0.799,0.996 +0.724,0.796,0.995 +0.724,0.793,0.995 +0.723,0.789,0.995 +0.723,0.786,0.994 +0.722,0.783,0.994 +0.722,0.780,0.994 +0.721,0.777,0.993 +0.721,0.774,0.993 +0.720,0.771,0.992 +0.720,0.767,0.992 +0.722,0.764,0.990 +0.723,0.760,0.989 +0.725,0.757,0.987 +0.726,0.753,0.986 +0.728,0.750,0.985 +0.729,0.746,0.983 +0.731,0.743,0.982 +0.732,0.739,0.980 +0.734,0.735,0.979 +0.735,0.732,0.977 +0.736,0.728,0.976 +0.738,0.725,0.974 +0.739,0.721,0.973 +0.740,0.718,0.971 +0.742,0.714,0.970 +0.743,0.710,0.968 +0.744,0.707,0.967 +0.746,0.703,0.966 +0.747,0.699,0.964 +0.748,0.696,0.963 +0.749,0.692,0.961 +0.750,0.689,0.960 +0.752,0.685,0.958 +0.755,0.681,0.955 +0.758,0.677,0.952 +0.760,0.673,0.949 +0.763,0.669,0.946 +0.766,0.665,0.943 +0.768,0.661,0.940 +0.771,0.657,0.937 +0.774,0.653,0.934 +0.776,0.649,0.931 +0.779,0.645,0.928 +0.781,0.641,0.926 +0.784,0.637,0.923 +0.786,0.633,0.920 +0.789,0.629,0.917 +0.791,0.624,0.914 +0.794,0.620,0.911 +0.796,0.616,0.908 +0.798,0.612,0.905 +0.801,0.608,0.902 +0.803,0.604,0.899 +0.805,0.600,0.896 +0.807,0.595,0.893 +0.809,0.591,0.890 +0.812,0.587,0.886 +0.816,0.582,0.881 +0.819,0.578,0.876 +0.822,0.574,0.872 +0.824,0.569,0.867 +0.827,0.565,0.863 +0.830,0.560,0.858 +0.833,0.556,0.853 +0.836,0.551,0.849 +0.838,0.547,0.844 +0.841,0.542,0.839 +0.844,0.538,0.835 +0.846,0.533,0.830 +0.849,0.529,0.826 +0.851,0.524,0.821 +0.854,0.520,0.817 +0.856,0.515,0.812 +0.859,0.510,0.807 +0.861,0.505,0.803 +0.864,0.501,0.798 +0.866,0.496,0.794 +0.868,0.491,0.789 +0.870,0.486,0.785 +0.873,0.482,0.779 +0.875,0.477,0.773 +0.877,0.473,0.766 +0.879,0.468,0.760 +0.882,0.463,0.754 +0.884,0.458,0.748 +0.886,0.454,0.741 +0.888,0.449,0.735 +0.890,0.444,0.729 +0.892,0.439,0.723 +0.894,0.434,0.717 +0.896,0.429,0.711 +0.898,0.425,0.704 +0.899,0.420,0.698 +0.901,0.415,0.692 +0.903,0.410,0.686 +0.905,0.404,0.680 +0.906,0.399,0.674 +0.908,0.394,0.668 +0.910,0.389,0.662 +0.911,0.384,0.655 +0.913,0.378,0.649 +0.914,0.373,0.643 +0.915,0.368,0.636 +0.916,0.364,0.629 +0.917,0.359,0.621 +0.918,0.354,0.614 +0.918,0.350,0.606 +0.919,0.345,0.599 +0.920,0.340,0.592 +0.920,0.335,0.584 +0.921,0.330,0.577 +0.921,0.326,0.569 +0.922,0.321,0.562 +0.922,0.316,0.555 +0.923,0.311,0.547 +0.923,0.306,0.540 +0.924,0.300,0.532 +0.924,0.295,0.525 +0.924,0.290,0.518 +0.925,0.285,0.510 +0.925,0.279,0.503 +0.925,0.274,0.496 +0.925,0.268,0.489 +0.925,0.263,0.481 +0.925,0.257,0.474 +0.925,0.252,0.467 +0.924,0.248,0.458 +0.923,0.244,0.450 +0.922,0.240,0.442 +0.921,0.237,0.434 +0.919,0.233,0.425 +0.918,0.229,0.417 +0.917,0.224,0.409 +0.916,0.220,0.401 +0.914,0.216,0.393 +0.913,0.212,0.385 +0.912,0.208,0.376 +0.910,0.204,0.368 +0.909,0.200,0.360 +0.908,0.195,0.352 +0.906,0.191,0.344 +0.905,0.186,0.336 +0.903,0.182,0.328 +0.901,0.177,0.320 +0.900,0.173,0.312 +0.898,0.168,0.304 +0.897,0.163,0.295 +0.895,0.159,0.287 +0.893,0.154,0.279 +0.890,0.153,0.271 +0.887,0.152,0.262 +0.884,0.151,0.253 +0.880,0.149,0.245 +0.877,0.148,0.236 +0.874,0.147,0.227 +0.871,0.146,0.218 +0.867,0.145,0.210 +0.864,0.144,0.201 +0.861,0.143,0.192 +0.857,0.141,0.183 +0.854,0.140,0.174 +0.851,0.139,0.164 +0.847,0.138,0.155 +0.844,0.137,0.145 +0.840,0.136,0.136 +0.837,0.135,0.126 +0.833,0.134,0.115 +0.830,0.133,0.105 +0.826,0.132,0.094 +0.823,0.131,0.082 +0.819,0.130,0.069 +0.816,0.130,0.056 diff --git a/release-packaging/Resources/color-schemes/CET-L20.csv b/release-packaging/Resources/color-schemes/CET-L20.csv new file mode 100644 index 0000000..f3ac600 --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-L20.csv @@ -0,0 +1,256 @@ +0.189,0.189,0.189 +0.193,0.191,0.199 +0.197,0.192,0.209 +0.200,0.193,0.220 +0.204,0.195,0.230 +0.207,0.196,0.240 +0.210,0.197,0.249 +0.213,0.199,0.259 +0.217,0.200,0.269 +0.219,0.201,0.279 +0.222,0.203,0.289 +0.225,0.204,0.299 +0.227,0.206,0.309 +0.230,0.207,0.319 +0.232,0.209,0.329 +0.235,0.210,0.339 +0.237,0.211,0.348 +0.239,0.213,0.358 +0.241,0.214,0.368 +0.243,0.216,0.377 +0.245,0.217,0.387 +0.246,0.219,0.397 +0.248,0.221,0.406 +0.250,0.222,0.416 +0.251,0.224,0.425 +0.252,0.225,0.435 +0.254,0.227,0.444 +0.255,0.229,0.454 +0.256,0.230,0.463 +0.257,0.232,0.472 +0.258,0.234,0.481 +0.259,0.236,0.491 +0.260,0.238,0.500 +0.260,0.239,0.509 +0.261,0.241,0.518 +0.261,0.243,0.527 +0.262,0.245,0.535 +0.262,0.247,0.544 +0.262,0.249,0.553 +0.263,0.251,0.561 +0.263,0.253,0.570 +0.263,0.255,0.578 +0.263,0.258,0.587 +0.263,0.260,0.595 +0.262,0.262,0.603 +0.262,0.264,0.611 +0.262,0.267,0.619 +0.262,0.269,0.627 +0.261,0.272,0.635 +0.261,0.274,0.642 +0.260,0.277,0.650 +0.259,0.279,0.657 +0.259,0.282,0.664 +0.258,0.284,0.671 +0.257,0.287,0.678 +0.256,0.290,0.685 +0.255,0.293,0.692 +0.254,0.296,0.698 +0.253,0.298,0.704 +0.252,0.301,0.711 +0.251,0.304,0.717 +0.250,0.308,0.722 +0.248,0.311,0.728 +0.247,0.314,0.733 +0.246,0.317,0.739 +0.244,0.321,0.744 +0.243,0.324,0.749 +0.241,0.327,0.753 +0.240,0.331,0.757 +0.238,0.335,0.762 +0.236,0.338,0.765 +0.235,0.342,0.769 +0.233,0.346,0.772 +0.231,0.350,0.775 +0.229,0.354,0.778 +0.228,0.358,0.780 +0.226,0.362,0.782 +0.224,0.366,0.784 +0.222,0.370,0.785 +0.220,0.375,0.786 +0.218,0.379,0.787 +0.215,0.384,0.787 +0.213,0.388,0.787 +0.211,0.393,0.786 +0.208,0.398,0.785 +0.206,0.403,0.783 +0.203,0.408,0.780 +0.200,0.413,0.777 +0.197,0.419,0.774 +0.193,0.424,0.769 +0.190,0.430,0.764 +0.186,0.435,0.758 +0.181,0.441,0.751 +0.176,0.447,0.743 +0.170,0.453,0.735 +0.165,0.459,0.726 +0.160,0.465,0.717 +0.155,0.471,0.709 +0.150,0.477,0.700 +0.146,0.482,0.692 +0.143,0.487,0.683 +0.140,0.493,0.675 +0.137,0.498,0.666 +0.135,0.503,0.658 +0.134,0.508,0.650 +0.133,0.513,0.641 +0.133,0.518,0.633 +0.134,0.522,0.625 +0.135,0.527,0.617 +0.137,0.531,0.609 +0.139,0.536,0.600 +0.142,0.540,0.592 +0.146,0.545,0.584 +0.150,0.549,0.577 +0.155,0.553,0.569 +0.160,0.557,0.561 +0.166,0.561,0.553 +0.172,0.565,0.545 +0.178,0.569,0.537 +0.185,0.573,0.530 +0.192,0.577,0.522 +0.199,0.580,0.514 +0.207,0.584,0.507 +0.215,0.587,0.499 +0.223,0.591,0.491 +0.231,0.594,0.484 +0.240,0.598,0.476 +0.248,0.601,0.469 +0.257,0.604,0.461 +0.267,0.608,0.454 +0.276,0.611,0.446 +0.285,0.614,0.439 +0.295,0.617,0.432 +0.305,0.620,0.424 +0.315,0.623,0.417 +0.325,0.625,0.409 +0.335,0.628,0.402 +0.345,0.631,0.395 +0.356,0.633,0.387 +0.367,0.636,0.380 +0.377,0.638,0.372 +0.388,0.641,0.365 +0.399,0.643,0.358 +0.411,0.645,0.350 +0.422,0.648,0.343 +0.433,0.650,0.335 +0.445,0.652,0.328 +0.456,0.654,0.321 +0.467,0.656,0.313 +0.477,0.658,0.306 +0.488,0.660,0.299 +0.498,0.662,0.291 +0.509,0.664,0.284 +0.519,0.666,0.277 +0.529,0.668,0.269 +0.539,0.670,0.262 +0.549,0.672,0.255 +0.559,0.673,0.248 +0.569,0.675,0.240 +0.578,0.677,0.233 +0.588,0.679,0.226 +0.598,0.681,0.218 +0.608,0.682,0.211 +0.617,0.684,0.204 +0.627,0.686,0.197 +0.637,0.687,0.190 +0.646,0.689,0.182 +0.656,0.690,0.175 +0.666,0.692,0.168 +0.675,0.693,0.161 +0.685,0.695,0.154 +0.695,0.696,0.146 +0.704,0.698,0.139 +0.714,0.699,0.132 +0.724,0.700,0.126 +0.734,0.702,0.119 +0.744,0.703,0.112 +0.754,0.704,0.106 +0.764,0.705,0.100 +0.774,0.706,0.094 +0.784,0.707,0.088 +0.795,0.708,0.083 +0.805,0.708,0.079 +0.816,0.709,0.076 +0.826,0.710,0.073 +0.837,0.710,0.071 +0.847,0.711,0.071 +0.858,0.711,0.071 +0.869,0.712,0.072 +0.878,0.713,0.073 +0.887,0.714,0.074 +0.895,0.715,0.075 +0.902,0.717,0.075 +0.909,0.719,0.076 +0.916,0.721,0.077 +0.922,0.723,0.077 +0.927,0.725,0.077 +0.932,0.728,0.078 +0.937,0.730,0.078 +0.942,0.733,0.078 +0.946,0.736,0.078 +0.950,0.739,0.079 +0.954,0.742,0.079 +0.958,0.745,0.079 +0.961,0.748,0.079 +0.965,0.752,0.079 +0.968,0.755,0.079 +0.970,0.759,0.079 +0.973,0.762,0.079 +0.976,0.766,0.078 +0.978,0.770,0.078 +0.980,0.774,0.078 +0.982,0.777,0.078 +0.984,0.781,0.078 +0.986,0.785,0.077 +0.987,0.789,0.077 +0.989,0.793,0.077 +0.990,0.797,0.076 +0.992,0.802,0.076 +0.993,0.806,0.075 +0.994,0.810,0.075 +0.995,0.814,0.074 +0.996,0.819,0.074 +0.996,0.823,0.073 +0.997,0.827,0.073 +0.998,0.832,0.072 +0.998,0.836,0.072 +0.998,0.841,0.071 +0.999,0.845,0.070 +0.999,0.850,0.070 +0.999,0.854,0.069 +0.999,0.859,0.068 +0.999,0.864,0.067 +0.999,0.868,0.066 +0.998,0.873,0.066 +0.998,0.878,0.065 +0.998,0.882,0.064 +0.997,0.887,0.063 +0.997,0.892,0.062 +0.996,0.897,0.061 +0.995,0.901,0.060 +0.994,0.906,0.059 +0.993,0.911,0.057 +0.993,0.916,0.056 +0.991,0.921,0.055 +0.990,0.926,0.054 +0.989,0.930,0.053 +0.988,0.935,0.051 +0.987,0.940,0.050 +0.985,0.945,0.049 +0.984,0.950,0.047 +0.982,0.955,0.045 +0.981,0.960,0.044 +0.979,0.965,0.042 +0.977,0.970,0.041 +0.975,0.975,0.039 diff --git a/release-packaging/Resources/color-schemes/CET-R1.csv b/release-packaging/Resources/color-schemes/CET-R1.csv new file mode 100644 index 0000000..d05c41d --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-R1.csv @@ -0,0 +1,256 @@ +0.000,0.187,0.963 +0.000,0.202,0.949 +0.000,0.217,0.935 +0.000,0.231,0.921 +0.011,0.244,0.908 +0.036,0.257,0.894 +0.056,0.269,0.880 +0.069,0.281,0.867 +0.079,0.292,0.853 +0.087,0.302,0.840 +0.092,0.313,0.826 +0.096,0.323,0.813 +0.098,0.333,0.799 +0.100,0.342,0.786 +0.100,0.352,0.772 +0.099,0.361,0.759 +0.098,0.370,0.745 +0.097,0.378,0.732 +0.095,0.386,0.719 +0.093,0.395,0.706 +0.092,0.402,0.693 +0.092,0.410,0.680 +0.092,0.417,0.667 +0.093,0.425,0.654 +0.095,0.432,0.641 +0.099,0.438,0.629 +0.104,0.445,0.616 +0.110,0.451,0.604 +0.117,0.457,0.592 +0.125,0.463,0.580 +0.134,0.469,0.568 +0.142,0.474,0.556 +0.151,0.480,0.544 +0.160,0.485,0.532 +0.169,0.491,0.520 +0.177,0.496,0.509 +0.185,0.501,0.497 +0.193,0.506,0.485 +0.200,0.511,0.473 +0.206,0.516,0.462 +0.213,0.522,0.450 +0.218,0.527,0.438 +0.223,0.532,0.426 +0.228,0.537,0.414 +0.232,0.542,0.402 +0.236,0.547,0.390 +0.239,0.552,0.378 +0.242,0.557,0.365 +0.245,0.562,0.353 +0.247,0.567,0.340 +0.249,0.573,0.327 +0.250,0.578,0.314 +0.252,0.583,0.301 +0.253,0.588,0.288 +0.254,0.593,0.275 +0.255,0.598,0.262 +0.256,0.603,0.248 +0.257,0.608,0.235 +0.258,0.613,0.221 +0.260,0.618,0.208 +0.263,0.623,0.195 +0.266,0.627,0.182 +0.270,0.632,0.169 +0.274,0.636,0.156 +0.280,0.641,0.144 +0.286,0.645,0.133 +0.293,0.649,0.122 +0.302,0.653,0.112 +0.311,0.657,0.102 +0.320,0.660,0.094 +0.331,0.664,0.086 +0.341,0.667,0.080 +0.353,0.671,0.075 +0.364,0.674,0.070 +0.376,0.677,0.067 +0.388,0.680,0.065 +0.400,0.683,0.064 +0.412,0.686,0.064 +0.425,0.689,0.064 +0.437,0.692,0.064 +0.449,0.695,0.065 +0.461,0.698,0.067 +0.473,0.701,0.068 +0.485,0.703,0.070 +0.496,0.706,0.071 +0.508,0.709,0.073 +0.520,0.712,0.075 +0.531,0.715,0.077 +0.542,0.717,0.078 +0.554,0.720,0.080 +0.565,0.723,0.082 +0.576,0.725,0.084 +0.587,0.728,0.086 +0.598,0.731,0.087 +0.609,0.733,0.089 +0.620,0.736,0.091 +0.631,0.739,0.093 +0.642,0.741,0.095 +0.653,0.744,0.096 +0.664,0.746,0.098 +0.674,0.749,0.100 +0.685,0.751,0.102 +0.696,0.754,0.103 +0.707,0.757,0.105 +0.717,0.759,0.107 +0.728,0.762,0.109 +0.738,0.764,0.111 +0.749,0.766,0.112 +0.759,0.769,0.114 +0.770,0.771,0.116 +0.780,0.774,0.118 +0.791,0.776,0.120 +0.801,0.778,0.121 +0.812,0.781,0.123 +0.822,0.783,0.125 +0.832,0.785,0.127 +0.843,0.787,0.128 +0.853,0.789,0.130 +0.863,0.791,0.132 +0.873,0.793,0.133 +0.882,0.794,0.135 +0.892,0.795,0.136 +0.901,0.796,0.137 +0.910,0.797,0.139 +0.918,0.797,0.140 +0.926,0.797,0.141 +0.933,0.796,0.142 +0.940,0.795,0.142 +0.946,0.793,0.143 +0.952,0.791,0.143 +0.957,0.789,0.143 +0.962,0.786,0.143 +0.966,0.782,0.143 +0.969,0.779,0.142 +0.972,0.774,0.142 +0.974,0.770,0.141 +0.976,0.765,0.140 +0.977,0.760,0.139 +0.978,0.754,0.138 +0.979,0.749,0.137 +0.979,0.743,0.136 +0.980,0.737,0.135 +0.980,0.732,0.133 +0.980,0.726,0.132 +0.979,0.720,0.131 +0.979,0.714,0.130 +0.979,0.707,0.128 +0.979,0.701,0.127 +0.978,0.695,0.126 +0.978,0.689,0.124 +0.977,0.683,0.123 +0.977,0.677,0.122 +0.976,0.670,0.121 +0.976,0.664,0.119 +0.975,0.658,0.118 +0.975,0.652,0.117 +0.974,0.645,0.116 +0.974,0.639,0.114 +0.973,0.633,0.113 +0.973,0.627,0.112 +0.972,0.620,0.111 +0.971,0.614,0.110 +0.971,0.608,0.108 +0.970,0.601,0.107 +0.969,0.595,0.106 +0.969,0.588,0.105 +0.968,0.582,0.104 +0.967,0.575,0.103 +0.966,0.569,0.102 +0.966,0.563,0.100 +0.965,0.556,0.099 +0.964,0.549,0.098 +0.963,0.543,0.097 +0.962,0.536,0.096 +0.961,0.530,0.095 +0.961,0.523,0.094 +0.960,0.516,0.093 +0.959,0.510,0.092 +0.958,0.503,0.091 +0.957,0.496,0.090 +0.956,0.489,0.089 +0.955,0.482,0.088 +0.954,0.476,0.087 +0.953,0.469,0.086 +0.952,0.462,0.085 +0.951,0.455,0.084 +0.950,0.448,0.083 +0.949,0.440,0.083 +0.948,0.433,0.082 +0.947,0.426,0.082 +0.946,0.419,0.082 +0.945,0.412,0.082 +0.944,0.405,0.083 +0.943,0.398,0.084 +0.942,0.391,0.086 +0.941,0.384,0.088 +0.941,0.378,0.091 +0.940,0.371,0.095 +0.940,0.365,0.100 +0.940,0.360,0.106 +0.940,0.355,0.113 +0.940,0.350,0.121 +0.941,0.346,0.130 +0.942,0.343,0.139 +0.943,0.340,0.150 +0.944,0.338,0.161 +0.946,0.337,0.173 +0.948,0.337,0.186 +0.950,0.338,0.199 +0.952,0.339,0.213 +0.954,0.341,0.227 +0.957,0.343,0.242 +0.959,0.346,0.257 +0.962,0.350,0.272 +0.965,0.354,0.288 +0.967,0.358,0.304 +0.970,0.362,0.320 +0.973,0.367,0.336 +0.975,0.372,0.352 +0.978,0.377,0.368 +0.980,0.382,0.385 +0.983,0.387,0.401 +0.985,0.392,0.418 +0.987,0.397,0.434 +0.990,0.403,0.451 +0.992,0.408,0.467 +0.993,0.413,0.484 +0.995,0.418,0.500 +0.997,0.424,0.517 +0.999,0.429,0.533 +1.000,0.434,0.550 +1.000,0.440,0.567 +1.000,0.445,0.583 +1.000,0.451,0.600 +1.000,0.456,0.617 +1.000,0.461,0.634 +1.000,0.467,0.651 +1.000,0.472,0.668 +1.000,0.478,0.685 +1.000,0.483,0.702 +1.000,0.488,0.719 +1.000,0.494,0.736 +1.000,0.499,0.753 +1.000,0.505,0.770 +1.000,0.510,0.787 +1.000,0.516,0.805 +1.000,0.521,0.822 +1.000,0.527,0.840 +1.000,0.532,0.857 +1.000,0.538,0.874 +1.000,0.544,0.892 +1.000,0.549,0.910 +0.998,0.555,0.927 +0.997,0.560,0.945 +0.995,0.566,0.963 +0.992,0.572,0.980 diff --git a/release-packaging/Resources/color-schemes/CET-R2.csv b/release-packaging/Resources/color-schemes/CET-R2.csv new file mode 100644 index 0000000..bc36cd8 --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-R2.csv @@ -0,0 +1,256 @@ +0.000,0.204,0.963 +0.000,0.215,0.951 +0.000,0.226,0.940 +0.000,0.237,0.929 +0.000,0.247,0.918 +0.000,0.256,0.907 +0.000,0.266,0.896 +0.000,0.275,0.885 +0.000,0.283,0.874 +0.000,0.292,0.863 +0.000,0.300,0.852 +0.000,0.309,0.841 +0.000,0.317,0.830 +0.000,0.325,0.819 +0.000,0.332,0.808 +0.000,0.340,0.797 +0.000,0.347,0.786 +0.000,0.355,0.775 +0.000,0.362,0.765 +0.000,0.369,0.754 +0.000,0.376,0.743 +0.000,0.383,0.732 +0.000,0.390,0.721 +0.000,0.396,0.710 +0.000,0.403,0.699 +0.000,0.409,0.689 +0.000,0.416,0.678 +0.000,0.422,0.667 +0.000,0.428,0.657 +0.000,0.433,0.646 +0.000,0.439,0.636 +0.000,0.444,0.626 +0.000,0.449,0.616 +0.000,0.454,0.606 +0.000,0.459,0.596 +0.004,0.464,0.586 +0.030,0.468,0.577 +0.056,0.472,0.567 +0.077,0.477,0.558 +0.095,0.481,0.548 +0.111,0.485,0.539 +0.125,0.489,0.530 +0.138,0.493,0.520 +0.149,0.497,0.511 +0.160,0.501,0.502 +0.169,0.505,0.492 +0.177,0.508,0.483 +0.185,0.512,0.474 +0.192,0.516,0.464 +0.199,0.520,0.455 +0.204,0.524,0.445 +0.210,0.529,0.436 +0.215,0.533,0.426 +0.219,0.537,0.417 +0.223,0.541,0.407 +0.227,0.545,0.397 +0.230,0.549,0.387 +0.233,0.553,0.377 +0.236,0.557,0.367 +0.238,0.561,0.357 +0.240,0.565,0.347 +0.242,0.569,0.336 +0.243,0.574,0.326 +0.245,0.578,0.315 +0.246,0.582,0.304 +0.246,0.586,0.293 +0.247,0.590,0.282 +0.247,0.594,0.271 +0.247,0.599,0.259 +0.247,0.603,0.247 +0.247,0.607,0.235 +0.246,0.611,0.222 +0.246,0.615,0.209 +0.246,0.619,0.196 +0.246,0.623,0.183 +0.246,0.627,0.170 +0.247,0.631,0.156 +0.249,0.635,0.143 +0.252,0.639,0.130 +0.256,0.642,0.117 +0.261,0.646,0.106 +0.267,0.649,0.095 +0.274,0.652,0.085 +0.282,0.655,0.076 +0.291,0.658,0.070 +0.300,0.661,0.065 +0.311,0.664,0.061 +0.321,0.666,0.059 +0.332,0.669,0.058 +0.343,0.671,0.058 +0.354,0.674,0.058 +0.364,0.676,0.060 +0.375,0.679,0.061 +0.386,0.681,0.063 +0.396,0.683,0.065 +0.407,0.686,0.067 +0.417,0.688,0.069 +0.427,0.690,0.071 +0.437,0.693,0.072 +0.447,0.695,0.074 +0.457,0.697,0.076 +0.467,0.700,0.078 +0.476,0.702,0.080 +0.486,0.704,0.082 +0.495,0.706,0.084 +0.505,0.709,0.086 +0.514,0.711,0.088 +0.523,0.713,0.089 +0.533,0.715,0.091 +0.542,0.717,0.093 +0.551,0.720,0.095 +0.560,0.722,0.097 +0.569,0.724,0.098 +0.578,0.726,0.100 +0.587,0.728,0.102 +0.596,0.730,0.104 +0.605,0.733,0.106 +0.614,0.735,0.107 +0.622,0.737,0.109 +0.631,0.739,0.111 +0.640,0.741,0.113 +0.649,0.743,0.115 +0.657,0.745,0.116 +0.666,0.747,0.118 +0.675,0.749,0.120 +0.683,0.751,0.122 +0.692,0.753,0.123 +0.701,0.756,0.125 +0.709,0.758,0.127 +0.718,0.760,0.129 +0.726,0.762,0.130 +0.735,0.764,0.132 +0.743,0.766,0.134 +0.752,0.768,0.136 +0.760,0.770,0.137 +0.769,0.772,0.139 +0.777,0.773,0.141 +0.786,0.775,0.143 +0.794,0.777,0.144 +0.803,0.779,0.146 +0.811,0.781,0.148 +0.819,0.783,0.150 +0.828,0.785,0.151 +0.836,0.787,0.153 +0.845,0.789,0.155 +0.853,0.791,0.157 +0.861,0.793,0.158 +0.870,0.794,0.160 +0.878,0.796,0.162 +0.886,0.798,0.163 +0.895,0.800,0.165 +0.903,0.801,0.167 +0.911,0.802,0.168 +0.919,0.804,0.170 +0.927,0.805,0.171 +0.935,0.805,0.172 +0.942,0.805,0.173 +0.949,0.805,0.174 +0.955,0.804,0.174 +0.961,0.803,0.174 +0.966,0.801,0.174 +0.971,0.798,0.173 +0.975,0.795,0.172 +0.978,0.792,0.171 +0.981,0.788,0.170 +0.983,0.784,0.168 +0.985,0.779,0.167 +0.987,0.775,0.165 +0.988,0.770,0.163 +0.989,0.764,0.161 +0.990,0.759,0.158 +0.991,0.754,0.156 +0.991,0.749,0.154 +0.992,0.744,0.152 +0.993,0.738,0.150 +0.993,0.733,0.148 +0.994,0.728,0.145 +0.995,0.722,0.143 +0.995,0.717,0.141 +0.996,0.712,0.139 +0.996,0.706,0.137 +0.997,0.701,0.134 +0.997,0.695,0.132 +0.998,0.690,0.130 +0.998,0.684,0.128 +0.998,0.679,0.126 +0.999,0.674,0.123 +0.999,0.668,0.121 +1.000,0.663,0.119 +1.000,0.657,0.117 +1.000,0.652,0.115 +1.000,0.646,0.112 +1.000,0.641,0.110 +1.000,0.635,0.108 +1.000,0.629,0.106 +1.000,0.624,0.104 +1.000,0.618,0.101 +1.000,0.613,0.099 +1.000,0.607,0.097 +1.000,0.601,0.095 +1.000,0.596,0.092 +1.000,0.590,0.090 +1.000,0.584,0.088 +1.000,0.578,0.086 +1.000,0.573,0.084 +1.000,0.567,0.081 +1.000,0.561,0.079 +1.000,0.555,0.077 +1.000,0.549,0.075 +1.000,0.543,0.072 +1.000,0.537,0.070 +1.000,0.531,0.068 +1.000,0.525,0.065 +1.000,0.519,0.063 +1.000,0.513,0.061 +1.000,0.507,0.059 +1.000,0.501,0.056 +1.000,0.495,0.054 +1.000,0.489,0.051 +1.000,0.482,0.049 +1.000,0.476,0.047 +1.000,0.470,0.044 +1.000,0.463,0.042 +1.000,0.457,0.040 +1.000,0.450,0.037 +1.000,0.444,0.035 +1.000,0.437,0.032 +1.000,0.430,0.030 +1.000,0.424,0.028 +1.000,0.417,0.026 +1.000,0.410,0.024 +1.000,0.403,0.022 +1.000,0.396,0.020 +1.000,0.389,0.019 +1.000,0.382,0.017 +1.000,0.374,0.015 +0.999,0.367,0.013 +0.999,0.359,0.012 +0.999,0.352,0.010 +0.998,0.344,0.009 +0.998,0.336,0.007 +0.997,0.328,0.006 +0.997,0.320,0.005 +0.997,0.311,0.004 +0.996,0.303,0.002 +0.996,0.294,0.001 +0.995,0.285,0.000 +0.995,0.276,0.000 +0.994,0.266,0.000 +0.994,0.257,0.000 +0.993,0.247,0.000 +0.993,0.236,0.000 +0.992,0.225,0.000 +0.992,0.214,0.000 +0.991,0.202,0.000 +0.990,0.189,0.000 diff --git a/release-packaging/Resources/color-schemes/CET-R3.csv b/release-packaging/Resources/color-schemes/CET-R3.csv new file mode 100644 index 0000000..e45d573 --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-R3.csv @@ -0,0 +1,256 @@ +0.032,0.362,0.973 +0.058,0.371,0.958 +0.076,0.380,0.943 +0.089,0.389,0.928 +0.098,0.397,0.914 +0.105,0.406,0.899 +0.110,0.414,0.884 +0.114,0.422,0.869 +0.116,0.430,0.854 +0.116,0.438,0.839 +0.115,0.445,0.824 +0.113,0.453,0.809 +0.109,0.461,0.794 +0.105,0.468,0.780 +0.099,0.475,0.765 +0.093,0.482,0.750 +0.086,0.489,0.735 +0.080,0.496,0.720 +0.075,0.503,0.705 +0.071,0.509,0.689 +0.071,0.515,0.674 +0.074,0.521,0.658 +0.080,0.527,0.643 +0.089,0.532,0.627 +0.100,0.538,0.611 +0.113,0.543,0.594 +0.126,0.548,0.578 +0.139,0.553,0.561 +0.152,0.557,0.544 +0.164,0.562,0.527 +0.175,0.566,0.510 +0.185,0.571,0.493 +0.194,0.575,0.475 +0.202,0.580,0.458 +0.209,0.584,0.440 +0.215,0.589,0.422 +0.220,0.593,0.404 +0.224,0.598,0.386 +0.227,0.602,0.368 +0.230,0.607,0.349 +0.232,0.611,0.331 +0.233,0.616,0.312 +0.234,0.620,0.294 +0.236,0.624,0.276 +0.237,0.629,0.258 +0.239,0.633,0.240 +0.241,0.637,0.223 +0.244,0.641,0.207 +0.249,0.644,0.193 +0.254,0.648,0.179 +0.261,0.651,0.167 +0.268,0.655,0.156 +0.277,0.658,0.147 +0.286,0.661,0.140 +0.297,0.663,0.134 +0.307,0.666,0.130 +0.318,0.669,0.126 +0.329,0.671,0.124 +0.340,0.674,0.122 +0.351,0.676,0.120 +0.362,0.678,0.119 +0.373,0.681,0.118 +0.384,0.683,0.117 +0.394,0.686,0.116 +0.405,0.688,0.116 +0.415,0.690,0.115 +0.425,0.693,0.114 +0.435,0.695,0.113 +0.445,0.697,0.113 +0.455,0.699,0.112 +0.465,0.702,0.111 +0.474,0.704,0.110 +0.484,0.706,0.110 +0.493,0.709,0.109 +0.503,0.711,0.108 +0.512,0.713,0.107 +0.521,0.715,0.106 +0.531,0.718,0.105 +0.540,0.720,0.104 +0.549,0.722,0.103 +0.558,0.724,0.103 +0.567,0.726,0.102 +0.576,0.729,0.101 +0.585,0.731,0.100 +0.594,0.733,0.099 +0.603,0.735,0.098 +0.611,0.737,0.097 +0.620,0.739,0.096 +0.629,0.742,0.095 +0.638,0.744,0.094 +0.646,0.746,0.092 +0.655,0.748,0.091 +0.663,0.750,0.090 +0.672,0.752,0.089 +0.681,0.754,0.088 +0.689,0.756,0.087 +0.698,0.758,0.085 +0.706,0.760,0.084 +0.715,0.762,0.083 +0.723,0.765,0.082 +0.732,0.767,0.080 +0.740,0.769,0.079 +0.748,0.771,0.078 +0.757,0.773,0.076 +0.765,0.775,0.075 +0.774,0.777,0.073 +0.782,0.779,0.072 +0.790,0.781,0.070 +0.799,0.783,0.069 +0.807,0.785,0.067 +0.815,0.786,0.065 +0.824,0.788,0.064 +0.832,0.790,0.062 +0.840,0.792,0.060 +0.849,0.794,0.058 +0.857,0.796,0.057 +0.865,0.798,0.055 +0.874,0.800,0.054 +0.882,0.801,0.054 +0.890,0.803,0.054 +0.898,0.804,0.056 +0.907,0.805,0.058 +0.915,0.806,0.063 +0.923,0.806,0.069 +0.930,0.806,0.077 +0.938,0.806,0.087 +0.945,0.805,0.098 +0.951,0.803,0.110 +0.957,0.801,0.123 +0.963,0.798,0.136 +0.968,0.794,0.149 +0.972,0.790,0.162 +0.975,0.786,0.175 +0.978,0.781,0.188 +0.980,0.776,0.200 +0.982,0.771,0.212 +0.984,0.765,0.224 +0.985,0.760,0.235 +0.986,0.754,0.245 +0.987,0.749,0.255 +0.988,0.743,0.265 +0.989,0.738,0.275 +0.990,0.732,0.284 +0.991,0.726,0.293 +0.991,0.720,0.302 +0.992,0.715,0.310 +0.993,0.709,0.319 +0.993,0.703,0.327 +0.994,0.697,0.335 +0.994,0.692,0.343 +0.995,0.686,0.351 +0.995,0.680,0.358 +0.996,0.674,0.366 +0.996,0.668,0.373 +0.996,0.663,0.380 +0.997,0.657,0.387 +0.997,0.651,0.394 +0.997,0.645,0.401 +0.998,0.639,0.408 +0.998,0.633,0.415 +0.998,0.627,0.422 +0.998,0.621,0.428 +0.998,0.615,0.435 +0.998,0.609,0.441 +0.999,0.603,0.448 +0.999,0.596,0.454 +0.999,0.590,0.461 +0.999,0.584,0.467 +0.999,0.578,0.473 +0.998,0.572,0.479 +0.998,0.565,0.486 +0.998,0.559,0.492 +0.998,0.553,0.498 +0.998,0.546,0.504 +0.998,0.540,0.510 +0.997,0.533,0.516 +0.997,0.527,0.522 +0.997,0.520,0.528 +0.997,0.514,0.533 +0.996,0.507,0.539 +0.996,0.500,0.545 +0.995,0.494,0.551 +0.995,0.487,0.557 +0.995,0.480,0.562 +0.994,0.473,0.568 +0.993,0.466,0.574 +0.993,0.459,0.579 +0.992,0.452,0.585 +0.992,0.445,0.591 +0.991,0.437,0.596 +0.990,0.430,0.602 +0.990,0.423,0.608 +0.989,0.415,0.613 +0.988,0.407,0.619 +0.987,0.400,0.624 +0.986,0.392,0.629 +0.986,0.384,0.635 +0.985,0.376,0.640 +0.984,0.368,0.644 +0.983,0.360,0.649 +0.982,0.352,0.653 +0.981,0.344,0.656 +0.980,0.336,0.658 +0.979,0.328,0.660 +0.978,0.320,0.660 +0.976,0.312,0.659 +0.975,0.305,0.656 +0.974,0.298,0.652 +0.973,0.291,0.646 +0.972,0.285,0.639 +0.970,0.279,0.631 +0.969,0.273,0.621 +0.968,0.268,0.610 +0.966,0.262,0.599 +0.965,0.257,0.587 +0.963,0.252,0.574 +0.961,0.248,0.562 +0.959,0.243,0.548 +0.958,0.238,0.535 +0.956,0.233,0.522 +0.954,0.229,0.509 +0.951,0.224,0.495 +0.949,0.219,0.482 +0.947,0.215,0.469 +0.945,0.210,0.456 +0.942,0.205,0.442 +0.940,0.200,0.429 +0.937,0.196,0.416 +0.935,0.191,0.403 +0.932,0.186,0.390 +0.929,0.181,0.377 +0.926,0.176,0.364 +0.923,0.171,0.351 +0.921,0.166,0.338 +0.918,0.161,0.325 +0.915,0.156,0.311 +0.911,0.151,0.298 +0.908,0.146,0.285 +0.905,0.140,0.272 +0.902,0.135,0.259 +0.898,0.129,0.246 +0.895,0.124,0.233 +0.892,0.118,0.220 +0.888,0.112,0.206 +0.885,0.106,0.193 +0.881,0.100,0.179 +0.877,0.094,0.165 +0.874,0.087,0.151 +0.870,0.080,0.136 +0.866,0.073,0.121 +0.862,0.065,0.105 +0.859,0.057,0.088 +0.855,0.048,0.070 +0.851,0.038,0.049 +0.847,0.028,0.024 +0.843,0.018,0.002 diff --git a/release-packaging/Resources/color-schemes/CET-R4.csv b/release-packaging/Resources/color-schemes/CET-R4.csv new file mode 100644 index 0000000..f6ecfd4 --- /dev/null +++ b/release-packaging/Resources/color-schemes/CET-R4.csv @@ -0,0 +1,256 @@ +0.015,0.002,0.425 +0.015,0.002,0.437 +0.016,0.002,0.448 +0.016,0.002,0.460 +0.016,0.002,0.472 +0.017,0.002,0.483 +0.017,0.001,0.495 +0.017,0.001,0.507 +0.017,0.001,0.519 +0.018,0.001,0.531 +0.018,0.001,0.543 +0.018,0.001,0.555 +0.018,0.001,0.567 +0.019,0.001,0.579 +0.019,0.002,0.590 +0.020,0.002,0.602 +0.020,0.003,0.614 +0.021,0.005,0.625 +0.021,0.007,0.636 +0.022,0.010,0.647 +0.023,0.013,0.657 +0.024,0.017,0.667 +0.025,0.023,0.676 +0.027,0.029,0.685 +0.028,0.036,0.694 +0.030,0.044,0.703 +0.032,0.051,0.711 +0.034,0.059,0.719 +0.036,0.067,0.727 +0.038,0.074,0.735 +0.040,0.081,0.742 +0.042,0.088,0.750 +0.044,0.095,0.757 +0.045,0.102,0.765 +0.047,0.108,0.773 +0.049,0.115,0.780 +0.050,0.121,0.788 +0.052,0.127,0.795 +0.053,0.133,0.803 +0.055,0.139,0.810 +0.056,0.146,0.818 +0.057,0.151,0.825 +0.059,0.157,0.833 +0.060,0.163,0.841 +0.061,0.169,0.848 +0.062,0.174,0.856 +0.063,0.180,0.863 +0.064,0.186,0.871 +0.065,0.191,0.879 +0.066,0.197,0.886 +0.067,0.203,0.894 +0.068,0.208,0.901 +0.069,0.214,0.909 +0.071,0.220,0.916 +0.072,0.226,0.922 +0.074,0.232,0.928 +0.077,0.239,0.933 +0.080,0.246,0.937 +0.084,0.254,0.940 +0.089,0.262,0.941 +0.094,0.271,0.941 +0.099,0.280,0.939 +0.104,0.290,0.934 +0.110,0.301,0.928 +0.114,0.312,0.920 +0.119,0.324,0.910 +0.122,0.335,0.898 +0.123,0.347,0.885 +0.124,0.359,0.871 +0.123,0.371,0.856 +0.120,0.383,0.841 +0.115,0.395,0.824 +0.109,0.406,0.808 +0.101,0.418,0.791 +0.091,0.429,0.774 +0.079,0.439,0.756 +0.066,0.450,0.739 +0.051,0.460,0.721 +0.037,0.470,0.703 +0.026,0.479,0.684 +0.021,0.488,0.665 +0.022,0.497,0.646 +0.030,0.506,0.627 +0.045,0.514,0.607 +0.063,0.522,0.586 +0.081,0.529,0.565 +0.099,0.537,0.544 +0.115,0.544,0.522 +0.129,0.551,0.500 +0.142,0.558,0.478 +0.153,0.565,0.455 +0.163,0.572,0.432 +0.171,0.579,0.408 +0.177,0.586,0.385 +0.181,0.593,0.361 +0.184,0.600,0.337 +0.187,0.607,0.313 +0.188,0.613,0.289 +0.189,0.620,0.265 +0.191,0.626,0.242 +0.193,0.633,0.219 +0.195,0.639,0.196 +0.200,0.645,0.174 +0.206,0.651,0.153 +0.214,0.656,0.133 +0.224,0.662,0.115 +0.235,0.667,0.098 +0.248,0.672,0.082 +0.262,0.677,0.069 +0.276,0.681,0.057 +0.291,0.686,0.047 +0.306,0.690,0.039 +0.321,0.694,0.033 +0.337,0.699,0.029 +0.351,0.703,0.027 +0.366,0.707,0.025 +0.381,0.711,0.024 +0.395,0.715,0.023 +0.409,0.719,0.023 +0.423,0.724,0.022 +0.437,0.728,0.021 +0.450,0.732,0.021 +0.464,0.736,0.020 +0.477,0.740,0.020 +0.490,0.744,0.020 +0.503,0.748,0.019 +0.515,0.752,0.019 +0.528,0.756,0.018 +0.541,0.760,0.018 +0.553,0.764,0.017 +0.566,0.768,0.017 +0.578,0.772,0.016 +0.590,0.776,0.016 +0.602,0.780,0.015 +0.615,0.784,0.015 +0.627,0.788,0.014 +0.639,0.792,0.014 +0.651,0.795,0.013 +0.663,0.799,0.013 +0.674,0.803,0.012 +0.686,0.807,0.012 +0.698,0.811,0.012 +0.710,0.815,0.011 +0.722,0.819,0.011 +0.733,0.823,0.010 +0.745,0.826,0.010 +0.757,0.830,0.009 +0.769,0.834,0.009 +0.780,0.838,0.008 +0.792,0.842,0.008 +0.803,0.845,0.008 +0.815,0.849,0.007 +0.827,0.853,0.007 +0.838,0.856,0.007 +0.850,0.860,0.006 +0.861,0.863,0.006 +0.873,0.866,0.006 +0.884,0.869,0.006 +0.895,0.871,0.006 +0.906,0.873,0.007 +0.916,0.874,0.007 +0.926,0.874,0.008 +0.935,0.873,0.010 +0.943,0.872,0.011 +0.950,0.869,0.013 +0.957,0.866,0.015 +0.962,0.862,0.018 +0.967,0.857,0.020 +0.971,0.851,0.023 +0.974,0.845,0.026 +0.977,0.838,0.029 +0.979,0.831,0.032 +0.980,0.824,0.035 +0.981,0.816,0.038 +0.982,0.809,0.041 +0.983,0.801,0.044 +0.984,0.793,0.047 +0.984,0.785,0.049 +0.985,0.777,0.052 +0.985,0.769,0.054 +0.985,0.761,0.056 +0.986,0.753,0.058 +0.986,0.745,0.060 +0.986,0.737,0.062 +0.986,0.729,0.064 +0.987,0.721,0.066 +0.987,0.713,0.068 +0.987,0.705,0.069 +0.987,0.697,0.071 +0.987,0.689,0.073 +0.987,0.681,0.074 +0.987,0.673,0.075 +0.987,0.664,0.077 +0.987,0.656,0.078 +0.987,0.648,0.079 +0.987,0.640,0.081 +0.987,0.631,0.082 +0.987,0.623,0.083 +0.987,0.614,0.083 +0.987,0.606,0.084 +0.987,0.597,0.084 +0.987,0.588,0.085 +0.987,0.580,0.085 +0.987,0.571,0.084 +0.987,0.561,0.084 +0.988,0.552,0.083 +0.988,0.543,0.082 +0.989,0.533,0.081 +0.990,0.524,0.080 +0.990,0.514,0.079 +0.991,0.504,0.077 +0.992,0.494,0.076 +0.992,0.483,0.074 +0.993,0.473,0.073 +0.994,0.462,0.071 +0.994,0.452,0.070 +0.995,0.441,0.068 +0.995,0.430,0.067 +0.996,0.418,0.065 +0.996,0.407,0.064 +0.997,0.395,0.063 +0.997,0.383,0.061 +0.997,0.371,0.060 +0.998,0.358,0.059 +0.998,0.345,0.058 +0.998,0.332,0.057 +0.998,0.319,0.056 +0.998,0.305,0.055 +0.997,0.291,0.054 +0.996,0.277,0.053 +0.995,0.262,0.053 +0.993,0.248,0.052 +0.991,0.234,0.052 +0.989,0.221,0.051 +0.985,0.207,0.051 +0.981,0.195,0.051 +0.977,0.183,0.051 +0.972,0.172,0.051 +0.966,0.161,0.051 +0.960,0.152,0.051 +0.953,0.143,0.051 +0.947,0.135,0.051 +0.939,0.127,0.051 +0.932,0.120,0.051 +0.925,0.113,0.051 +0.917,0.106,0.052 +0.910,0.099,0.052 +0.902,0.092,0.052 +0.895,0.085,0.052 +0.887,0.077,0.052 +0.880,0.069,0.052 +0.872,0.061,0.052 +0.864,0.052,0.052 +0.857,0.042,0.052 +0.849,0.031,0.052 +0.842,0.020,0.052 From 46e1610c9166266ae8b7d9c4511d92e1cb081853 Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Thu, 13 Jan 2022 11:25:14 -0500 Subject: [PATCH 40/88] delete scratch paper file --- ...luidWaveform spectrogram scratch paper.scd | 52 ------------------- 1 file changed, 52 deletions(-) delete mode 100644 test/FluidWaveform spectrogram scratch paper.scd diff --git a/test/FluidWaveform spectrogram scratch paper.scd b/test/FluidWaveform spectrogram scratch paper.scd deleted file mode 100644 index 06e7792..0000000 --- a/test/FluidWaveform spectrogram scratch paper.scd +++ /dev/null @@ -1,52 +0,0 @@ -// FluidWaveform - -( -s.waitForBoot{ - // b = Buffer.read(s,FluidFilesPath("Tremblay-AaS-AcousticStrums-M.wav")); - b = Buffer.read(s,FluidFilesPath("Nicol-LoopE-M.wav")); - m = Buffer(s); - - // https://colorcet.com/ - ~csv_colors = CSVFileReader.readInterpret(PathName(thisProcess.nowExecutingPath).pathOnly+/+"CETperceptual_csv_0_1/CET-L16.csv"); - - ~colors = ~csv_colors.collect{ - arg row; - Color.fromArray(row); - }; - - s.sync; - FluidBufSTFT.processBlocking(s,b,magnitude:m); - s.sync; - - m.loadToFloatArray(action:{ - arg mags; - - // mags.clump(m.numChannels)[105].plot; - - mags = (mags / mags.maxItem).ampdb.linlin(-120.0,0.0,0,255).asInteger; - - // [0,1,2].do{ - // arg amt; - // "# of %s in mags: %".format(amt,mags.count({arg val; val == amt})).postln; - // }; - - ~img = Image(m.numFrames,m.numChannels); - - mags.do{ - arg mag, index; - ~img.setColor(~colors[mag], index.div(m.numChannels), m.numChannels - 1 - index.mod(m.numChannels)); - }; - - // ~img.plot; - - w = Window("est",Rect(0,0,1200,300)); - - u = UserView(w,w.bounds) - .drawFunc_{ - ~img.drawInRect(u.bounds); - }; - - w.front; - }); -}; -) \ No newline at end of file From 7c395f7929c5f7808185f940349d0d6ba2561292 Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Thu, 13 Jan 2022 12:58:56 -0500 Subject: [PATCH 41/88] fluid waveform help file --- release-packaging/Classes/FluidWaveform.sc | 44 +++-- .../HelpSource/Classes/FluidWaveform.schelp | 151 ++++++++++++++++-- test/FluidWaveform_test.scd | 3 +- 3 files changed, 166 insertions(+), 32 deletions(-) diff --git a/release-packaging/Classes/FluidWaveform.sc b/release-packaging/Classes/FluidWaveform.sc index d16b1bb..a90c018 100644 --- a/release-packaging/Classes/FluidWaveform.sc +++ b/release-packaging/Classes/FluidWaveform.sc @@ -17,8 +17,8 @@ FluidWaveform : FluidViewer { var FluidCorpusManipulation related:: Classes/FluidPlotter, Classes/FluidBufNoveltySlice, Classes/FluidBufOnsetSlice, Classes/FluidBufAmpSlice DESCRIPTION:: -FluidWaveform plots a buffer with optional overlays such as slices derived from a FluCoMa Slicer. +FluidWaveform plots a buffer with optional overlays such as slices derived from a FluCoMa Slicer, or feature values from a FluCoMa audio descriptor. CLASSMETHODS:: METHOD:: new Create a new instance of FluidWaveform. -ARGUMENT:: audio_buf +ARGUMENT:: audioBuffer The audio buffer to plot. -ARGUMENT:: slices_buf -A buffer of slice indices. This will very likely be in the form of a buffer output from a FluCoMa slicer object. Currently this buffer must be only one channel, therefore it will not work with the output of link::Classes/FluidBufAmpGate::. +ARGUMENT:: slicesBuffer +A link::Classes/Buffer:: of slice indices. This will very likely be in the form of a link::Classes/Buffer:: output from a FluCoMa slicer object. If this link::Classes/Buffer:: is only one channel it will plot lines at these slice points. If the link::Classes/Buffer:: is two channels it will consider the 0th channel to contain onsets and the 1st channel to contain offsets. This matches the output of link::Classes/FluidBufAmpGate::. + +ARGUMENT:: featureBuffer +A link::Classes/Buffer:: containing features to plot over the waveform. If this link::Classes/Buffer:: is multiple channels, it will plot each channel as a separate feature. + +ARGUMENT:: parent +A link::Classes/Window:: to place this FluidWaveform in. If STRONG::nil::, FluidWaveform will make its own window using the STRONG::bounds:: argument. ARGUMENT:: bounds -A link::Classes/Rect:: of where to place the FluidWaveform. +A link::Classes/Rect:: of where to place the FluidWaveform. If parent is STRONG::nil::, these bounds will be used to create a new link::Classes/Window::. If parent is not STRONG::nil::, these bounds will be used to place this FluidWaveform in the parent. + +ARGUMENT:: lineWidth +The width of the line for plotting slice points and features. + +ARGUMENT:: waveformColor +A link::Classes/Color:: to make the waveform. + +ARGUMENT:: stackFeatures +If STRONG::false::, all the features (i.e., channels in the STRONG::featureBuffer::) will be overlayed on each other, as though on the same x and y axis. If STRONG::true::, each feature will occupy its own space covering the width of the plot and an fraction of the height (the number of channels in STRONG::featureBuf:: / the height of the plot). The default is STRONG::false::. + +ARGUMENT:: showSpectrogram +Boolean whether or not to plot a spectrogram. The default is STRONG::false::. + +ARGUMENT:: spectrogramColorScheme +An integer indicating which color scheme footnote::The non-gray-scale color schemes used are from https://colorcet.com/ Kovesi, Peter. "Good colour maps: How to design them." arXiv preprint arXiv:1509.03700 (2015). https://arxiv.org/abs/1509.03700 :: to use to distinguish magitudes in the spectrogram. The default is 0. + table:: + ## 0 || Gray-scale + ## 1 || Black - Blue - Green - Yellow - White + :: + +ARGUMENT:: spectrogramAlpha +An transparency value (0-1) for displaying the waveform. 0 is fully transparent, 1 is fully visible. The default is 1. + +ARGUMENT:: showWaveform +Boolean whether or not to show the waveform. The default is true. + +ARGUMENT:: normalizeFeaturesIndependently +Boolean. All the features in STRONG::featureBuf:: need to be normalized for plotting. If STRONG::true::, this normalization will happen per feature, so that each will use the full visual range allowed to them. If STRONG::false::, the normalization will happen over all the values in the STRONG::featureBuf:: (in all the channels), so that the features relative strengths will be preserved. The default is STRONG::true::. returns:: A new instance of FluidWaveform. + + INSTANCEMETHODS:: -EXAMPLES:: -code:: + +METHOD:: close +Close the FluidWaveform window. If parent is not STRONG::nil::, this method will close the parent window. + + +METHOD:: win + +returns:: The FluidWaveform window. If parent is not STRONG::nil::, this method will return the parent window. + + + +EXAMPLES:: +code:: s.boot; + // load a sound to slice -~drums = Buffer.read(s,File.realpath(FluidBufAmpSlice.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Nicol-LoopE-M.wav"); +~drums = Buffer.read(s,FluidFilesPath("Nicol-LoopE-M.wav")); + +// display +FluidWaveform(~drums,bounds:Rect(0,0,1200,300)); + +// put in another window +( +w = Window("FluidWaveform Test",Rect(0,0,1000,600)); +FluidWaveform(~drums,parent:w,bounds:Rect(100,100,800,300)); +w.front; +) + +// show spectrogram +FluidWaveform(~drums,bounds:Rect(0,0,1200,300),showSpectrogram:true); + +// put in that another window +( +w = Window("FluidWaveform Test",Rect(0,0,1000,600)); +FluidWaveform(~drums,parent:w,bounds:Rect(100,100,800,300),showSpectrogram:true); +w.front; +) + +// spectrogram with some nice colors and a bit of styling... +FluidWaveform(~drums,bounds:Rect(0,0,1200,300),showSpectrogram:true,spectrogramColorScheme:1,waveformColor:Color.magenta(1,0.5),showWaveform:true); // create a buffer to put indices into ~indices = Buffer(s); // do a slice analysis -FluidBufAmpSlice.process(s,~drums,indices:~indices,fastRampUp: 10,fastRampDown: 2205,slowRampUp: 4410,slowRampDown: 4410,onThreshold: 10,offThreshold: 5,floor: -40,minSliceLength: 4410,highPassFreq: 20); +FluidBufAmpSlice.processBlocking(s,~drums,indices:~indices,fastRampUp: 10,fastRampDown: 2205,slowRampUp: 4410,slowRampDown: 4410,onThreshold: 10,offThreshold: 5,floor: -40,minSliceLength: 4410,highPassFreq: 20); // plot the buffer with the indices overlayed -FluidWaveform(~drums,~indices,nil,Rect(0,0,800,200)); +FluidWaveform(~drums,~indices,bounds:Rect(0,0,800,200)); + +// put in that another window +( +w = Window("FluidWaveform Test",Rect(0,0,1000,600)); +FluidWaveform(~drums,~indices,parent:w,bounds:Rect(100,100,800,300)); +w.front; +) // do a descriptor analysis ~features = Buffer(s); -FluidBufLoudness.process(s,~drums,features:~features,action:{"done".postln;}); +FluidBufLoudness.processBlocking(s,~drums,features:~features,action:{"done".postln;}); // copy just the first channel of that buffer to display it ~features2 = Buffer(s); -FluidBufCompose.process(s,~features,numChans:1,destination:~features2); +FluidBufCompose.processBlocking(s,~features,numChans:1,destination:~features2); // plot the audio with the slices and the loudness analysis -FluidWaveform(~drums,~indices,~features2,Rect(0,0,1200,300)); +FluidWaveform(~drums,~indices,~features2,bounds:Rect(0,0,1200,300)); // with gate info ~gate_analysis = Buffer(s); -FluidBufAmpGate.process(s,~drums,indices:~gate_analysis,onThreshold:-35,offThreshold:-35,minSliceLength:4410); +FluidBufAmpGate.processBlocking(s,~drums,indices:~gate_analysis,onThreshold:-35,offThreshold:-35,minSliceLength:4410); // it will plot the ons and offs -FluidWaveform(~drums,~gate_analysis,~features2,Rect(0,0,1200,300)); - -:: +FluidWaveform(~drums,~gate_analysis,~features2,bounds:Rect(0,0,1200,300)); + +// put in that another window +( +w = Window("FluidWaveform Test",Rect(0,0,1000,600)); +FluidWaveform(~drums,~gate_analysis,parent:w,bounds:Rect(100,100,800,300)); +w.front; +) + +// do a descriptor analysis and plot both features either stacked or not: +~noisy = Buffer.read(s,FluidFilesPath("Tremblay-ASWINE-ScratchySynth-M.wav")); +~pitch_analysis = Buffer(s); + +FluidBufPitch.processBlocking(s,~noisy,features:~pitch_analysis,action:{"done".postln;}); + +// plot not stacked: +FluidWaveform(~noisy,featureBuffer:~pitch_analysis,bounds:Rect(0,0,1200,300)); + +// plot stacked: +FluidWaveform(~noisy,featureBuffer:~pitch_analysis,bounds:Rect(0,0,1200,300),stackFeatures:true,waveformColor:Color(*0.9.dup(3))); + +// add spectrogram: +FluidWaveform(~noisy,featureBuffer:~pitch_analysis,bounds:Rect(0,0,1200,300),stackFeatures:true,waveformColor:Color(0,0,0,0.5),showSpectrogram:true,spectrogramAlpha:0.5); + +// plot in another window with all the things! + +( +w = Window("FluidWaveform Test",Rect(0,0,1000,600)); +FluidWaveform( + ~noisy, + featureBuffer:~pitch_analysis, + parent:w, + bounds:Rect(100,100,800,300), + stackFeatures:true, + showSpectrogram:true, + spectrogramAlpha:0.6, + waveformColor:Color(0,1,1,0.5) +); +w.front; +) + +:: \ No newline at end of file diff --git a/test/FluidWaveform_test.scd b/test/FluidWaveform_test.scd index cea12fd..23371d4 100644 --- a/test/FluidWaveform_test.scd +++ b/test/FluidWaveform_test.scd @@ -11,4 +11,5 @@ s.waitForBoot{ }.play(AppClock); } -) \ No newline at end of file +) + From 8c02efd601e26f67b944b9f20d328b39698d2077 Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Thu, 13 Jan 2022 13:32:56 -0500 Subject: [PATCH 42/88] added more color schemes to choose from, also new grey scale --- release-packaging/Classes/FluidWaveform.sc | 31 +++++++++++++------ .../HelpSource/Classes/FluidWaveform.schelp | 19 ++++++++++-- 2 files changed, 39 insertions(+), 11 deletions(-) diff --git a/release-packaging/Classes/FluidWaveform.sc b/release-packaging/Classes/FluidWaveform.sc index a90c018..76ae6d9 100644 --- a/release-packaging/Classes/FluidWaveform.sc +++ b/release-packaging/Classes/FluidWaveform.sc @@ -25,6 +25,14 @@ FluidWaveform : FluidViewer { win.close; } + loadColorFile { + arg filename; + ^CSVFileReader.readInterpret(FluidFilesPath("../Resources/color-schemes/%.csv".format(filename))).collect{ + arg row; + Color.fromArray(row); + } + } + init { arg audio_buf, slices_buf, feature_buf, parent_, bounds, lineWidth, waveformColor,stackFeatures = false, showSpectrogram = false, spectrogramColorScheme = 0, spectrogramAlpha = 1, showWaveform = true,normalizeFeaturesIndependently = true; Task{ @@ -59,19 +67,24 @@ FluidWaveform : FluidViewer { var condition = Condition.new; var colors; + // TODO: no need for this to be a switch statement. spectrogramColorScheme.switch( 0,{ - colors = 256.collect{ - arg i; - Color.gray(i / 255.0); - }; + colors = this.loadColorFile("CET-L02"); }, 1,{ - colors = CSVFileReader.readInterpret(FluidFilesPath("../Resources/color-schemes/CET-L16.csv")).collect{ - arg row; - Color.fromArray(row); - }; - },{ + colors = this.loadColorFile("CET-L16"); + }, + 2,{ + colors = this.loadColorFile("CET-L08"); + }, + 3,{ + colors = this.loadColorFile("CET-L03"); + }, + 4,{ + colors = this.loadColorFile("CET-L04"); + }, + { "% spectrogramColorScheme: % is not valid.".format(thisMethod,spectrogramColorScheme).warn; } ); diff --git a/release-packaging/HelpSource/Classes/FluidWaveform.schelp b/release-packaging/HelpSource/Classes/FluidWaveform.schelp index 91c9eb2..e10e624 100644 --- a/release-packaging/HelpSource/Classes/FluidWaveform.schelp +++ b/release-packaging/HelpSource/Classes/FluidWaveform.schelp @@ -39,10 +39,13 @@ ARGUMENT:: showSpectrogram Boolean whether or not to plot a spectrogram. The default is STRONG::false::. ARGUMENT:: spectrogramColorScheme -An integer indicating which color scheme footnote::The non-gray-scale color schemes used are from https://colorcet.com/ Kovesi, Peter. "Good colour maps: How to design them." arXiv preprint arXiv:1509.03700 (2015). https://arxiv.org/abs/1509.03700 :: to use to distinguish magitudes in the spectrogram. The default is 0. +An integer indicating which color scheme footnote::The color schemes used are from https://colorcet.com/ Kovesi, Peter. "Good colour maps: How to design them." arXiv preprint arXiv:1509.03700 (2015). https://arxiv.org/abs/1509.03700 :: to use to distinguish magitudes in the spectrogram. The default is 0. table:: - ## 0 || Gray-scale + ## 0 || Grey scale with slightly reduced contrast to avoid display saturation problems ## 1 || Black - Blue - Green - Yellow - White + ## 2 || Blue - Magenta - Yellow highly saturated + ## 3 || Black - Red - Yellow - White + ## 4 || Black - Red - Yellow :: ARGUMENT:: spectrogramAlpha @@ -94,6 +97,18 @@ w.front; // show spectrogram FluidWaveform(~drums,bounds:Rect(0,0,1200,300),showSpectrogram:true); +// more colors +FluidWaveform(~drums,bounds:Rect(0,0,1200,300),showSpectrogram:true,spectrogramColorScheme:1); + +// more colors +FluidWaveform(~drums,bounds:Rect(0,0,1200,300),showSpectrogram:true,spectrogramColorScheme:2); + +// more colors +FluidWaveform(~drums,bounds:Rect(0,0,1200,300),showSpectrogram:true,spectrogramColorScheme:3); + +// more colors +FluidWaveform(~drums,bounds:Rect(0,0,1200,300),showSpectrogram:true,spectrogramColorScheme:4); + // put in that another window ( w = Window("FluidWaveform Test",Rect(0,0,1000,600)); From 512d1ec0e266ec592268a94bdeefb3ff3a2d5101 Mon Sep 17 00:00:00 2001 From: James Bradbury Date: Tue, 18 Jan 2022 19:35:52 +0000 Subject: [PATCH 43/88] [CI] Actions@v4 (#49) * use v4 of sc actions * dont build on PR --- .github/workflows/nightly.yaml | 32 +++++++------------------------- 1 file changed, 7 insertions(+), 25 deletions(-) diff --git a/.github/workflows/nightly.yaml b/.github/workflows/nightly.yaml index 1724cb4..18f133e 100644 --- a/.github/workflows/nightly.yaml +++ b/.github/workflows/nightly.yaml @@ -2,22 +2,15 @@ name: Nightly Releases on: push: - branches: [ dev, ci/nightlies ] - pull_request: - branches: [ dev ] + branches: [ dev, ci/** ] jobs: macbuild: runs-on: macos-11 - steps: - uses: actions/checkout@v2 - - - name: setup environment - uses: flucoma/actions/env@v2 - - - name: build toolkit - uses: flucoma/actions/sc@v2 + - uses: flucoma/actions/env@v4 + - uses: flucoma/actions/sc@v4 - name: zip release run: zip -r ../FluCoMa-SC-Mac-nightly.zip FluidCorpusManipulation @@ -30,15 +23,10 @@ jobs: winbuild: runs-on: windows-latest - steps: - uses: actions/checkout@v2 - - - name: setup environment - uses: flucoma/actions/env@v2 - - - name: build toolkit - uses: flucoma/actions/sc@v2 + - uses: flucoma/actions/env@v4 + - uses: flucoma/actions/sc@v4 - name: remove pdb files run: Remove-Item install -Recurse -Include *.pdb @@ -53,15 +41,10 @@ jobs: linuxbuild: runs-on: ubuntu-18.04 - steps: - uses: actions/checkout@v2 - - - name: setup environment - uses: flucoma/actions/env@v2 - - - name: build toolkit - uses: flucoma/actions/sc@v2 + - uses: flucoma/actions/env@v4 + - uses: flucoma/actions/sc@v4 - name: zip release run: zip -r ../FluCoMa-SC-Linux-nightly.zip FluidCorpusManipulation @@ -75,7 +58,6 @@ jobs: release: runs-on: ubuntu-latest needs: [macbuild, winbuild, linuxbuild] - steps: - uses: actions/download-artifact@v2 with: From 30660787d9d834c4aae0ca3947c03ccf6fbc2754 Mon Sep 17 00:00:00 2001 From: Pierre Alexandre Tremblay Date: Wed, 19 Jan 2022 17:30:34 +0000 Subject: [PATCH 44/88] amended the cmake to copy Resources and to capitalise Plugin --- CMakeLists.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 89608c3..53d5364 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -90,7 +90,7 @@ if(NOT flucoma-core_POPULATED) endif() set_if_toplevel(VAR CMAKE_LIBRARY_OUTPUT_DIRECTORY - TOPLEVEL "${CMAKE_CURRENT_SOURCE_DIR}/release-packaging/plugins" + TOPLEVEL "${CMAKE_CURRENT_SOURCE_DIR}/release-packaging/Plugins" SUPERBUILD "${CMAKE_SOURCE_DIR}/sc_plugins/${CMAKE_HOST_SYSTEM_NAME}/${CMAKE_HOST_SYSTEM_PROCESSOR}") set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}") @@ -190,13 +190,13 @@ set(SC_INSTALL_PREFIX "." CACHE PATH "Prefix for assembling SC packages") set(FLUID_PACKAGE_NAME FluidCorpusManipulation CACHE STRING "Name for published package") set(SC_PACKAGE_ROOT ${SC_INSTALL_PREFIX}/${FLUID_PACKAGE_NAME}) -foreach(PACKAGE_DIRECTORY Classes;HelpSource;Examples) +foreach(PACKAGE_DIRECTORY Classes;HelpSource;Examples;Resources) install(DIRECTORY "release-packaging/${PACKAGE_DIRECTORY}" DESTINATION ${SC_PACKAGE_ROOT}) endforeach() install(DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/ - DESTINATION ${SC_PACKAGE_ROOT}/plugins + DESTINATION ${SC_PACKAGE_ROOT}/Plugins PATTERN "*.ilk" EXCLUDE PATTERN "*.PDB" EXCLUDE) install(DIRECTORY "${flucoma-core_SOURCE_DIR}/AudioFiles" From ee18bdda028419cb3af0eaff22275600ed297d3b Mon Sep 17 00:00:00 2001 From: Pierre Alexandre Tremblay Date: Fri, 21 Jan 2022 13:50:27 +0000 Subject: [PATCH 45/88] omission in the NoveltySlice --- .../HelpSource/Classes/FluidBufNoveltySlice.schelp | 5 +++-- .../HelpSource/Classes/FluidNoveltySlice.schelp | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/release-packaging/HelpSource/Classes/FluidBufNoveltySlice.schelp b/release-packaging/HelpSource/Classes/FluidBufNoveltySlice.schelp index e4f9890..5e2583d 100644 --- a/release-packaging/HelpSource/Classes/FluidBufNoveltySlice.schelp +++ b/release-packaging/HelpSource/Classes/FluidBufNoveltySlice.schelp @@ -43,8 +43,9 @@ ARGUMENT:: feature table:: ##0 || Spectrum || The magnitude of the full spectrum. ##1 || MFCC || 13 Mel-Frequency Cepstrum Coefficients. - ##2 || Pitch || The pitch and its confidence. - ##3 || Loudness || The TruePeak and Loudness. + ##2 || Chroma || The contour of a 12 band Chromagram. + ##3 || Pitch || The pitch and its confidence. + ##4 || Loudness || The TruePeak and Loudness. :: ARGUMENT:: kernelSize The granularity of the window in which the algorithm looks for change, in samples. A small number will be sensitive to short term changes, and a large number should look for long term changes. diff --git a/release-packaging/HelpSource/Classes/FluidNoveltySlice.schelp b/release-packaging/HelpSource/Classes/FluidNoveltySlice.schelp index 367dca8..b4734bb 100644 --- a/release-packaging/HelpSource/Classes/FluidNoveltySlice.schelp +++ b/release-packaging/HelpSource/Classes/FluidNoveltySlice.schelp @@ -22,8 +22,9 @@ ARGUMENT:: feature table:: ##0 || Spectrum || The magnitude of the full spectrum. ##1 || MFCC || 13 Mel-Frequency Cepstrum Coefficients. - ##2 || Pitch || The pitch and its confidence. - ##3 || Loudness || The TruePeak and Loudness. + ##2 || Chroma || The contour of a 12 band Chromagram. + ##3 || Pitch || The pitch and its confidence. + ##4 || Loudness || The TruePeak and Loudness. :: ARGUMENT:: kernelSize The granularity of the window in which the algorithm looks for change, in samples. A small number will be sensitive to short term changes, and a large number should look for long term changes. From 2d4c89ba77610b047458bb5370b411474e066b01 Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Wed, 19 Jan 2022 13:26:56 -0500 Subject: [PATCH 46/88] WIP towards a 'rasterBuffer' approach, waiting on interface decisions and scaling decisions --- release-packaging/Classes/FluidWaveform.sc | 132 ++++++++++---------- test/FluidWaveform raster scratch paper.scd | 48 +++++++ 2 files changed, 111 insertions(+), 69 deletions(-) create mode 100644 test/FluidWaveform raster scratch paper.scd diff --git a/release-packaging/Classes/FluidWaveform.sc b/release-packaging/Classes/FluidWaveform.sc index 76ae6d9..8441869 100644 --- a/release-packaging/Classes/FluidWaveform.sc +++ b/release-packaging/Classes/FluidWaveform.sc @@ -17,8 +17,8 @@ FluidWaveform : FluidViewer { var Date: Wed, 19 Jan 2022 14:38:51 -0500 Subject: [PATCH 47/88] melbands weirdness sorted --- test/FluidWaveform raster scratch paper.scd | 57 +++++++++++++++------ 1 file changed, 41 insertions(+), 16 deletions(-) diff --git a/test/FluidWaveform raster scratch paper.scd b/test/FluidWaveform raster scratch paper.scd index 5c7cd30..5a99b2d 100644 --- a/test/FluidWaveform raster scratch paper.scd +++ b/test/FluidWaveform raster scratch paper.scd @@ -1,4 +1,31 @@ ( +~normalize = { + arg vals; + var min = vals.minItem; + var max = vals.maxItem; + var range = max - min; + + "min: %".format(min).postln; + "max: %".format(max).postln; + "range: %".format(range).postln; + + vals = (vals - min) / range; + vals = (vals * 255).asInteger; + vals; +}; + +~dbs_range = { + arg vals; + vals.postln; + vals = vals / vals.maxItem; + vals.postln; + vals = vals.ampdb; + vals.postln; + vals = vals.linlin(-120.0,0.0,0.0,255.0).asInteger; + vals.postln; + vals; +}; + ~raster = { arg rasterBuffer; var colors; @@ -13,16 +40,8 @@ "n vals in raster buffer: %".format(vals.size).postln; fork({ var img = Image(rasterBuffer.numFrames,rasterBuffer.numChannels); - var min = vals.minItem; - var max = vals.maxItem; - var range = max - min; - - "min: %".format(min).postln; - "max: %".format(max).postln; - "range: %".format(range).postln; - - vals = (vals - min) / range; - vals = (vals * 255).asInteger; + // vals = ~normalize.(vals); + vals = ~dbs_range.(vals); vals.do{ arg val, index; @@ -38,11 +57,17 @@ // show mels ~drums = Buffer.read(s,FluidFilesPath("Nicol-LoopE-M.wav")); ~rasterBuffer = Buffer(s); +( +fork({ + Window.closeAll; + FluidBufMelBands.processBlocking(s,~drums,features:~rasterBuffer,windowSize:4096,hopSize:256,numBands:400,action:{"done".postln}); + // FluidBufSTFT.processBlocking(s,~drums,magnitude:~rasterBuffer,windowSize:1024,action:{"done".postln}); + // FluidBufMFCC.processBlocking(s,~drums,features:~rasterBuffer,windowSize:1024,action:{"done".postln}); + // FluidBufChroma.processBlocking(s,~drums,features:~rasterBuffer,action:{"done".postln}); -FluidBufMelBands.processBlocking(s,~drums,features:~rasterBuffer,numBands:512,windowSize:1024,action:{"done".postln}); -FluidBufSTFT.processBlocking(s,~drums,magnitude:~rasterBuffer,windowSize:1024,action:{"done".postln}); -FluidBufMFCC.processBlocking(s,~drums,features:~rasterBuffer,windowSize:1024,action:{"done".postln}); -FluidBufChroma.processBlocking(s,~drums,features:~rasterBuffer,action:{"done".postln}); -~rasterBuffer.postln; + s.sync; + ~rasterBuffer.postln; -~raster.(~rasterBuffer); \ No newline at end of file + ~raster.(~rasterBuffer); +},AppClock); +) \ No newline at end of file From 6df55503167fb0d96a5d0ec553f7aaef9640cc1d Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Wed, 19 Jan 2022 16:51:09 -0500 Subject: [PATCH 48/88] no more error when audioBuffer is not passed --- release-packaging/Classes/FluidWaveform.sc | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/release-packaging/Classes/FluidWaveform.sc b/release-packaging/Classes/FluidWaveform.sc index 8441869..f89c293 100644 --- a/release-packaging/Classes/FluidWaveform.sc +++ b/release-packaging/Classes/FluidWaveform.sc @@ -17,8 +17,8 @@ FluidWaveform : FluidViewer { var Date: Wed, 19 Jan 2022 18:17:57 -0500 Subject: [PATCH 49/88] bump --- test/FluidWaveform raster scratch paper.scd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/FluidWaveform raster scratch paper.scd b/test/FluidWaveform raster scratch paper.scd index 5a99b2d..0a0f918 100644 --- a/test/FluidWaveform raster scratch paper.scd +++ b/test/FluidWaveform raster scratch paper.scd @@ -60,7 +60,7 @@ ( fork({ Window.closeAll; - FluidBufMelBands.processBlocking(s,~drums,features:~rasterBuffer,windowSize:4096,hopSize:256,numBands:400,action:{"done".postln}); + FluidBufMelBands.processBlocking(s,~drums,features:~rasterBuffer,windowSize:4096,hopSize:256,numBands:480,action:{"done".postln}); // FluidBufSTFT.processBlocking(s,~drums,magnitude:~rasterBuffer,windowSize:1024,action:{"done".postln}); // FluidBufMFCC.processBlocking(s,~drums,features:~rasterBuffer,windowSize:1024,action:{"done".postln}); // FluidBufChroma.processBlocking(s,~drums,features:~rasterBuffer,action:{"done".postln}); @@ -70,4 +70,4 @@ fork({ ~raster.(~rasterBuffer); },AppClock); -) \ No newline at end of file +) From 7eb928e85907e7630451207b361770383829b44b Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Thu, 20 Jan 2022 11:10:59 -0500 Subject: [PATCH 50/88] user specified lin or log scaling --- release-packaging/Classes/FluidWaveform.sc | 25 ++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/release-packaging/Classes/FluidWaveform.sc b/release-packaging/Classes/FluidWaveform.sc index f89c293..27622ee 100644 --- a/release-packaging/Classes/FluidWaveform.sc +++ b/release-packaging/Classes/FluidWaveform.sc @@ -14,11 +14,12 @@ FluidViewer { } FluidWaveform : FluidViewer { + classvar lin = 0, log = 1; var Date: Thu, 20 Jan 2022 14:16:18 -0500 Subject: [PATCH 51/88] log --- release-packaging/Classes/FluidWaveform.sc | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/release-packaging/Classes/FluidWaveform.sc b/release-packaging/Classes/FluidWaveform.sc index 27622ee..17c1c3a 100644 --- a/release-packaging/Classes/FluidWaveform.sc +++ b/release-packaging/Classes/FluidWaveform.sc @@ -14,12 +14,12 @@ FluidViewer { } FluidWaveform : FluidViewer { - classvar lin = 0, log = 1; + classvar Date: Thu, 20 Jan 2022 15:19:26 -0500 Subject: [PATCH 52/88] =?UTF-8?q?agnostic=20=F0=9F=AA=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- release-packaging/Classes/FluidWaveform.sc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/release-packaging/Classes/FluidWaveform.sc b/release-packaging/Classes/FluidWaveform.sc index 17c1c3a..0063677 100644 --- a/release-packaging/Classes/FluidWaveform.sc +++ b/release-packaging/Classes/FluidWaveform.sc @@ -104,7 +104,9 @@ FluidWaveform : FluidViewer { vals = (vals * 255).asInteger; }, FluidWaveform.log,{ - vals = (vals / vals.maxItem).ampdb.linlin(-130.0,0.0,0.0,255.0).asInteger; + vals = (vals + 1e-6).log; + vals = vals.linlin(vals.minItem,vals.maxItem,0.0,255.0).asInteger; + vals.postln; }, { "% colorScaling argument % is invalid.".format(thisMethod,colorScaling).warn; From 1c610e227b9c77153776d4fe790e63df1ea172d6 Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Thu, 20 Jan 2022 15:20:00 -0500 Subject: [PATCH 53/88] 'imageBuffer' --- release-packaging/Classes/FluidWaveform.sc | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/release-packaging/Classes/FluidWaveform.sc b/release-packaging/Classes/FluidWaveform.sc index 0063677..ef32406 100644 --- a/release-packaging/Classes/FluidWaveform.sc +++ b/release-packaging/Classes/FluidWaveform.sc @@ -18,8 +18,8 @@ FluidWaveform : FluidViewer { var Date: Thu, 20 Jan 2022 15:30:11 -0500 Subject: [PATCH 54/88] removed word 'raster' --- release-packaging/Classes/FluidWaveform.sc | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/release-packaging/Classes/FluidWaveform.sc b/release-packaging/Classes/FluidWaveform.sc index ef32406..264dc8b 100644 --- a/release-packaging/Classes/FluidWaveform.sc +++ b/release-packaging/Classes/FluidWaveform.sc @@ -18,8 +18,8 @@ FluidWaveform : FluidViewer { var Date: Fri, 21 Jan 2022 11:55:16 -0500 Subject: [PATCH 55/88] waveform help file --- .../HelpSource/Classes/FluidWaveform.schelp | 84 ++++++++----------- 1 file changed, 33 insertions(+), 51 deletions(-) diff --git a/release-packaging/HelpSource/Classes/FluidWaveform.schelp b/release-packaging/HelpSource/Classes/FluidWaveform.schelp index e10e624..443cf7a 100644 --- a/release-packaging/HelpSource/Classes/FluidWaveform.schelp +++ b/release-packaging/HelpSource/Classes/FluidWaveform.schelp @@ -1,7 +1,7 @@ TITLE:: FluidWaveform summary:: Buffer waveform display with optional overlays categories:: Libraries>FluidCorpusManipulation -related:: Classes/FluidPlotter, Classes/FluidBufNoveltySlice, Classes/FluidBufOnsetSlice, Classes/FluidBufAmpSlice +related:: Classes/FluidPlotter, Classes/FluidBufNoveltySlice, Classes/FluidBufOnsetSlice, Classes/FluidBufAmpSlice, Classes/SoundFileView DESCRIPTION:: FluidWaveform plots a buffer with optional overlays such as slices derived from a FluCoMa Slicer, or feature values from a FluCoMa audio descriptor. @@ -14,7 +14,7 @@ Create a new instance of FluidWaveform. ARGUMENT:: audioBuffer The audio buffer to plot. -ARGUMENT:: slicesBuffer +ARGUMENT:: indicesBuffer A link::Classes/Buffer:: of slice indices. This will very likely be in the form of a link::Classes/Buffer:: output from a FluCoMa slicer object. If this link::Classes/Buffer:: is only one channel it will plot lines at these slice points. If the link::Classes/Buffer:: is two channels it will consider the 0th channel to contain onsets and the 1st channel to contain offsets. This matches the output of link::Classes/FluidBufAmpGate::. ARGUMENT:: featureBuffer @@ -35,11 +35,11 @@ A link::Classes/Color:: to make the waveform. ARGUMENT:: stackFeatures If STRONG::false::, all the features (i.e., channels in the STRONG::featureBuffer::) will be overlayed on each other, as though on the same x and y axis. If STRONG::true::, each feature will occupy its own space covering the width of the plot and an fraction of the height (the number of channels in STRONG::featureBuf:: / the height of the plot). The default is STRONG::false::. -ARGUMENT:: showSpectrogram -Boolean whether or not to plot a spectrogram. The default is STRONG::false::. +ARGUMENT:: imageBuffer +A link::Classes/Buffer:: that will be turned into a raster image and displayed. The buffer's frames will comprise the y axis, the buffer's channels will comprise the x axis (channel 0 at the bottom). Very likely this will come from the output of a Fluid analysis object, such as link::Classes/FluidBufSTFT:: which can be used to plot a spectrogram. Using FluidBufMelBands can be used to plot a Mel-frequency spectrum. -ARGUMENT:: spectrogramColorScheme -An integer indicating which color scheme footnote::The color schemes used are from https://colorcet.com/ Kovesi, Peter. "Good colour maps: How to design them." arXiv preprint arXiv:1509.03700 (2015). https://arxiv.org/abs/1509.03700 :: to use to distinguish magitudes in the spectrogram. The default is 0. +ARGUMENT:: imageColorScheme +An integer indicating which color scheme footnote::The color schemes used are from https://colorcet.com/ Kovesi, Peter. "Good colour maps: How to design them." arXiv preprint arXiv:1509.03700 (2015). https://arxiv.org/abs/1509.03700 :: to use to distinguish differences in the values in strong::imageBuffer::. The default is 0. table:: ## 0 || Grey scale with slightly reduced contrast to avoid display saturation problems ## 1 || Black - Blue - Green - Yellow - White @@ -48,18 +48,24 @@ An integer indicating which color scheme footnote::The color schemes used are fr ## 4 || Black - Red - Yellow :: -ARGUMENT:: spectrogramAlpha +ARGUMENT:: imageAlpha An transparency value (0-1) for displaying the waveform. 0 is fully transparent, 1 is fully visible. The default is 1. -ARGUMENT:: showWaveform -Boolean whether or not to show the waveform. The default is true. - ARGUMENT:: normalizeFeaturesIndependently Boolean. All the features in STRONG::featureBuf:: need to be normalized for plotting. If STRONG::true::, this normalization will happen per feature, so that each will use the full visual range allowed to them. If STRONG::false::, the normalization will happen over all the values in the STRONG::featureBuf:: (in all the channels), so that the features relative strengths will be preserved. The default is STRONG::true::. +ARGUMENT:: colorScaling +An integer indicating how to scale the values in strong::imageBuffer:: before applying the strong::imageColorScheme::. 0 indicates linear scaling, 1 indicates logarithmic scaling. The default is 1. These integers can also be accessed via FluidWaveform.lin and FluidWaveform.log. + returns:: A new instance of FluidWaveform. +METHOD:: lin +Can be used as the strong::colorScaling:: argument. +returns:: 0 +METHOD:: log +Can be used as the strong::colorScaling:: argument. +returns:: 1 INSTANCEMETHODS:: @@ -81,7 +87,7 @@ EXAMPLES:: code:: s.boot; -// load a sound to slice +// load a sound ~drums = Buffer.read(s,FluidFilesPath("Nicol-LoopE-M.wav")); // display @@ -89,35 +95,23 @@ FluidWaveform(~drums,bounds:Rect(0,0,1200,300)); // put in another window ( -w = Window("FluidWaveform Test",Rect(0,0,1000,600)); +w = Window("FluidWaveform Test",Rect(0,0,1000,500)); FluidWaveform(~drums,parent:w,bounds:Rect(100,100,800,300)); w.front; ) // show spectrogram -FluidWaveform(~drums,bounds:Rect(0,0,1200,300),showSpectrogram:true); - -// more colors -FluidWaveform(~drums,bounds:Rect(0,0,1200,300),showSpectrogram:true,spectrogramColorScheme:1); - -// more colors -FluidWaveform(~drums,bounds:Rect(0,0,1200,300),showSpectrogram:true,spectrogramColorScheme:2); - -// more colors -FluidWaveform(~drums,bounds:Rect(0,0,1200,300),showSpectrogram:true,spectrogramColorScheme:3); +~mags = Buffer(s); +FluidBufSTFT.processBlocking(s,~drums,magnitude:~mags,action:{"stft done".postln;}); +FluidWaveform(bounds:Rect(0,0,1200,300),imageBuffer:~mags,imageColorScheme:1); -// more colors -FluidWaveform(~drums,bounds:Rect(0,0,1200,300),showSpectrogram:true,spectrogramColorScheme:4); - -// put in that another window -( -w = Window("FluidWaveform Test",Rect(0,0,1000,600)); -FluidWaveform(~drums,parent:w,bounds:Rect(100,100,800,300),showSpectrogram:true); -w.front; -) +// show mels +~mels = Buffer(s); +FluidBufMelBands.processBlocking(s,~drums,features:~mels,numBands:200,windowSize:2048,action:{"done".postln}); +FluidWaveform(bounds:Rect(0,0,1600,400),imageBuffer:~mels,imageColorScheme:1); // spectrogram with some nice colors and a bit of styling... -FluidWaveform(~drums,bounds:Rect(0,0,1200,300),showSpectrogram:true,spectrogramColorScheme:1,waveformColor:Color.magenta(1,0.5),showWaveform:true); +FluidWaveform(~drums,bounds:Rect(0,0,1200,300),imageBuffer:~mags,imageColorScheme:1,waveformColor:Color.magenta(1,0.5)); // create a buffer to put indices into ~indices = Buffer(s); @@ -128,13 +122,6 @@ FluidBufAmpSlice.processBlocking(s,~drums,indices:~indices,fastRampUp: 10,fastRa // plot the buffer with the indices overlayed FluidWaveform(~drums,~indices,bounds:Rect(0,0,800,200)); -// put in that another window -( -w = Window("FluidWaveform Test",Rect(0,0,1000,600)); -FluidWaveform(~drums,~indices,parent:w,bounds:Rect(100,100,800,300)); -w.front; -) - // do a descriptor analysis ~features = Buffer(s); FluidBufLoudness.processBlocking(s,~drums,features:~features,action:{"done".postln;}); @@ -153,13 +140,6 @@ FluidBufAmpGate.processBlocking(s,~drums,indices:~gate_analysis,onThreshold:-35, // it will plot the ons and offs FluidWaveform(~drums,~gate_analysis,~features2,bounds:Rect(0,0,1200,300)); -// put in that another window -( -w = Window("FluidWaveform Test",Rect(0,0,1000,600)); -FluidWaveform(~drums,~gate_analysis,parent:w,bounds:Rect(100,100,800,300)); -w.front; -) - // do a descriptor analysis and plot both features either stacked or not: ~noisy = Buffer.read(s,FluidFilesPath("Tremblay-ASWINE-ScratchySynth-M.wav")); ~pitch_analysis = Buffer(s); @@ -172,24 +152,26 @@ FluidWaveform(~noisy,featureBuffer:~pitch_analysis,bounds:Rect(0,0,1200,300)); // plot stacked: FluidWaveform(~noisy,featureBuffer:~pitch_analysis,bounds:Rect(0,0,1200,300),stackFeatures:true,waveformColor:Color(*0.9.dup(3))); +~mags = Buffer(s); +FluidBufSTFT.processBlocking(s,~noisy,magnitude:~mags,action:{"done".postln;}); + // add spectrogram: -FluidWaveform(~noisy,featureBuffer:~pitch_analysis,bounds:Rect(0,0,1200,300),stackFeatures:true,waveformColor:Color(0,0,0,0.5),showSpectrogram:true,spectrogramAlpha:0.5); +FluidWaveform(~noisy,featureBuffer:~pitch_analysis,imageBuffer:~mags,bounds:Rect(0,0,1200,300),stackFeatures:true,waveformColor:Color(0,0,0,0.5),imageAlpha:0.5); // plot in another window with all the things! ( -w = Window("FluidWaveform Test",Rect(0,0,1000,600)); +w = Window("FluidWaveform Test",Rect(0,0,1000,500)); FluidWaveform( ~noisy, featureBuffer:~pitch_analysis, parent:w, bounds:Rect(100,100,800,300), stackFeatures:true, - showSpectrogram:true, - spectrogramAlpha:0.6, + imageBuffer:~mags, + imageAlpha:0.6, waveformColor:Color(0,1,1,0.5) ); w.front; ) - :: \ No newline at end of file From 4e91cc363ef1f91a1a91aeb881000068aeafee4f Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Fri, 21 Jan 2022 16:36:11 -0500 Subject: [PATCH 56/88] removed 'teds to do list' from repo --- ted_helpfiles_outline.md | 27 --------------------------- 1 file changed, 27 deletions(-) delete mode 100644 ted_helpfiles_outline.md diff --git a/ted_helpfiles_outline.md b/ted_helpfiles_outline.md deleted file mode 100644 index 3729a62..0000000 --- a/ted_helpfiles_outline.md +++ /dev/null @@ -1,27 +0,0 @@ -### James has already done in Max: - -KDTree -AmpSlice -BufAmpSlice -BufSelect -Chroma -BufChroma -Sines -BufSines - -### TODO: - -NMFBuf -NMFFilter -NMFMorph -NMFMatch -NMFCross -HPSS -BufHPSS -MDS -SpectralShape -BufSpectralShape -Transients -BufTransients -TransientSlice -BufTransientSlice From cb690283fa637e6d08a3941ae2b172195f44de65 Mon Sep 17 00:00:00 2001 From: Till Date: Sat, 22 Jan 2022 19:54:13 +0100 Subject: [PATCH 57/88] implement startFrame as suggested in https://github.com/flucoma/flucoma-sc/issues/51 --- release-packaging/Classes/FluidBufToKr.sc | 19 ++++++++----------- .../HelpSource/Classes/FluidBufToKr.schelp | 10 +++++++++- .../HelpSource/Classes/FluidKrToBuf.schelp | 5 ++--- 3 files changed, 19 insertions(+), 15 deletions(-) diff --git a/release-packaging/Classes/FluidBufToKr.sc b/release-packaging/Classes/FluidBufToKr.sc index 1661519..0e81386 100644 --- a/release-packaging/Classes/FluidBufToKr.sc +++ b/release-packaging/Classes/FluidBufToKr.sc @@ -18,28 +18,25 @@ FluidKrToBuf { FluidBufToKr { *kr { - arg buffer, numFrames = -1; + arg buffer numFrames, startFrame=0; - if((buffer.isKindOf(Buffer).or(buffer.isKindOf(LocalBuf))).not.and(numFrames.isNil),{ - Error("FluidBufToKr:kr needs to be passed either an existing buffer or an OutputProxy and a number of frames for the buffer that will be supplied").throw; + if(buffer.isKindOf(Buffer) or: {buffer.isKindOf(LocalBuf)}, { + numFrames = numFrames ?? {buffer.numFrames - startFrame}; + }, { + numFrames = numFrames ? 1; }); - if(numFrames == -1,{ - numFrames = buffer.numFrames; - }); - - if(numFrames == 0) {"FluidKrToBuf:kr indicated numFrames is zero.".warn}; if(numFrames > 1000) { - Error("FluidKrToBuf: Buffer is indicated to have % frames. This is probably not the buffer you intended.".format(numFrames)).throw; + Error("%: numframes is % frames. This is probably not what you intended.".format(this.class, numFrames)).throw; }; if(numFrames > 1,{ ^numFrames.collect{ arg i; - BufRd.kr(1,buffer,i,0,0); + BufRd.kr(1,buffer,i+startFrame,0,0); } },{ - ^BufRd.kr(1,buffer,0,0,0); + ^BufRd.kr(1,buffer,startFrame,0,0); }); } } diff --git a/release-packaging/HelpSource/Classes/FluidBufToKr.schelp b/release-packaging/HelpSource/Classes/FluidBufToKr.schelp index ea85655..cc2c087 100644 --- a/release-packaging/HelpSource/Classes/FluidBufToKr.schelp +++ b/release-packaging/HelpSource/Classes/FluidBufToKr.schelp @@ -12,7 +12,15 @@ METHOD:: kr Initialize an instance of this pseudo UGen ARGUMENT:: buffer -The link::Classes/Buffer:: that this pseudo UGen will read out of. Must be a one-channel buffer. +Either a link::Classes/Buffer:: object or an index opointing to a buffer that this pseudo UGen will read out of. Must be a one-channel buffer. + + +ARGUMENT:: numFrames +number of frames to read from the buffer. +Needs to be set, if buffer is not a code::Buffer:: object but a buffer index. If code::nil::, read whole buffer starting at code::startFrame::. + +ARGUMENT:: startFrame +offset of reading position in the buffer ARGUMENT:: numFrames How many frames the buffer is that will evenutally passed. If providing a buffer directly (instead of as an argument to a SynthDef), the default of -1 will get the number of frames from the buffer passed. diff --git a/release-packaging/HelpSource/Classes/FluidKrToBuf.schelp b/release-packaging/HelpSource/Classes/FluidKrToBuf.schelp index 87b7f5b..5ba81e7 100644 --- a/release-packaging/HelpSource/Classes/FluidKrToBuf.schelp +++ b/release-packaging/HelpSource/Classes/FluidKrToBuf.schelp @@ -15,10 +15,9 @@ ARGUMENT:: krStream The Kr stream to write into the buffer. ARGUMENT:: buffer -The link::Classes/Buffer:: to write the Kr stream into. - -returns:: Nothing. +The buffer to write the Kr stream into. Can be either a link::Classes/Buffer:: object, or an index poiting to a buffer. +returns:: This class. INSTANCEMETHODS:: From f46a236bd5884bead09b2db60983e8aff29fe2c9 Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Mon, 24 Jan 2022 12:12:34 -0500 Subject: [PATCH 58/88] remove extraneous postln --- release-packaging/Classes/FluidWaveform.sc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release-packaging/Classes/FluidWaveform.sc b/release-packaging/Classes/FluidWaveform.sc index 264dc8b..6338d85 100644 --- a/release-packaging/Classes/FluidWaveform.sc +++ b/release-packaging/Classes/FluidWaveform.sc @@ -106,7 +106,7 @@ FluidWaveform : FluidViewer { FluidWaveform.log,{ vals = (vals + 1e-6).log; vals = vals.linlin(vals.minItem,vals.maxItem,0.0,255.0).asInteger; - vals.postln; + // vals.postln; }, { "% colorScaling argument % is invalid.".format(thisMethod,colorScaling).warn; From 94d47641adb150b423bf64dc6205d2d940c21b5a Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Mon, 24 Jan 2022 12:12:56 -0500 Subject: [PATCH 59/88] test code for multiple overlays --- test/overlay.scd | 72 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 test/overlay.scd diff --git a/test/overlay.scd b/test/overlay.scd new file mode 100644 index 0000000..18ab385 --- /dev/null +++ b/test/overlay.scd @@ -0,0 +1,72 @@ +( +s.waitForBoot{ + //var audio = Buffer.readChannel(s,FluidFilesPath("Tremblay-CEL-GlitchyMusicBoxMelo.wav"),channels:[0]); + // var audio = Buffer.readChannel(s,FluidFilesPath("Nicol-LoopE-M.wav"),channels:[0]); + var audio = Buffer.readChannel(s,FluidFilesPath("Harker-DS-TenOboeMultiphonics-M.wav"),channels:[0]); + + var window = Window(bounds:Rect(0,0,1600,400)); + var mels = Buffer(s); + var mags = Buffer(s); + var chroma = Buffer(s); + var mfccs = Buffer(s); + var addLayer = { + arg win, imageBuffer, color, imageAlpha, colorScaling; + imageBuffer.loadToFloatArray(action:{ + arg vals; + fork({ + var colors = CSVFileReader.readInterpret(FluidFilesPath("../Resources/color-schemes/%.csv".format(color))).collect{ + arg row; + Color.fromArray(row); + }; + var img = Image(imageBuffer.numFrames,imageBuffer.numChannels); + + colorScaling.switch( + 0,{ + var minItem = vals.minItem; + vals = (vals - minItem) / (vals.maxItem - minItem); + vals = (vals * 255).asInteger; + }, + 1,{ + vals = (vals + 1e-6).log; + vals = vals.linlin(vals.minItem,vals.maxItem,0.0,255.0).asInteger; + // vals.postln; + }, + { + "% colorScaling argument % is invalid.".format(thisMethod,colorScaling).warn; + } + ); + + vals.do{ + arg val, index; +/* img.postln; + index.postln; + val.postln;*/ + img.setColor(colors[val], index.div(imageBuffer.numChannels), imageBuffer.numChannels - 1 - index.mod(imageBuffer.numChannels)); + }; + + UserView(win,Rect(0,0,win.bounds.width,win.bounds.height)) + .drawFunc_{ + img.drawInRect(Rect(0,0,win.bounds.width,win.bounds.height),fraction:imageAlpha); + }; + },AppClock) + }); + }; + + FluidBufMelBands.processBlocking(s,audio,features:mels); + FluidBufSTFT.processBlocking(s,audio,magnitude:mags); + FluidBufChroma.processBlocking(s,audio,features:chroma); + FluidBufMFCC.processBlocking(s,audio,features:mfccs); + + s.sync; + + "analysis done".postln; + + // addLayer.(window,imageBuffer:mags,color:"CET-L02",imageAlpha:0.7,colorScaling:1); + addLayer.(window,imageBuffer:mels,color:"CET-L02",imageAlpha:1,colorScaling:1); + + // addLayer.(window,imageBuffer:chroma,color:"CET-L16",imageAlpha:0.5,colorScaling:1); + addLayer.(window,imageBuffer:mfccs,color:"CET-L16",imageAlpha:0.3,colorScaling:0); + + window.front; +}; +) \ No newline at end of file From e8f490e44e37264cbc3910dc148e6a055ff81336 Mon Sep 17 00:00:00 2001 From: James Bradbury Date: Mon, 24 Jan 2022 20:49:11 +0000 Subject: [PATCH 60/88] dummy commit --- test/foo | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 test/foo diff --git a/test/foo b/test/foo new file mode 100644 index 0000000..e69de29 From 1c2baed8b65b0e1b832cd2941fe6c19f026efd1d Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Mon, 24 Jan 2022 15:03:29 -0500 Subject: [PATCH 61/88] FluCoMa-ize argument order and defaults, more error checks --- release-packaging/Classes/FluidBufToKr.sc | 57 ++++++-- test/FluidBufToKr test.scd | 158 +++++++++++++++++++++- 2 files changed, 200 insertions(+), 15 deletions(-) diff --git a/release-packaging/Classes/FluidBufToKr.sc b/release-packaging/Classes/FluidBufToKr.sc index 0e81386..84a0cb6 100644 --- a/release-packaging/Classes/FluidBufToKr.sc +++ b/release-packaging/Classes/FluidBufToKr.sc @@ -1,31 +1,64 @@ FluidKrToBuf { *kr { - arg krStream, buffer; + arg krStream, buffer, krStartChan = 0, krNumChans = -1, destStartFrame = 0; + var endChan; + + // fix -1 default + if(krNumChans == -1,{krNumChans = krStream.numChannels - krStartChan}); + + // what is the last channel that will be used + endChan = (krStartChan + krNumChans) - 1; if(buffer.isKindOf(Buffer).or(buffer.isKindOf(LocalBuf)),{ - if(buffer.numFrames == 0) {"FluidKrToBuf:kr Buffer has 0 frames".warn}; - if(buffer.numFrames > 1000) { - Error("FluidKrToBuf:kr Buffer is % frames. This is probably not the buffer you intended.".format(buffer.numFrames)).throw; + + // sanity check + if(buffer.numFrames == 0){"% Buffer has 0 frames".format(this.class).warn}; + + // oopsie check + if(buffer.numFrames > 1000){ + Error("% Buffer is % frames. This is probably not the buffer you intended.".format(this.class,buffer.numFrames)).throw; }; + + // out of bounds check + if((destStartFrame + krNumChans) > buffer.numFrames,{ + Error("% (destStartFrame + krNumChans) > buffer.numFrames".format(this.class)).throw; + }); + }); - ^krStream.numChannels.do{ - arg i; - BufWr.kr(krStream[i], buffer, i); + ^(krStartChan..endChan).do{ + arg kr_i, i; + BufWr.kr(krStream[kr_i], buffer, destStartFrame + i); } } } FluidBufToKr { *kr { - arg buffer numFrames, startFrame=0; + arg buffer, startFrame = 0, numFrames = -1; - if(buffer.isKindOf(Buffer) or: {buffer.isKindOf(LocalBuf)}, { - numFrames = numFrames ?? {buffer.numFrames - startFrame}; - }, { - numFrames = numFrames ? 1; + // out of bounds check + if(startFrame < 0,{Error("% startFrame must be >= 0".format(this.class)).throw;}); + + if(buffer.isKindOf(Buffer) or: {buffer.isKindOf(LocalBuf)},{ + + // fix default -1 + if(numFrames == -1,{numFrames = buffer.numFrames - startFrame}); + + // dummy check + if(numFrames < 1,{Error("% numFrames must be >= 1".format(this.class)).throw}); + + // out of bounds check + if((startFrame+numFrames) > buffer.numFrames,{Error("% (startFrame + numFrames) > buffer.numFrames".format(this.class)).throw;}); + + },{ + // make sure the numFrames give is a positive integer + if((numFrames < 1) || (numFrames.isInteger.not),{ + Error("% if no buffer is specified, numFrames must be a value >= 1.".format(this.class)).throw; + }); }); + // oopsie check if(numFrames > 1000) { Error("%: numframes is % frames. This is probably not what you intended.".format(this.class, numFrames)).throw; }; diff --git a/test/FluidBufToKr test.scd b/test/FluidBufToKr test.scd index b3c070c..3d2954c 100644 --- a/test/FluidBufToKr test.scd +++ b/test/FluidBufToKr test.scd @@ -93,7 +93,7 @@ s.waitForBoot{ ) ( -// FluidBufToKr +// FluidBufToKr should throw error s.waitForBoot{ Routine{ @@ -154,7 +154,7 @@ s.waitForBoot{ Routine{ ~synth = { arg buf; - FluidBufToKr.kr(buf,5).poll; + FluidBufToKr.kr(buf,numFrames:5).poll; }.play; 2.wait; @@ -197,7 +197,7 @@ s.waitForBoot{ arg buf = 999; FluidKrToBuf.kr(SinOsc.kr(Array.fill(5,{rrand(0.0,1.0)})),buf); - FluidBufToKr.kr(buf,5).poll; ////////// this will work becaues it knows how many frames the buffer will be + FluidBufToKr.kr(buf,numFrames:5).poll; ////////// this will work becaues it knows how many frames the buffer will be }.play; 2.wait; @@ -208,3 +208,155 @@ s.waitForBoot{ }.play; }; ) + +// test start frame: + + +( +// should skip the 0 +s.waitForBoot{ + Routine{ + var buf = Buffer.loadCollection(s,[0,1,2,3,4,7]); + + s.sync; + + { + var sig = FluidBufToKr.kr(buf,1); + sig.poll; + }.play; + }.play; +} +) + +( +// should be 2,3,4 +s.waitForBoot{ + Routine{ + var buf = Buffer.loadCollection(s,[0,1,2,3,4,7]); + + s.sync; + + { + var sig = FluidBufToKr.kr(buf,2,3); + sig.poll; + }.play; + }.play; +} +) + +( +// last four slots should be 0 +s.waitForBoot{ + Routine{ + var buf = Buffer.loadCollection(s,0.dup(10)); + + s.sync; + + { + FluidKrToBuf.kr(LFDNoise3.kr(1.dup(6)),buf); + }.play; + + 1.wait; + + // defer{buf.plot}; + buf.loadToFloatArray(action:{ + arg vals; + vals.postln; + }); + }.play; +} +) + +( +// middle slots should be not zero +s.waitForBoot{ + Routine{ + var buf = Buffer.loadCollection(s,0.dup(4)); + + s.sync; + + { + FluidKrToBuf.kr(LFDNoise3.kr(1.dup(2)),buf,destStartFrame:1); + }.play; + + 1.wait; + + // defer{buf.plot}; + buf.loadToFloatArray(action:{ + arg vals; + vals.postln; + }); + }.play; +} +) + +( +// should throw error +s.waitForBoot{ + Routine{ + var buf = Buffer.loadCollection(s,0.dup(4)); + + s.sync; + + { + FluidKrToBuf.kr(LFDNoise3.kr(1.dup(2)),buf,destStartFrame:3); + }.play; + + 1.wait; + + // defer{buf.plot}; + buf.loadToFloatArray(action:{ + arg vals; + vals.postln; + }); + }.play; +} +) + +( +// should be 0,0,200,3000,0,0 +s.waitForBoot{ + Routine{ + var buf = Buffer.alloc(s,7); + + s.sync; + + { + var sig = 3.collect{arg i; DC.kr((i+1)*100)}; + // sig.poll; + FluidKrToBuf.kr(sig,buf,1,2,2); + }.play; + + 1.wait; + + buf.loadToFloatArray(action:{ + arg vals; + vals.postln; + }); + }.play; +} +) + +( +// should be 100,200,300,400 +s.waitForBoot{ + Routine{ + var buf = Buffer.alloc(s,4); + + s.sync; + + { + var sig = 4.collect{arg i; DC.kr((i+1)*100)}; + // sig.poll; + FluidKrToBuf.kr(sig,buf); + }.play; + + 1.wait; + + buf.loadToFloatArray(action:{ + arg vals; + vals.postln; + }); + }.play; +} +) From 3f856089aa68db0d32d5ee19905f4fd58b7a09f2 Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Mon, 24 Jan 2022 21:32:51 -0500 Subject: [PATCH 62/88] =?UTF-8?q?=F0=9F=9A=A7=20updating=20help=20file=20e?= =?UTF-8?q?xamples?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../HelpSource/Classes/FluidBufToKr.schelp | 13 ++++--------- .../HelpSource/Classes/FluidKrToBuf.schelp | 13 +++++++++++-- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/release-packaging/HelpSource/Classes/FluidBufToKr.schelp b/release-packaging/HelpSource/Classes/FluidBufToKr.schelp index cc2c087..bf3a1ec 100644 --- a/release-packaging/HelpSource/Classes/FluidBufToKr.schelp +++ b/release-packaging/HelpSource/Classes/FluidBufToKr.schelp @@ -4,7 +4,7 @@ categories:: Libraries>FluidCorpusManipulation related:: Classes/FluidKrToBuf DESCRIPTION:: -Helper pseudo UGen for reading data out of a buffer to a Kr stream. It only reads one-channel buffers, converting them to a Kr stream with as many channels as the number of frames that the buffer is long. +Helper pseudo UGen for reading data out of a buffer to a Kr stream. It only reads one-channel buffers, converting them to a Kr stream. CLASSMETHODS:: @@ -14,16 +14,11 @@ Initialize an instance of this pseudo UGen ARGUMENT:: buffer Either a link::Classes/Buffer:: object or an index opointing to a buffer that this pseudo UGen will read out of. Must be a one-channel buffer. - -ARGUMENT:: numFrames -number of frames to read from the buffer. -Needs to be set, if buffer is not a code::Buffer:: object but a buffer index. If code::nil::, read whole buffer starting at code::startFrame::. - ARGUMENT:: startFrame -offset of reading position in the buffer +Offset of reading position in the buffer. The default is 0. ARGUMENT:: numFrames -How many frames the buffer is that will evenutally passed. If providing a buffer directly (instead of as an argument to a SynthDef), the default of -1 will get the number of frames from the buffer passed. +Number of frames to read from the buffer. Needs to be set, if buffer is not a code::Buffer:: object but a buffer index. If code::-1::, read whole buffer starting at code::startFrame::. The default is -1. returns:: a Kr stream that has the same number of channels as frames in the link::Classes/Buffer::. @@ -54,7 +49,7 @@ code:: // you need to specify the 5 so the synth here will know how many channels to make // the output proxy - FluidBufToKr.kr(buf,5).poll; + FluidBufToKr.kr(buf,numFrames:5).poll; }.play; // you should see all zeros! (unless your buffer #999 has something in it already!) ) diff --git a/release-packaging/HelpSource/Classes/FluidKrToBuf.schelp b/release-packaging/HelpSource/Classes/FluidKrToBuf.schelp index 5ba81e7..445fc27 100644 --- a/release-packaging/HelpSource/Classes/FluidKrToBuf.schelp +++ b/release-packaging/HelpSource/Classes/FluidKrToBuf.schelp @@ -4,7 +4,7 @@ categories:: Libraries>FluidCorpusManipulation related:: Classes/FluidBufToKr DESCRIPTION:: -Helper pseudo UGen for writing data into a buffer from a Kr stream. It only works with one-channel buffers. The number of frames in the link::Classes/Buffer:: must be the same as the number of channels in the Kr stream. +Helper pseudo UGen for writing data into a buffer from a Kr stream. It only works with one-channel buffers. CLASSMETHODS:: @@ -15,7 +15,16 @@ ARGUMENT:: krStream The Kr stream to write into the buffer. ARGUMENT:: buffer -The buffer to write the Kr stream into. Can be either a link::Classes/Buffer:: object, or an index poiting to a buffer. +The buffer to write the Kr stream into. Can be either a link::Classes/Buffer:: object, or an index poiting to a buffer. + +ARGUMENT:: krStartChan +The channel in the code::krStream:: to begin the reading from. The default is 0. + +ARGUMENT:: krNumChans +The number of channels in the code::krStream:: to read from starting at code::krStartChan:: The default of -1 will read from code::krStartChan:: to the max number of channels in the code::krStream::. + +ARGUMENT:: destStartFrame +The frame in the code::buffer:: to begin writing into. The default is 0. returns:: This class. From ebe4156f9b69d0e7cd322fc174d54fa7427004bd Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Tue, 25 Jan 2022 12:57:54 -0500 Subject: [PATCH 63/88] =?UTF-8?q?still=20=F0=9F=9A=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- release-packaging/HelpSource/Classes/FluidBufToKr.schelp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release-packaging/HelpSource/Classes/FluidBufToKr.schelp b/release-packaging/HelpSource/Classes/FluidBufToKr.schelp index bf3a1ec..b6cd479 100644 --- a/release-packaging/HelpSource/Classes/FluidBufToKr.schelp +++ b/release-packaging/HelpSource/Classes/FluidBufToKr.schelp @@ -55,7 +55,7 @@ code:: ) // ...then after it is running, instantiate the buffer -~buffer = Buffer.alloc(s,5); +~buffer = Buffer.alloc(s,2); // ...then send it to the buffer ~synth.set(\buf,~buffer); From a918e8f6e401053c645106f6c3b1c36737c7e62b Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Tue, 25 Jan 2022 13:00:01 -0500 Subject: [PATCH 64/88] FluidWaveform: featureBuffer to featuresBuffer --- release-packaging/Classes/FluidWaveform.sc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/release-packaging/Classes/FluidWaveform.sc b/release-packaging/Classes/FluidWaveform.sc index 6338d85..4470239 100644 --- a/release-packaging/Classes/FluidWaveform.sc +++ b/release-packaging/Classes/FluidWaveform.sc @@ -18,8 +18,8 @@ FluidWaveform : FluidViewer { var Date: Wed, 26 Jan 2022 04:19:45 -0500 Subject: [PATCH 65/88] Fluid waveform layers (#53) * layers cause race conditions * front method keeps race conditions from happening * allow for image color to be base on alpha * bump * bump * more tests * updated FluidWaveform help file examples --- release-packaging/Classes/FluidPlotter.sc | 4 +- release-packaging/Classes/FluidWaveform.sc | 541 ++++++++++++------ .../HelpSource/Classes/FluidPlotter.schelp | 6 +- .../HelpSource/Classes/FluidWaveform.schelp | 163 +++++- test/FluidWaveform_test.scd | 241 +++++++- 5 files changed, 753 insertions(+), 202 deletions(-) diff --git a/release-packaging/Classes/FluidPlotter.sc b/release-packaging/Classes/FluidPlotter.sc index ba2c349..d1548ba 100644 --- a/release-packaging/Classes/FluidPlotter.sc +++ b/release-packaging/Classes/FluidPlotter.sc @@ -17,7 +17,7 @@ FluidPlotterPoint { } FluidPlotter : FluidViewer { - var Date: Wed, 26 Jan 2022 13:14:13 -0500 Subject: [PATCH 66/88] download instructions --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 66119ce..27be0b9 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,10 @@ This repository hosts code for generating the SC objects and documentation resources for the Fluid Corpus Manipulation Project. Much of the actual code that does the exciting stuff lives in this repository's principal dependency, the [Fluid Corpus Manipulation Library](https://github.com/flucoma/flucoma-core). +You can also download the most [recent release](https://learn.flucoma.org/installation/sc) or the most recent [nightly build](https://github.com/flucoma/flucoma-sc/releases/tag/nightly). + +Note that on macOS you may need to [dequarantine](https://learn.flucoma.org/installation/sc#step-3-dequarantine-scx-extensions) the binary files. + ## Pre-requisites - [CMake](http://cmake.org) >= 3.11 @@ -65,7 +69,7 @@ For ARM, we use the following default set of flags (with the Bela in mind): -march=armv7-a -mtune=cortex-a8 -mfloat-abi=hard -mfpu=neon ``` -## Credits +## Credits #### FluCoMa core development team (in alphabetical order) Owen Green, Gerard Roma, Pierre Alexandre Tremblay From 6502386867f5f54b1d6d0fa333c86096425fd07e Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Wed, 26 Jan 2022 15:21:50 -0500 Subject: [PATCH 67/88] made some helpfile examples --- .../HelpSource/Classes/FluidBufToKr.schelp | 58 ++++++---- .../HelpSource/Classes/FluidKrToBuf.schelp | 53 ++++++--- .../Resources/bufToKrExample.json | 107 ++++++++++++++++++ 3 files changed, 181 insertions(+), 37 deletions(-) create mode 100644 release-packaging/Resources/bufToKrExample.json diff --git a/release-packaging/HelpSource/Classes/FluidBufToKr.schelp b/release-packaging/HelpSource/Classes/FluidBufToKr.schelp index b6cd479..71f4c7a 100644 --- a/release-packaging/HelpSource/Classes/FluidBufToKr.schelp +++ b/release-packaging/HelpSource/Classes/FluidBufToKr.schelp @@ -27,37 +27,51 @@ INSTANCEMETHODS:: EXAMPLES:: code:: -// make a buffer with some data in it -~buf = Buffer.loadCollection(s,[0,1,2,3,4,7]); -// play it on the server and read out of this buffer! +// fill a 1-channel buffer with 7 numbers +~buf = Buffer.loadCollection(s,{exprand(100,4000)} ! 7); + +// in a synth, read those numbers out of the buffer and get them as a control stream ( -{ - var sig = FluidBufToKr.kr(~buf); +~synth = { + arg buf; + var freqs = FluidBufToKr.kr(buf,numFrames:7); + var sig = SinOsc.ar(freqs.lag(0.03)) * 0.1; sig.poll; -}.play; + Splay.ar(sig); +}.play(args:[\buf,~buf]); ) -// =============== passing a buffer as an argument ====================== +// then you can change what's in the buffer and it will get read out by the synth +~buf.setn(0,{exprand(100,4000)} ! 7); + +:: +Use with other FluCoMa objects: +code:: + +// create an neural network for classification +~mlp = FluidMLPClassifier(s); -// create a synth that both writes into a buffer (with FluidKrToBuf) and reads -// out of the same buffer (with FluidBufToKr) +// load a model that has been pre-trained to classify between a tone and noise, simple, i know, but... +~mlp.read(FluidFilesPath("../Resources/bufToKrExample.json")); + +// can be used to demonstrate that... ( -~synth = { - arg buf = 999; - FluidKrToBuf.kr(SinOsc.kr(Array.fill(5,{rrand(0.0,1.0)})),buf); +{ + var input_buf = LocalBuf(7); + var out_buf = LocalBuf(1); + var sig = Select.ar(ToggleFF.kr(Dust.kr(1)),[SinOsc.ar(440),PinkNoise.ar]); + var analysis = FluidSpectralShape.kr(sig); + FluidKrToBuf.kr(analysis,input_buf); - // you need to specify the 5 so the synth here will know how many channels to make - // the output proxy - FluidBufToKr.kr(buf,numFrames:5).poll; + // the output prediction is written into a buffer + ~mlp.kr(Impulse.kr(30),input_buf,out_buf); + + // and FluidBufToKr can be used to read the prediction out into a control rate stream + FluidBufToKr.kr(out_buf).poll; + + sig.dup * -30.dbamp }.play; -// you should see all zeros! (unless your buffer #999 has something in it already!) ) -// ...then after it is running, instantiate the buffer -~buffer = Buffer.alloc(s,2); - -// ...then send it to the buffer -~synth.set(\buf,~buffer); -// you should be able to see the sine oscillators now! :: \ No newline at end of file diff --git a/release-packaging/HelpSource/Classes/FluidKrToBuf.schelp b/release-packaging/HelpSource/Classes/FluidKrToBuf.schelp index 445fc27..21ab55f 100644 --- a/release-packaging/HelpSource/Classes/FluidKrToBuf.schelp +++ b/release-packaging/HelpSource/Classes/FluidKrToBuf.schelp @@ -32,25 +32,48 @@ INSTANCEMETHODS:: EXAMPLES:: - code:: -( -// FluidKrToBuf test -s.waitForBoot{ - Routine{ - var buf = Buffer.alloc(s,5); - s.sync; +( +~synth = { + var buf = LocalBuf(512).clear; + var sig = SinOsc.ar([440,441]); + var lfos = Array.fill(512,{arg i; SinOsc.ar(i.linlin(0,511,0.01,0.2))}); + FluidKrToBuf.kr(lfos,buf); + sig = Shaper.ar(buf,sig); + sig.dup * -40.dbamp; +}.scope; +) - { - var sig = SinOsc.kr(rrand(1.0.dup(buf.numFrames),4.0)); - FluidKrToBuf.kr(sig,buf); - }.play; +:: +Use with other FluCoMa objects: +code:: - 1.wait; +// make a new dataset +~ds = FluidDataSet(s); - defer{buf.plot}; - }.play; -} +// run a synth with varying sounds and an mfcc analysis +( +~synth = { + arg t_trig; + var buf = LocalBuf(13); + var n = 7; + var sig = BPF.ar(PinkNoise.ar.dup(n),LFDNoise1.kr(2.dup(n)).exprange(100,4000)).sum * -20.dbamp; + var mfccs = FluidMFCC.kr(sig,buf.numFrames,startCoeff:1,maxNumCoeffs:buf.numFrames); + + // write the real-time mfcc analysis into this buffer so that... + FluidKrToBuf.kr(mfccs,buf); + + // it can be added to the dataset from that buffer by sending a trig to the synth + FluidDataSetWr.kr(~ds,"point-",PulseCount.kr(t_trig),buf:buf,trig:t_trig); + sig.dup; +}.play; ) + +// send a bunch of triggers and... +~synth.set(\t_trig,1); + +// see how your dataset grows +~ds.print; + :: diff --git a/release-packaging/Resources/bufToKrExample.json b/release-packaging/Resources/bufToKrExample.json new file mode 100644 index 0000000..8349ab7 --- /dev/null +++ b/release-packaging/Resources/bufToKrExample.json @@ -0,0 +1,107 @@ +{ + "labels": { + "labels": [ + "tone", + "noise" + ], + "rows": 2 + }, + "mlp": { + "layers": [ + { + "activation": 1, + "biases": [ + 9.475189836135217e-245, + -7.312978302687739e-296, + 0.0, + 0.0, + 0.0 + ], + "cols": 5, + "rows": 7, + "weights": [ + [ + -0.7070957130289968, + 0.2529529084252004, + -0.6315006118399392, + 0.2641365029014226, + -0.11879484878940468 + ], + [ + -0.5210842572299229, + 0.25356340881888756, + 0.04200241621968997, + 0.12583197506255497, + 0.2845264672854667 + ], + [ + 0.36148051326296066, + 0.614748588906755, + 0.24204178015383798, + 0.6087291285844215, + 0.5802812834026664 + ], + [ + -0.05847754423619632, + -0.16475294200213061, + -0.6962199018410693, + 0.48955391140174614, + 0.3708040237508281 + ], + [ + 0.04633987154978883, + 0.02745889671058346, + -0.16487516786286913, + 0.03808304248049002, + -0.33594219806125813 + ], + [ + -0.3974517302751846, + 0.4680556811476128, + -0.6125775823484346, + -0.5770487854150471, + -0.6399818221697359 + ], + [ + -0.6405756468993841, + -0.65821443359875, + -0.1166924540077695, + 0.21767428398943345, + 0.3338702030112145 + ] + ] + }, + { + "activation": 1, + "biases": [ + -0.3628999139757816, + -0.42250374321781475 + ], + "cols": 2, + "rows": 5, + "weights": [ + [ + -0.31804841180355814, + -0.46839296834399485 + ], + [ + -4.2805091183479895, + 4.474227050298208 + ], + [ + 0.4747799633725462, + 0.4122869489228666 + ], + [ + 0.5463246485585964, + 0.04662010562772569 + ], + [ + 3.913863778074305, + -3.7226634012685995 + ] + ] + } + ] + } +} From 0dbeb72e5c57cc62ac3a1fe9bd85e1d6e603f099 Mon Sep 17 00:00:00 2001 From: James Bradbury Date: Wed, 26 Jan 2022 23:34:07 +0000 Subject: [PATCH 68/88] change release action --- .github/workflows/nightly.yaml | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/.github/workflows/nightly.yaml b/.github/workflows/nightly.yaml index 18f133e..5ffbd57 100644 --- a/.github/workflows/nightly.yaml +++ b/.github/workflows/nightly.yaml @@ -82,13 +82,11 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: package and upload - uses: svenstaro/upload-release-action@v2 + uses: softprops/action-gh-release@v1 with: - release_name: FluCoMa SuperCollider Nightly Build - prerelease: true + name: FluCoMa SuperCollider Nightly Release body: "This is a nightly build of the FluCoMa SuperCollider package. As such, be warned there may be bugs or other unexpected behaviour. The build hash is ${{ github.sha }}" - repo_token: ${{ secrets.GITHUB_TOKEN }} - file: FluCoMa-SC-*.zip - file_glob: true - tag: nightly - overwrite: true + files: FluCoMa-SC-*.zip + prerelease: true + tag_name: nightly + draft: false From 2785ec2dd5a9379b52452847613220e96db30644 Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Thu, 27 Jan 2022 16:35:17 -0500 Subject: [PATCH 69/88] changed first argument to kr to match the default for the restructured text 'schelp_descriptor.schelp' file in the 'flucoma-docs' repo this needs to happen or else SCDocs will throw a warning everytime the user opens this helpfile --- release-packaging/Classes/FluidStats.sc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/release-packaging/Classes/FluidStats.sc b/release-packaging/Classes/FluidStats.sc index 03f0e53..73b03db 100644 --- a/release-packaging/Classes/FluidStats.sc +++ b/release-packaging/Classes/FluidStats.sc @@ -2,8 +2,8 @@ FluidStats : MultiOutUGen { var Date: Mon, 31 Jan 2022 17:58:22 -0500 Subject: [PATCH 70/88] begin cleaning up of the examples folder --- .../Examples/GUI_examples/HPSS.scd | 100 ----- .../Examples/GUI_examples/NMF4.scd | 111 ------ .../GUI_examples/NoveltySegmentation.scd | 150 -------- .../Examples/GUI_examples/SineExtraction.scd | 107 ------ .../GUI_examples/TransientExtraction.scd | 103 ----- .../GUI_examples/TransientSegmentation.scd | 148 -------- .../fileiterator-2passes.scd | 45 --- .../buffer_compositing/fileiterator.scd | 40 -- .../0-demo-dataset-maker-utilities.scd | 169 --------- .../10a-weighted-MFCCs-comparison.scd | 235 ------------ .../11-compositing-datasets.scd | 355 ------------------ .../12-windowed-clustered-segmentation.scd | 230 ------------ .../13-massive-parallelisation-example.scd | 324 ---------------- .../1a-starting-1D-example.scd | 73 ---- .../2a-starting-1D-example2.scd | 67 ---- .../3a-classifier-example.scd | 64 ---- .../4-regressor-example.scd | 74 ---- ...malization-and-standardization-example.scd | 120 ------ .../8b-mlp-synth-control.scd | 101 ----- .../2-3Dscaling.scd | 161 -------- .../Examples/nmf/JiT-NMF-classifier.scd | 202 ---------- 21 files changed, 2979 deletions(-) delete mode 100755 release-packaging/Examples/GUI_examples/HPSS.scd delete mode 100755 release-packaging/Examples/GUI_examples/NMF4.scd delete mode 100755 release-packaging/Examples/GUI_examples/NoveltySegmentation.scd delete mode 100755 release-packaging/Examples/GUI_examples/SineExtraction.scd delete mode 100755 release-packaging/Examples/GUI_examples/TransientExtraction.scd delete mode 100755 release-packaging/Examples/GUI_examples/TransientSegmentation.scd delete mode 100644 release-packaging/Examples/buffer_compositing/fileiterator-2passes.scd delete mode 100644 release-packaging/Examples/buffer_compositing/fileiterator.scd delete mode 100644 release-packaging/Examples/dataset/0-demo-dataset-maker-utilities.scd delete mode 100644 release-packaging/Examples/dataset/1-learning examples/10a-weighted-MFCCs-comparison.scd delete mode 100644 release-packaging/Examples/dataset/1-learning examples/11-compositing-datasets.scd delete mode 100644 release-packaging/Examples/dataset/1-learning examples/12-windowed-clustered-segmentation.scd delete mode 100644 release-packaging/Examples/dataset/1-learning examples/13-massive-parallelisation-example.scd delete mode 100644 release-packaging/Examples/dataset/1-learning examples/1a-starting-1D-example.scd delete mode 100644 release-packaging/Examples/dataset/1-learning examples/2a-starting-1D-example2.scd delete mode 100644 release-packaging/Examples/dataset/1-learning examples/3a-classifier-example.scd delete mode 100644 release-packaging/Examples/dataset/1-learning examples/4-regressor-example.scd delete mode 100644 release-packaging/Examples/dataset/1-learning examples/5-normalization-and-standardization-example.scd delete mode 100644 release-packaging/Examples/dataset/1-learning examples/8b-mlp-synth-control.scd delete mode 100644 release-packaging/Examples/dataset/2-various other examples/scaling-dimension-as-weighting/2-3Dscaling.scd delete mode 100644 release-packaging/Examples/nmf/JiT-NMF-classifier.scd diff --git a/release-packaging/Examples/GUI_examples/HPSS.scd b/release-packaging/Examples/GUI_examples/HPSS.scd deleted file mode 100755 index f426b04..0000000 --- a/release-packaging/Examples/GUI_examples/HPSS.scd +++ /dev/null @@ -1,100 +0,0 @@ -( -var win, soundFileView, freqSscope,loadButton, loopButton; -var harmSlider, percSlider, mixSlider; -var soundFile, buffer; -var synthDef, synth; -var makeSynthDef; - -Font.default = Font("Monaco", 16); -buffer = Buffer.new; -win = Window.new("HPSS", Rect(200,200,800,450)).background_(Color.gray); - -soundFileView = SoundFileView.new(win) - .gridOn_(false) - .waveColors_([Color.white]); - -loadButton = Button(win, Rect(0, 0, 100, 100)) - .minHeight_(150) - .states_([["Load", Color.grey, Color.grey(0.8)]]); - -loopButton = Button(win, Rect(0, 0, 100, 100)) - .minHeight_(150) - .states_( - [["Play", Color.grey, Color.grey(0.8)], - ["Stop", Color.grey, Color.grey(0.2)]] - ); - -harmSlider = Slider(win, Rect(0, 0, 100, 10)).value_(0.5); -percSlider = Slider(win, Rect(0, 0, 100, 10)).value_(0.5); -mixSlider = Slider(win, Rect(0, 0, 100, 10)).value_(0.5); -freqSscope = FreqScopeView(win, server:Server.default); -freqSscope.active_(true); - -loadButton.action_{ - FileDialog({ |path| - soundFile = SoundFile.new; - soundFile.openRead(path[0]); - buffer = Buffer.read(Server.default, path[0]); - soundFileView.soundfile = soundFile; - soundFileView.read(0, soundFile.numFrames); - }); -}; - -loopButton.action_{|but| - if(but.value == 1, { - synth = Synth(\hpssExtractionDemo, [\buffer, buffer.bufnum]); - mixSlider.action.value(mixSlider); - },{ - synth.free; - }); -}; - - -mixSlider.action_{|slider| - synth.set(\bal, ControlSpec(0, 1).map(slider.value)); -}; - - - -makeSynthDef = { - -synthDef = SynthDef(\hpssExtractionDemo, - {|buffer, bal = 0.5| - var player, fhpss, mix; - var harmSize = (2 * ControlSpec(1, 100, step:1).map(harmSlider.value)) - 1; - var percSize = (2 * ControlSpec(1,100, step:1).map(percSlider.value)) - 1; - player = PlayBuf.ar(1, buffer, loop:1); - fhpss = FluidHPSS.ar(in: player, harmFilterSize: harmSize, percFilterSize: percSize, maskingMode: 1, harmThreshFreq1: 0.1, harmThreshAmp1: 0, harmThreshFreq2: 0.5, harmThreshAmp2: 0, percThreshFreq1: 0.1, percThreshAmp1: 0, percThreshFreq2: 0.5, percThreshAmp2: 0, windowSize: 1024, hopSize: 256, fftSize: -1); - - mix =(bal * fhpss[0]) + ((1 - bal) * fhpss[1]); - Out.ar(0,Pan2.ar(mix)); - } -).add; - -}; - -win.layout_( - VLayout( - [ - HLayout( - [loadButton, stretch:1], - [soundFileView, stretch:5] - ), stretch:2 - ], - [ - HLayout( - [loopButton, stretch:1], - [VLayout( - HLayout(StaticText(win).string_("H Size ").minWidth_(100), harmSlider), - HLayout(StaticText(win).string_("P Size").minWidth_(100), percSlider), - HLayout(StaticText(win).string_("Mix").minWidth_(100), mixSlider) - ), stretch:5] - ), stretch:2 - ], - [freqSscope, stretch:2] - ) -); - -makeSynthDef.value; -win.front; -) \ No newline at end of file diff --git a/release-packaging/Examples/GUI_examples/NMF4.scd b/release-packaging/Examples/GUI_examples/NMF4.scd deleted file mode 100755 index cdd7833..0000000 --- a/release-packaging/Examples/GUI_examples/NMF4.scd +++ /dev/null @@ -1,111 +0,0 @@ -( -var server; -var win, soundFileView, loadButton, loopButton; -var sliders; -var soundFile, audioBuffer, destBuffer; -var synthDef, synth; -var sl1, sl2, sl3, sl4; - -server = Server.default; -Font.default = Font("Monaco", 16); - -audioBuffer = Buffer.new; -destBuffer = Buffer.new; - - -synthDef = SynthDef(\nmfDemo,{|bufnum, a1, a2, a3, a4| - var p = PlayBuf.ar(4, bufnum, loop:1); - var mix = (a1*p[0]) + (a2 * p[1]) + (a3*p[2]) + (a4*p[3]); - Out.ar(0, Pan2.ar(mix)); -}).add; - - - -win = Window.new("NMF4", - Rect(200,200,800,450)).background_(Color.gray); - -soundFileView = SoundFileView.new(win) - .gridOn_(false) - .waveColors_([Color.white]); - -loadButton = Button(win, Rect(0, 0, 100, 100)) - .minHeight_(150) - .states_([["Load", Color.grey, Color.grey(0.8)], - ["Wait", Color.grey, Color.grey(0.2)]] - ); - -loopButton = Button(win, Rect(0, 0, 100, 100)) - .minHeight_(150) - .states_( - [["Play", Color.grey, Color.grey(0.8)], - ["Stop", Color.grey, Color.grey(0.2)]] - ); - -sliders = Array.fill(4, {|i| - var s = Slider(win, Rect(0, 0, 100, 10)).value_(0.5); - s.action_{ - var sym = ("a"++(i+1)).asSymbol; - synth.set(sym, ControlSpec(0, 1).map(s.value)); - } -}); - - -loadButton.action_{ - FileDialog({ |path| - soundFile = SoundFile.new; - soundFile.openRead(path[0]); - soundFileView.soundfile = soundFile; - soundFileView.read(0, soundFile.numFrames); - Routine{ - audioBuffer = Buffer.read(server, path[0]); - server.sync; - FluidBufNMF.process(server, - audioBuffer.bufnum,resynth:destBuffer.bufnum, components:4 - ); - server.sync; - destBuffer.query; - server.sync; - {loadButton.value_(0)}.defer; - }.play; - }); -}; - -loopButton.action_{|but| - var a1 = ControlSpec(0, 1).map(sliders[0].value); - var a2 = ControlSpec(0, 1).map(sliders[1].value); - var a3 = ControlSpec(0, 1).map(sliders[2].value); - var a4 = ControlSpec(0, 1).map(sliders[3].value); - - if(but.value == 1, { - synth = Synth(\nmfDemo, - [\bufnum, destBuffer.bufnum, \a1, a1, \a2, a2, \a3, a3, \a4, a4]); - },{ - synth.free; - }); -}; - - -win.layout_( - VLayout( - [ - HLayout( - [loadButton, stretch:1], - [soundFileView, stretch:5] - ), stretch:2 - ], - [ - HLayout( - [loopButton, stretch:1], - [VLayout( - HLayout(StaticText(win).string_("source 1 ").minWidth_(100), sliders[0]), - HLayout(StaticText(win).string_("source 2 ").minWidth_(100), sliders[1]), - HLayout(StaticText(win).string_("source 3 ").minWidth_(100), sliders[2]), - HLayout(StaticText(win).string_("source 4 ").minWidth_(100), sliders[3]) - ), stretch:5] - ), stretch:2 - ] - ) -); - -win.front; -) diff --git a/release-packaging/Examples/GUI_examples/NoveltySegmentation.scd b/release-packaging/Examples/GUI_examples/NoveltySegmentation.scd deleted file mode 100755 index f8469e8..0000000 --- a/release-packaging/Examples/GUI_examples/NoveltySegmentation.scd +++ /dev/null @@ -1,150 +0,0 @@ -( -var server; -var win, soundFileView,loadButton, processButton; -var ksSlider, thSlider; -var soundFile, audioBuffer, slicesBuffer, slicesArray; -var addSelections, playFunc, stopFunc; -var synthDef, synth; -var synths; - -var playing, currentSelection, colors, prevColor; -var qwerty = "1234567890qwertyuiopasdfghjklzxcvbnm"; -playing = Array.fill(qwerty.size, {false}); -server = Server.default; -Font.default = Font("Monaco", 16); - -audioBuffer = Buffer.new; -slicesBuffer = Buffer.new; - -colors = Array.fill(qwerty.size, {Color.rand}); -synths = Array.fill(qwerty.size, {nil}); - -synthDef = SynthDef(\noveltySegDemo,{|buf, start, end| - Out.ar(0, BufRd.ar(1, buf, Phasor.ar(1, 1, start, end))); -}).add; - -playFunc = {|index| - var dur; - currentSelection = index; - if(playing[index].not){ - synths[index] = Synth(\noveltySegDemo, - [\buf, audioBuffer.bufnum, - \start, slicesArray[index], - \end, slicesArray[index+1] - ]); - playing[index] = true; - }; - soundFileView.setSelectionColor(currentSelection, Color.white); -}; - -stopFunc = {|index| synths[index].free; playing[index] = false; - soundFileView.setSelectionColor( - index, colors[index] - ); -}; - - -win = Window.new("NoveltySegmentation", - Rect(200,200,800,450)).background_(Color.gray); - -win.view.keyDownAction_{|view, char, modifiers, unicode, keycode, key| - var num = qwerty.indexOf(char); - if (num.notNil&& slicesArray.notNil){ - playFunc.value(num); - } -}; - -win.view.keyUpAction_{|view, char| - var num = qwerty.indexOf(char); - if(num.notNil){ - stopFunc.value(num); - } -}; - -soundFileView = SoundFileView.new(win) - .gridOn_(false) - .waveColors_([Color.white]); - -loadButton = Button(win, Rect(0, 0, 100, 100)) - .minHeight_(150) - .states_([["Load", Color.grey, Color.grey(0.8)]]); - -processButton = Button(win, Rect(0, 0, 100, 100)) - .minHeight_(150) - .states_( - [["Process", Color.grey, Color.grey(0.8)], - ["Wait", Color.grey, Color.grey(0.2)]] - ); - -ksSlider = Slider(win, Rect(0, 0, 100, 10)).value_(0.5); -thSlider = Slider(win, Rect(0, 0, 100, 10)).value_(0.5); - - -loadButton.action_{ - FileDialog({ |path| - soundFile = SoundFile.new; - soundFile.openRead(path[0]); - audioBuffer = Buffer.read(server, path[0]); - soundFileView.soundfile = soundFile; - soundFileView.read(0, soundFile.numFrames); - }); -}; - -processButton.action_{|but| - var ks = 2*(ControlSpec(2, 100, step:1).map(ksSlider.value)) - 1; - var th = ControlSpec(0, 1).map(thSlider.value); - if(but.value == 1, { - Routine{ - FluidBufNoveltySlice.process( - server, - source:audioBuffer.bufnum, - indices:slicesBuffer.bufnum, - kernelSize:ks, - threshold: th - ); - server.sync; - slicesBuffer.loadToFloatArray(action:{|arr| - slicesArray = arr; - { processButton.value_(0); - addSelections.value(slicesArray) - }.defer; - - }); - }.play; - }); -}; - - - -addSelections = {|array| - var nSegments = min(array.size, soundFileView.selections.size) - 1; - soundFileView.selections.do({|sel, i| soundFileView.selectNone(i)}); - nSegments.do({|i| - soundFileView.setSelectionStart(i, array[i]); - soundFileView.setSelectionSize(i, array[i+1] - array[i]); - soundFileView.setSelectionColor(i, colors[i]); - }); -}; - -win.layout_( - VLayout( - [ - HLayout( - [loadButton, stretch:1], - [soundFileView, stretch:5] - ), stretch:2 - ], - [ - HLayout( - [processButton, stretch:1], - [VLayout( - HLayout(StaticText(win).string_("Kernel ").minWidth_(100), ksSlider), - HLayout(StaticText(win).string_(" Threshold").minWidth_(100), thSlider) - ), stretch:5] - ), stretch:2 - ] - ) -); - -win.front; -) diff --git a/release-packaging/Examples/GUI_examples/SineExtraction.scd b/release-packaging/Examples/GUI_examples/SineExtraction.scd deleted file mode 100755 index 9903797..0000000 --- a/release-packaging/Examples/GUI_examples/SineExtraction.scd +++ /dev/null @@ -1,107 +0,0 @@ -( -var win, soundFileView, freqSscope,loadButton, loopButton; -var thresholdSlider, lenSlider, mixSlider; -var soundFile, buffer; -var synthDef, synth; - -Font.default = Font("Monaco", 16); -buffer = Buffer.new; -win = Window.new("SineExtraction", - Rect(200,200,800,450)).background_(Color.gray); - -soundFileView = SoundFileView.new(win) - .gridOn_(false) - .waveColors_([Color.white]); - -loadButton = Button(win, Rect(0, 0, 100, 100)) - .minHeight_(150) - .states_([["Load", Color.grey, Color.grey(0.8)]]); - -loopButton = Button(win, Rect(0, 0, 100, 100)) - .minHeight_(150) - .states_( - [["Play", Color.grey, Color.grey(0.8)], - ["Stop", Color.grey, Color.grey(0.2)]] - ); - -thresholdSlider = Slider(win, Rect(0, 0, 100, 10)).value_(0.5); -lenSlider = Slider(win, Rect(0, 0, 100, 10)).value_(0.5); -mixSlider = Slider(win, Rect(0, 0, 100, 10)).value_(0.5); -freqSscope = FreqScopeView(win, server:Server.default); -freqSscope.active_(true); - -loadButton.action_{ - FileDialog({ |path| - soundFile = SoundFile.new; - soundFile.openRead(path[0]); - buffer = Buffer.read(Server.default, path[0]); - soundFileView.soundfile = soundFile; - soundFileView.read(0, soundFile.numFrames); - }); -}; - -loopButton.action_{|but| - if(but.value == 1, { - synth = Synth(\sineExtractionDemo, [\buffer, buffer.bufnum]); - mixSlider.action.value(mixSlider); - thresholdSlider.action.value(thresholdSlider); - lenSlider.action.value(lenSlider); - },{ - synth.free; - }); -}; - - -mixSlider.action_{|slider| - synth.set(\bal, ControlSpec(0, 1).map(slider.value)); -}; - - -thresholdSlider.action_{|slider| - synth.set(\threshold, ControlSpec(-144, 0).map(slider.value)); -}; - - -lenSlider.action_{|slider| - synth.set(\minLength, ControlSpec(0, 30).map(slider.value)); -}; - - -synthDef = SynthDef(\sineExtractionDemo, - {|buffer, threshold = 0.9, minLength = 15, bal = 0.5| - var player, fse, mix; - player = PlayBuf.ar(1, buffer, loop:1); - fse = FluidSines.ar(in: player, bandwidth: 76, - detectionThreshold: threshold, minTrackLen: minLength, - windowSize: 2048, - hopSize: 512, fftSize: 8192 - ); - mix =(bal * fse[0]) + ((1 - bal) * fse[1]); - Out.ar(0,Pan2.ar(mix)); - } -).add; - -win.layout_( - VLayout( - [ - HLayout( - [loadButton, stretch:1], - [soundFileView, stretch:5] - ), stretch:2 - ], - [ - HLayout( - [loopButton, stretch:1], - [VLayout( - HLayout(StaticText(win).string_("Threshold ").minWidth_(100), thresholdSlider), - HLayout(StaticText(win).string_("Min Length").minWidth_(100), lenSlider), - HLayout(StaticText(win).string_("Mix").minWidth_(100), mixSlider) - ), stretch:5] - ), stretch:2 - ], - [freqSscope, stretch:2] - ) -); - -win.front; -) diff --git a/release-packaging/Examples/GUI_examples/TransientExtraction.scd b/release-packaging/Examples/GUI_examples/TransientExtraction.scd deleted file mode 100755 index 35b882d..0000000 --- a/release-packaging/Examples/GUI_examples/TransientExtraction.scd +++ /dev/null @@ -1,103 +0,0 @@ -( -var win, soundFileView, freqSscope,loadButton, loopButton; -var fwSlider, bwSlider, mixSlider; -var soundFile, buffer; -var synthDef, synth; - -Font.default = Font("Monaco", 16); -buffer = Buffer.new; -win = Window.new("TransientExtraction", - Rect(200,200,800,450)).background_(Color.gray); - -soundFileView = SoundFileView.new(win) - .gridOn_(false) - .waveColors_([Color.white]); - -loadButton = Button(win, Rect(0, 0, 100, 100)) - .minHeight_(150) - .states_([["Load", Color.grey, Color.grey(0.8)]]); - -loopButton = Button(win, Rect(0, 0, 100, 100)) - .minHeight_(150) - .states_( - [["Play", Color.grey, Color.grey(0.8)], - ["Stop", Color.grey, Color.grey(0.2)]] - ); - -fwSlider = Slider(win, Rect(0, 0, 100, 10)).value_(0.5); -bwSlider = Slider(win, Rect(0, 0, 100, 10)).value_(0.5); -mixSlider = Slider(win, Rect(0, 0, 100, 10)).value_(0.5); -freqSscope = FreqScopeView(win, server:Server.default); -freqSscope.active_(true); - -loadButton.action_{ - FileDialog({ |path| - soundFile = SoundFile.new; - soundFile.openRead(path[0]); - buffer = Buffer.read(Server.default, path[0]); - soundFileView.soundfile = soundFile; - soundFileView.read(0, soundFile.numFrames); - }); -}; - -loopButton.action_{|but| - if(but.value == 1, { - synth = Synth(\transientExtractionDemo, [\buffer, buffer.bufnum]); - mixSlider.action.value(mixSlider); - fwSlider.action.value(fwSlider); - bwSlider.action.value(bwSlider); - },{ - synth.free; - }); -}; - - -mixSlider.action_{|slider| - synth.set(\bal, ControlSpec(0, 1).map(slider.value)); -}; - - -fwSlider.action_{|slider| - synth.set(\fw, ControlSpec(0.0001, 3, \exp).map(slider.value)); -}; - - -bwSlider.action_{|slider| - synth.set(\bw, ControlSpec(0.0001, 3, \exp).map(slider.value)); -}; - - -synthDef = SynthDef(\transientExtractionDemo, - {|buffer, fw = 3, bw = 1, bal = 0.5| - var player, fte, mix; - player = PlayBuf.ar(1, buffer, loop:1); - fte = FluidTransients.ar(in: player, threshFwd:fw, threshBack:bw, clumpLength:256); - mix =(bal * fte[0]) + ((1 - bal) * fte[1]); - Out.ar(0,Pan2.ar(mix)); - } -).add; - -win.layout_( - VLayout( - [ - HLayout( - [loadButton, stretch:1], - [soundFileView, stretch:5] - ), stretch:2 - ], - [ - HLayout( - [loopButton, stretch:1], - [VLayout( - HLayout(StaticText(win).string_("Forward Th ").minWidth_(100), fwSlider), - HLayout(StaticText(win).string_("Backward Th").minWidth_(100), bwSlider), - HLayout(StaticText(win).string_("Mix").minWidth_(100), mixSlider) - ), stretch:5] - ), stretch:2 - ], - [freqSscope, stretch:2] - ) -); - -win.front; -) diff --git a/release-packaging/Examples/GUI_examples/TransientSegmentation.scd b/release-packaging/Examples/GUI_examples/TransientSegmentation.scd deleted file mode 100755 index b7b69f5..0000000 --- a/release-packaging/Examples/GUI_examples/TransientSegmentation.scd +++ /dev/null @@ -1,148 +0,0 @@ -( -var server; -var win, soundFileView,loadButton, processButton; -var fwSlider, bwSlider, debounceSlider; -var soundFile, audioBuffer, slicesBuffer, slicesArray; -var addSelections, playFunc, stopFunc; -var synthDef, synth; - -var playing, currentSelection, colors, prevColor; -var qwerty = "1234567890qwertyuiopasdfghjklzxcvbnm"; - -playing = false; -server = Server.default; -Font.default = Font("Monaco", 16); - -audioBuffer = Buffer.new; -slicesBuffer = Buffer.new; - -colors = Array.fill(64, {Color.rand}); - -synthDef = SynthDef(\transientSegDemo,{|buf, start, end| - Out.ar(0, BufRd.ar(1, buf, Phasor.ar(1, 1, start, end))); -}).add; - -playFunc = {|index| - var dur; - currentSelection = index; - if(playing.not){ - synth = Synth(\transientSegDemo, - [\buf, audioBuffer.bufnum, - \start, slicesArray[index], - \end, slicesArray[index+1] - ]); - playing = true; - }; - soundFileView.setSelectionColor(currentSelection, Color.white); -}; - -stopFunc = {synth.free; playing = false; - soundFileView.setSelectionColor(currentSelection, colors[currentSelection]); - -}; - - -win = Window.new("TransientSegmentation", - Rect(200,200,800,450)).background_(Color.gray); - -win.view.keyDownAction_{|view, char, modifiers, unicode, keycode, key| - var num = qwerty.indexOf(char); - if(num.notNil && slicesArray.notNil){ - playFunc.value(num); - } -}; - -win.view.keyUpAction_{stopFunc.value;}; - - - -soundFileView = SoundFileView.new(win) - .gridOn_(false) - .waveColors_([Color.white]); - -loadButton = Button(win, Rect(0, 0, 100, 100)) - .minHeight_(150) - .states_([["Load", Color.grey, Color.grey(0.8)]]); - -processButton = Button(win, Rect(0, 0, 100, 100)) - .minHeight_(150) - .states_( - [["Process", Color.grey, Color.grey(0.8)], - ["Wait", Color.grey, Color.grey(0.2)]] - ); - -fwSlider = Slider(win, Rect(0, 0, 100, 10)).value_(0.5); -bwSlider = Slider(win, Rect(0, 0, 100, 10)).value_(0.5); -debounceSlider = Slider(win, Rect(0, 0, 100, 10)).value_(0.5); - -loadButton.action_{ - FileDialog({ |path| - soundFile = SoundFile.new; - soundFile.openRead(path[0]); - audioBuffer = Buffer.read(server, path[0]); - soundFileView.soundfile = soundFile; - soundFileView.read(0, soundFile.numFrames); - }); -}; - -processButton.action_{|but| - var fw = ControlSpec(0.0001, 3, \exp).map(fwSlider.value); - var bw = ControlSpec(0.0001, 3, \exp).map(bwSlider.value); - var db = ControlSpec(1, 4410).map(debounceSlider.value); - if(but.value == 1, { - Routine{ - FluidBufTransientSlice.process( - server, - source:audioBuffer.bufnum, - indices:slicesBuffer.bufnum, - threshFwd: fw, - threshBack: bw, - clumpLength:db - ); - server.sync; - slicesBuffer.loadToFloatArray(action:{|arr| - slicesArray = arr; - { processButton.value_(0); - addSelections.value(slicesArray) - }.defer; - - }); - }.play; - }); -}; - - - -addSelections = {|array| - var nSegments = min(array.size, soundFileView.selections.size) - 1; - soundFileView.selections.do({|sel, i| soundFileView.selectNone(i)}); - nSegments.do({|i| - soundFileView.setSelectionStart(i, array[i]); - soundFileView.setSelectionSize(i, array[i+1] - array[i]); - soundFileView.setSelectionColor(i, colors[i]); - }); -}; - -win.layout_( - VLayout( - [ - HLayout( - [loadButton, stretch:1], - [soundFileView, stretch:5] - ), stretch:2 - ], - [ - HLayout( - [processButton, stretch:1], - [VLayout( - HLayout(StaticText(win).string_("Forward Th ").minWidth_(100), fwSlider), - HLayout(StaticText(win).string_("Backward Th").minWidth_(100), bwSlider), - HLayout(StaticText(win).string_("Debounce").minWidth_(100), debounceSlider) - ), stretch:5] - ), stretch:2 - ] - ) -); - -win.front; -) diff --git a/release-packaging/Examples/buffer_compositing/fileiterator-2passes.scd b/release-packaging/Examples/buffer_compositing/fileiterator-2passes.scd deleted file mode 100644 index 502518c..0000000 --- a/release-packaging/Examples/buffer_compositing/fileiterator-2passes.scd +++ /dev/null @@ -1,45 +0,0 @@ -//this patch requests a folder and will iterate through all accepted audiofiles and concatenate them in the destination buffer. It will also yield an array with the numFrame where files start in the new buffer. - -( -var fileNames; -c = []; - -FileDialog.new({|selection| - var total, totaldur = 0, maxchans = 0; - t = Main.elapsedTime; - fileNames = PathName.new(selection[0]) - .entries - .select({|f| - [\wav, \WAV, \mp3,\aif].includes(f.extension.asSymbol);}); - total = fileNames.size(); - fileNames.do({arg fp; - SoundFile.use(fp.asAbsolutePath , { - arg file; - var dur = file.numFrames; - c = c.add(totaldur); - totaldur = totaldur + dur; - maxchans = maxchans.max(file.numChannels); - }); - }); - Routine{ - b = Buffer.alloc(s,totaldur,maxchans); - s.sync; - fileNames.do{|f, i| - f.postln; - ("Loading"+(i+1)+"of"+total).postln; - Buffer.read(s, f.asAbsolutePath,action:{arg tempbuf; FluidBufCompose.process(s,tempbuf,destination:b,destStartFrame:c[i],action:{tempbuf.free});}); - }; - s.sync; - ("loading buffers done in" + (Main.elapsedTime - t).round(0.1) + "seconds.").postln; - }.play; -}, fileMode:2); -) - -b.plot -c.postln -b.play - - -{PlayBuf.ar(1,b.bufnum,startPos:c[15])}.play - -Buffer.freeAll \ No newline at end of file diff --git a/release-packaging/Examples/buffer_compositing/fileiterator.scd b/release-packaging/Examples/buffer_compositing/fileiterator.scd deleted file mode 100644 index 7e0f32a..0000000 --- a/release-packaging/Examples/buffer_compositing/fileiterator.scd +++ /dev/null @@ -1,40 +0,0 @@ -//destination buffer -( -b = Buffer.new(); -c = Array.new(); -) - -//this patch requests a folder and will iterate through all accepted audiofiles and concatenate them in the destination buffer. It will also yield an array with the numFrame where files start in the new buffer. - -( -var tempbuf,dest=0, fileNames; - -FileDialog.new({|selection| - var total; - t = Main.elapsedTime; - fileNames = PathName.new(selection[0]) - .entries - .select({|f| - [\wav, \WAV, \mp3,\aif].includes(f.extension.asSymbol);}); - total = fileNames.size(); - Routine{ - fileNames.do{|f, i| - f.postln; - ("Loading"+(i+1)+"of"+total).postln; - tempbuf = Buffer.read(s,f.asAbsolutePath); - s.sync; - c = c.add(dest); - FluidBufCompose.process(s,tempbuf,destStartFrame:dest,destination:b); - s.sync; - dest = b.numFrames; - }; - ("loading buffers done in" + (Main.elapsedTime - t).round(0.1) + "seconds.").postln; - }.play; -}, fileMode:2); -) - -b.plot -c.postln -b.play - -{PlayBuf.ar(1,b.bufnum,startPos:c[15])}.play diff --git a/release-packaging/Examples/dataset/0-demo-dataset-maker-utilities.scd b/release-packaging/Examples/dataset/0-demo-dataset-maker-utilities.scd deleted file mode 100644 index e636297..0000000 --- a/release-packaging/Examples/dataset/0-demo-dataset-maker-utilities.scd +++ /dev/null @@ -1,169 +0,0 @@ -// define a few processes -( -~ds = FluidDataSet(s);//no name needs to be provided -//define as many buffers as we have parallel voices/threads in the extractor processing (default is 4) -~mfccbuf = 4.collect{Buffer.new}; -~statsbuf = 4.collect{Buffer.new}; -~flatbuf = 4.collect{Buffer.new}; - -// here we instantiate a loader which creates a single large buffer with a dictionary of what was included in it -// ~loader = FluidLoadFolder("/Volumes/machins/projets/newsfeed/sons/smallnum/"); -~loader = FluidLoadFolder(File.realpath(FluidLoadFolder.class.filenameSymbol).dirname +/+ "../AudioFiles"); - -// here we instantiate a further slicing step if needs be, which iterate through all the items of the FluidLoadFolder and slice the slices with the declared function. -~slicer = FluidSliceCorpus({ |src,start,num,dest| - FluidBufOnsetSlice.kr(src, start, num, metric: 9, minSliceLength: 17, indices:dest, threshold:0.7, blocking: 1) -}); - -// here we instantiate a process of description and dataset writing, which will run each slice of the previous slice and write the entry. Note the chain of Done.kr triggers. -~extractor = FluidProcessSlices({|src,start,num,data| - var mfcc, stats, writer, flatten,mfccBuf, statsBuf, flatBuf, identifier, voice; - identifier = data.key; - voice = data.value[\voice]; - mfcc = FluidBufMFCC.kr(src, startFrame:start, numFrames:num, numChans:1, features:~mfccbuf[voice], trig:1, blocking: 1); - stats = FluidBufStats.kr(~mfccbuf[voice], stats:~statsbuf[voice], trig:Done.kr(mfcc), blocking: 1); - flatten = FluidBufFlatten.kr(~statsbuf[voice], destination:~flatbuf[voice], trig:Done.kr(stats), blocking: 1); - writer = FluidDataSetWr.kr(~ds, identifier, nil, ~flatbuf[voice], trig: Done.kr(flatten), blocking: 1) -}); -) - - -////////////////////////////////////////////////////////////////////////// -//loading process - -// just run the loader -( -t = Main.elapsedTime; -~loader.play(s,action:{(Main.elapsedTime - t).postln;"Loaded".postln;}); -) - -//load and play to test if it is that quick - it is! -( -t = Main.elapsedTime; -~loader.play(s,action:{(Main.elapsedTime - t).postln;"Loaded".postln;{var start, stop; PlayBuf.ar(~loader.index[~loader.index.keys.asArray.last.asSymbol][\numchans],~loader.buffer,startPos: ~loader.index[~loader.index.keys.asArray.last.asSymbol][\bounds][0])}.play;}); -) - -//ref to the buffer -~loader.buffer -//size of item -~loader.index.keys.size -//a way to get all keys info sorted by time -~stuff = Array.newFrom(~loader.index.keys).sort.collect{|x|~loader.index[x][\bounds]}.sort{|a,b| a[0]u).postln; - } -} -) - -// or write to file a human readable, sorted version of the database after sorting it by index. -( -a = File(Platform.defaultTempDir ++ "sc-loading.json","w"); -~stuffsorted = Array.newFrom(~loader.index.keys).sort{|a,b| ~loader.index[a][\bounds][0]< ~loader.index[b][\bounds][0]}.do{|k| - v = ~loader.index[k]; - a.write(k.asString ++ "\n"); - v.pairsDo{|l,u,j| - a.write("\t\t\t" ++ (l->u).asString ++ "\n"); - } -}; -a.close; -) - -////////////////////////////////////////////////////////////////////////// -// slicing process - -// just run the slicer -( -t = Main.elapsedTime; -~slicer.play(s,~loader.buffer,~loader.index,action:{(Main.elapsedTime - t).postln;"Slicing done".postln}); -) - -//slice count -~slicer.index.keys.size - -// iterate -( -~slicer.index.pairsDo{ |k,v,i| - k.postln; - v.pairsDo{|l,u,j| - "\t\t\t".post; - (l->u).postln; - } -} -) - -///// write to file in human readable format, in order. -( -a = File(Platform.defaultTempDir ++ "sc-spliting.json","w"); -~stuffsorted = Array.newFrom(~slicer.index.keys).sort{|a,b| ~slicer.index[a][\bounds][0]< ~slicer.index[b][\bounds][0]}.do{|k| - v = ~slicer.index[k]; - a.write(k.asString ++ "\n"); - v.pairsDo{|l,u,j| - a.write("\t\t\t" ++ (l->u).asString ++ "\n"); - } -}; -a.close; -) - -////////////////////////////////////////////////////////////////////////// -// description process - -// just run the descriptor extractor -( -t = Main.elapsedTime; -~extractor.play(s,~loader.buffer,~slicer.index,action:{(Main.elapsedTime - t).postln;"Features done".postln}); -) - -// write the dataset to file with the native JSON -~ds.write(Platform.defaultTempDir ++ "sc-dataset.json") - -// open the file in your default json editor -(Platform.defaultTempDir ++ "sc-dataset.json").openOS - -////////////////////////////////////////////////////////////////////////// -// manipulating and querying the data - -//building a tree -~tree = FluidKDTree(s); -~tree.fit(~ds,{"Fitted".postln;}); - -//retrieve a sound to match -~targetsound = Buffer(s); -~targetname = ~slicer.index.keys.asArray.scramble[0].asSymbol; -#a,b = ~slicer.index[~targetname][\bounds]; -FluidBufCompose.process(s,~loader.buffer,a,(b-a),numChans: 1, destination: ~targetsound,action: {~targetsound.play;}) - -//describe the sound to match -( -{ - var mfcc, stats, flatten; - mfcc = FluidBufMFCC.kr(~targetsound,features:~mfccbuf[0],trig:1); - stats = FluidBufStats.kr(~mfccbuf[0],stats:~statsbuf[0],trig:Done.kr(mfcc)); - flatten = FluidBufFlatten.kr(~statsbuf[0],destination:~flatbuf[0],trig:Done.kr(stats)); - FreeSelfWhenDone.kr(flatten); -}.play; -) - -//find its nearest neighbours -~friends = Array; -~tree.numNeighbours = 5; -~tree.kNearest(~flatbuf[0],{|x| ~friends = x.postln;}) - -// play them in a row -( -Routine{ -5.do{|i| - var dur; - v = ~slicer.index[~friends[i].asSymbol]; - dur = (v[\bounds][1] - v[\bounds][0]) / s.sampleRate; - {BufRd.ar(v[\numchans],~loader.buffer,Line.ar(v[\bounds][0],v[\bounds][1],dur, doneAction: 2))}.play; - ~friends[i].postln; - dur.wait; - }; -}.play; -) diff --git a/release-packaging/Examples/dataset/1-learning examples/10a-weighted-MFCCs-comparison.scd b/release-packaging/Examples/dataset/1-learning examples/10a-weighted-MFCCs-comparison.scd deleted file mode 100644 index c14a7b6..0000000 --- a/release-packaging/Examples/dataset/1-learning examples/10a-weighted-MFCCs-comparison.scd +++ /dev/null @@ -1,235 +0,0 @@ -// define a few processes -( -~ds = FluidDataSet(s); -~dsW = FluidDataSet(s); -~dsL = FluidDataSet(s); -//define as many buffers as we have parallel voices/threads in the extractor processing (default is 4) -~loudbuf = 4.collect{Buffer.new}; -~weightbuf = 4.collect{Buffer.new}; -~mfccbuf = 4.collect{Buffer.new}; -~statsbuf = 4.collect{Buffer.new}; -~flatbuf = 4.collect{Buffer.new}; - -// here we instantiate a loader as per example 0 -~loader = FluidLoadFolder(File.realpath(FluidBufMFCC.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/"); - -// here we instantiate a further slicing step as per example 0 -~slicer = FluidSliceCorpus({ |src,start,num,dest| - FluidBufOnsetSlice.kr(src,start,num,metric: 9, minSliceLength: 17, indices:dest, threshold:0.2,blocking: 1) -}); - -// here we instantiate a process of description and dataset writing, as per example 0 -~extractor = FluidProcessSlices({|src,start,num,data| - var identifier, voice, mfcc, stats, flatten; - identifier = data.key; - voice = data.value[\voice]; - mfcc = FluidBufMFCC.kr(src, startFrame:start, numFrames:num, numChans:1, features:~mfccbuf[voice], padding: 2, trig:1, blocking: 1); - stats = FluidBufStats.kr(~mfccbuf[voice], stats:~statsbuf[voice], numDerivs: 1, trig:Done.kr(mfcc), blocking: 1); - flatten = FluidBufFlatten.kr(~statsbuf[voice], destination:~flatbuf[voice], trig:Done.kr(stats), blocking: 1); - FluidDataSetWr.kr(~ds, identifier, nil, ~flatbuf[voice], Done.kr(flatten), blocking: 1); -}); - -// here we make another processor, this time with doing an amplitude weighing -~extractorW = FluidProcessSlices({|src,start,num,data| - var identifier, voice, loud, weights, mfcc, stats, flatten; - identifier = data.key; - voice = data.value[\voice]; - mfcc = FluidBufMFCC.kr(src, startFrame:start, numFrames:num, numChans:1, features:~mfccbuf[voice], padding: 2, trig:1, blocking: 1); - loud = FluidBufLoudness.kr(src, startFrame:start, numFrames:num, numChans:1, features:~loudbuf[voice], padding: 2, trig:Done.kr(mfcc), blocking: 1); - weights = FluidBufScale.kr(~loudbuf[voice], numChans: 1, destination: ~weightbuf[voice], inputLow: -70, inputHigh: 0, trig: Done.kr(loud), blocking: 1); - stats = FluidBufStats.kr(~mfccbuf[voice], stats:~statsbuf[voice], numDerivs: 1, weights: ~weightbuf[voice], trig:Done.kr(weights), blocking: 1); - flatten = FluidBufFlatten.kr(~statsbuf[voice], destination:~flatbuf[voice], trig:Done.kr(stats), blocking: 1); - FluidDataSetWr.kr(~dsW, identifier, nil, ~flatbuf[voice], Done.kr(flatten), blocking: 1); -}); - -// and here we make a little processor for loudness if we want to poke at it -~extractorL = FluidProcessSlices({|src,start,num,data| - var identifier, voice, loud, stats, flatten; - identifier = data.key; - voice = data.value[\voice]; - loud = FluidBufLoudness.kr(src, startFrame:start, numFrames:num, numChans:1, features:~mfccbuf[voice], trig:1, padding: 2, blocking: 1); - stats = FluidBufStats.kr(~mfccbuf[voice], stats:~statsbuf[voice], numDerivs: 1, trig:Done.kr(loud), blocking: 1); - flatten = FluidBufFlatten.kr(~statsbuf[voice], destination:~flatbuf[voice], trig:Done.kr(stats), blocking: 1); - FluidDataSetWr.kr(~dsL, identifier, nil, ~flatbuf[voice], Done.kr(flatten), blocking: 1); -}); -) - -////////////////////////////////////////////////////////////////////////// -//loading process - -//load and play to test if it is that quick - it is! -( -t = Main.elapsedTime; -~loader.play(s,action:{(Main.elapsedTime - t).postln;"Loaded".postln;{var start, stop; PlayBuf.ar(~loader.index[~loader.index.keys.asArray.last.asSymbol][\numchans],~loader.buffer,startPos: ~loader.index[~loader.index.keys.asArray.last.asSymbol][\bounds][0])}.play;}); -) - -////////////////////////////////////////////////////////////////////////// -// slicing process - -// run the slicer -( -t = Main.elapsedTime; -~slicer.play(s,~loader.buffer,~loader.index,action:{(Main.elapsedTime - t).postln;"Slicing done".postln}); -) - -//slice count -~slicer.index.keys.size - -////////////////////////////////////////////////////////////////////////// -// description process - -// run both descriptor extractor - here they are separate to the batch process duration -( -t = Main.elapsedTime; -~extractor.play(s,~loader.buffer,~slicer.index,action:{(Main.elapsedTime - t).postln;"Features done".postln}); -) - -( -t = Main.elapsedTime; -~extractorW.play(s,~loader.buffer,~slicer.index,action:{(Main.elapsedTime - t).postln;"Features done".postln}); -) - -////////////////////////////////////////////////////////////////////////// -// manipulating and querying the data - -// extracting whatever stats we want. In this case, mean/std/lowest/highest, and the same on the first derivative - excluding MFCC0 as it is mostly volume, keeping MFCC1-12 - -( -~curated = FluidDataSet(s); -~curatedW = FluidDataSet(s); -~curator = FluidDataSetQuery.new(s); -) - -( -~curator.addRange(1,12,{ - ~curator.addRange(14,12,{ - ~curator.addRange(53,12,{ - ~curator.addRange(79,12,{ - ~curator.addRange(92,12,{ - ~curator.addRange(105,12,{ - ~curator.addRange(144,12,{ - ~curator.addRange(170,12); - }); - }); - }); - }); - }); - }); -}); -) -~curator.transform(~ds,~curated) -~curator.transform(~dsW,~curatedW) - -//check the dimension count -~ds.print -~dsW.print -~curated.print -~curatedW.print - -//building a tree for each dataset -~tree = FluidKDTree(s,5); -~tree.fit(~ds,{"Fitted".postln;}); -~treeW = FluidKDTree(s,5); -~treeW.fit(~dsW,{"Fitted".postln;}); -~treeC = FluidKDTree(s,5); -~treeC.fit(~curated,{"Fitted".postln;}); -~treeCW = FluidKDTree(s,5); -~treeCW.fit(~curatedW,{"Fitted".postln;}); - -//select a sound to match -// EITHER retrieve a random slice -~targetsound = Buffer(s); -~targetname = ~slicer.index.keys.asArray.scramble.last.asSymbol; -#a,b = ~slicer.index[~targetname][\bounds]; -FluidBufCompose.process(s,~loader.buffer,a,(b-a),numChans: 1, destination: ~targetsound,action: {~targetsound.play;}) - -// OR just load a file in that buffer -~targetsound = Buffer.read(s,Platform.resourceDir +/+ "sounds/a11wlk01.wav"); - -//describe the sound to match -( -{ - var loud, weights, mfcc, stats, flatten, stats2, written; - mfcc = FluidBufMFCC.kr(~targetsound,features:~mfccbuf[0],padding: 2, trig:1); - stats = FluidBufStats.kr(~mfccbuf[0],stats:~statsbuf[0], numDerivs: 1,trig:Done.kr(mfcc)); - flatten = FluidBufFlatten.kr(~statsbuf[0],destination:~flatbuf[0],trig:Done.kr(stats)); - loud = FluidBufLoudness.kr(~targetsound,features:~loudbuf[0],padding: 2,trig:Done.kr(flatten),blocking: 1); - weights = FluidBufScale.kr(~loudbuf[0],numChans: 1,destination: ~weightbuf[0],inputLow: -70,inputHigh: 0,trig: Done.kr(loud),blocking: 1); - stats2 = FluidBufStats.kr(~mfccbuf[0],stats:~statsbuf[0], numDerivs: 1, weights: ~weightbuf[0], trig:Done.kr(weights),blocking: 1); - written = FluidBufFlatten.kr(~statsbuf[0],destination:~flatbuf[1],trig:Done.kr(stats2)); - FreeSelf.kr(Done.kr(written)); -}.play; -) - -//go language side to extract the right dimensions -~flatbuf[0].getn(0,182,{|x|~curatedBuf = Buffer.loadCollection(s, x[[0,1,4,6,7,8,11,13].collect{|x|var y=x*13+1;(y..(y+11))}.flat].postln)}) -~flatbuf[1].getn(0,182,{|x|~curatedWBuf = Buffer.loadCollection(s, x[[0,1,4,6,7,8,11,13].collect{|x|var y=x*13+1;(y..(y+11))}.flat].postln)}) - -//find its nearest neighbours -~tree.kNearest(~flatbuf[0],{|x| ~friends = x.postln;}) -~treeW.kNearest(~flatbuf[1],{|x| ~friendsW = x.postln;}) -~treeC.kNearest(~curatedBuf,{|x| ~friendsC = x.postln;}) -~treeCW.kNearest(~curatedWBuf,{|x| ~friendsCW = x.postln;}) - - -// play them in a row -( -Routine{ -5.do{|i| - var dur; - v = ~slicer.index[~friends[i].asSymbol]; - dur = (v[\bounds][1] - v[\bounds][0]) / s.sampleRate; - {BufRd.ar(v[\numchans],~loader.buffer,Line.ar(v[\bounds][0],v[\bounds][1],dur, doneAction: 2))}.play; - ~friends[i].postln; - dur.wait; - }; -}.play; -) - -( -Routine{ -5.do{|i| - var dur; - v = ~slicer.index[~friendsW[i].asSymbol]; - dur = (v[\bounds][1] - v[\bounds][0]) / s.sampleRate; - {BufRd.ar(v[\numchans],~loader.buffer,Line.ar(v[\bounds][0],v[\bounds][1],dur, doneAction: 2))}.play; - ~friendsW[i].postln; - dur.wait; - }; -}.play; -) - -( -Routine{ -5.do{|i| - var dur; - v = ~slicer.index[~friendsC[i].asSymbol]; - dur = (v[\bounds][1] - v[\bounds][0]) / s.sampleRate; - {BufRd.ar(v[\numchans],~loader.buffer,Line.ar(v[\bounds][0],v[\bounds][1],dur, doneAction: 2))}.play; - ~friendsC[i].postln; - dur.wait; - }; -}.play; -) - -( -Routine{ -5.do{|i| - var dur; - v = ~slicer.index[~friendsCW[i].asSymbol]; - dur = (v[\bounds][1] - v[\bounds][0]) / s.sampleRate; - {BufRd.ar(v[\numchans],~loader.buffer,Line.ar(v[\bounds][0],v[\bounds][1],dur, doneAction: 2))}.play; - ~friendsCW[i].postln; - dur.wait; - }; -}.play; -) - -//explore dynamic range (changing the weigting's value of 0 in lines 39 and 157 will change the various weights given to quieter parts of the signal -( -t = Main.elapsedTime; -~extractorL.play(s,~loader.buffer,~slicer.index,action:{(Main.elapsedTime - t).postln;"Features done".postln}); -) -~norm = FluidNormalize.new(s) -~norm.fit(~dsL) -~norm.dump({|x|x["data_min"][[8,12]].postln;x["data_max"][[8,12]].postln;})//here we extract the stats from the dataset by retrieving the stored maxima of the fitting process in FluidNormalize diff --git a/release-packaging/Examples/dataset/1-learning examples/11-compositing-datasets.scd b/release-packaging/Examples/dataset/1-learning examples/11-compositing-datasets.scd deleted file mode 100644 index cdc613c..0000000 --- a/release-packaging/Examples/dataset/1-learning examples/11-compositing-datasets.scd +++ /dev/null @@ -1,355 +0,0 @@ -// here we will define a process that creates and populates a series of parallel dataset, one of each 'feature-space' that we can then eventually manipulate more easily than individual dimensions. - -// define a few datasets -( -~pitchDS = FluidDataSet(s); -~loudDS = FluidDataSet(s); -~mfccDS = FluidDataSet(s); -~durDS = FluidDataSet(s); - -//define as many buffers as we have parallel voices/threads in the extractor processing (default is 4) -~pitchbuf = 4.collect{Buffer.new}; -~statsPitchbuf = 4.collect{Buffer.new}; -~weightPitchbuf = 4.collect{Buffer.new}; -~flatPitchbuf = 4.collect{Buffer.new}; -~loudbuf = 4.collect{Buffer.new}; -~statsLoudbuf = 4.collect{Buffer.new}; -~flatLoudbuf = 4.collect{Buffer.new}; -~weightMFCCbuf = 4.collect{Buffer.new}; -~mfccbuf = 4.collect{Buffer.new}; -~statsMFCCbuf = 4.collect{Buffer.new}; -~flatMFCCbuf = 4.collect{Buffer.new}; - -// here we instantiate a loader as per example 0 -~loader = FluidLoadFolder(File.realpath(FluidBufPitch.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/"); - -// here we instantiate a further slicing step as per example 0 -~slicer = FluidSliceCorpus({ |src,start,num,dest| - FluidBufOnsetSlice.kr(src ,start, num, indices:dest, metric: 9, threshold:0.2, minSliceLength: 17, blocking: 1) -}); - -// here we make the full processor building our 3 source datasets -~extractor = FluidProcessSlices({|src,start,num,data| - var identifier, voice, pitch, pitchweights, pitchstats, pitchflat, loud, statsLoud, flattenLoud, mfcc, mfccweights, mfccstats, mfccflat, writePitch, writeLoud; - identifier = data.key; - voice = data.value[\voice]; - // the pitch computation is independant so it starts right away - pitch = FluidBufPitch.kr(src, startFrame:start, numFrames:num, numChans:1, features:~pitchbuf[voice], unit: 1, trig:1, blocking: 1); - pitchweights = FluidBufThresh.kr(~pitchbuf[voice], numChans: 1, startChan: 1, destination: ~weightPitchbuf[voice], threshold: 0.7, trig:Done.kr(pitch), blocking: 1);//pull down low conf - pitchstats = FluidBufStats.kr(~pitchbuf[voice], stats:~statsPitchbuf[voice], numDerivs: 1, weights: ~weightPitchbuf[voice], outliersCutoff: 1.5, trig:Done.kr(pitchweights), blocking: 1); - pitchflat = FluidBufFlatten.kr(~statsPitchbuf[voice],destination:~flatPitchbuf[voice],trig:Done.kr(pitchstats),blocking: 1); - writePitch = FluidDataSetWr.kr(~pitchDS,identifier, nil, ~flatPitchbuf[voice], Done.kr(pitchflat),blocking: 1); - // the mfcc need loudness to weigh, so let's start with that - loud = FluidBufLoudness.kr(src,startFrame:start, numFrames:num, numChans:1, features:~loudbuf[voice], trig:Done.kr(writePitch), blocking: 1);//here trig was 1 - //we can now flatten and write Loudness in its own trigger tree - statsLoud = FluidBufStats.kr(~loudbuf[voice], stats:~statsLoudbuf[voice], numDerivs: 1, trig:Done.kr(loud), blocking: 1); - flattenLoud = FluidBufFlatten.kr(~statsLoudbuf[voice],destination:~flatLoudbuf[voice],trig:Done.kr(statsLoud),blocking: 1); - writeLoud = FluidDataSetWr.kr(~loudDS,identifier, nil, ~flatLoudbuf[voice], Done.kr(flattenLoud),blocking: 1); - //we can resume from the loud computation trigger - mfcc = FluidBufMFCC.kr(src,startFrame:start,numFrames:num,numChans:1,features:~mfccbuf[voice],trig:Done.kr(writeLoud),blocking: 1);//here trig was loud - mfccweights = FluidBufScale.kr(~loudbuf[voice],numChans: 1,destination: ~weightMFCCbuf[voice],inputLow: -70,inputHigh: 0, trig: Done.kr(mfcc), blocking: 1); - mfccstats = FluidBufStats.kr(~mfccbuf[voice], stats:~statsMFCCbuf[voice], startChan: 1, numDerivs: 1, weights: ~weightMFCCbuf[voice], trig:Done.kr(mfccweights), blocking: 1);//remove mfcc0 and weigh by loudness instead - mfccflat = FluidBufFlatten.kr(~statsMFCCbuf[voice],destination:~flatMFCCbuf[voice],trig:Done.kr(mfccstats),blocking: 1); - FluidDataSetWr.kr(~mfccDS,identifier, nil, ~flatMFCCbuf[voice], Done.kr(mfccflat),blocking: 1); -}); - -) -////////////////////////////////////////////////////////////////////////// -//loading process - -//load and play to test if it is that quick - it is! -( -t = Main.elapsedTime; -~loader.play(s,action:{(Main.elapsedTime - t).postln;"Loaded".postln;{var start, stop; PlayBuf.ar(~loader.index[~loader.index.keys.asArray.last.asSymbol][\numchans],~loader.buffer,startPos: ~loader.index[~loader.index.keys.asArray.last.asSymbol][\bounds][0])}.play;}); -) - -////////////////////////////////////////////////////////////////////////// -// slicing process - -// run the slicer -( -t = Main.elapsedTime; -~slicer.play(s,~loader.buffer,~loader.index,action:{(Main.elapsedTime - t).postln;"Slicing done".postln}); -) -//slice count -~slicer.index.keys.size - -////////////////////////////////////////////////////////////////////////// -// description process - -// run the descriptor extractor (errors will be given, this is normal: the pitch conditions are quite exacting and therefore many slices are not valid) -( -t = Main.elapsedTime; -~extractor.play(s,~loader.buffer,~slicer.index,action:{(Main.elapsedTime - t).postln;"Features done".postln}); -) - -// make a dataset of durations for querying that too (it could have been made in the process loop, but hey, we have dictionaries we can manipulate too!) -( -~dict = Dictionary.new; -~temp = ~slicer.index.collect{ |k| [k[\bounds][1] - k[\bounds][0]]}; -~dict.add(\data -> ~temp); -~dict.add(\cols -> 1); -~durDS.load(~dict) -) - -////////////////////////////////////////////////////////////////////////// -// manipulating and querying the data - -~pitchDS.print; -~loudDS.print; -~mfccDS.print; -~durDS.print; - -/////////////////////////////////////////////////////// -//reduce the MFCC timbral space stats (many potential ways to explore here... - 2 are provided to compare, with and without the derivatives before running a dimension reduction) -~tempDS = FluidDataSet(s); - -~query = FluidDataSetQuery(s); -~query.addRange(0,24);//add only means and stddev of the 12 coeffs... -~query.addRange((7*12),24);// and the same stats of the first derivative (moving 7 stats x 12 mfccs to the right) -~query.transform(~mfccDS, ~tempDS); - -//check that you end up with the expected 48 dimensions -~tempDS.print; - -// standardizing before the PCA, as argued here: -// https://scikit-learn.org/stable/auto_examples/preprocessing/plot_scaling_importance.html -~stan = FluidStandardize(s); -~stanDS = FluidDataSet(s); -~stan.fitTransform(~tempDS,~stanDS) - -//shrinking A: using 2 stats on the values, and 2 stats on the redivative (12 x 2 x 2 = 48 dim) -~pca = FluidPCA(s,4);//shrink to 4 dimensions -~timbreDSd = FluidDataSet(s); -~pca.fitTransform(~stanDS,~timbreDSd,{|x|x.postln;})//accuracy - -//shrinking B: using only the 2 stats on the values -~query.clear; -~query.addRange(0,24);//add only means and stddev of the 12 coeffs... -~query.transform(~stanDS, ~tempDS);//retrieve the values from the already standardized dataset - -//check you have the expected 24 dimensions -~tempDS.print; - -//keep its own PCA so we can keep the various states for later transforms -~pca2 = FluidPCA(s,4);//shrink to 4 dimensions -~timbreDS = FluidDataSet(s); -~pca2.fitTransform(~tempDS,~timbreDS,{|x|x.postln;})//accuracy - -// comparing NN for fun -~targetDSd = Buffer(s) -~targetDS = Buffer(s) -~tree = FluidKDTree(s,5) - -// you can run this a few times to have fun -( -~target = ~slicer.index.keys.asArray.scramble.[0].asSymbol; -~timbreDSd.getPoint(~target, ~targetDSd); -~timbreDS.getPoint(~target, ~targetDS); -) - -~tree.fit(~timbreDSd,{~tree.kNearest(~targetDSd,{|x|~nearestDSd = x.postln;})}) -~tree.fit(~timbreDS,{~tree.kNearest(~targetDS,{|x|~nearestDS = x.postln;})}) - -// play them in a row -( -Routine{ -5.do{|i| - var dur; - v = ~slicer.index[~nearestDSd[i].asSymbol]; - dur = (v[\bounds][1] - v[\bounds][0]) / s.sampleRate; - {BufRd.ar(v[\numchans],~loader.buffer,Line.ar(v[\bounds][0],v[\bounds][1],dur, doneAction: 2))}.play; - ~nearestDSd[i].postln; - dur.wait; - }; -}.play; -) - -( -Routine{ -5.do{|i| - var dur; - v = ~slicer.index[~nearestDS[i].asSymbol]; - dur = (v[\bounds][1] - v[\bounds][0]) / s.sampleRate; - {BufRd.ar(v[\numchans],~loader.buffer,Line.ar(v[\bounds][0],v[\bounds][1],dur, doneAction: 2))}.play; - ~nearestDS[i].postln; - dur.wait; - }; -}.play; -) - -/////////////////////////////////////////////////////// -// compositing queries - defining a target and analysing it - -~globalDS = FluidDataSet(s); - -// define a source -~targetsound = Buffer.read(s,File.realpath(FluidBufPitch.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-ASWINE-ScratchySynth-M.wav",42250,44100); -~targetsound.play - -// analyse it as above, using voice 0 in the arrays of buffer to store the info -( -{ - var identifier, voice, pitch, pitchweights, pitchstats, pitchflat, loud, statsLoud, flattenLoud, mfcc, mfccweights, mfccstats, mfccflat, writePitch, writeLoud; - pitch = FluidBufPitch.kr(~targetsound, numChans:1, features:~pitchbuf[0], unit: 1, trig:1, blocking: 1); - pitchweights = FluidBufThresh.kr(~pitchbuf[0], numChans: 1, startChan: 1, destination: ~weightPitchbuf[0], threshold: 0.7, trig:Done.kr(pitch), blocking: 1); - pitchstats = FluidBufStats.kr(~pitchbuf[0], stats:~statsPitchbuf[0], numDerivs: 1, weights: ~weightPitchbuf[0], outliersCutoff: 1.5, trig:Done.kr(pitchweights), blocking: 1); - pitchflat = FluidBufFlatten.kr(~statsPitchbuf[0],destination:~flatPitchbuf[0],trig:Done.kr(pitchstats),blocking: 1); - loud = FluidBufLoudness.kr(~targetsound, numChans:1, features:~loudbuf[0], trig:Done.kr(pitchflat), blocking: 1); - statsLoud = FluidBufStats.kr(~loudbuf[0], stats:~statsLoudbuf[0], numDerivs: 1, trig:Done.kr(loud), blocking: 1); - flattenLoud = FluidBufFlatten.kr(~statsLoudbuf[0],destination:~flatLoudbuf[0],trig:Done.kr(statsLoud),blocking: 1); - mfcc = FluidBufMFCC.kr(~targetsound,numChans:1,features:~mfccbuf[0],trig:Done.kr(flattenLoud),blocking: 1); - mfccweights = FluidBufScale.kr(~loudbuf[0],numChans: 1,destination: ~weightMFCCbuf[0],inputLow: -70,inputHigh: 0, trig: Done.kr(mfcc), blocking: 1); - mfccstats = FluidBufStats.kr(~mfccbuf[0], stats:~statsMFCCbuf[0], startChan: 1, numDerivs: 1, weights: ~weightMFCCbuf[0], trig:Done.kr(mfccweights), blocking: 1); - mfccflat = FluidBufFlatten.kr(~statsMFCCbuf[0],destination:~flatMFCCbuf[0],trig:Done.kr(mfccstats),blocking: 1); - FreeSelf.kr(Done.kr(mfccflat)); -}.play; -) - -// a first query - length and pitch -~query.clear -~query.filter(0,"<",44100+22050)//column0 a little smaller than our source -~query.and(0,">", 44100-22050)//also as far as a little larger than the source -~query.transformJoin(~durDS, ~pitchDS, ~tempDS); //this passes to ~tempDS only the points that have the same label than those in ~durDS that satisfy the condition. No column were added so nothing from ~durDS is copied - -// print to see how many slices (rows) we have -~tempDS.print - -// further conditions to assemble the query -~query.clear -~query.filter(11,">",0.7)//column11 (median of pitch confidence) larger than 0.7 -~query.addRange(0,4) //copy only mean and stddev of pitch and confidence -~query.transform(~tempDS, ~globalDS); // pass it to the final search - -// print to see that we have less items, with only their pitch -~globalDS.print - -// compare knearest on both globalDS and tempDS -// assemble search buffer -~targetPitch = Buffer(s) -FluidBufCompose.process(s, ~flatPitchbuf[0],numFrames: 4,destination: ~targetPitch) - -// feed the trees -~tree.fit(~pitchDS,{~tree.kNearest(~flatPitchbuf[0],{|x|~nearestA = x.postln;})}) //all the points with all the stats -~tree.fit(~globalDS,{~tree.kNearest(~targetPitch,{|x|~nearestB = x.postln;})}) //just the points with the right lenght conditions, with the curated stats - -// play them in a row -( -Routine{ -5.do{|i| - var dur; - v = ~slicer.index[~nearestA[i].asSymbol]; - dur = (v[\bounds][1] - v[\bounds][0]) / s.sampleRate; - {BufRd.ar(v[\numchans],~loader.buffer,Line.ar(v[\bounds][0],v[\bounds][1],dur, doneAction: 2))}.play; - ~nearestA[i].postln; - dur.wait; - }; -}.play; -) - -// with our duration limits, strange results appear eventually -( -Routine{ -5.do{|i| - var dur; - v = ~slicer.index[~nearestB[i].asSymbol]; - dur = (v[\bounds][1] - v[\bounds][0]) / s.sampleRate; - {BufRd.ar(v[\numchans],~loader.buffer,Line.ar(v[\bounds][0],v[\bounds][1],dur, doneAction: 2))}.play; - ~nearestB[i].postln; - dur.wait; - }; -}.play; -) - -/////////////////////////////////////////////////////// -// compositing queries to weigh - defining a target and analysing it - -// make sure to define and describe the source above (lines 178 to 201) - -// let's make normalised versions of the 3 datasets, keeping the normalisers separate to query later -~loudDSn = FluidDataSet(s); -~pitchDSn = FluidDataSet(s); -~timbreDSn = FluidDataSet(s); - -~normL = FluidNormalize(s) -~normP = FluidNormalize(s) -~normT = FluidNormalize(s) - -~normL.fitTransform(~loudDS, ~loudDSn); -~normP.fitTransform(~pitchDS, ~pitchDSn); -~normT.fitTransform(~timbreDSd, ~timbreDSn); - -// let's assemble these datasets -~query.clear -~query.addRange(0,4) -~query.transformJoin(~pitchDSn,~timbreDSn, ~tempDS) //appends 4 dims of pitch to 4 dims of timbre -~query.transformJoin(~loudDSn, ~tempDS, ~globalDS) // appends 4 dims of loud to the 8 dims above - -~globalDS.print//12 dim: 4 timbre, 4 pitch, 4 loud, all normalised between 0 and 1 -~globalDS.write(Platform.defaultTempDir ++ "test12dims.json") // write to file to look at the values -// open the file in your default json editor -(Platform.defaultTempDir ++ "test12dims.json").openOS - -// let's assemble the query -// first let's normalise our target descriptors -( -~targetPitch = Buffer(s); -~targetLoud = Buffer(s); -~targetMFCC = Buffer(s); -~targetMFCCs = Buffer(s); -~targetMFCCsp = Buffer(s); -~targetTimbre = Buffer(s); -~targetAll= Buffer(s); -) - -~normL.transformPoint(~flatLoudbuf[0], ~targetLoud) //normalise the loudness (all dims) -~normP.transformPoint(~flatPitchbuf[0], ~targetPitch) //normalise the pitch (all dims) -FluidBufCompose.process(s,~flatMFCCbuf[0],numFrames: 24,destination: ~targetMFCC) // copy the process of dimension reduction above -FluidBufCompose.process(s,~flatMFCCbuf[0],startFrame: (7*12), numFrames: 24, destination: ~targetMFCC,destStartFrame: 24) //keeping 48 dims -~stan.transformPoint(~targetMFCC,~targetMFCCs) //standardize with the same coeffs -~pca.transformPoint(~targetMFCCs, ~targetMFCCsp) //then down to 4 -~normT.transformPoint(~targetMFCCsp, ~targetTimbre) //then normalised -FluidBufCompose.process(s, ~targetTimbre,destination: ~targetAll) // assembling the single query -FluidBufCompose.process(s, ~targetPitch, numFrames: 4, destination: ~targetAll, destStartFrame: 4) // copying the 4 stats of pitch we care about -FluidBufCompose.process(s, ~targetLoud, numFrames: 4, destination: ~targetAll, destStartFrame: 8) // same for loudness -//check the sanity -~targetAll.query - -// now let's see which is nearest that point -~tree.fit(~globalDS,{~tree.kNearest(~targetAll,{|x|~nearest = x.postln;})}) //just the points with the right lenght conditions, with the curated stats - -// play them in a row -( -Routine{ -5.do{|i| - var dur; - v = ~slicer.index[~nearest[i].asSymbol]; - dur = (v[\bounds][1] - v[\bounds][0]) / s.sampleRate; - {BufRd.ar(v[\numchans],~loader.buffer,Line.ar(v[\bounds][0],v[\bounds][1],dur, doneAction: 2))}.play; - ~nearest[i].postln; - dur.wait; - }; -}.play; -) - -// to change the relative weight of each dataset, let's change the normalisation range. Larger ranges will mean larger distance, and therefore less importance for that parameter. -// for instance to downplay pitch, let's make it larger by a factor of 10 around the center of 0.5 -~normP.max = 5.5 -~normP.min = -4.5 -~normP.fitTransform(~pitchDS, ~pitchDSn); -// here we can re-run just the part that composites the pitch -~normP.transformPoint(~flatPitchbuf[0], ~targetPitch) //normalise the pitch (all dims) -FluidBufCompose.process(s, ~targetPitch, numFrames: 4, destination: ~targetAll, destStartFrame: 4) // copying the 4 stats of pitch we care about - -//see that the middle 4 values are much larger in range -~targetAll.getn(0,12,{|x|x.postln;}) - -// let's re-assemble these datasets -~query.transformJoin(~pitchDSn,~timbreDSn, ~tempDS) //appends 4 dims of pitch to 4 dims of timbre -~query.transformJoin(~loudDSn, ~tempDS, ~globalDS) // appends 4 dims of loud to the 8 dims above - -// now let's see which is nearest that point -~tree.fit(~globalDS,{~tree.kNearest(~targetAll,{|x|~nearest = x.postln;})}) //just the points with the right lenght conditions, with the curated stats - -/////////////////////////////////////////////// -// todo: segment then query musaik diff --git a/release-packaging/Examples/dataset/1-learning examples/12-windowed-clustered-segmentation.scd b/release-packaging/Examples/dataset/1-learning examples/12-windowed-clustered-segmentation.scd deleted file mode 100644 index e1dd3b0..0000000 --- a/release-packaging/Examples/dataset/1-learning examples/12-windowed-clustered-segmentation.scd +++ /dev/null @@ -1,230 +0,0 @@ -// load a source folder -~loader = FluidLoadFolder(File.realpath(FluidBufMFCC.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/"); -~loader.play; - -//slightly oversegment with novelty -//segments should still make sense but might cut a few elements in 2 or 3 -~slicer = FluidSliceCorpus({ |src,start,num,dest| FluidBufNoveltySlice.kr(src,start,num,indices:dest, feature: 1, kernelSize: 29, threshold: 0.1, filterSize: 5, hopSize: 128, blocking: 1)}); -~slicer.play(s, ~loader.buffer,~loader.index); - -//test the segmentation by looping them -( -~originalindices = Array.newFrom(~slicer.index.keys).sort{|a,b| ~slicer.index[a][\bounds][0]< ~slicer.index[b][\bounds][0]}.collect{|x|~slicer.index[x][\bounds]}; -d = {arg start=0, end = 44100; - BufRd.ar(1, ~loader.buffer, Phasor.ar(0,1,start,end,start),0,1); -}.play; - -w = Window.new(bounds:Rect(100,100,400,60)).front; -b = ControlSpec(0, ~originalindices.size - 1, \linear, 1); // min, max, mapping, step -c = StaticText(w, Rect(340, 20, 50, 20)).align_(\center); -a = Slider(w, Rect(10, 20, 330, 20)) -.action_({var val = b.map(a.value).asInteger; - c.string_(val.asString); - d.set(\start,~originalindices[val][0], \end, ~originalindices[val][1]); -}); -) - -//analyse each segment with 20 MFCCs in a dataset and spectralshapes in another one -( -~featuresbuf = 4.collect{Buffer.new}; -~statsbuf = 4.collect{Buffer.new}; -~flatbuf = 4.collect{Buffer.new}; -~slicesMFCC = FluidDataSet(s); -~slicesShapes = FluidDataSet(s); -~extractor = FluidProcessSlices({|src,start,num,data| - var features, stats, writer, flatten,mfccBuf, statsBuf, flatBuf, identifier, voice; - identifier = data.key; - voice = data.value[\voice]; - features = FluidBufMFCC.kr(src,startFrame:start,numFrames:num,numChans:1, numCoeffs: 20, features:~featuresbuf[voice],trig:1,blocking: 1); - stats = FluidBufStats.kr(~featuresbuf[voice],stats:~statsbuf[voice],trig:Done.kr(features),blocking: 1); - flatten = FluidBufFlatten.kr(~statsbuf[voice],destination:~flatbuf[voice],trig:Done.kr(stats),blocking: 1); - writer = FluidDataSetWr.kr(~slicesMFCC,identifier, nil, ~flatbuf[voice], Done.kr(flatten),blocking: 1); - features = FluidBufSpectralShape.kr(src,startFrame:start,numFrames:num,numChans:1, features:~featuresbuf[voice],trig:Done.kr(writer),blocking: 1); - stats = FluidBufStats.kr(~featuresbuf[voice],stats:~statsbuf[voice],trig:Done.kr(features),blocking: 1); - flatten = FluidBufFlatten.kr(~statsbuf[voice],destination:~flatbuf[voice],trig:Done.kr(stats),blocking: 1); - writer = FluidDataSetWr.kr(~slicesShapes,identifier, nil, ~flatbuf[voice], Done.kr(flatten),blocking: 1); -}); -) - -( -t = Main.elapsedTime; -~extractor.play(s,~loader.buffer, ~slicer.index, action:{(Main.elapsedTime - t).postln;"Analysis done".postln}); -) - -~originalindices.size -~slicesMFCC.print -~slicesShapes.print - -//run a window over consecutive segments, forcing them in 2 classes, and merging the consecutive segments of similar class -//we overlap the analysis with the last (original) slice to check for continuity -( -~winSize = 4;//the number of consecutive items to split in 2 classes; -~curated = FluidDataSet(s); -~query = FluidDataSetQuery(s); -~stan = FluidStandardize(s); -~kmeans = FluidKMeans(s,2,1000); -~windowDS = FluidDataSet(s); -~windowLS = FluidLabelSet(s); -) - -//curate stats (MFCCs) -~query.clear -~query.addRange((0*20)+1,10); -~query.transform(~slicesMFCC,~curated); - -//OR -//curate stats (moments) -~query.clear -~query.addRange(0,3); -~query.transform(~slicesShapes,~curated); - -//OR -//curate both -~query.clear -~query.addColumn(0);//add col 0 (mean of mfcc0 as 'loudness') -~query.transform(~slicesMFCC,~curated);//mfcc0 as loudness -~query.clear; -~query.addRange(0,3);//add some spectral moments -~query.transformJoin(~slicesShapes, ~curated, ~curated);//join in centroids - -//optionally standardize in place -~stan.fitTransform(~curated, ~curated); - -~curated.print - -//retrieve the dataset as dictionary -~curated.dump{|x|~sliceDict = x;}; - -~originalslicesarray = ~originalindices.flop[0] ++ ~loader.buffer.numFrames -~orginalkeys = Array.newFrom(~slicer.index.keys).sort{|a,b| ~slicer.index[a][\bounds][0]< ~slicer.index[b][\bounds][0]} - -//the windowed function, recursive to deal with sync dependencies -( -~windowedFunct = {arg head, winSize, overlap; - var nbass = [], assignments = [], tempDict = (); - //check the size of everything to not overrun - winSize = (~originalslicesarray.size - head).min(winSize); - //copy the items to a subdataset from hear - winSize.do{|i| - tempDict.put((i.asString), ~sliceDict["data"][(~orginalkeys[(i+head)]).asString]);//here one could curate which stats to take - // "whichslices:%\n".postf(i+head); - }; - ~windowDS.load(Dictionary.newFrom([\cols, ~sliceDict["cols"].asInteger, \data, tempDict]), action: { - // "% - loaded\n".postf(head); - - //kmeans 2 and retrieve ordered array of class assignations - ~kmeans.fitPredict(~windowDS, ~windowLS, action: {|x| - nbass = x; - // "% - fitted1: ".postf(head); nbass.postln; - - if (nbass.includes(winSize.asFloat), { - ~kmeans.fitPredict(~windowDS, ~windowLS, {|x| - nbass = x; - // "% - fitted2: ".postf(head); nbass.postln; - if (nbass.includes(winSize.asFloat), { - ~kmeans.fitPredict(~windowDS, ~windowLS, {|x| - nbass = x; - // "% - fitted3: ".postf(head); nbass.postln; - }); - }); - }); - }); - - ~windowLS.dump{|x| - var assignments = x.at("data").asSortedArray.flop[1].flatten; - "% - assigned ".postf(head); - - assignments.postln; - - (winSize-1).do{|i| - if (assignments[i+1] != assignments[i], { - ~newindices= ~newindices ++ (~originalslicesarray[head+i+1]).asInteger; - ~newkeys = ~newkeys ++ (~orginalkeys[head+i+1]); - }); - - }; - //if we still have some frames to do, do them - if (((winSize + head) < ~originalslicesarray.size), { - "-----------------".postln; - ~windowedFunct.value(head + winSize - overlap, winSize, overlap); - }, {~newindices = (~newindices ++ ~loader.buffer.numFrames); "done".postln;});//if we're done close the books - }; - }); - }); -} -) - -//the job - -//test 1 - start at the begining, consider 4 items at a time, make 2 clusters, overlap 1 -~newindices = [~originalslicesarray[0]]; ~newkeys = [~orginalkeys[0]]; -~windowedFunct.value(0, 4, 1); - -//OPTIONAL: try again with more clusters (3) and a wider window (6) and more overlap (2) -~newindices = [~originalslicesarray[0]]; ~newkeys = [~orginalkeys[0]]; -~kmeans.numClusters = 3; -~windowedFunct.value(0,6,2); - -//compare sizes -~orginalkeys.size -~newkeys.size; - -//export to reaper -( -//first create a new file that ends with rpp - it will overwrite if the file exists -f = File.new(Platform.defaultTempDir ++ "clusteredslices-" ++ Date.getDate.stamp ++".rpp","w+"); - -if (f.isOpen , { - var path, prevpath ="", sr, count, dur, realDur; - //write the header - f.write(" 0, { - f.write("\n>\n"); - }); - count = count + dur; - }; - //write the track footer - f.write(">\n"); - - // a second track with the new ~indices - prevpath = ""; - //write the track header - f.write(" 0, { - path = ~slicer.index[v][\path]; - if (path != prevpath, { - sr = ~slicer.index[v][\sr]; - prevpath = path; - count = 0; - }); - f.write("\n>\n"); - count = count + dur; - }); - }; - //write the track footer - f.write(">\n"); - - //write the footer - f.write(">\n"); - f.close; -}); -) - -(then open the time-stamped reaper file clusterdslice in the folder tmp) -Platform.defaultTempDir.openOS diff --git a/release-packaging/Examples/dataset/1-learning examples/13-massive-parallelisation-example.scd b/release-packaging/Examples/dataset/1-learning examples/13-massive-parallelisation-example.scd deleted file mode 100644 index 81b960d..0000000 --- a/release-packaging/Examples/dataset/1-learning examples/13-massive-parallelisation-example.scd +++ /dev/null @@ -1,324 +0,0 @@ -// Lookup in a KDTree using melbands -// Demonstration of a massive parallel approach to batch process swiftly in SC - -s.options.numBuffers = 16384 //The method below for doing the analysus quickly needs lots of buffers -s.reboot - -//Step 0: Make a corpus - -//We'll jam together some random flucoma sounds for illustrative purposes -//Get some files -( -~audioexamples_path = File.realpath(FluidBufMelBands.class.filenameSymbol).dirname.withTrailingSlash +/+ "../AudioFiles/*.wav"; -~allTheSounds = SoundFile.collect(~audioexamples_path); -~testSounds = ~allTheSounds; -~testSounds.do{|f| f.path.postln}; // print out the files that are loaded -) - -//Load the files into individual buffers: -( -~audio_buffers = ~testSounds.collect{|f| - Buffer.readChannel( - server: s, - path:f.path, - channels:[0], - action:{("Loaded" + f.path).postln;} - ) -}; -) - -//Do a segmentation of each buffer, in parallel -( -fork{ - ~index_buffers = ~audio_buffers.collect{Buffer.new}; - s.sync; - ~count = ~audio_buffers.size; - ~audio_buffers.do{|src,i| - FluidBufOnsetSlice.process( - server:s, - source:src, - indices:~index_buffers[i], - metric: 9, - threshold:0.2, - minSliceLength: 17, - action:{ - (~testSounds[i].path ++ ":" + ~index_buffers[i].numFrames + "slices").postln; - ~count = ~count - 1; - if(~count == 0){"Done slicing".postln}; - } - ); - } -} -) - -// we now have an array of index buffers, one per source buffer, each containing the segmentation points as a frame positions -// this allows us to make an array of sizes -~index_buffers.collect{|b| b.numFrames}.sum - -//For each of these segments, let's make a datapoint using the mean melbands. -// There's a number of ways of skinning this cat w/r/t telling the server what to do, but here we want to minimize traffic between language and server, and also produce undertsandable code - -//First, we'll grab the onset points as language-side arrays, then scroll through each slice getting the mean melbands -( -// - a dataset to keep the mean melbands in -~mels = FluidDataSet(s); -// - a dictionary to keep the slice points in for later playback -~slices = Dictionary(); -//The code below (as well as needing lots of buffers), creates lots of threads and we need a big ass scheduling queue -~clock = TempoClock(queueSize:8192); -) - - -// Do the Mel analysis in a cunning parallel fashion -( -{ - var counter, remaining; - var condition = Condition.new; // used to create a test condition to pause the routine ... - var index_arrays = Dictionary(); - - "Process started. Please wait.".postln; - - ~total_slice_count = ~index_buffers.collect{|b| b.numFrames}.sum + ~index_buffers.size; //we get an extra slice in buffer - ~featurebuffers = ~total_slice_count.collect{Buffer.new}; // create a buffer per slice - - //Make our dictionary FluidDataSet-shaped - ~slices.put("cols",3);//[bufnum,start,end] for each slice - ~slices.put("data",Dictionary()); - - //Collect each set of onsets into a language side array and store them in a dict - ~index_buffers.do{|b,i| // iterate over the input buffer array - { - b.loadToFloatArray( // load to language side array - action:{|indices| - //Glue the first and last samples of the buffer on to the index list, and place in dictionary with the - //Buffer object as a key - - index_arrays.put(~audio_buffers[i], Array.newFrom([0] ++ indices ++ (~audio_buffers[i].numFrames - 1))); - - if(i==(~index_buffers.size-1)) {condition.unhang}; - } - ) - }.fork(stackSize:~total_slice_count); - }; - condition.hang; //Pause until all the callbacks above have completed - "Arrays loaded. Starting on the analysis, please wait.".postln; - - //For each of these lists of points, we want to scroll over the indices in pairs and get some mel bands - counter = 0; - remaining = ~total_slice_count; - - s.sync; - - // now iterate over Dict and calc melbands - - index_arrays.keysValuesDo{|buffer, indices| - indices.doAdjacentPairs{|start,end,num| - var analysis = Routine({|counter| - FluidBufMelBands.processBlocking( - server:s, - source:buffer, - startFrame:start, - numFrames:(end-1) - start, - features:~featurebuffers[counter], - action:{ - remaining = remaining - 1; - if(remaining == 0) { ~numMelBands = ~featurebuffers[0].numChannels;condition.unhang }; - } - ); - }); - - ~slices["data"].put(counter,[buffer.bufnum,start,end]); - - //I'm spawning new threads to wait for the analysis callback from the server. The final callback will un-hang this thread - analysis.value(counter); //Done differently to other blocks because I need to pass in the value of counter - counter = counter + 1; - } - }; - condition.hang; - "Analysis of % slices done.\n".postf(~total_slice_count); -}.fork(clock:~clock); -) - - -// Run stats on each mel buffer - -// create a stats buffer for each of the slices -~statsbuffers = ~total_slice_count.collect{Buffer.new}; // create n Slices buffers - to be filled with (40 mel bands * 7 stats) - -// run stats on all the buffers -( -{ - var remaining = ~total_slice_count; - ~featurebuffers.do{|buffer,i| - FluidBufStats.processBlocking( - server:s, - source:buffer, - stats:~statsbuffers[i], - action:{ - remaining = remaining - 1; - if(remaining == 0) { "done".postln}; - } - ); - }; -}.fork(clock:~clock); -) - -~featurebuffers.size - -//Flatten each stats buffer into a data point -~flatbuffers = ~total_slice_count.collect{Buffer.new};// create an array of flatten stats - -( -{ - var remaining = ~total_slice_count; - ~statsbuffers.do{|buffer,i| - FluidBufFlatten.processBlocking( - server:s, - source:buffer, - destination:~flatbuffers[i], - action:{ - remaining = remaining - 1; - if(remaining == 0) { "Got flat points".postln; }; - } - ); - }; -}.fork(clock:~clock); -) - - -//Ram each flat point into a data set. At this point we have more data than we need, but we'll prune in moment -( -"Filling dataset".postln; -~mels.clear; - -// ~flatbuffers = flatbuffers; -~flatbuffers.do{|buf,i| - ~mels.addPoint(i,buf); -}; - -~mels.print; -) - - -// Prune & standardise - -// Tidy up the temp arrays of buffers we do not need anymore - -( -"Cleaning".postln; -(~featurebuffers ++ ~statsbuffers ++ ~flatbuffers).do{|buf| buf.free}; -) - -//Above we sneakily made a dictionary of slice data for playback (bufnum,start,end). Let's throw it in a dataset -~slicedata = FluidDataSet(s); // will hold slice data (bufnum,start,end) for playback - -//dict -> dataset -( -~slicedata.load(~slices); -~slicedata.print; -) - -// Step 1. Let's prune and standardize before fitting to a tree -( -~meanmels = FluidDataSet(s);//will hold pruned mel data -~stdmels = FluidDataSet(s);//will standardised, pruned mel data -~standardizer = FluidStandardize(s); -~pruner = FluidDataSetQuery(s); -~tree = FluidKDTree(s,numNeighbours:10,lookupDataSet:~slicedata);//we have to supply the lookup data set when we make the tree (boo!) -) - -//Prune, standardize and fit KDTree -( -{ - ~meanmels.clear; - ~stdmels.clear; - ~pruner.addRange(0,~numMelBands).transform(~mels,~meanmels); //prune with a 'query' -- so this is dropping all but ~meanmels - ~standardizer.fitTransform(~meanmels,~stdmels); - ~tree.fit(~stdmels,{"KDTree ready".postln}); -}.fork(clock:~clock); -) - -~meanmels.print - -//Step 2: Set the FluidStandardizer and FluidKDTree up for listening -//set the buffers and busses needed -( -~stdInputPoint = Buffer.alloc(s,40); -~stdOutputPoint = Buffer.alloc(s,40); -~treeOutputPoint = Buffer.alloc(s,3 * 10);//numNeighbours x triples of bufnum,start,end -) - - -// let's play a random sound (to make sure we understand our data structure! -( -{ - var randPoint, buf, start, stop, dur; - - randPoint = ~slices["data"].keys.asArray.scramble[0]; // this good way of getting - but recast as strong - - buf= ~slices["data"][randPoint][0]; - start = ~slices["data"][randPoint][1]; - stop = ~slices["data"][randPoint][2]; - - dur = stop - start; - - BufRd.ar(1,buf, Line.ar(start,stop,dur/s.sampleRate, doneAction: 2), 0, 2); -}.play -) - - -// Query KD tree - -// a target sound from outside our dataset -~inBuf = Buffer.readChannel(s, Platform.resourceDir +/+ "sounds/a11wlk01.wav", numFrames:15000, channels:[0]); -~inBuf.play - -//OR one from within (but just the begining so beware of the difference!) -~inBuf = Buffer.alloc(s,15000); -~randomSlice = ~slices["data"].keys.asArray.scramble[0]; -~audio_buffers[~slices["data"][~randomSlice][0]].copyData(~inBuf,srcStartAt: ~slices["data"][~randomSlice][1], numSamples: 15000.min(~slices["data"][~randomSlice][2] - (~slices["data"][~randomSlice][1]))); -~inBuf.play - -// now try getting a point, playing it, grabbing nearest neighbour and playing it ... - -( -~inBufMels = Buffer(s); -~inBufStats = Buffer(s); -~inBufFlat = Buffer(s); -~inBufComp = Buffer(s); -~inBufStand = Buffer(s); -) - -// FluidBuf Compose is buf version of dataSetQuery - -( -FluidBufMelBands.process(s, ~inBuf, features: ~inBufMels, action: { - FluidBufStats.process(s, ~inBufMels, stats:~inBufStats, action: { - FluidBufFlatten.process(s, ~inBufStats, destination:~inBufFlat, action: { - FluidBufCompose.process(s, ~inBufFlat, numFrames: ~numMelBands, destination: ~inBufComp, action: { - ~standardizer.transformPoint(~inBufComp, ~inBufStand, { - ~tree.kNearest(~inBufStand,{ |a|a.postln;~nearest = a;}) - }) - }) - }) - }) -}) -) - -// playback nearest in order -( -fork{ - ~nearest.do{|i| - var buf, start, stop, dur; - - buf= ~slices["data"][i.asInteger][0]; - start = ~slices["data"][i.asInteger][1]; - stop = ~slices["data"][i.asInteger][2]; - dur = (stop - start)/ s.sampleRate; - {BufRd.ar(1,buf, Line.ar(start,stop,dur, doneAction: 2), 0, 2);}.play; - - i.postln; - dur.wait; - }; -} -) diff --git a/release-packaging/Examples/dataset/1-learning examples/1a-starting-1D-example.scd b/release-packaging/Examples/dataset/1-learning examples/1a-starting-1D-example.scd deleted file mode 100644 index 02fb085..0000000 --- a/release-packaging/Examples/dataset/1-learning examples/1a-starting-1D-example.scd +++ /dev/null @@ -1,73 +0,0 @@ -s.reboot -~ds = FluidDataSet.new(s) -~point = Buffer.alloc(s,1,1) -( -Routine{ - 10.do{|i| - ~point.set(0,i); - ~ds.addPoint(i.asString,~point,{("addPoint"+i).postln}); //because buffer.set do an immediate update in the RT thread we can take for granted it'll be updated when we call addPoint - s.sync; //but we need to sync to make sure everything is done on the DataSet before the next iteration - } -}.play -) -~ds.print; - -/*** KDTREE ***/ -~tree = FluidKDTree.new(s) -~tree.fit(~ds,action:{"Done indexing".postln}) - -~tree.numNeighbours = 5; //play with this -( -Routine{ - 10.do{|i| - ~point.set(0,i); - ~tree.kNearest(~point, {|x| "Neighbours for a value of % are ".postf(i); x.postln}); - s.sync; - } -}.play -) - -/*** KMEANS ***/ - -~kmeans = FluidKMeans.new(s,maxIter:100); -~kmeans.numClusters = 2; //play with this -~kmeans.fit(~ds,action:{|x| "Done fitting with these number of items per cluster ".post;x.postln;}) - -( -Routine{ - 10.do{|i| - ~point.set(0,i); - ~kmeans.predictPoint(~point,{|x| ("Predicted Cluster for a value of " + i ++ ":" + x).postln}); - s.sync; - } -}.play -) - -~labels = FluidLabelSet(s); - -~kmeans.predict(~ds,~labels, {|x| ("Size of each cluster" + x).postln}) - -( -~labels.size{|x| - Routine{x.asInteger.do{|i| - ~labels.getLabel(i,action: {|l| - ("Label for entry " + i ++ ":" + l).postln; - }); - s.sync; - } - }.play; -}; -) - -// or simply print it -~labels.print - -// or dump and format -( -~labels.dump{|x| - var keys = x["data"].keys.asArray.sort; - keys.do{|key| - "Label for entry % is %\n".postf(key, x["data"][key][0]); - } -} -) diff --git a/release-packaging/Examples/dataset/1-learning examples/2a-starting-1D-example2.scd b/release-packaging/Examples/dataset/1-learning examples/2a-starting-1D-example2.scd deleted file mode 100644 index faa0ada..0000000 --- a/release-packaging/Examples/dataset/1-learning examples/2a-starting-1D-example2.scd +++ /dev/null @@ -1,67 +0,0 @@ -s.reboot -~ds = FluidDataSet.new(s) -~point = Buffer.alloc(s,1,1) -( -Routine{ - 10.do{|i| - var d; - if(i<=4,{d=i},{d=i+5}); - ~point.set(0,d); - ~ds.addPoint(i.asString,~point,{("addPoint"+i).postln}); - s.sync; - } -}.play -) -~ds.print; - -/*** KDTREE ***/ -~tree = FluidKDTree.new(s) -~tree.fit(~ds,action:{"Done indexing".postln}) - -~tree.numNeighbours = 5; //play with this -( -Routine{ - 15.do{|i| - ~point.set(0,i); - ~tree.kNearest(~point, {|x| "Neighbours for a value of % are ".postf(i); x.post;" with respective distances of ".post;}); - ~tree.kNearestDist(~point, {|x| x.postln}); - s.sync; - } -}.play -) - - -/*** KMEANS ***/ - -~kmeans = FluidKMeans.new(s,maxIter:100) -~kmeans.numClusters = 2; //play with this -~kmeans.fit(~ds, action:{|x| "Done fitting with these number of items per cluster ".post;x.postln;}) - -( -Routine{ - 15.do{|i| - ~point.set(0,i); - ~kmeans.predictPoint(~point,{|x| ("Predicted Cluster for a value of " + i ++ ":" + x).postln}); - s.sync; - } -}.play -) - -~labels = FluidLabelSet(s); - -~kmeans.predict(~ds,~labels, {|x| ("Size of each cluster" + x).postln}) - -( -~labels.size{|x| - Routine{x.asInteger.do{|i| //size does not return a value, but we can retrieve it via a function - ~labels.getLabel(i,action: {|l| - ("Label for entry " + i ++ ":" + l).postln; - }); - s.sync; - } - }.play; -}; -) - -// or simply print it -~labels.print \ No newline at end of file diff --git a/release-packaging/Examples/dataset/1-learning examples/3a-classifier-example.scd b/release-packaging/Examples/dataset/1-learning examples/3a-classifier-example.scd deleted file mode 100644 index 5f80842..0000000 --- a/release-packaging/Examples/dataset/1-learning examples/3a-classifier-example.scd +++ /dev/null @@ -1,64 +0,0 @@ -( -~simpleInput = FluidDataSet(s); -~simpleOutput = FluidLabelSet(s); -b = Buffer.alloc(s,2); -~knn = FluidKNNClassifier(s); -~knn.numNeighbours = 3 -) - -( -var w,v,myx,myy; - -//initialise the mouse position holder -myx=0; -myy=0; - -//make a window and a full size view -w = Window.new("Viewer", Rect(100,Window.screenBounds.height - 400, 310, 310)).front; -v = View.new(w,Rect(0,0, 310, 310)); - -//creates a function that reacts to mousedown -v.mouseDownAction = {|view, x, y|myx=x;myy=y;w.refresh; - // myx.postln;myy.postln; - Routine{ - b.setn(0,[myx,myy]); - ~knn.predictPoint(b, action: {|x|x.postln;}); - s.sync; -}.play;}; - -//custom redraw function -w.drawFunc = { - 100.do { |i| - if (i < 50, {Pen.color = Color.white;} ,{Pen.color = Color.red;}); - Pen.addRect(Rect(i.div(10)*30+10,i.mod(10)*30+10,20,20)); - Pen.perform(\fill); - }; - Pen.color = Color.black; - Pen.addOval(Rect(myx-5, myy-5,10,10)); - Pen.perform(\stroke); -}; -) - -( -//populates a dataset with the same squares as the gui (their centres) (old method, iterating over buffers. A dictionary approach would be more efficient, see the example in this folder) -Routine{ - 50.do{|i| - var x = i.div(10)*30+20; - var y = i.mod(10)*30+20; - b.setn(0,[x,y]); - ~simpleInput.addPoint(i.asString,b,{("Added Input" + i).postln}); - ~simpleOutput.addLabel(i.asString,"White",{("Added Output" + i).postln}); - s.sync; - b.setn(0,[x+150,y]); - ~simpleInput.addPoint((i+50).asString,b,{("Added Input" + (i+50)).postln}); - ~simpleOutput.addLabel((i+50).asString,"Red",{("Added Output" + (i+50)).postln}); - s.sync; - }; - \done.postln; - }.play; -) - -// fit the dataset -~knn.fit(~simpleInput,~simpleOutput, action:{"fitting done".postln}) - -// now click on the grid and read the estimated class according to the nearest K neighbours. diff --git a/release-packaging/Examples/dataset/1-learning examples/4-regressor-example.scd b/release-packaging/Examples/dataset/1-learning examples/4-regressor-example.scd deleted file mode 100644 index e7f2b38..0000000 --- a/release-packaging/Examples/dataset/1-learning examples/4-regressor-example.scd +++ /dev/null @@ -1,74 +0,0 @@ -s.reboot - -~urn = { |n=31416, min=0,max=31415| (min..max).scramble.keep(n) }; - -// creates 200 indices, then values of the output of a fundion with a predictable shape of a sinewave -n = 200 -~idx = ~urn.value(n) -~data = n.collect{|i|sin(~idx[i]/5000)} - -// creates the dataset with these associated indices and values -( -~simpleInput = FluidDataSet(s); -~simpleOutput = FluidDataSet(s); -b = Buffer.alloc(s,1); -c = Buffer.alloc(s,1); -~mappingviz = Buffer.alloc(s,512); -) - -( -Routine{ - n.do{|i| - b.set(0,~idx[i]); - c.set(0,~data[i]); - ~simpleInput.addPoint(i.asString,b,{("Added Input" + i).postln}); - ~simpleOutput.addPoint(i.asString,c,{("Added Output" + i).postln}); - ~mappingviz.set((~idx[i]/61.4).asInteger,~data[i]); - s.sync; - } -}.play -) - -~simpleInput.print -~simpleOutput.print - -//look at the seeing material -~mappingviz.plot(minval:-1,maxval:1) - -//create a buffer to query -~mappingresult = Buffer.alloc(s,512); - -//make the process then fit the data -~knn = FluidKNNRegressor(s,3,1) -~knn.fit(~simpleInput, ~simpleOutput, action:{"fitting done".postln}) - -// query 512 points along the line (slow because of all that sync'ing) -( -~knn.numNeighbours = 1; // change to see how many points the system uses to regress -Routine{ - 512.do{|i| - b.set(0,i*61); - ~knn.predictPoint(b,action:{|d|~mappingresult.set(i,d);}); - s.sync; - i.postln; - } -}.play -) - -// look at the interpolated values -~mappingresult.plot - -// change the number of neighbours to regress on -~knn.numNeighbours_(5) -~knn.fit(~simpleInput, ~simpleOutput, action:{"fitting done".postln}) - -// instead of doing the mapping per point, let's do a dataset of 512 points -~target = FluidDataSet(s) -~target.load(Dictionary.newFrom([\cols, 1, \data, Dictionary.newFrom(512.collect{|i|[i.asString, [i.asFloat * 61]]}.flatten)])) -~regressed = FluidDataSet(s) -~knn.predict(~target, ~regressed, action:{"prediction done".postln}) - -//dump the regressed values -~outputArray = Array.newClear(512); -~regressed.dump{|x| x["data"].keysValuesDo{|key,val|~outputArray[key.asInteger] = val[0]}} -~outputArray.plot \ No newline at end of file diff --git a/release-packaging/Examples/dataset/1-learning examples/5-normalization-and-standardization-example.scd b/release-packaging/Examples/dataset/1-learning examples/5-normalization-and-standardization-example.scd deleted file mode 100644 index 1cf3de6..0000000 --- a/release-packaging/Examples/dataset/1-learning examples/5-normalization-and-standardization-example.scd +++ /dev/null @@ -1,120 +0,0 @@ -( -// set some variables -~nb_of_dim = 10; -~dataset = FluidDataSet(s); -) - -( -// fill up the dataset with 20 entries of 10 column/dimension/descriptor value each. The naming of the item's label is arbitrary as usual -Routine{ - var buf = Buffer.alloc(s,~nb_of_dim); - 20.do({ arg i; - buf.loadCollection(Array.fill(~nb_of_dim,{rrand(0.0,100.0)})); - ~dataset.addPoint("point-"++i.asInteger.asString, buf); - s.sync; - }); - buf.free; - \done.postln; -}.play -) - -~dataset.print; - -// make a buf for getting points back -~query_buf = Buffer.alloc(s,~nb_of_dim); - -// look at a point to see that it has points in it -~dataset.getPoint("point-0",~query_buf,{~query_buf.getn(0,~nb_of_dim,{|x|x.postln;});}); - -// look at another point to make sure it's different... -~dataset.getPoint("point-7",~query_buf,{~query_buf.getn(0,~nb_of_dim,{|x|x.postln;});}); - -/////////////////////////////////////////////////////// -// exploring full dataset normalization and standardization - -// make a FluidNormalize -~normalize = FluidNormalize(s,0,1); - -// fits the dataset to find the coefficients -~normalize.fit(~dataset,{"done".postln;}); - -// making an empty 'normed_dataset' which is required for the normalize function -~normed_dataset = FluidDataSet(s); - -// normalize the full dataset -~normalize.transform(~dataset,~normed_dataset,{"done".postln;}); - -// look at a point to see that it has points in it -~normed_dataset.getPoint("point-0",~query_buf,{~query_buf.getn(0,~nb_of_dim,{|x|x.postln;});}); -// 10 numbers between 0.0 and 1.0 where each column/dimension/descriptor is certain to have at least one item on which it is 0 and one on which it is 1 -// query a few more for fun - -// try FluidStandardize -~standardize = FluidStandardize(s); - -// fits the dataset to find the coefficients -~standardize.fit(~dataset,{"done".postln;}); - -// standardize the full dataset -~standardized_dataset = FluidDataSet(s); -~standardize.transform(~dataset,~standardized_dataset,{"done".postln;}); - -// look at a point to see that it has points in it -~standardized_dataset.getPoint("point-0",~query_buf,{~query_buf.getn(0,~nb_of_dim,{|x|x.postln;});}); -// 10 numbers that are standardize, which mean that, for each column/dimension/descriptor, the average of all the points will be 0. and the standard deviation 1. - -//////////////////////////////////////////////////// -// exploring point querying concepts via norm and std - -// Once a dataset is normalized / standardized, query points have to be scaled accordingly to be used in distance measurement. In our instance, values were originally between 0 and 100, and now they will be between 0 and 1 (norm), or their average will be 0. (std). If we have data that we want to match from a similar ranging input, which is usually the case, we will need to normalize the searching point in each dimension using the same coefficients. - -// first, make sure you have run all the code above, since we will query these datasets - -// get a know point as a query point -~dataset.getPoint("point-7",~query_buf); - -// find the 2 points with the shortest distances in the dataset -~tree = FluidKDTree.new(s,numNeighbours:2); -~tree.fit(~dataset) -~tree.kNearest(~query_buf, {|x| ("Labels:" + x).postln}); -~tree.kNearestDist(~query_buf, {|x| ("Distances:" + x).postln}); -// its nearest neighbourg is itself: it should be itself and the distance should be 0. The second point is depending on your input dataset. - -// normalise that point (~query_buf) to be at the right scale -~normbuf = Buffer.alloc(s,~nb_of_dim); -~normalize.transformPoint(~query_buf,~normbuf); -~normbuf.getn(0,~nb_of_dim,{arg vec;vec.postln;}); - -// make a tree of the normalized database and query with the normalize buffer -~normtree = FluidKDTree.new(s,numNeighbours:2); -~normtree.fit(~normed_dataset) -~normtree.kNearest(~normbuf, {|x| ("Labels:" + x).postln}); -~normtree.kNearestDist(~normbuf, {|x| ("Distances:" + x).postln}); -// its nearest neighbourg is still itself as it should be, but the 2nd neighbourg might have changed. The distance is now different too - -// standardize that same point (~query_buf) to be at the right scale -~stdbuf = Buffer.alloc(s,~nb_of_dim); -~standardize.transformPoint(~query_buf,~stdbuf); -~stdbuf.getn(0,~nb_of_dim,{arg vec;vec.postln;}); - -// make a tree of the standardized database and query with the normalize buffer -~stdtree = FluidKDTree.new(s, numNeighbours: 2); -~stdtree.fit(~standardized_dataset) -~stdtree.kNearest(~stdbuf, {|x| ("Labels:" + x).postln}); -~stdtree.kNearestDist(~stdbuf, {|x| ("Distances:" + x).postln}); -// its nearest neighbourg is still itself as it should be, but the 2nd neighbourg might have changed yet again. The distance is also different too - -// where it starts to be interesting is when we query points that are not in our original dataset - -// fill with known values (50.0 for each of the 10 column/dimension/descriptor, aka the theoretical middle point of the multidimension space) This could be anything but it is fun to aim in the middle. -~query_buf.fill(0,~nb_of_dim,50); - -// normalize and standardize the query buffer. Note that we do not need to fit since we have not added a point to our reference dataset -~normalize.transformPoint(~query_buf,~normbuf); -~standardize.transformPoint(~query_buf,~stdbuf); - -//query the single nearest neighbourg via 3 different data scaling. Depending on the random source at the begining, you should get (small or large) differences between the 3 answers! -[~tree,~normtree,~stdtree].do{|t| t.numNeighbours =1 }; -~tree.kNearest(~query_buf, {|x| ("Original:" + x).post;~tree.kNearestDist(~query_buf, {|x| (" with a distance of " + x).postln});}); -~normtree.kNearest(~normbuf, {|x| ("Normalized:" + x).post;~normtree.kNearestDist(~normbuf, {|x| (" with a distance of " + x).postln});}); -~stdtree.kNearest(~stdbuf, {|x| ("Standardized:" + x).post; ~stdtree.kNearestDist(~stdbuf, {|x| (" with a distance of " + x).postln});}); diff --git a/release-packaging/Examples/dataset/1-learning examples/8b-mlp-synth-control.scd b/release-packaging/Examples/dataset/1-learning examples/8b-mlp-synth-control.scd deleted file mode 100644 index c756125..0000000 --- a/release-packaging/Examples/dataset/1-learning examples/8b-mlp-synth-control.scd +++ /dev/null @@ -1,101 +0,0 @@ -//1- make the gui then the synth below -( -Window.closeAll; -s.waitForBoot{ - Task{ - var trained = 0, entering = 0; - var input_buffer = Buffer.alloc(s,2); - var output_buffer = Buffer.alloc(s,10); - var mlp = FluidMLPRegressor(s,[6],activation: 1,outputActivation: 1,maxIter: 1000,learnRate: 0.1,momentum: 0.9,batchSize: 1); - var entry_counter = 0; - var win, multislider, xyslider, synth, error_st, prediction_but, addPoints_but, train_but; - var item_width = 100; - var inData = FluidDataSet(s); - var outData = FluidDataSet(s); - - win = Window("ChaosSynth", Rect(10, 10, 840, 320)).front; - - multislider = MultiSliderView(win,Rect(10, 10, 400, 300)) - .elasticMode_(1) - .isFilled_(1) - .action_({ - arg ms; - // ms.value.postln; - synth.set(\val,ms.value); - output_buffer.setn(0,ms.value); - }) - .value_(0.5.dup(10)); - - xyslider = Slider2D(win,Rect(420,10,300, 300)) - .x_(0.5) - .y_(0.5) - .action_({ - arg sl; - - input_buffer.setn(0,[sl.x,sl.y]); - - if(prediction_but.value.asBoolean,{ - mlp.predictPoint(input_buffer,output_buffer,{ - output_buffer.getn(0,10,{ - arg output_values; - synth.set(\val, output_values); - { - multislider.value_(output_values) - }.defer; - }); - }); - }); - }); - - addPoints_but = Button(win, Rect(730,10,item_width, 20)) - .states_([["add points", Color.white, Color.grey]]) - .action_({ - inData.addPoint(entry_counter.asSymbol,input_buffer); - outData.addPoint(entry_counter.asSymbol,output_buffer); - entry_counter = entry_counter + 1; - inData.print; - outData.print; - }); - - train_but = Button(win, Rect(730,240,item_width, 20)) - .states_([["train", Color.red, Color.white]]) - .action_({ - mlp.fit(inData,outData,{ - arg loss; - {error_st.string_("loss: %".format(loss.round(0.001)))}.defer; - }); - }); - - prediction_but = Button(win, Rect(730,40,item_width, 20)) - .states_([["Not Predicting", Color.black, Color.white],["Predicting",Color.black,Color.white]]); - - error_st = StaticText(win,Rect(732,260,item_width,20)).string_("Error:"); - StaticText(win,Rect(732,70,item_width,20)).string_("rate:"); - TextField(win,Rect(730,90,item_width,20)).string_(0.1.asString).action_{|in|mlp.learnRate = in.value.asFloat.postln;}; - StaticText(win,Rect(732,110,item_width,20)).string_("momentum:"); - TextField(win,Rect(730,130,item_width,20)).string_(0.9.asString).action_{|in|mlp.momentum = in.value.asFloat.postln;}; - StaticText(win,Rect(732,150,item_width,20)).string_("maxIter:"); - TextField(win,Rect(730,170,item_width,20)).string_(1000.asString).action_{|in| mlp.maxIter = in.value.asInteger.postln;}; - - s.sync; - - //2- the synth - synth = { - arg val = #[0,0,0,0,0,0,0,0,0,0]; - var osc1, osc2, feed1, feed2, base1=69, base2=69, base3 = 130; - #feed2,feed1 = LocalIn.ar(2); - osc1 = MoogFF.ar(SinOsc.ar((((feed1 * val[0]) + val[1]) * base1).midicps,mul: (val[2] * 50).dbamp).atan,(base3 - (val[3] * (FluidLoudness.kr(feed2, 1, 0, hopSize: 64)[0].clip(-120,0) + 120))).lag(128/44100).midicps, val[4] * 3.5); - osc2 = MoogFF.ar(SinOsc.ar((((feed2 * val[5]) + val[6]) * base2).midicps,mul: (val[7] * 50).dbamp).atan,(base3 - (val[8] * (FluidLoudness.kr(feed1, 1, 0, hopSize: 64)[0].clip(-120,0) + 120))).lag(128/44100).midicps, val[9] * 3.5); - Out.ar(0,LeakDC.ar([osc1,osc2],mul: 0.1)); - LocalOut.ar([osc1,osc2]); - }.play; - }.play(AppClock); -}; -) - -///////// -//3 - play with the multislider -//4 - when you like a spot, move the 2d slider to a position that you want to represent that sound and click "add point" -//5 - do that for a few points -//6 - click train, keep clicking train until the loss is at or below 0.01 or so. feel free to adjust the learning rate, momentum, and max iter. -//7 - the 2D graph controls the 10D diff --git a/release-packaging/Examples/dataset/2-various other examples/scaling-dimension-as-weighting/2-3Dscaling.scd b/release-packaging/Examples/dataset/2-various other examples/scaling-dimension-as-weighting/2-3Dscaling.scd deleted file mode 100644 index 71b7e7f..0000000 --- a/release-packaging/Examples/dataset/2-various other examples/scaling-dimension-as-weighting/2-3Dscaling.scd +++ /dev/null @@ -1,161 +0,0 @@ -// Make: -// - A kmeans -// - a datasetquery -// - a normalizer -// - a standardizer -// - 3 DataSets of example points R-G-B descriptions -// - 3 DataSets for the scaled versions -// - 1 summative dataset and a LabelSet for predicted labels - -( -~classifier = FluidKMeans(s,5, 1000); -~query = FluidDataSetQuery(s); -~stan = FluidStandardize(s); -~norm = FluidNormalize(s); -~sourceR = FluidDataSet(s); -~sourceG = FluidDataSet(s); -~sourceB = FluidDataSet(s); -~scaledR = FluidDataSet(s); -~scaledG = FluidDataSet(s); -~scaledB = FluidDataSet(s); -~composited = FluidDataSet(s); -~labels = FluidLabelSet(s); -) - -//Make some random, but clustered test points, each descriptor category in a separate dataset -( -~sourceR.load(Dictionary.newFrom([\cols, 1, \data, (Dictionary.newFrom(40.collect{|x| [x, 1.0.sum3rand]}.flatten))])); -~sourceG.load(Dictionary.newFrom([\cols, 1, \data, (Dictionary.newFrom(40.collect{|x| [x, 1.0.rand2]}.flatten))])); -~sourceB.load(Dictionary.newFrom([\cols, 1, \data, (Dictionary.newFrom(40.collect{|x| [x, (0.5.sum3rand).squared + [0.75,-0.1].choose]}.flatten))])); -) - -//here we manipulate - -//assemble the scaled dataset -( -~query.addColumn(0, { - ~query.transformJoin(~sourceB, ~sourceG, ~composited, { - ~query.transformJoin(~sourceR, ~composited, ~composited); - }); -}); -) - -~composited.print - -//Fit the classifier to the example DataSet and labels, and then run prediction on the test data into our mapping label set -~classifier.fitPredict(~composited,~labels,{~labels.dump{|x|~labeldict = x;};~composited.dump{|x|~compodict=x;};}); - -//Visualise: -( -w = Window("sourceClasses", Rect(128, 64, 820, 120)); -w.drawFunc = { - Pen.use{ - ~compodict["data"].keysValuesDo{|key, colour| - Pen.fillColor = Color.fromArray((colour * 0.5 + 0.5 ).clip(0,1) ++ 1); - Pen.fillRect( Rect( (key.asFloat * 20 + 10), (~labeldict["data"].at(key).asInteger[0] * 20 + 10),15,15)); - }; - }; -}; -w.refresh; -w.front; -) - -// standardize our colours and rerun -( -~stan.fitTransform(~sourceR, ~scaledR, { - ~stan.fitTransform(~sourceG, ~scaledG, { - ~stan.fitTransform(~sourceB, ~scaledB, { - //assemble - ~query.addColumn(0, { - ~query.transformJoin(~scaledB, ~scaledG, ~composited, { - ~query.transformJoin(~scaledR, ~composited, ~composited, { - //fit - ~classifier.fitPredict(~composited,~labels,{~labels.dump{|x|~labeldict2 = x;};~composited.dump{|x|~compodict2=x;};}); - }); - }); - }); - }); - }); -}); -) - -//Visualise: -( -w = Window("stanClasses", Rect(128, 204, 820, 120)); -w.drawFunc = { - Pen.use{ - ~compodict2["data"].keysValuesDo{|key, colour| - Pen.fillColor = Color.fromArray((colour * 0.25 + 0.5 ).clip(0,1) ++ 1); - Pen.fillRect( Rect( (key.asFloat * 20 + 10), (~labeldict2["data"].at(key).asInteger[0] * 20 + 10),15,15)); - }; - }; -}; -w.refresh; -w.front; -) - -//now let's normalise instead -( -~norm.fitTransform(~sourceR, ~scaledR, { - ~norm.fitTransform(~sourceG, ~scaledG, { - ~norm.fitTransform(~sourceB, ~scaledB, { - //assemble - ~query.addColumn(0, { - ~query.transformJoin(~scaledB, ~scaledG, ~composited, { - ~query.transformJoin(~scaledR, ~composited, ~composited, { - //fit - ~classifier.fitPredict(~composited,~labels,{~labels.dump{|x|~labeldict2 = x;};~composited.dump{|x|~compodict2=x;};}); - }); - }); - }); - }); - }); -}); -) - -//Visualise: -( -w = Window("normClasses", Rect(128, 344, 820, 120)); -w.drawFunc = { - Pen.use{ - ~compodict2["data"].keysValuesDo{|key, colour| - Pen.fillColor = Color.fromArray((colour * 0.25 + 0.5 ).clip(0,1) ++ 1); - Pen.fillRect( Rect( (key.asFloat * 20 + 10), (~labeldict2["data"].at(key).asInteger[0] * 20 + 10),15,15)); - }; - }; -}; -w.refresh; -w.front; -) - -// let's mess up with the scaling of one dimension: let's multiply the range of Red by 10 -~norm.min = -10; -~norm.max = 10; -( -~norm.fitTransform(~sourceR, ~scaledR, { - //assemble - ~query.addColumn(0, { - ~query.transformJoin(~scaledB, ~scaledG, ~composited, { - ~query.transformJoin(~scaledR, ~composited, ~composited, { - //fit - ~classifier.fitPredict(~composited,~labels,{~labels.dump{|x|~labeldict2 = x;};~composited.dump{|x|~compodict2=x;};}); - }); - }); - }); -}); -) - -//Visualise: -( -w = Window("norm10rClasses", Rect(128, 484, 820, 120)); -w.drawFunc = { - Pen.use{ - ~compodict2["data"].keysValuesDo{|key, colour| - Pen.fillColor = Color.fromArray((colour * 0.25 + 0.5 ).clip(0,1) ++ 1); - Pen.fillRect( Rect( (key.asFloat * 20 + 10), (~labeldict2["data"].at(key).asInteger[0] * 20 + 10),15,15)); - }; - }; -}; -w.refresh; -w.front; -) diff --git a/release-packaging/Examples/nmf/JiT-NMF-classifier.scd b/release-packaging/Examples/nmf/JiT-NMF-classifier.scd deleted file mode 100644 index 1b15b60..0000000 --- a/release-packaging/Examples/nmf/JiT-NMF-classifier.scd +++ /dev/null @@ -1,202 +0,0 @@ -// using nmf in 'real-time' as a classifier -// how it works: a circular buffer is recording and attacks trigger the process -// if in learning mode, it does a one component nmf which makes an approximation of the base. 3 of those will be copied in 3 different positions of our final 3-component base -// in in guessing mode, it does a thres component nmf from the trained bases and yields the 3 activation peaks, on which it thresholds resynth - -//how to use: -// 1. start the server -// 2. select between parenthesis below and execute. You should get a window with 3 pads (bd sn hh) and various menus -// 3. train the 3 classes: -// 3.1 select the learn option -// 3.2 select which class you want to train -// 3.3 play the sound you want to associate with that class a few times (the left audio channel is the source) -// 3.4 click the transfer button -// 3.5 repeat (3.2-3.4) for the other 2 classes. -// 3.x you can observe the 3 bases here: -~classify_bases.plot(numChannels:3) - -// 4. classify -// 4.1 select the classify option -// 4.2 press a pad and look at the activation -// 4.3 tweak the thresholds and enjoy the resynthesis. (the right audio channel is the detected class where classA is a bd sound) -// 4.x you can observe the 3 activations here: -~activations.plot(numChannels:3) - -/// code to execute first -( -var circle_buf = Buffer.alloc(s,s.sampleRate * 2); // b -var input_bus = Bus.audio(s,1); // g -var classifying = 0; // c -var cur_training_class = 0; // d -var train_base = Buffer.alloc(s, 65); // e -var activation_vals = [0.0,0.0,0.0]; // j -var thresholds = [0.5,0.5,0.5]; // k -var activations_disps; -var analysis_synth; -var osc_func; -var update_rout; - -~classify_bases = Buffer.alloc(s, 65, 3); // f -~activations = Buffer.new(s); - -// the circular buffer with triggered actions sending the location of the head at the attack -Routine { - SynthDef(\JITcircular,{arg bufnum = 0, input = 0, env = 0; - var head, head2, duration, audioin, halfdur, trig; - duration = BufFrames.kr(bufnum) / 2; - halfdur = duration / 2; - head = Phasor.ar(0,1,0,duration); - head2 = (head + halfdur) % duration; - - // circular buffer writer - audioin = In.ar(input,1); - BufWr.ar(audioin,bufnum,head,0); - BufWr.ar(audioin,bufnum,head+duration,0); - trig = FluidAmpSlice.ar(audioin, 10, 1666, 2205, 2205, 12, 9, -47,4410, 85); - - // cue the calculations via the language - SendReply.ar(trig, '/attack',head); - - Out.ar(0,audioin); - }).add; - - // drum sounds taken from original code by snappizz - // https://sccode.org/1-523 - // produced further and humanised by PA - SynthDef(\fluidbd, { - |out = 0| - var body, bodyFreq, bodyAmp; - var pop, popFreq, popAmp; - var click, clickAmp; - var snd; - - // body starts midrange, quickly drops down to low freqs, and trails off - bodyFreq = EnvGen.ar(Env([Rand(200,300), 120, Rand(45,49)], [0.035, Rand(0.07,0.1)], curve: \exp)); - bodyAmp = EnvGen.ar(Env([0,Rand(0.8,1.3),1,0],[0.005,Rand(0.08,0.085),Rand(0.25,0.35)]), doneAction: 2); - body = SinOsc.ar(bodyFreq) * bodyAmp; - // pop sweeps over the midrange - popFreq = XLine.kr(Rand(700,800), Rand(250,270), Rand(0.018,0.02)); - popAmp = EnvGen.ar(Env([0,Rand(0.8,1.3),1,0],[0.001,Rand(0.018,0.02),Rand(0.0008,0.0013)])); - pop = SinOsc.ar(popFreq) * popAmp; - // click is spectrally rich, covering the high-freq range - // you can use Formant, FM, noise, whatever - clickAmp = EnvGen.ar(Env.perc(0.001,Rand(0.008,0.012),Rand(0.07,0.12),-5)); - click = RLPF.ar(VarSaw.ar(Rand(900,920),0,0.1), 4760, 0.50150150150) * clickAmp; - - snd = body + pop + click; - snd = snd.tanh; - - Out.ar(out, snd); - }).add; - - SynthDef(\fluidsn, { - |out = 0| - var pop, popAmp, popFreq; - var noise, noiseAmp; - var click; - var snd; - - // pop makes a click coming from very high frequencies - // slowing down a little and stopping in mid-to-low - popFreq = EnvGen.ar(Env([Rand(3210,3310), 410, Rand(150,170)], [0.005, Rand(0.008,0.012)], curve: \exp)); - popAmp = EnvGen.ar(Env.perc(0.001, Rand(0.1,0.12), Rand(0.7,0.9),-5)); - pop = SinOsc.ar(popFreq) * popAmp; - // bandpass-filtered white noise - noiseAmp = EnvGen.ar(Env.perc(0.001, Rand(0.13,0.15), Rand(1.2,1.5),-5), doneAction: 2); - noise = BPF.ar(WhiteNoise.ar, 810, 1.6) * noiseAmp; - - click = Impulse.ar(0); - snd = (pop + click + noise) * 1.4; - - Out.ar(out, snd); - }).add; - - SynthDef(\fluidhh, { - |out = 0| - var click, clickAmp; - var noise, noiseAmp, noiseFreq; - - // noise -> resonance -> expodec envelope - noiseAmp = EnvGen.ar(Env.perc(0.001, Rand(0.28,0.3), Rand(0.4,0.6), [-20,-15]), doneAction: 2); - noiseFreq = Rand(3900,4100); - noise = Mix(BPF.ar(ClipNoise.ar, [noiseFreq, noiseFreq+141], [0.12, 0.31], [2.0, 1.2])) * noiseAmp; - - Out.ar(out, noise); - }).add; - - // makes sure all the synthdefs are on the server - s.sync; - - // instantiate the JIT-circular-buffer - analysis_synth = Synth(\JITcircular,[\bufnum, circle_buf, \input, input_bus]); - train_base.fill(0,65,0.1); - - // instantiate the listener to cue the processing from the language side - osc_func = OSCFunc({ arg msg; - var head_pos = msg[3]; - // when an attack happens - if (classifying == 0, { - // if in training mode, makes a single component nmf - FluidBufNMF.process(s, circle_buf, head_pos, 128, bases:train_base, basesMode: 1, windowSize: 128); - }, { - // if in classifying mode, makes a 3 component nmf from the pretrained bases and compares the activations with the set thresholds - FluidBufNMF.process(s, circle_buf, head_pos, 128, components:3, bases:~classify_bases, basesMode: 2, activations:~activations, windowSize: 128, action:{ - // we are retrieving and comparing against the 2nd activation, because FFT processes are zero-padded on each sides, therefore the complete 128 samples are in the middle of the analysis. - ~activations.getn(3,3,{|x| - activation_vals = x; - if (activation_vals[0] >= thresholds[0], {Synth(\fluidbd,[\out,1])}); - if (activation_vals[1] >= thresholds[1], {Synth(\fluidsn,[\out,1])}); - if (activation_vals[2] >= thresholds[2], {Synth(\fluidhh,[\out,1])}); - defer{ - activations_disps[0].string_("A:" ++ activation_vals[0].round(0.01)); - activations_disps[1].string_("B:" ++ activation_vals[1].round(0.01)); - activations_disps[2].string_("C:" ++ activation_vals[2].round(0.01)); - }; - }); - }; - ); - }); - }, '/attack', s.addr); - - // make sure all the synths are instantiated - s.sync; - - // GUI for control - { - var win = Window("Control", Rect(100,100,610,100)).front; - - Button(win, Rect(10,10,80, 80)).states_([["bd",Color.black,Color.white]]).mouseDownAction_({Synth(\fluidbd, [\out, input_bus], analysis_synth, \addBefore)}); - Button(win, Rect(100,10,80, 80)).states_([["sn",Color.black,Color.white]]).mouseDownAction_({Synth(\fluidsn, [\out, input_bus], analysis_synth, \addBefore)}); - Button(win, Rect(190,10,80, 80)).states_([["hh",Color.black,Color.white]]).mouseDownAction_({Synth(\fluidhh, [\out, input_bus], analysis_synth,\addBefore)}); - StaticText(win, Rect(280,7,85,25)).string_("Select").align_(\center); - PopUpMenu(win, Rect(280,32,85,25)).items_(["learn","classify"]).action_({|value| - classifying = value.value; - if(classifying == 0, { - train_base.fill(0,65,0.1) - }); - }); - PopUpMenu(win, Rect(280,65,85,25)).items_(["classA","classB","classC"]).action_({|value| - cur_training_class = value.value; - train_base.fill(0,65,0.1); - }); - Button(win, Rect(375,65,85,25)).states_([["transfer",Color.black,Color.white]]).mouseDownAction_({ - if(classifying == 0, { - // if training - FluidBufCompose.process(s, train_base, numChans:1, destination:~classify_bases, destStartChan:cur_training_class); - }); - }); - StaticText(win, Rect(470,7,75,25)).string_("Acts"); - activations_disps = Array.fill(3, {arg i; - StaticText(win, Rect(470,((i+1) * 20 )+ 7,80,25)); - }); - StaticText(win, Rect(540,7,55,25)).string_("Thresh").align_(\center); - 3.do {arg i; - TextField(win, Rect(540,((i+1) * 20 )+ 7,55,25)).string_("0.5").action_({|x| thresholds[i] = x.value.asFloat;}); - }; - - win.onClose_({circle_buf.free;input_bus.free;osc_func.clear;analysis_synth.free;}); - }.defer; -}.play; -) - -// thanks to Ted Moore for the SC code cleaning and improvements! From ffc3c32901eba988ca5258f3a142df4de5c39998 Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Tue, 1 Feb 2022 13:30:44 -0500 Subject: [PATCH 71/88] argument typo in FluidLoudness 'maxwindowSize' --> 'maxWindowSize' --- release-packaging/Classes/FluidLoudness.sc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release-packaging/Classes/FluidLoudness.sc b/release-packaging/Classes/FluidLoudness.sc index ac8372d..f4dc890 100644 --- a/release-packaging/Classes/FluidLoudness.sc +++ b/release-packaging/Classes/FluidLoudness.sc @@ -1,5 +1,5 @@ FluidLoudness : FluidRTMultiOutUGen { - *kr { arg in = 0, kWeighting = 1, truePeak = 1, windowSize = 1024, hopSize = 512, maxwindowSize = 16384; + *kr { arg in = 0, kWeighting = 1, truePeak = 1, windowSize = 1024, hopSize = 512, maxWindowSize = 16384; ^this.multiNew('control', in.asAudioRateInput(this), kWeighting, truePeak, windowSize, hopSize, maxwindowSize); } From f7fad289b5e8b52832342dbacd59197101741954 Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Tue, 1 Feb 2022 18:20:13 -0500 Subject: [PATCH 72/88] typo: maxWindowSize in FluidLoudness --- release-packaging/Classes/FluidLoudness.sc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release-packaging/Classes/FluidLoudness.sc b/release-packaging/Classes/FluidLoudness.sc index f4dc890..f5ca703 100644 --- a/release-packaging/Classes/FluidLoudness.sc +++ b/release-packaging/Classes/FluidLoudness.sc @@ -1,6 +1,6 @@ FluidLoudness : FluidRTMultiOutUGen { *kr { arg in = 0, kWeighting = 1, truePeak = 1, windowSize = 1024, hopSize = 512, maxWindowSize = 16384; - ^this.multiNew('control', in.asAudioRateInput(this), kWeighting, truePeak, windowSize, hopSize, maxwindowSize); + ^this.multiNew('control', in.asAudioRateInput(this), kWeighting, truePeak, windowSize, hopSize, maxWindowSize); } init {arg ...theInputs; From e6d4b95f2347c821a4252479ce456f8f1ea9cf29 Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Thu, 3 Feb 2022 12:36:14 -0500 Subject: [PATCH 73/88] fix FluidMFCC argument ordering --- release-packaging/Classes/FluidMFCC.sc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release-packaging/Classes/FluidMFCC.sc b/release-packaging/Classes/FluidMFCC.sc index 6cd3d8a..ac1f695 100644 --- a/release-packaging/Classes/FluidMFCC.sc +++ b/release-packaging/Classes/FluidMFCC.sc @@ -1,6 +1,6 @@ FluidMFCC : FluidRTMultiOutUGen { - *kr { arg in = 0, numCoeffs = 13, numBands = 40, startCoeff = 0, minFreq = 20, maxFreq = 20000, windowSize = 1024, hopSize = -1, fftSize = -1, maxFFTSize = 16384, maxNumCoeffs = 40; + *kr { arg in = 0, numCoeffs = 13, numBands = 40, startCoeff = 0, minFreq = 20, maxFreq = 20000, windowSize = 1024, hopSize = -1, fftSize = -1, maxNumCoeffs = 13, maxFFTSize = 16384; ^this.multiNew('control', in.asAudioRateInput(this), numCoeffs, numBands, startCoeff, minFreq, maxFreq, maxNumCoeffs, windowSize, hopSize, fftSize, maxFFTSize); } From 9e901afe70d13e507757b071c915f9b7d82ae87f Mon Sep 17 00:00:00 2001 From: James Bradbury Date: Thu, 3 Feb 2022 18:07:52 +0000 Subject: [PATCH 74/88] [Enhance] Update resources folder structure (#57) * copy the whole resources folder from core * make fluidfilespath respect the new structure --- CMakeLists.txt | 2 +- release-packaging/Classes/FluidFilesPath.sc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 53d5364..2ce7f3c 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -199,7 +199,7 @@ install(DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/ DESTINATION ${SC_PACKAGE_ROOT}/Plugins PATTERN "*.ilk" EXCLUDE PATTERN "*.PDB" EXCLUDE) -install(DIRECTORY "${flucoma-core_SOURCE_DIR}/AudioFiles" +install(DIRECTORY "${flucoma-core_SOURCE_DIR}/Resources" DESTINATION ${SC_PACKAGE_ROOT}) install(FILES QuickStart.md DESTINATION ${SC_PACKAGE_ROOT}) diff --git a/release-packaging/Classes/FluidFilesPath.sc b/release-packaging/Classes/FluidFilesPath.sc index 7a3c82e..f992107 100644 --- a/release-packaging/Classes/FluidFilesPath.sc +++ b/release-packaging/Classes/FluidFilesPath.sc @@ -2,6 +2,6 @@ FluidFilesPath { *new { arg fileName; fileName = fileName ? ""; - ^("%/../AudioFiles/".format(File.realpath(FluidDataSet.class.filenameSymbol).dirname) +/+ fileName); + ^("%/../Resources/AudioFiles/".format(File.realpath(FluidDataSet.class.filenameSymbol).dirname) +/+ fileName); } } \ No newline at end of file From f7e1f4c4aaefe088ccdb24a050e033b8ac6c32da Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Thu, 3 Feb 2022 13:17:17 -0500 Subject: [PATCH 75/88] FluidChroma and FluidBufChroma help files alignment --- release-packaging/Classes/FluidBufChroma.sc | 6 +- release-packaging/Classes/FluidChroma.sc | 2 +- .../HelpSource/Classes/FluidBufChroma.schelp | 306 ++++++++++++++++-- .../HelpSource/Classes/FluidChroma.schelp | 121 +++++-- 4 files changed, 381 insertions(+), 54 deletions(-) diff --git a/release-packaging/Classes/FluidBufChroma.sc b/release-packaging/Classes/FluidBufChroma.sc index a31fe02..ed8fba5 100644 --- a/release-packaging/Classes/FluidBufChroma.sc +++ b/release-packaging/Classes/FluidBufChroma.sc @@ -1,5 +1,5 @@ FluidBufChroma : FluidBufProcessor { - *kr { |source, startFrame = 0, numFrames = -1, startChan = 0, numChans = -1, features, numChroma = 12, ref = 440, minFreq = 0, maxFreq = -1, normalize = 0, windowSize = 1024, hopSize = -1, fftSize = -1, padding = 1, trig = 1, blocking = 0| + *kr { |source, startFrame = 0, numFrames = -1, startChan = 0, numChans = -1, features, numChroma = 12, ref = 440, normalize = 0,minFreq = 0,maxFreq = -1, windowSize = 1024, hopSize = -1, fftSize = -1, padding = 1, trig = 1, blocking = 0| var maxFFTSize = if (fftSize == -1) {windowSize.nextPowerOfTwo} {fftSize}; @@ -12,7 +12,7 @@ FluidBufChroma : FluidBufProcessor { ^FluidProxyUgen.kr(\FluidBufChromaTrigger,-1, source, startFrame, numFrames, startChan, numChans, features, padding, numChroma, ref, normalize, minFreq, maxFreq, numChroma, windowSize, hopSize, fftSize, maxFFTSize, trig, blocking); } - *process { |server, source, startFrame = 0, numFrames = -1, startChan = 0, numChans = -1, features, numChroma = 12, ref = 440, minFreq = 0, maxFreq = -1, normalize = 0, windowSize = 1024, hopSize = -1, fftSize = -1, padding = 1, freeWhenDone = true, action| + *process { |server, source, startFrame = 0, numFrames = -1, startChan = 0, numChans = -1, features, numChroma = 12, ref = 440, normalize = 0,minFreq = 0,maxFreq = -1, windowSize = 1024, hopSize = -1, fftSize = -1, padding = 1, freeWhenDone = true, action| var maxFFTSize = if (fftSize == -1) {windowSize.nextPowerOfTwo} {fftSize}; @@ -29,7 +29,7 @@ FluidBufChroma : FluidBufProcessor { ); } - *processBlocking { |server, source, startFrame = 0, numFrames = -1, startChan = 0, numChans = -1, features, numChroma = 12, ref = 440, minFreq = 0, maxFreq = -1, normalize = 0, windowSize = 1024, hopSize = -1, fftSize = -1, padding = 1, freeWhenDone = true, action| + *processBlocking { |server, source, startFrame = 0, numFrames = -1, startChan = 0, numChans = -1, features, numChroma = 12, ref = 440, normalize = 0,minFreq = 0,maxFreq = -1, windowSize = 1024, hopSize = -1, fftSize = -1, padding = 1, freeWhenDone = true, action| var maxFFTSize = if (fftSize == -1) {windowSize.nextPowerOfTwo} {fftSize}; diff --git a/release-packaging/Classes/FluidChroma.sc b/release-packaging/Classes/FluidChroma.sc index 77b8806..50c1a7a 100644 --- a/release-packaging/Classes/FluidChroma.sc +++ b/release-packaging/Classes/FluidChroma.sc @@ -1,6 +1,6 @@ FluidChroma : FluidRTMultiOutUGen { - *kr { arg in = 0, numChroma = 12, ref = 440, minFreq = 0, maxFreq = -1, normalize = 0, windowSize = 1024, hopSize = -1, fftSize = -1, maxFFTSize = 16384, maxNumChroma = 120; + *kr { arg in = 0, numChroma = 12, ref = 440, normalize = 0, minFreq = 0, maxFreq = -1, windowSize = 1024, hopSize = -1, fftSize = -1, maxNumChroma = 120, maxFFTSize = 16384; ^this.multiNew('control', in.asAudioRateInput(this), numChroma, ref, normalize, minFreq, maxFreq, maxNumChroma, windowSize, hopSize, fftSize, maxFFTSize); } diff --git a/release-packaging/HelpSource/Classes/FluidBufChroma.schelp b/release-packaging/HelpSource/Classes/FluidBufChroma.schelp index 43f71c5..25fd4ea 100644 --- a/release-packaging/HelpSource/Classes/FluidBufChroma.schelp +++ b/release-packaging/HelpSource/Classes/FluidBufChroma.schelp @@ -1,78 +1,328 @@ TITLE:: FluidBufChroma -SUMMARY:: An histogram of pitch classes on a Buffer +SUMMARY:: A histogram of pitch classes on a Buffer CATEGORIES:: Libraries>FluidCorpusManipulation -RELATED:: Guides/FluidCorpusManipulation, Guides/FluidBufMultiThreading, Classes/FluidChroma - +RELATED:: Classes/FluidChroma,Classes/FluidBufPitch,Classes/FluidBufLoudness,Classes/FluidBufMFCC,Classes/FluidBufSpectralShape,Classes/FluidBufStats,Guides/FluidCorpusManipulationToolkit,Classes/FluidBufMFCC DESCRIPTION:: -This class computes a histogram of the energy contained for each pitch class across the analysis frequency range. Also known as a chromagram, this typically allows you to get a contour of how much each semitone is represented in the spectrum over time. The number of chroma bins (and, thus, pitch classes) and the central reference frequency can be adjusted. -The process will return a single multichannel buffer of STRONG::numChroma:: per input channel. Each frame represents a value, which is every hopSize. + + This class computes a histogram of the energy contained for each pitch class across the analysis frequency range. + -STRONG::Threading:: + + Also known as a chromagram, this typically allows you to get a contour of how much each semitone is represented in the spectrum over time. The number of chroma bins (and, thus, pitch classes) and the central reference frequency can be adjusted. + + The process will return a single multichannel buffer of STRONG::numChroma:: per input channel. Each frame represents a value, which is every hopSize. -By default, this UGen spawns a new thread to avoid blocking the server command queue, so it is free to go about with its business. For a more detailed discussion of the available threading and monitoring options, including the two undocumented Class Methods below (.processBlocking and .kr) please read the guide LINK::Guides/FluidBufMultiThreading::. CLASSMETHODS:: METHOD:: process, processBlocking - This is the method that calls for the chromagram to be calculated on a given source buffer. + Processs the source LINK::Classes/Buffer:: on the LINK::Classes/Server::. CODE::processBlocking:: will execute directly in the server command FIFO, whereas CODE::process:: will delegate to a separate worker thread. The latter is generally only worthwhile for longer-running jobs where you don't wish to tie up the server. ARGUMENT:: server - The server on which the buffers to be processed are allocated. + The LINK::Classes/Server:: on which the buffers to be processed are allocated. ARGUMENT:: source - The index of the buffer to use as the source material to be analysed. The different channels of multichannel buffers will be processing sequentially. + + + The index of the buffer to use as the source material to be analysed. The different channels of multichannel buffers will be processing sequentially. + ARGUMENT:: startFrame - Where in the srcBuf should the process start, in sample. + + + Where in the srcBuf should the process start, in sample. + + STRONG::Constraints:: + + LIST:: + ## + Minimum: 0 + + :: ARGUMENT:: numFrames - How many frames should be processed. + + + How many frames should be processed. + ARGUMENT:: startChan - For multichannel srcBuf, which channel should be processed first. + + + For multichannel srcBuf, which channel should be processed first. + + STRONG::Constraints:: + + LIST:: + ## + Minimum: 0 + + :: ARGUMENT:: numChans - For multichannel srcBuf, how many channel should be processed. + + + For multichannel srcBuf, how many channel should be processed. + ARGUMENT:: features - The destination buffer for the STRONG::numChroma:: to be written to. + + + The destination buffer for the STRONG::numChroma:: to be written to. + ARGUMENT:: numChroma - The number of chroma bins per octave. It will determine how many channels are output per input channel. + + + The number of chroma bins per octave. It will determine how many channels are output per input channel. + + STRONG::Constraints:: + + LIST:: + ## + Minimum: 2 + + ## + Maximum: CODE::maxNumChroma:: + + :: ARGUMENT:: ref - The frequency of reference in Hz for the tuning of the middle A (default: 440 Hz) + + + STRONG::Constraints:: + + LIST:: + ## + Minimum: 0 + + ## + Maximum: 22000 + + :: + +ARGUMENT:: normalize + + + This flag enables the scaling of the output. It is off (0) by default. (1) will normalise each frame to sum to 1. (2) normalises each frame relative to the loudest chroma bin being 1. + ARGUMENT:: minFreq - The lower frequency included in the analysis, in Hz. + + + The lower frequency included in the analysis, in Hz. + + STRONG::Constraints:: + + LIST:: + ## + Minimum: 0 + + :: ARGUMENT:: maxFreq - The highest frequency included in the analysis, in Hz. -ARGUMENT:: normalize -This flag enables the scaling of the output. It is off (0) by default. (1) will normalise each frame to sum to 1. (2) normalises each frame relative to the loudest chroma bin being 1. + + The highest frequency included in the analysis, in Hz. + + STRONG::Constraints:: + + LIST:: + ## + Minimum: -1 + + :: ARGUMENT:: windowSize - The window size. As chroma computation relies on spectral frames, we need to decide what precision we give it spectrally and temporally, in line with Gabor Uncertainty principles. http://www.subsurfwiki.org/wiki/Gabor_uncertainty + + + The window size. As chroma description relies on spectral frames, we need to decide what precision we give it spectrally and temporally, in line with Gabor Uncertainty principles. LINK::http://www.subsurfwiki.org/wiki/Gabor_uncertainty:: + ARGUMENT:: hopSize - The window hop size. As chroma computation relies on spectral frames, we need to move the window forward. It can be any size but low overlap will create audible artefacts. The -1 default value will default to half of windowSize (overlap of 2). + + + The window hop size. As chroma description relies on spectral frames, we need to move the window forward. It can be any size but low overlap will create audible artefacts. + ARGUMENT:: fftSize - The inner FFT/IFFT size. It should be at least 4 samples long, at least the size of the window, and a power of 2. Making it larger allows an oversampling of the spectral precision. The -1 default value will use the next power of 2 equal or above the windowSize. + + + The inner FFT/IFFT size. It should be at least 4 samples long, at least the size of the window, and a power of 2. Making it larger allows an oversampling of the spectral precision. + ARGUMENT:: padding - Controls the zero-padding added to either end of the source buffer or segment. Possible values are 0 (no padding), 1 (default, half the window size), or 2 (window size - hop size). Padding ensures that all input samples are completely analysed: with no padding, the first analysis window starts at time 0, and the samples at either end will be tapered by the STFT windowing function. Mode 1 has the effect of centering the first sample in the analysis window and ensuring that the very start and end of the segment are accounted for in the analysis. Mode 2 can be useful when the overlap factor (window size / hop size) is greater than 2, to ensure that the input samples at either end of the segment are covered by the same number of analysis frames as the rest of the analysed material. + + Controls the zero-padding added to either end of the source buffer or segment. Possible values are 0 (no padding), 1 (default, half the window size), or 2 (window size - hop size). Padding ensures that all input samples are completely analysed: with no padding, the first analysis window starts at time 0, and the samples at either end will be tapered by the STFT windowing function. Mode 1 has the effect of centering the first sample in the analysis window and ensuring that the very start and end of the segment are accounted for in the analysis. Mode 2 can be useful when the overlap factor (window size / hop size) is greater than 2, to ensure that the input samples at either end of the segment are covered by the same number of analysis frames as the rest of the analysed material. + + + ARGUMENT:: freeWhenDone -Free the server instance when processing complete. Default true + Free the server instance when processing complete. Default CODE::true:: ARGUMENT:: action - A Function to be evaluated once the offline process has finished and all Buffer's instance variables have been updated on the client side. The function will be passed [features] as an argument. + A function to be evaluated once the offline process has finished and all Buffer's instance variables have been updated on the client side. The function will be passed CODE::[features]:: as an argument. + +RETURNS:: An instance of the processor + +METHOD:: kr + Trigger the equivalent behaviour to CODE::processBlocking / process:: from a LINK::Classes/Synth::. Can be useful for expressing a sequence of buffer and data processing jobs to execute. Note that the work still executes on the server command FIFO (not the audio thread), and it is the caller's responsibility to manage the sequencing, using the CODE::done:: status of the various UGens. +ARGUMENT:: source + + + The index of the buffer to use as the source material to be analysed. The different channels of multichannel buffers will be processing sequentially. + + +ARGUMENT:: startFrame + + + Where in the srcBuf should the process start, in sample. + + STRONG::Constraints:: + + LIST:: + ## + Minimum: 0 + + :: + +ARGUMENT:: numFrames + + + How many frames should be processed. + + +ARGUMENT:: startChan + + + For multichannel srcBuf, which channel should be processed first. + + STRONG::Constraints:: + + LIST:: + ## + Minimum: 0 + + :: + +ARGUMENT:: numChans + + + For multichannel srcBuf, how many channel should be processed. + + +ARGUMENT:: features + + + The destination buffer for the STRONG::numChroma:: to be written to. + + +ARGUMENT:: numChroma + + + The number of chroma bins per octave. It will determine how many channels are output per input channel. + + STRONG::Constraints:: + + LIST:: + ## + Minimum: 2 + + ## + Maximum: CODE::maxNumChroma:: + + :: + +ARGUMENT:: ref + + + STRONG::Constraints:: + + LIST:: + ## + Minimum: 0 + + ## + Maximum: 22000 + + :: + +ARGUMENT:: normalize + + + This flag enables the scaling of the output. It is off (0) by default. (1) will normalise each frame to sum to 1. (2) normalises each frame relative to the loudest chroma bin being 1. + + +ARGUMENT:: minFreq + + + The lower frequency included in the analysis, in Hz. + + STRONG::Constraints:: + + LIST:: + ## + Minimum: 0 + + :: + +ARGUMENT:: maxFreq + + + The highest frequency included in the analysis, in Hz. + + STRONG::Constraints:: + + LIST:: + ## + Minimum: -1 + + :: + +ARGUMENT:: windowSize + + + The window size. As chroma description relies on spectral frames, we need to decide what precision we give it spectrally and temporally, in line with Gabor Uncertainty principles. LINK::http://www.subsurfwiki.org/wiki/Gabor_uncertainty:: + + +ARGUMENT:: hopSize + + + The window hop size. As chroma description relies on spectral frames, we need to move the window forward. It can be any size but low overlap will create audible artefacts. + + +ARGUMENT:: fftSize + + + The inner FFT/IFFT size. It should be at least 4 samples long, at least the size of the window, and a power of 2. Making it larger allows an oversampling of the spectral precision. + + +ARGUMENT:: padding + + + Controls the zero-padding added to either end of the source buffer or segment. Possible values are 0 (no padding), 1 (default, half the window size), or 2 (window size - hop size). Padding ensures that all input samples are completely analysed: with no padding, the first analysis window starts at time 0, and the samples at either end will be tapered by the STFT windowing function. Mode 1 has the effect of centering the first sample in the analysis window and ensuring that the very start and end of the segment are accounted for in the analysis. Mode 2 can be useful when the overlap factor (window size / hop size) is greater than 2, to ensure that the input samples at either end of the segment are covered by the same number of analysis frames as the rest of the analysed material. + + + +ARGUMENT:: trig + A CODE::kr:: signal that will trigger execution + +ARGUMENT:: blocking + Whether to execute this process directly on the server command FIFO or delegate to a worker thread. See CODE::processBlocking/process:: for caveats. + + +INSTANCEMETHODS:: +METHOD:: kr + Returns a UGen that reports the progress of the running task when executing in a worker thread. Calling code::scope:: with this can be used for a convinient progress monitor -returns:: an instance of the processor +METHOD:: cancel + Cancels non-blocking processing +METHOD:: wait + When called in the context of a LINK::Classes/Routine:: (it won't work otherwise), will block execution until the processor has finished. This can be convinient for writing sequences of processes more linearly than using lots of nested actions. + EXAMPLES:: code:: diff --git a/release-packaging/HelpSource/Classes/FluidChroma.schelp b/release-packaging/HelpSource/Classes/FluidChroma.schelp index a476b9d..ece7bf4 100644 --- a/release-packaging/HelpSource/Classes/FluidChroma.schelp +++ b/release-packaging/HelpSource/Classes/FluidChroma.schelp @@ -1,57 +1,134 @@ TITLE:: FluidChroma -SUMMARY:: An histogram of pitch classes in Real-Time +SUMMARY:: A histogram of pitch classes in Real-Time CATEGORIES:: Libraries>FluidCorpusManipulation -RELATED:: Guides/FluidCorpusManipulation, Classes/FluidBufChroma - +RELATED:: Classes/FluidBufChroma,Classes/FluidPitch,Classes/FluidLoudness,Classes/FluidMFCC,Classes/FluidSpectralShape,Guides/FluidCorpusManipulationToolkit,Classes/FluidMFCC DESCRIPTION:: -This class computes a histogram of the energy contained for each pitch class across the analysis frequency range. Also known as a chromagram, this typically allows you to get a contour of how much each semitone is represented in the spectrum over time. The number of chroma bins (and, thus, pitch classes) and the central reference frequency can be adjusted. -It is part of the LINK:: Guides/FluidCorpusManipulation##Fluid Corpus Manipulation Toolkit::. For more explanations, learning material, and discussions on its musicianly uses, visit http://www.flucoma.org/ + + This class computes a histogram of the energy contained for each pitch class across the analysis frequency range. + + + + Also known as a chromagram, this typically allows you to get a contour of how much each semitone is represented in the spectrum over time. The number of chroma bins (and, thus, pitch classes) and the central reference frequency can be adjusted. + + The process will return a multichannel control steam of size maxNumChroma, which will be repeated if no change happens within the algorithm, i.e. when the hopSize is larger than the signal vector size. -The process will return a multichannel control steam of size STRONG::maxNumChroma::, which will be repeated if no change happens within the algorithm, i.e. when the hopSize is larger than the server's kr period. CLASSMETHODS:: METHOD:: kr - The audio rate in, control rate out version of the object. ARGUMENT:: in - The audio to be processed. + + Audio-rate signal to analyze ARGUMENT:: numChroma - The number of chroma bins per octave. It will determine how many channels of the output stream are filled. + + + The number of chroma bins per octave. It will determine how many channels are output per input channel. + + STRONG::Constraints:: + + LIST:: + ## + Minimum: 2 + + ## + Maximum: CODE::maxNumChroma:: + + :: ARGUMENT:: ref - The reference frequency in Hz for the tuning to middle A (default: 440 Hz) + + + STRONG::Constraints:: + + LIST:: + ## + Minimum: 0 + + ## + Maximum: 22000 + + :: + +ARGUMENT:: normalize + + + This flag enables the scaling of the output. It is off (0) by default. (1) will normalise each frame to sum to 1. (2) normalises each frame relative to the loudest chroma bin being 1. + ARGUMENT:: minFreq - The lower frequency included in the analysis, in Hz. + + + The lower frequency included in the analysis, in Hz. + + STRONG::Constraints:: + + LIST:: + ## + Minimum: 0 + + :: ARGUMENT:: maxFreq - The highest frequency included in the analysis, in Hz. -ARGUMENT:: normalize -This flag enables the scaling of the output. It is off (0) by default. (1) will normalise each frame to sum to 1. (2) normalises each frame relative to the loudest chroma bin being 1. + + The highest frequency included in the analysis, in Hz. + + STRONG::Constraints:: + + LIST:: + ## + Minimum: -1 + + :: ARGUMENT:: windowSize - The window size. As chroma computation relies on spectral frames, we need to decide what precision we give it spectrally and temporally, in line with Gabor Uncertainty principles. http://www.subsurfwiki.org/wiki/Gabor_uncertainty + + + The window size. As sinusoidal estimation relies on spectral frames, we need to decide what precision we give it spectrally and temporally, in line with Gabor Uncertainty principles. LINK::http://www.subsurfwiki.org/wiki/Gabor_uncertainty:: + ARGUMENT:: hopSize - The window hop size. As chroma computation relies on spectral frames, we need to move the window forward. It can be any size but low overlap will create audible artefacts. The -1 default value will default to half of windowSize (overlap of 2). + + + The window hop size. As sinusoidal estimation relies on spectral frames, we need to move the window forward. It can be any size but low overlap will create audible artefacts. The -1 default value will default to half of windowSize (overlap of 2). + ARGUMENT:: fftSize - The inner FFT/IFFT size. It should be at least 4 samples long, at least the size of the window, and a power of 2. Making it larger allows an oversampling of the spectral precision. The -1 default value will use the next power of 2 equal or above the windowSize. -ARGUMENT:: maxFFTSize - How large can the FFT be, by allocating memory at instantiation time. This cannot be modulated. + + The inner FFT/IFFT size. It should be at least 4 samples long, at least the size of the window, and a power of 2. Making it larger allows an oversampling of the spectral precision. The -1 default value will default to windowSize. + + ARGUMENT:: maxNumChroma - The maximum number of chroma bins. This sets the number of channels of the output stream, and therefore cannot be modulated. -RETURNS:: - A KR signal of STRONG::maxNumChroma:: channels, giving the measure amplitudes for each chroma bin. The latency is windowSize. + + The maximum number of chroma bins. This sets the number of channels of the output stream, and therefore cannot be modulated. + + STRONG::Constraints:: + + LIST:: + ## + Minimum: 2 + + ## + Maximum: (max FFFT Size / 2) + 1`` (see maxFFTSize) + + :: + +ARGUMENT:: maxFFTSize + + + How large can the FFT be, by allocating memory at instantiation time. This cannot be modulated. + + +INSTANCEMETHODS:: + EXAMPLES:: code:: From b81ed5ab702085c335c86b39e68f902fe6c2e5eb Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Thu, 3 Feb 2022 13:18:01 -0500 Subject: [PATCH 76/88] FluidMFCC docs repo alignment --- .../HelpSource/Classes/FluidMFCC.schelp | 129 +++++++++++++++--- 1 file changed, 110 insertions(+), 19 deletions(-) diff --git a/release-packaging/HelpSource/Classes/FluidMFCC.schelp b/release-packaging/HelpSource/Classes/FluidMFCC.schelp index 0323617..a54a5a0 100644 --- a/release-packaging/HelpSource/Classes/FluidMFCC.schelp +++ b/release-packaging/HelpSource/Classes/FluidMFCC.schelp @@ -1,55 +1,146 @@ TITLE:: FluidMFCC SUMMARY:: Mel-Frequency Cepstral Coefficients as Spectral Descriptors in Real-Time CATEGORIES:: Libraries>FluidCorpusManipulation -RELATED:: Guides/FluidCorpusManipulation, Classes/FluidMelBands - +RELATED:: Classes/FluidBufMFCC,Classes/FluidPitch,Classes/FluidMelBands,Classes/FluidLoudness,Classes/FluidSpectralShape,Guides/FluidCorpusManipulationToolkit DESCRIPTION:: -This class implements a classic spectral descriptor, the Mel-Frequency Cepstral Coefficients (https://en.wikipedia.org/wiki/Mel-frequency_cepstrum). The input is first filtered in to STRONG::numBands:: perceptually-spaced bands, as in LINK::Classes/FluidMelBands::. It is then analysed into STRONG::numCoeffs:: number of cepstral coefficients. It has the avantage of being amplitude invarient, except for the first coefficient. It is part of the LINK:: Guides/FluidCorpusManipulation##Fluid Corpus Manipulation Toolkit::. For more explanations, learning material, and discussions on its musicianly uses, visit http://www.flucoma.org/ -The process will return a multichannel control steam of STRONG::maxNumCoeffs::, which will be repeated if no change happens within the algorythm, i.e. when the hopSize is larger than the server's kr period. + + This class implements a classic spectral descriptor, the Mel-Frequency Cepstral Coefficients (MFCCs) + + + + See LINK::https://en.wikipedia.org/wiki/Mel-frequency_cepstrum::. The input is first decomposed into perceptually spaced bands (the number of bands specified by numBands), just as in the MelBands object. It is then analysed in numCoefs number of cepstral coefficients. It has the avantage to be amplitude invarient, except for the first coefficient. + + The process will return a multichannel control steam of maxNumCoeffs, which will be repeated if no change happens within the algorithm, i.e. when the hopSize is larger than the host vector size. + CLASSMETHODS:: METHOD:: kr - The audio rate in, control rate out version of the object. ARGUMENT:: in - The audio to be processed. + + Audio-rate signal to analyze ARGUMENT:: numCoeffs - The number of cepstral coefficients to be outputed. It is limited by the maxNumCoeffs parameter. When the number is smaller than the maximum, the output is zero-padded. + + + The number of cepstral coefficients to be outputed. It is limited by the maxNumCoefs parameter. When the number is smaller than the maximum, the output is zero-padded. + + STRONG::Constraints:: + + LIST:: + ## + Minimum: 2 + + ## + Maximum: MIN(CODE::numBands::, CODE::maxNumCoeffs::) + + :: ARGUMENT:: numBands - The number of bands that will be perceptually equally distributed between minFreq and maxFreq to describe the spectral shape before it is converted to cepstral coefficients. + + + The number of bands that will be perceptually equally distributed between minFreq and maxFreq to describe the spectral shape before it is converted to cepstral coefficients. + + STRONG::Constraints:: + + LIST:: + ## + Minimum: MAX(CODE::numCoeffs::, 2) + + ## + Maximum: CODE::(FFT Size / 2) + 1:: (see fft settings) + + :: ARGUMENT:: startCoeff - The lowest index of the output cepstral coefficient, zero-counting. + + + The lowest index of the output cepstral coefficient, zero-counting. + + STRONG::Constraints:: + + LIST:: + ## + Minimum: 0 + + ## + Maximum: 1 + + :: ARGUMENT:: minFreq - The lower boundary of the lowest band of the model, in Hz. + + + The lower boundary of the lowest band of the model, in Hz. + + STRONG::Constraints:: + + LIST:: + ## + Minimum: 0 + + :: ARGUMENT:: maxFreq - The highest boundary of the highest band of the model, in Hz. + + + The highest boundary of the highest band of the model, in Hz. + + STRONG::Constraints:: + + LIST:: + ## + Minimum: 0 + + :: ARGUMENT:: windowSize - The window size. As MFCC computation relies on spectral frames, we need to decide what precision we give it spectrally and temporally, in line with Gabor Uncertainty principles. http://www.subsurfwiki.org/wiki/Gabor_uncertainty + + + The window size. As MFCC computation relies on spectral frames, we need to decide what precision we give it spectrally and temporally, in line with Gabor Uncertainty principles. LINK::http://www.subsurfwiki.org/wiki/Gabor_uncertainty:: + ARGUMENT:: hopSize - The window hop size. As MFCC computation relies on spectral frames, we need to move the window forward. It can be any size but low overlap will create audible artefacts. The -1 default value will default to half of windowSize (overlap of 2). + + + The window hop size. As MFCC computation relies on spectral frames, we need to move the window forward. It can be any size but low overlap will create audible artefacts. The -1 default value will default to half of windowSize (overlap of 2). + ARGUMENT:: fftSize - The inner FFT/IFFT size. It should be at least 4 samples long, at least the size of the window, and a power of 2. Making it larger allows an oversampling of the spectral precision. The -1 default value will use the next power of 2 equal or above the windowSize. -ARGUMENT:: maxFFTSize - How large can the FFT be, by allocating memory at instantiation time. This cannot be modulated. + + The inner FFT/IFFT size. It should be at least 4 samples long, at least the size of the window, and a power of 2. Making it larger allows an oversampling of the spectral precision. The -1 default value will default to windowSize. + + ARGUMENT:: maxNumCoeffs - The maximum number of cepstral coefficients that can be computed. This sets the number of channels of the output, and therefore cannot be modulated. -RETURNS:: - A KR signal of STRONG::maxNumCoeffs:: channels. The latency is windowSize. + + The maximum number of cepstral coefficients that can be computed. This sets the number of channels of the output, and therefore cannot be modulated. + + STRONG::Constraints:: + + LIST:: + ## + Minimum: 2 + + ## + Maximum: (max FFFT Size / 2) + 1`` (see maxFFTSize) + + :: + +ARGUMENT:: maxFFTSize + + + How large can the FFT be, by allocating memory at instantiation time. This cannot be modulated. + + +INSTANCEMETHODS:: + EXAMPLES:: code:: From 2fa7d1ea0e4cc50ae390b2e607229e1962afc3ff Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Thu, 3 Feb 2022 13:18:46 -0500 Subject: [PATCH 77/88] FluidLoudness docs repo alignment --- .../HelpSource/Classes/FluidLoudness.schelp | 74 +++++++++++++++---- 1 file changed, 60 insertions(+), 14 deletions(-) diff --git a/release-packaging/HelpSource/Classes/FluidLoudness.schelp b/release-packaging/HelpSource/Classes/FluidLoudness.schelp index 5450e93..dced642 100644 --- a/release-packaging/HelpSource/Classes/FluidLoudness.schelp +++ b/release-packaging/HelpSource/Classes/FluidLoudness.schelp @@ -1,40 +1,86 @@ TITLE:: FluidLoudness SUMMARY:: A Loudness and True-Peak Descriptor in Real-Time CATEGORIES:: Libraries>FluidCorpusManipulation -RELATED:: Guides/FluidCorpusManipulation - +RELATED:: Classes/FluidBufLoudness,Classes/FluidPitch,Classes/FluidMelBands,Classes/FluidMFCC,Classes/FluidSpectralShape,Guides/FluidCorpusManipulationToolkit DESCRIPTION:: -This class implements two loudness descriptors, computing the true peak of the signal as well as applying the filters proposed by broadcasting standards to emulate the perception of amplitude. It is part of the LINK:: Guides/FluidCorpusManipulation##Fluid Corpus Manipulation Toolkit::. For more explanations, learning material, and discussions on its musicianly uses, visit http://www.flucoma.org/ -The process will return a multichannel control steam with [loudness, truepeak] values, both in dBfs, which will be repeated if no change happens within the algorithm, i.e. when the hopSize is larger than the server's kr period. More information on broadcasting standardisation of loudness measurement is available at the reference page FOOTNOTE::https://tech.ebu.ch/docs/tech/tech3341.pdf:: and in more musician-friendly explantions here FOOTNOTE::http://designingsound.org/2013/02/06/loudness-and-metering-part-1/::. + + Two loudness descriptors, with a ITU BS 1770 mode + + + + Computes the true peak of the signal as well as applying the filters proposed by broadcasting standards to emulate the perception of amplitude. + + The process will return a multichannel control steam with [loudness, truepeak] values, both in dBFS, which will be repeated if no change happens within the algorithm, i.e. when the hopSize is larger than the signal vector size. More information on broadcasting standardisation of loudness measurement is available at the reference page (LINK::https://tech.ebu.ch/docs/tech/tech3341.pdf::) and in more musician-friendly explantions here (LINK::http://designingsound.org/2013/02/06/loudness-and-metering-part-1/::). + CLASSMETHODS:: METHOD:: kr - The audio rate in, control rate out version of the object. ARGUMENT:: in - The audio to be processed. + + Audio-rate signal to analyze ARGUMENT:: kWeighting - A flag to switch the perceptual model of loudness. On by default, removing it makes the algorithm more CPU efficient by reverting to a simple RMS of the frame. + + + A flag to switch the perceptual model of loudness. On by default, removing it makes the algorithm more CPU efficient by reverting to a simple RMS of the frame. + ARGUMENT:: truePeak - A flag to switch the computation of TruePeak. On by default, removing it makes the algorithm more CPU efficient by reverting to a simple absolute peak of the frame. + + + A flag to switch the computation of TruePeak. On by default, removing it makes the algorithm more CPU efficient by reverting to a simple absolute peak of the frame. + ARGUMENT:: windowSize - The size of the window on which the computation is done. By default 1024 to be similar with all other FluCoMa objects, the EBU specifies other values as per the examples below. + + + The size of the window on which the computation is done. By default 1024 to be similar with all other FluCoMa objects, the EBU specifies 400ms, which is 17640 samples at 44100. + + STRONG::Constraints:: + + LIST:: + ## + Maximum: CODE::maxWindowSize:: + + :: ARGUMENT:: hopSize - How much the buffered window moves forward, in samples. By default 512 to be similar with all other FluCoMa objects, the EBU specifies other values as per the examples below. -ARGUMENT:: maxwindowSize - How large can the windowSize be, by allocating memory at instantiation time. This cannot be modulated. + + How much the buffered window moves forward, in samples. By default 512 to be similar with all other FluCoMa objects, the EBU specifies 100ms, which is 4410 samples at 44100. + + STRONG::Constraints:: + + LIST:: + ## + Minimum: 1 + + :: + + +ARGUMENT:: maxWindowSize + + + How large can the windowSize be, by allocating memory at instantiation time. This cannot be modulated. + + STRONG::Constraints:: + + LIST:: + ## + Minimum: 4 + + ## + Snaps to powers of two -RETURNS:: - A 2-channel KR signal with the [loudness, peak] descriptors. The latency is windowSize. + :: + +INSTANCEMETHODS:: + EXAMPLES:: From d3beb65f51ef9d0e8bc1a7d40a3235b5696ff673 Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Thu, 3 Feb 2022 13:19:55 -0500 Subject: [PATCH 78/88] FluidCorpusManipulationToolkit Guide --- .../FluidCorpusManipulationToolkit.schelp | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 release-packaging/HelpSource/Guides/FluidCorpusManipulationToolkit.schelp diff --git a/release-packaging/HelpSource/Guides/FluidCorpusManipulationToolkit.schelp b/release-packaging/HelpSource/Guides/FluidCorpusManipulationToolkit.schelp new file mode 100644 index 0000000..efd6a59 --- /dev/null +++ b/release-packaging/HelpSource/Guides/FluidCorpusManipulationToolkit.schelp @@ -0,0 +1,66 @@ +TITLE:: Fluid Decomposition Toolbox +SUMMARY:: An overview of the FluCoMa toolbox for signal decomposition +CATEGORIES:: Libraries>FluidCorpusManipulation + + +The Fluid Decomposition toolbox provides an open-ended, loosely coupled set of objects to break up and analyse sound in terms of slices (segments in time), layers (superpositions in time and frequency) and objects (configurable or discoverable patterns in sound). Almost all objects have audio-rate and buffer-based versions. + +This toolbox was made possible thanks to the FluCoMa project ( LINK::http://www.flucoma.org/:: ) funded by the European Research Council ( LINK::https://erc.europa.eu/:: ) under the European Union’s Horizon 2020 research and innovation programme (grant agreement No 725899). + + +SECTION::Slices +Slice by amplitude envelope: +LINK::Classes/FluidAmpSlice:: LINK::Classes/FluidBufAmpSlice:: + +Slice by onsets in the spectral domain: +LINK::Classes/FluidOnsetSlice:: LINK::Classes/FluidBufOnsetSlice:: + +Slice by estimated novelty on a choice of features: +LINK::Classes/FluidNoveltySlice:: LINK::Classes/FluidBufNoveltySlice:: + +Slice by transient modelling: +LINK::Classes/FluidTransientSlice:: LINK::Classes/FluidBufTransientSlice:: + + +SECTION::Layers +Decompose into sines + residual +LINK::Classes/FluidSines:: LINK::Classes/FluidBufSines:: + +Decompose into transients + residual +LINK::Classes/FluidTransients:: LINK::Classes/FluidBufTransients:: + +Decompose into 'harmonic' and 'percussive' layers +LINK::Classes/FluidHPSS:: LINK::Classes/FluidBufHPSS:: + + +SECTION::Objects +Use Nonnegative Matrix Factorisation to explore and decompose sounds +LINK::Classes/FluidBufNMF:: LINK::Classes/FluidNMFFilter:: LINK::Classes/FluidNMFMatch:: + + +SECTION::Descriptors +Report amplitude and peak, or r128 loudness and true peak +LINK::Classes/FluidLoudness:: LINK::Classes/FluidBufLoudness:: + +A suite of pitch estimators +LINK::Classes/FluidPitch:: LINK::Classes/FluidBufPitch:: + +Energy across Mel bands +LINK::Classes/FluidMelBands:: LINK::Classes/FluidBufMelBands:: + +Mel Frequency Ceptstral Coefficients +LINK::Classes/FluidMFCC:: LINK::Classes/FluidBufMFCC:: + +Summary measures of spectral shape +LINK::Classes/FluidSpectralShape:: LINK::Classes/FluidBufSpectralShape:: + +Statistics of buffers +LINK::Classes/FluidBufStats:: + + +SECTION::Utility +Copy, slice, stack, mix concatenate. All the things you've wanted to do with buffers... +LINK::Classes/FluidBufCompose:: + +A tutorial object to experiment with multithreading in FluidBuf* objects +LINK::Classes/FluidBufThreadDemo:: From 276422f2578ce537ba4e9f16effa0b61b80fd241 Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Thu, 3 Feb 2022 13:22:07 -0500 Subject: [PATCH 79/88] FluidBufNMF removed 'randomSeed' and 'windowType' (docs repo alignment) --- release-packaging/Classes/FluidBufNMF.sc | 30 +- .../HelpSource/Classes/FluidBufNMF.schelp | 524 +++++++++++++----- 2 files changed, 394 insertions(+), 160 deletions(-) diff --git a/release-packaging/Classes/FluidBufNMF.sc b/release-packaging/Classes/FluidBufNMF.sc index 418a005..40052d0 100644 --- a/release-packaging/Classes/FluidBufNMF.sc +++ b/release-packaging/Classes/FluidBufNMF.sc @@ -1,37 +1,37 @@ -FluidBufNMF : FluidBufProcessor +FluidBufNMF : FluidBufProcessor { - *kr {|source, startFrame = 0, numFrames = -1, startChan = 0, numChans = -1, resynth, bases, basesMode = 0, activations, actMode = 0, components = 1, iterations = 100, windowSize = 1024, hopSize = -1, fftSize = -1, windowType = 0, randomSeed = -1, trig = 1, blocking = 0| + *kr {|source, startFrame = 0, numFrames = -1, startChan = 0, numChans = -1, resynth, bases, basesMode = 0, activations, actMode = 0, components = 1, iterations = 100, windowSize = 1024, hopSize = -1, fftSize = -1, trig = 1, blocking = 0| - source.isNil.if {"FluidBufNMF: Invalid source buffer".throw}; + source.isNil.if {"FluidBufNMF: Invalid source buffer".throw}; resynth = resynth ? -1; bases = bases ? -1; activations = activations ? -1; ^FluidProxyUgen.kr(\FluidBufNMFTrigger,-1,source.asUGenInput, startFrame, numFrames, startChan, numChans, resynth.asUGenInput, bases.asUGenInput, basesMode, activations.asUGenInput, actMode, components, iterations, windowSize, hopSize, fftSize, trig, blocking); } - - *process { |server, source, startFrame = 0, numFrames = -1, startChan = 0, numChans = -1, resynth = -1, bases = -1, basesMode = 0, activations = -1, actMode = 0, components = 1, iterations = 100, windowSize = 1024, hopSize = -1, fftSize = -1, windowType = 0, randomSeed = -1,freeWhenDone = true, action| - source.isNil.if {"FluidBufNMF: Invalid source buffer".throw}; + *process { |server, source, startFrame = 0, numFrames = -1, startChan = 0, numChans = -1, resynth = -1, bases = -1, basesMode = 0, activations = -1, actMode = 0, components = 1, iterations = 100, windowSize = 1024, hopSize = -1, fftSize = -1,freeWhenDone = true, action| + + source.isNil.if {"FluidBufNMF: Invalid source buffer".throw}; resynth = resynth ? -1; bases = bases ? -1; activations = activations ? -1; - + ^this.new( - server,nil,[resynth, bases, activations].select{|x| x!= -1} - ).processList([source, startFrame, numFrames, startChan, numChans, resynth, bases, basesMode, activations, actMode, components,iterations, windowSize, hopSize, fftSize,0],freeWhenDone,action); + server,nil,[resynth, bases, activations].select{|x| x!= -1} + ).processList([source, startFrame, numFrames, startChan, numChans, resynth, bases, basesMode, activations, actMode, components,iterations, windowSize, hopSize, fftSize,0],freeWhenDone,action); } - - *processBlocking { |server, source, startFrame = 0, numFrames = -1, startChan = 0, numChans = -1, resynth = -1, bases = -1, basesMode = 0, activations = -1, actMode = 0, components = 1, iterations = 100, windowSize = 1024, hopSize = -1, fftSize = -1, windowType = 0, randomSeed = -1,freeWhenDone = true, action| - source.isNil.if {"FluidBufNMF: Invalid source buffer".throw}; + *processBlocking { |server, source, startFrame = 0, numFrames = -1, startChan = 0, numChans = -1, resynth = -1, bases = -1, basesMode = 0, activations = -1, actMode = 0, components = 1, iterations = 100, windowSize = 1024, hopSize = -1, fftSize = -1,freeWhenDone = true, action| + + source.isNil.if {"FluidBufNMF: Invalid source buffer".throw}; resynth = resynth ? -1; bases = bases ? -1; activations = activations ? -1; - + ^this.new( - server,nil,[resynth, bases, activations].select{|x| x!= -1} - ).processList([source, startFrame, numFrames, startChan, numChans, resynth, bases, basesMode, activations, actMode, components,iterations, windowSize, hopSize, fftSize, 1],freeWhenDone,action); + server,nil,[resynth, bases, activations].select{|x| x!= -1} + ).processList([source, startFrame, numFrames, startChan, numChans, resynth, bases, basesMode, activations, actMode, components,iterations, windowSize, hopSize, fftSize, 1],freeWhenDone,action); } } FluidBufNMFTrigger : FluidProxyUgen {} diff --git a/release-packaging/HelpSource/Classes/FluidBufNMF.schelp b/release-packaging/HelpSource/Classes/FluidBufNMF.schelp index 656f59c..23a4bac 100644 --- a/release-packaging/HelpSource/Classes/FluidBufNMF.schelp +++ b/release-packaging/HelpSource/Classes/FluidBufNMF.schelp @@ -1,234 +1,468 @@ TITLE:: FluidBufNMF SUMMARY:: Buffer-Based Non-Negative Matrix Factorisation on Spectral Frames -CATEGORIES:: Libraries>FluidCorpusManipulation, UGens>Buffer -RELATED:: Guides/FluidCorpusManipulation, Guides/FluidBufMultiThreading, Classes/FluidNMFMatch, Classes/FluidNMFFilter - +CATEGORIES:: Libraries>FluidCorpusManipulation +RELATED:: Classes/FluidNMFMatch,Classes/FluidNMFFilter,Guides/FluidCorpusManipulationToolkit,Classes/FluidNMFMatch,Classes/FluidNMFFilter DESCRIPTION:: -The FluidBufNMF object decomposes the spectrum of a sound into a number of components using Non-Negative Matrix Factorisation (NMF) footnote:: Lee, Daniel D., and H. Sebastian Seung. 1999. ‘Learning the Parts of Objects by Non-Negative Matrix Factorization’. Nature 401 (6755): 788–91. https://doi.org/10.1038/44565. -::. NMF has been a popular technique in signal processing research for things like source separation and transcription footnote:: Smaragdis and Brown, Non-Negative Matrix Factorization for Polyphonic Music Transcription.::, although its creative potential is so far relatively unexplored. -The algorithm takes a buffer in and divides it into a number of components, determined by the STRONG::Components:: argument. It works iteratively, by trying to find a combination of spectral templates ('bases') and envelopes ('activations') that yield the original magnitude spectrogram when added together. By and large, there is no unique answer to this question (i.e. there are different ways of accounting for an evolving spectrum in terms of some set of templates and envelopes). In its basic form, NMF is a form of unsupervised learning: it starts with some random data and then converges towards something that minimizes the distance between its generated data and the original:it tends to converge very quickly at first and then level out. Fewer iterations mean less processing, but also less predictable results. + + Decomposes the spectrum of a sound into a number of components using Non-Negative Matrix Factorisation (NMF) -The object can return either or all of the following: LIST:: - ## a spectral contour of each component in the form of a magnitude spectrogram (called a basis in NMF lingo); - ## an amplitude envelope of each component in the form of gains for each consecutive frame of the underlying spectrogram (called an activation in NMF lingo); - ## an audio reconstruction of each components in the time domain. :: -The bases and activations can be used to make a kind of vocoder based on what NMF has 'learned' from the original data. Alternatively, taking the matrix product of a basis and an activation will yield a synthetic magnitude spectrogram of a component (which could be reconsructed, given some phase informaiton from somewhere). + + NMF has been a popular technique in signal processing research for things like source separation and transcription (see Smaragdis and Brown, Non-Negative Matrix Factorization for Polyphonic Music Transcription.), although its creative potential is so far relatively unexplored. -Some additional options and flexibility can be found through combinations of the basesMode and actMode arguments. If these flags are set to 1, the object expects to be supplied with pre-formed spectra (or envelopes) that will be used as seeds for the decomposition, providing more guided results. When set to 2, the supplied buffers won't be updated, so become templates to match against instead. Note that having both bases and activations set to 2 doesn't make sense, so the object will complain. + The algorithm takes a buffer in and divides it into a number of components, determined by the components argument. It works iteratively, by trying to find a combination of spectral templates ('bases') and envelopes ('activations') that yield the original magnitude spectrogram when added together. By and large, there is no unique answer to this question (i.e. there are different ways of accounting for an evolving spectrum in terms of some set of templates and envelopes). In its basic form, NMF is a form of unsupervised learning: it starts with some random data and then converges towards something that minimizes the distance between its generated data and the original:it tends to converge very quickly at first and then level out. Fewer iterations mean less processing, but also less predictable results. -If supplying pre-formed data, it's up to the user to make sure that the supplied buffers are the right size: LIST:: -## bases must be STRONG::(fft size / 2) + 1:: frames and STRONG::(components * input channels):: channels -## activations must be STRONG::(input frames / hopSize) + 1:: frames and STRONG::(components * input channels):: channels -:: + DEFINITIONLIST:: + ## The object can return either or all of the following: + || + LIST:: + ## + a spectral contour of each component in the form of a magnitude spectrogram (called a basis in NMF lingo); + + ## + an amplitude envelope of each component in the form of gains for each consecutive frame of the underlying spectrogram (called an activation in NMF lingo); + + ## + an audio reconstruction of each components in the time domain. + + :: + :: + The bases and activations can be used to make a kind of vocoder based on what NMF has 'learned' from the original data. Alternatively, taking the matrix product of a basis and an activation will yield a synthetic magnitude spectrogram of a component (which could be reconsructed, given some phase informaiton from somewhere). + + Some additional options and flexibility can be found through combinations of the basesMode and actMode arguments. If these flags are set to 1, the object expects to be supplied with pre-formed spectra (or envelopes) that will be used as seeds for the decomposition, providing more guided results. When set to 2, the supplied buffers won't be updated, so become templates to match against instead. Note that having both bases and activations set to 2 doesn't make sense, so the object will complain. -In this implementation, the components are reconstructed by masking the original spectrum, such that they will sum to yield the original sound. + DEFINITIONLIST:: + ## If supplying pre-formed data, it's up to the user to make sure that the supplied buffers are the right size: + || + LIST:: + ## + bases must be frames and channels -The whole process can be related to a channel vocoder where, instead of fixed bandpass filters, we get more complex filter shapes that are learned from the data, and the activations correspond to channel envelopes. + ## + activations must be frames and channels -FluidBufNMF is part of the LINK::Guides/FluidCorpusManipulation::. For more explanations, learning material, and discussions on its musicianly uses, visit http://www.flucoma.org/ + :: + :: + In this implementation, the components are reconstructed by masking the original spectrum, such that they will sum to yield the original sound. -STRONG::Threading:: + The whole process can be related to a channel vocoder where, instead of fixed bandpass filters, we get more complex filter shapes that are learned from the data, and the activations correspond to channel envelopes. -By default, this UGen spawns a new thread to avoid blocking the server command queue, so it is free to go about with its business. For a more detailed discussion of the available threading and monitoring options, including the two undocumented Class Methods below (.processBlocking and .kr) please read the guide LINK::Guides/FluidBufMultiThreading::. CLASSMETHODS:: METHOD:: process, processBlocking -This is the method that calls for the factorisation to be calculated on a given source buffer. + Processs the source LINK::Classes/Buffer:: on the LINK::Classes/Server::. CODE::processBlocking:: will execute directly in the server command FIFO, whereas CODE::process:: will delegate to a separate worker thread. The latter is generally only worthwhile for longer-running jobs where you don't wish to tie up the server. ARGUMENT:: server - The server on which the buffers to be processed are allocated. + The LINK::Classes/Server:: on which the buffers to be processed are allocated. ARGUMENT:: source - The index of the buffer to use as the source material to be decomposed through the NMF process. The different channels of multichannel buffers will be processing sequentially. + + + The index of the buffer to use as the source material to be decomposed through the NMF process. The different channels of multichannel buffers will be processing sequentially. + ARGUMENT:: startFrame - Where in the srcBuf should the NMF process start, in sample. + + + Where in the srcBuf should the NMF process start, in sample. + + STRONG::Constraints:: + + LIST:: + ## + Minimum: 0 + + :: ARGUMENT:: numFrames - How many frames should be processed. + + + How many frames should be processed. + ARGUMENT:: startChan - For multichannel srcBuf, which channel should be processed first. + + + For multichannel srcBuf, which channel should be processed first. + + STRONG::Constraints:: + + LIST:: + ## + Minimum: 0 + + :: ARGUMENT:: numChans - For multichannel srcBuf, how many channel should be processed. + + + For multichannel srcBuf, how many channel should be processed. + ARGUMENT:: resynth - The index of the buffer where the different reconstructed components will be reconstructed. The buffer will be resized to STRONG::components * numChannelsProcessed:: channels and STRONG::sourceDuration:: lenght. If STRONG::nil:: is provided, the reconstruction will not happen. + + + The index of the buffer where the different reconstructed components will be reconstructed. The buffer will be resized to channels and lenght. If is provided, the reconstruction will not happen. + ARGUMENT:: bases - The index of the buffer where the different bases will be written to and/or read from: the behaviour is set in the following argument. If STRONG::nil:: is provided, no bases will be returned. + + + The index of the buffer where the different bases will be written to and/or read from: the behaviour is set in the following argument. If is provided, no bases will be returned. + ARGUMENT:: basesMode - This flag decides of how the basis buffer passed as the previous argument is treated. - table:: - ## 0 || The bases are seeded randomly, and the resulting ones will be written after the process in the passed buffer. The buffer is resized to STRONG::components * numChannelsProcessed:: channels and STRONG::(fftSize / 2 + 1):: lenght. - ## 1 || The passed buffer is considered as seed for the bases. Its dimensions should match the values above. The resulting bases will replace the seed ones. - ## 2 || The passed buffer is considered as a template for the bases, and will therefore not change. Its bases should match the values above. - :: + + + This flag decides of how the basis buffer passed as the previous argument is treated. + ARGUMENT:: activations - The index of the buffer where the different activations will be written to and/or read from: the behaviour is set in the following argument. If STRONG::nil:: is provided, no activation will be returned. + + + The index of the buffer where the different activations will be written to and/or read from: the behaviour is set in the following argument. If is provided, no activation will be returned. + ARGUMENT:: actMode - This flag decides of how the activation buffer passed as the previous argument is treated. - table:: - ## 0 || The activations are seeded randomly, and the resulting ones will be written after the process in the passed buffer. The buffer is resized to STRONG::components * numChannelsProcessed:: channels and STRONG::(sourceDuration / hopsize + 1):: lenght. - ## 1 || The passed buffer is considered as seed for the activations. Its dimensions should match the values above. The resulting activations will replace the seed ones. - ## 2 || The passed buffer is considered as a template for the activations, and will therefore not change. Its dimensions should match the values above. - :: + + + This flag decides of how the activation buffer passed as the previous argument is treated. + ARGUMENT:: components - The number of elements the NMF algorithm will try to divide the spectrogram of the source in. + + + The number of elements the NMF algorithm will try to divide the spectrogram of the source in. + + STRONG::Constraints:: + + LIST:: + ## + Minimum: 1 + + :: ARGUMENT:: iterations - The NMF process is iterative, trying to converge to the smallest error in its factorisation. The number of iterations will decide how many times it tries to adjust its estimates. Higher numbers here will be more CPU expensive, lower numbers will be more unpredictable in quality. + + + The NMF process is iterative, trying to converge to the smallest error in its factorisation. The number of iterations will decide how many times it tries to adjust its estimates. Higher numbers here will be more CPU expensive, lower numbers will be more unpredictable in quality. + + STRONG::Constraints:: + + LIST:: + ## + Minimum: 1 + + :: ARGUMENT:: windowSize - The window size. As NMF relies on spectral frames, we need to decide what precision we give it spectrally and temporally, in line with Gabor Uncertainty principles. http://www.subsurfwiki.org/wiki/Gabor_uncertainty + + + The window size. As NMF relies on spectral frames, we need to decide what precision we give it spectrally and temporally, in line with Gabor Uncertainty principles. LINK::http://www.subsurfwiki.org/wiki/Gabor_uncertainty:: + ARGUMENT:: hopSize - The window hop size. As NMF relies on spectral frames, we need to move the window forward. It can be any size but low overlap will create audible artefacts. The -1 default value will default to half of windowSize (overlap of 2). + + + The window hop size. As NMF relies on spectral frames, we need to move the window forward. It can be any size but low overlap will create audible artefacts. + ARGUMENT:: fftSize - The inner FFT/IFFT size. It should be at least 4 samples long, at least the size of the window, and a power of 2. Making it larger allows an oversampling of the spectral precision. The -1 default value will use the next power of 2 equal or above the windowSize. -ARGUMENT:: windowType - The inner FFT/IFFT windowing type (not implemented yet) + + The inner FFT/IFFT size. It should be at least 4 samples long, at least the size of the window, and a power of 2. Making it larger allows an oversampling of the spectral precision. -ARGUMENT:: randomSeed - The NMF process needs to seed its starting point. If specified, the same values will be used. The default of -1 will randomly assign them. (not implemented yet) + ARGUMENT:: freeWhenDone -Free the server instance when processing complete. Default true + Free the server instance when processing complete. Default CODE::true:: ARGUMENT:: action - A Function to be evaluated once the offline process has finished and all Buffer's instance variables have been updated on the client side. The function will be passed [resynth, bases, activations] as an argument. + A function to be evaluated once the offline process has finished and all Buffer's instance variables have been updated on the client side. The function will be passed CODE::[features]:: as an argument. -returns:: an instance of the processor +RETURNS:: An instance of the processor + +METHOD:: kr + Trigger the equivalent behaviour to CODE::processBlocking / process:: from a LINK::Classes/Synth::. Can be useful for expressing a sequence of buffer and data processing jobs to execute. Note that the work still executes on the server command FIFO (not the audio thread), and it is the caller's responsibility to manage the sequencing, using the CODE::done:: status of the various UGens. +ARGUMENT:: source + + The index of the buffer to use as the source material to be decomposed through the NMF process. The different channels of multichannel buffers will be processing sequentially. + + +ARGUMENT:: startFrame + + + Where in the srcBuf should the NMF process start, in sample. + + STRONG::Constraints:: + + LIST:: + ## + Minimum: 0 + + :: + +ARGUMENT:: numFrames + + + How many frames should be processed. + + +ARGUMENT:: startChan + + + For multichannel srcBuf, which channel should be processed first. + + STRONG::Constraints:: + + LIST:: + ## + Minimum: 0 + + :: + +ARGUMENT:: numChans + + + For multichannel srcBuf, how many channel should be processed. + + +ARGUMENT:: resynth + + + The index of the buffer where the different reconstructed components will be reconstructed. The buffer will be resized to channels and lenght. If is provided, the reconstruction will not happen. + + +ARGUMENT:: bases + + + The index of the buffer where the different bases will be written to and/or read from: the behaviour is set in the following argument. If is provided, no bases will be returned. + + +ARGUMENT:: basesMode + + + This flag decides of how the basis buffer passed as the previous argument is treated. + + +ARGUMENT:: activations + + + The index of the buffer where the different activations will be written to and/or read from: the behaviour is set in the following argument. If is provided, no activation will be returned. + + +ARGUMENT:: actMode + + + This flag decides of how the activation buffer passed as the previous argument is treated. + + +ARGUMENT:: components + + The number of elements the NMF algorithm will try to divide the spectrogram of the source in. + + STRONG::Constraints:: + + LIST:: + ## + Minimum: 1 + + :: + +ARGUMENT:: iterations + + + The NMF process is iterative, trying to converge to the smallest error in its factorisation. The number of iterations will decide how many times it tries to adjust its estimates. Higher numbers here will be more CPU expensive, lower numbers will be more unpredictable in quality. + + STRONG::Constraints:: + + LIST:: + ## + Minimum: 1 + + :: + +ARGUMENT:: windowSize + + + The window size. As NMF relies on spectral frames, we need to decide what precision we give it spectrally and temporally, in line with Gabor Uncertainty principles. LINK::http://www.subsurfwiki.org/wiki/Gabor_uncertainty:: + + +ARGUMENT:: hopSize + + + The window hop size. As NMF relies on spectral frames, we need to move the window forward. It can be any size but low overlap will create audible artefacts. + + +ARGUMENT:: fftSize + + + The inner FFT/IFFT size. It should be at least 4 samples long, at least the size of the window, and a power of 2. Making it larger allows an oversampling of the spectral precision. + + + +ARGUMENT:: trig + A CODE::kr:: signal that will trigger execution + +ARGUMENT:: blocking + Whether to execute this process directly on the server command FIFO or delegate to a worker thread. See CODE::processBlocking/process:: for caveats. + + +INSTANCEMETHODS:: +METHOD:: kr + Returns a UGen that reports the progress of the running task when executing in a worker thread. Calling code::scope:: with this can be used for a convinient progress monitor + +METHOD:: cancel + Cancels non-blocking processing + +METHOD:: wait + When called in the context of a LINK::Classes/Routine:: (it won't work otherwise), will block execution until the processor has finished. This can be convinient for writing sequences of processes more linearly than using lots of nested actions. + EXAMPLES:: STRONG::A didactic example:: CODE:: -( -// create buffers -b = Buffer.alloc(s,44100); -c = Buffer.alloc(s, 44100); -d = Buffer.new(s); -e = Buffer.new(s); -f = Buffer.new(s); -g = Buffer.new(s); -) +// =============== decompose some sounds =============== + +// let's decompose the drum loop that comes with the FluCoMa extension: +~drums = Buffer.read(s,FluidFilesPath("Nicol-LoopE-M.wav")); + +// hear the original mono sound file to know what we're working with +~drums.play; + +// an empty buffer for the decomposed components to be written into: +~resynth = Buffer(s); + +// how many components we want FluidBufNMF to try to decompose the buffer into: +~n_components = 2; + +// process it: +FluidBufNMF.processBlocking(s,~drums,resynth:~resynth,components:~n_components,action:{"done".postln;}); + +// once it is done, play the separated components one by one (with a second of silence in between) ( -// fill them with 2 clearly segregated sine waves and composite a buffer where they are consecutive -Routine { - b.sine2([500],[1], false, false); - c.sine2([5000],[1],false, false); - s.sync; - FluidBufCompose.process(s,b, destination:d); - FluidBufCompose.process(s,c, destStartFrame:44100, destination:d, destGain:1); - s.sync; - d.query; -}.play; +fork{ + ~n_components.do{ + arg i; + "decomposed part #%".format(i+1).postln; + { + PlayBuf.ar(~n_components,~resynth,BufRateScale.ir(~resynth),doneAction:2)[i].dup; + }.play; + (~drums.duration + 1).wait; + } +}; ) -// check -d.plot -d.play //////(beware !!!! loud!!!) +// ======== now let's try it with three components. ========= +// make a guess as to what you think you'll hear + +~n_components = 3; +// process it: +FluidBufNMF.processBlocking(s,~drums,resynth:~resynth,components:~n_components,action:{"done".postln;}); ( -// separate them in 2 components -Routine { - FluidBufNMF.process(s, d, resynth:e, bases: f, activations:g, components:2).wait; - e.query; - f.query; - g.query; -}.play +fork{ + ~n_components.do{ + arg i; + "decomposed part #%".format(i+1).postln; + { + PlayBuf.ar(~n_components,~resynth,BufRateScale.ir(~resynth),doneAction:2)[i].dup; + }.play; + (~drums.duration + 1).wait; + } +}; ) -// look at the resynthesised separated components as audio -e.plot; +// you may have guessed that it would separate out the three components into: (1) snare, (2) hihat, and (3) kick +// and it might have worked! but it may not have, and it won't provide the same result every time because it +// starts each process from a stochastic state (you can seed this state if you want...see below). -// look at the bases signal for 2 spikes -f.plot; +// ====== bases and activations ======== -// look at the activations -g.plot; +// first, let's make two new buffers called... +~bases = Buffer(s); +~activations = Buffer(s); +~n_components = 2; // return to 2 components for this example -//trying running the same process on superimposed sinewaves instead of consecutive in the source and see how it fails. -:: +// and we'll explicitly pass these into the process +FluidBufNMF.processBlocking(s,~drums,bases:~bases,activations:~activations,resynth:~resynth,components:~n_components,action:{"done".postln;}); -STRONG::Basic musical examples:: +// now we can plot them (because this process starts from a stochastic state, your results may vary!): +FluidWaveform(~drums,featureBuffer:~activations,bounds:Rect(0,0,1200,300)); +// the bases are a like a spectral template that FluidBufNMF has found in the source buffer +// in one you should see one spectrum that resembles a snare spectrum (the resonant tone of the snare +// in the mid range) and another that resembles the kick + hihat we heard earlier (a large peak in the very +// low register and some shimmery higher stuff) -code:: -// set some buffers and parameters -( -b = Buffer.read(s,File.realpath(FluidBufNMF.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-AaS-SynthTwoVoices-M.wav"); -c = Buffer.new(s); -x = Buffer.new(s); -y = Buffer.new(s); -~fft_size = 1024; -~frame_size = 512; -~hop_size = 256; -~which_component = 4; -) +FluidWaveform(featureBuffer:~bases,bounds:Rect(0,0,1200,300)); +// the activations are the corresponding loudness envelope of each base above. It should like an amplitude +// envelope follower of the drum hits in the corresponding bases. -// matrix factorisation, requesting everything - wait for the computation time to appear. -( -Routine{ - var t = Main.elapsedTime; - FluidBufNMF.process(s,b, 0,-1,0,-1,c,x,0,y,0,5,100,~frame_size,~hop_size,~fft_size) - .wait; - (Main.elapsedTime - t).postln; -}.play -) +// FluidBufNMF then uses the individual bases with their corresponding activations to resynthesize the sound of just +// component. +// the buffer passed to `resynth` will have one channel for each component you've requested -//look at the resynthesised components, the bases and the activations -c.plot; x.plot; y.plot; +~resynth.numChannels +~resynth.play; -// play the components spread in the stereo field -{Splay.ar(PlayBuf.ar(5,c,doneAction:2))}.play +// ======== to further understand NMF's bases and activations, consider one more object: FluidNMFFilter ========== +// FluidNMFFilter will use the bases (spectral templates) of a FluidBufNMF analysis to filter (i.e., decompose) real-time audio -//play a single source -{PlayBuf.ar(5,c,doneAction:2)[~which_component].dup}.play +// for example, if we use the bases from the ~drums analysis above, it will separate the snare from the kick & hi hat like before +// this time you'll hear one in each stereo channel (again, results may vary) -//null test of the sum of sources -{(PlayBuf.ar(5,c,doneAction:2).sum)+(-1*PlayBuf.ar(1,b,doneAction:2))}.play - -//play noise using one of the bases as filter. ( { - var chain; - chain = FFT(LocalBuf(~fft_size), WhiteNoise.ar()); - - chain = chain.pvcollect(~fft_size, {|mag, phase, index| - [mag * BufRd.kr(5,x,DC.kr(index),0,1)[~which_component]]; - }); - - IFFT(chain); -}.play + var src = PlayBuf.ar(1,~drums,BufRateScale.ir(~drums),doneAction:2); + var sig = FluidNMFFilter.ar(src,~bases,2); + sig; +}.play; ) -//play noise using one of the activations as envelope. -{WhiteNoise.ar(BufRd.kr(5,y,Phasor.ar(1,1/~hop_size,0,(b.numFrames / ~hop_size + 1)),0,1)[~which_component])*0.5}.play +// if we play a different source through FluidNMFFilter, it will try to decompose that real-time signal according to the bases +// it is given (in our case the bases from the drum loop) +~song = Buffer.readChannel(s,FluidFilesPath("Tremblay-beatRemember.wav"),channels:[0]); -//play noise through both matching activation and filter ( { - var chain; - chain = FFT(LocalBuf(~fft_size), WhiteNoise.ar(BufRd.kr(5,y,Phasor.ar(1,1/~hop_size,0,(b.numFrames / ~hop_size + 1)),0,1)[~which_component]*12),0.5,1); + var src = PlayBuf.ar(1,~song,BufRateScale.ir(~song),doneAction:2); + var sig = FluidNMFFilter.ar(src,~bases,2); + sig; +}.play; +) - chain = chain.pvcollect(~fft_size, {|mag, phase, index| - [mag * BufRd.kr(5,x,DC.kr(index),0,1)[~which_component]]; - }); +// ========= the activations could also be used as an envelope through time =========== +( +{ + var activation = PlayBuf.ar(2,~activations,BufRateScale.ir(~activations),doneAction:2); + var sig = WhiteNoise.ar(0.dbamp) * activation; + sig; +}.play; +) - [0,IFFT(chain)]; -}.play +// note that the samplerate of the ~activations buffer is not a usual one... +~activations.sampleRate; +// this is because each frame in this buffer doesn't correspond to one audio sample, but instead to one +// hopSize, since these values are derived from an FFT analysis +// so it is important to use BufRateScale (as seen above) in order to make sure they play back at the +// correct rate + +// if we control the amplitude of the white noise *and* send it through FluidNMFFilter, we'll get something +// somewhat resembles both the spectral template and loudness envelope of the bases of the original +// (of course it's also good to note that the combination of the *actual* bases and activations is how +// FluidBufNMF creates the channels in the resynth buffer which will sound much better than this +// filtered WhiteNoise version) +( +{ + var activation = PlayBuf.ar(2,~activations,BufRateScale.ir(~activations),doneAction:2); + var sig = WhiteNoise.ar(0.dbamp); + sig = FluidNMFFilter.ar(sig,~bases,2) * activation; + sig; +}.play; ) :: @@ -266,7 +500,7 @@ Routine { // plot the bases ~bases.plot -// find the component that has the picking sound checking the median spectral centroid +// find the component that has the picking sound by checking the median spectral centroid ( FluidBufSpectralShape.process(s, ~originalNMF, features: ~spectralshapes, action:{ |shapes|FluidBufStats.process(s,shapes,stats:~stats, action:{ @@ -283,7 +517,7 @@ FluidBufSpectralShape.process(s, ~originalNMF, features: ~spectralshapes, action ~originalNMF.query //10 channel are therefore giving 70 channels: the 7 shapes of component0, then 7 shapes of compoenent1, etc ~spectralshapes.query -// we then run the bufstats on them. Each channel, which had a time series (an envelop) of each descriptor, is reduced to 7 frames +// we then run the bufstats on them. Each channel, which had a time series (an envelope) of each descriptor, is reduced to 7 frames ~stats.query // we then need to retrieve the values that are where we want: the first of every 7 for the centroid, and the 6th frame of them as we want the median. Because we retrieve the values in an interleave format, the select function gets a bit tricky but we get the following values: ~centroids.postln From f4d61c44620f99149a58fd6063769a027fd80f62 Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Thu, 3 Feb 2022 14:34:32 -0500 Subject: [PATCH 80/88] converted all ugly paths to FluidFilesPath --- ...Sounds with other Sounds, with Scalers).scd | 4 ++-- .../Buffer Slicing Analysis and Plotting.scd | 4 ++-- .../Examples/Guides/Decomposition Examples.scd | 18 +++++++++--------- ...sionality Reduction (2D sound browsing).scd | 4 ++-- ...ound browsing (each step separated out).scd | 6 +++--- .../Examples/Guides/NMF Overview.scd | 14 +++++++------- .../Guides/Weighted Statistical Analysis.scd | 2 +- .../buffer_compositing/bufcompose-MS-FIR.scd | 4 ++-- .../buffer_compositing/bufcomposemacros.scd | 2 +- .../10b-weighted-pitch-comparison.scd | 2 +- .../8c-mlp-regressor-as-dim-redux.scd | 4 ++-- release-packaging/Examples/nmf/JiT-NMF.scd | 2 +- .../Examples/nmf/nmfmatch-object-finding.scd | 4 ++-- .../Examples/nmf/nmfmatch-pretrained-piano.scd | 6 +++--- .../Examples/segmenting/nb_of_slices.scd | 4 ++-- .../HelpSource/Classes/FluidAmpGate.schelp | 2 +- .../HelpSource/Classes/FluidAmpSlice.schelp | 2 +- .../Classes/FluidAudioTransport.schelp | 4 ++-- .../HelpSource/Classes/FluidBufAmpGate.schelp | 2 +- .../HelpSource/Classes/FluidBufAmpSlice.schelp | 2 +- .../Classes/FluidBufAudioTransport.schelp | 4 ++-- .../HelpSource/Classes/FluidBufChroma.schelp | 6 +++--- .../HelpSource/Classes/FluidBufCompose.schelp | 4 ++-- .../HelpSource/Classes/FluidBufFlatten.schelp | 2 +- .../HelpSource/Classes/FluidBufHPSS.schelp | 6 +++--- .../HelpSource/Classes/FluidBufLoudness.schelp | 4 ++-- .../HelpSource/Classes/FluidBufMFCC.schelp | 6 +++--- .../HelpSource/Classes/FluidBufMelBands.schelp | 6 +++--- .../HelpSource/Classes/FluidBufNMF.schelp | 2 +- .../HelpSource/Classes/FluidBufNMFCross.schelp | 3 +-- .../HelpSource/Classes/FluidBufNNDSVD.schelp | 2 +- .../Classes/FluidBufNoveltySlice.schelp | 4 ++-- .../Classes/FluidBufOnsetSlice.schelp | 2 +- .../HelpSource/Classes/FluidBufPitch.schelp | 6 +++--- .../HelpSource/Classes/FluidBufSTFT.schelp | 2 +- .../HelpSource/Classes/FluidBufSines.schelp | 6 +++--- .../Classes/FluidBufSpectralShape.schelp | 6 +++--- .../Classes/FluidBufTransientSlice.schelp | 2 +- .../Classes/FluidBufTransients.schelp | 6 +++--- .../HelpSource/Classes/FluidChroma.schelp | 2 +- .../HelpSource/Classes/FluidHPSS.schelp | 2 +- .../HelpSource/Classes/FluidLoadFolder.schelp | 2 +- .../HelpSource/Classes/FluidMDS.schelp | 2 +- .../HelpSource/Classes/FluidMFCC.schelp | 5 ++--- .../HelpSource/Classes/FluidMelBands.schelp | 6 +++--- .../HelpSource/Classes/FluidNMFFilter.schelp | 4 ++-- .../HelpSource/Classes/FluidNMFMatch.schelp | 4 ++-- .../HelpSource/Classes/FluidNMFMorph.schelp | 5 ++--- .../HelpSource/Classes/FluidNormalize.schelp | 2 +- .../Classes/FluidNoveltySlice.schelp | 2 +- .../HelpSource/Classes/FluidOnsetSlice.schelp | 2 +- .../HelpSource/Classes/FluidPCA.schelp | 2 +- .../HelpSource/Classes/FluidPitch.schelp | 2 +- .../Classes/FluidProcessSlices.schelp | 2 +- .../HelpSource/Classes/FluidRobustScale.schelp | 2 +- .../HelpSource/Classes/FluidSines.schelp | 2 +- .../HelpSource/Classes/FluidSliceCorpus.schelp | 2 +- .../Classes/FluidSpectralShape.schelp | 2 +- .../HelpSource/Classes/FluidStandardize.schelp | 2 +- .../Classes/FluidTransientSlice.schelp | 2 +- .../HelpSource/Classes/FluidTransients.schelp | 2 +- .../Guides/FluidBufMultiThreading.schelp | 2 +- src/FluidNMFMatch/test.scd | 3 +-- tests/TestFluidMessageTest..scd | 4 ++-- 64 files changed, 117 insertions(+), 121 deletions(-) diff --git a/release-packaging/Examples/Guides/Audio Query (Replace Drum Sounds with other Sounds, with Scalers).scd b/release-packaging/Examples/Guides/Audio Query (Replace Drum Sounds with other Sounds, with Scalers).scd index 4618e6e..0a6f22c 100644 --- a/release-packaging/Examples/Guides/Audio Query (Replace Drum Sounds with other Sounds, with Scalers).scd +++ b/release-packaging/Examples/Guides/Audio Query (Replace Drum Sounds with other Sounds, with Scalers).scd @@ -99,7 +99,7 @@ FluidBufOnsetSlice.process(s,~source_buf,indices:~source_indices_buf,metric:9,th ( // ============= 5. LOAD THE FILE =================== -~target_path = File.realpath(FluidBufPitch.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Nicol-LoopE-M.wav"; +~target_path = FluidFilesPath("Nicol-LoopE-M.wav"); ~target_buf = Buffer.read(s,~target_path); ) @@ -285,4 +285,4 @@ Routine{ }; }); }.play; -) \ No newline at end of file +) diff --git a/release-packaging/Examples/Guides/Buffer Slicing Analysis and Plotting.scd b/release-packaging/Examples/Guides/Buffer Slicing Analysis and Plotting.scd index df4026a..4c8ae33 100644 --- a/release-packaging/Examples/Guides/Buffer Slicing Analysis and Plotting.scd +++ b/release-packaging/Examples/Guides/Buffer Slicing Analysis and Plotting.scd @@ -3,7 +3,7 @@ s.waitForBoot{ Task{ - var buf = Buffer.read(s,File.realpath(FluidBufPitch.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Nicol-LoopE-M.wav"); + var buf = Buffer.read(s,FluidFilesPath("Nicol-LoopE-M.wav")); var slicepoints = Buffer(s); // FluidBufAmpSlice will write into this buffer the samples at which slices are detected. var features_buf = Buffer(s); // a buffer for writing the analysis from FluidSpectralShape into var stats_buf = Buffer(s); // a buffer for writing the statistic analyses into @@ -130,4 +130,4 @@ s.waitForBoot{ }); }.play(AppClock); } -) \ No newline at end of file +) diff --git a/release-packaging/Examples/Guides/Decomposition Examples.scd b/release-packaging/Examples/Guides/Decomposition Examples.scd index 2141130..44c8cec 100644 --- a/release-packaging/Examples/Guides/Decomposition Examples.scd +++ b/release-packaging/Examples/Guides/Decomposition Examples.scd @@ -5,7 +5,7 @@ Useful for separating the stable, pitched components of a sound from the rest. */ // sines in L, residual in R -~buf = Buffer.read(s,File.realpath(FluidSines.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-AaS-SynthTwoVoices-M.wav"); +~buf = Buffer.read(s,FluidFilesPath("Tremblay-AaS-SynthTwoVoices-M.wav")); ( y = { @@ -17,7 +17,7 @@ y = { ) // isolate just sines or residual; -~song = Buffer.readChannel(s,File.realpath(FluidSines.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-beatRemember.wav",channels:[0]); +~song = Buffer.readChannel(s,FluidFilesPath("Tremblay-beatRemember.wav"),channels:[0]); ( y = { @@ -37,7 +37,7 @@ y.set(\mix,0); y.set(\mix,1); // a stereo example -~song = Buffer.read(s,File.realpath(FluidSines.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-beatRemember.wav"); +~song = Buffer.read(s,FluidFilesPath("Tremblay-beatRemember.wav")); ( y = { @@ -85,7 +85,7 @@ FluidHPSS separates a sound into "harmonic" and "percussive" components. This ca */ //load a soundfile to play -~buf = Buffer.readChannel(s,File.realpath(FluidSines.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-beatRemember.wav",channels:[0]); +~buf = Buffer.readChannel(s,FluidFilesPath("Tremblay-beatRemember.wav"),channels:[0]); // run with basic parameters (left is harmonic, right is percussive) {FluidHPSS.ar(PlayBuf.ar(1,~buf,loop:1))}.play @@ -99,7 +99,7 @@ FluidHPSS separates a sound into "harmonic" and "percussive" components. This ca {FluidHPSS.ar(PlayBuf.ar(1,~buf,loop:1),maskingMode:2)[2].dup}.play // do the above again with another sound file -~buf = Buffer.read(s,File.realpath(FluidSines.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Nicol-LoopE-M.wav"); +~buf = Buffer.read(s,FluidFilesPath("Nicol-LoopE-M.wav")); /* =================== FluidTransients ========================= FluidTransients can separate out transient from residual material. Transient is quite a fuzzy term depending on who you are talking to. Producers might use it to talk about any sound that is bright, loud or percussive while an engineer could be referring to a short, full spectrum change in the signal. @@ -108,7 +108,7 @@ This algorithm is based on a "de-clicking" audio restoration approach. */ //load some buffer -~buf = Buffer.read(s,File.realpath(FluidTransients.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-AaS-SynthTwoVoices-M.wav"); +~buf = Buffer.read(s,FluidFilesPath("Tremblay-AaS-SynthTwoVoices-M.wav")); // basic parameters {FluidTransients.ar(PlayBuf.ar(1, ~buf, loop:1))}.play @@ -119,11 +119,11 @@ This algorithm is based on a "de-clicking" audio restoration approach. // =================== Audio Transport ========================= //load 2 files ( -b = Buffer.read(s,File.realpath(FluidAudioTransport.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-CEL-GlitchyMusicBoxMelo.wav"); -c = Buffer.read(s,File.realpath(FluidAudioTransport.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-CF-ChurchBells.wav"); +b = Buffer.read(s,FluidFilesPath("Tremblay-CEL-GlitchyMusicBoxMelo.wav")); +c = Buffer.read(s,FluidFilesPath("Tremblay-CF-ChurchBells.wav")); ) //listen to them b.play c.play //stereo cross! -{FluidAudioTransport.ar(PlayBuf.ar(2,b,loop: 1),PlayBuf.ar(2,c,loop: 1),MouseX.kr())}.play; \ No newline at end of file +{FluidAudioTransport.ar(PlayBuf.ar(2,b,loop: 1),PlayBuf.ar(2,c,loop: 1),MouseX.kr())}.play; diff --git a/release-packaging/Examples/Guides/Dimensionality Reduction (2D sound browsing).scd b/release-packaging/Examples/Guides/Dimensionality Reduction (2D sound browsing).scd index ddd8991..3682200 100644 --- a/release-packaging/Examples/Guides/Dimensionality Reduction (2D sound browsing).scd +++ b/release-packaging/Examples/Guides/Dimensionality Reduction (2D sound browsing).scd @@ -13,7 +13,7 @@ }); }; -~load_folder.(File.realpath(FluidBufPitch.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/",{ +~load_folder.(FluidFilesPath(),{ arg buffer; "mono buffer: %".format(buffer).postln; ~buffer = buffer; @@ -401,4 +401,4 @@ Routine{ }) }); }.play; -) \ No newline at end of file +) diff --git a/release-packaging/Examples/Guides/Dimensionality Reduction 2D sound browsing (each step separated out).scd b/release-packaging/Examples/Guides/Dimensionality Reduction 2D sound browsing (each step separated out).scd index 7778d4d..398c5d4 100644 --- a/release-packaging/Examples/Guides/Dimensionality Reduction 2D sound browsing (each step separated out).scd +++ b/release-packaging/Examples/Guides/Dimensionality Reduction 2D sound browsing (each step separated out).scd @@ -29,7 +29,7 @@ do the whole process in one go! }; // this will load all the audio files that are included with the flucoma toolkit, but you can put your own path here: -~load_folder.(File.realpath(FluidBufPitch.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/",{ +~load_folder.(FluidFilesPath(),{ arg buffer; "mono buffer: %".format(buffer).postln; ~buffer = buffer; // save the buffer to a global variable so we can use it later @@ -274,7 +274,7 @@ FluidWaveform(~buffer,~indices); // it may also be way too many slices to see pr // ============== do all of it in one go ======================= ( -var path = File.realpath(FluidBufPitch.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/"; +var path = FluidFilesPath(); ~load_folder.(path,{ arg buffer0; ~slice.(buffer0,{ @@ -292,4 +292,4 @@ var path = File.realpath(FluidBufPitch.class.filenameSymbol).dirname.withTrailin }); }); }); -) \ No newline at end of file +) diff --git a/release-packaging/Examples/Guides/NMF Overview.scd b/release-packaging/Examples/Guides/NMF Overview.scd index 7adf4f9..d75c22e 100644 --- a/release-packaging/Examples/Guides/NMF Overview.scd +++ b/release-packaging/Examples/Guides/NMF Overview.scd @@ -5,7 +5,7 @@ s.options.device_("Fireface UC Mac (24006457)"); // decompose! s.waitForBoot{ Routine{ - var drums = Buffer.read(s,File.realpath(FluidBufNMF.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Nicol-LoopE-M.wav"); + var drums = Buffer.read(s,FluidFilesPath("Nicol-LoopE-M.wav")); var resynth = Buffer(s); var n_components = 2; FluidBufNMF.process(s,drums,resynth:resynth,components:n_components).wait; @@ -42,7 +42,7 @@ s.waitForBoot{ ( Routine{ var n_components = 2; - var drums = Buffer.read(s,File.realpath(FluidBufNMF.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Nicol-LoopE-M.wav"); + var drums = Buffer.read(s,FluidFilesPath("Nicol-LoopE-M.wav")); ~bases = Buffer(s); ~activations = Buffer(s); ~resynth = Buffer(s); @@ -57,9 +57,9 @@ Routine{ // base as a filter ( Routine{ - var drums = Buffer.read(s,File.realpath(FluidBufNMF.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Nicol-LoopE-M.wav"); - var voice = Buffer.read(s,File.realpath(FluidBufNMF.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-AaS-VoiceQC-B2K-M.wav"); - var song = Buffer.read(s,File.realpath(FluidBufNMF.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-beatRemember.wav"); + var drums = Buffer.read(s,FluidFilesPath("Nicol-LoopE-M.wav")); + var voice = Buffer.read(s,FluidFilesPath("Tremblay-AaS-VoiceQC-B2K-M.wav")); + var song = Buffer.read(s,FluidFilesPath("Tremblay-beatRemember.wav")); s.sync; "drums through the drums bases as filters".postln; @@ -112,7 +112,7 @@ Routine{ ( Task{ - var dog = Buffer.readChannel(s,File.realpath(FluidBufNMF.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-BaB-SoundscapeGolcarWithDog.wav",channels:[0]); + var dog = Buffer.readChannel(s,FluidFilesPath("Tremblay-BaB-SoundscapeGolcarWithDog.wav"),channels:[0]); var bases = Buffer(s); var match = [0,0]; var win = Window("FluidNMFMatch",Rect(0,0,200,400)); @@ -147,4 +147,4 @@ Task{ sig; }.play; }.play(AppClock); -) \ No newline at end of file +) diff --git a/release-packaging/Examples/Guides/Weighted Statistical Analysis.scd b/release-packaging/Examples/Guides/Weighted Statistical Analysis.scd index be0713d..fa3c002 100644 --- a/release-packaging/Examples/Guides/Weighted Statistical Analysis.scd +++ b/release-packaging/Examples/Guides/Weighted Statistical Analysis.scd @@ -8,7 +8,7 @@ load a part of a sound that has 3 clear components: */ ( -~src = Buffer.read(s,File.realpath(FluidBufPitch.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-ASWINE-ScratchySynth-M.wav");//,42250,44100); +~src = Buffer.read(s,FluidFilesPath("Tremblay-ASWINE-ScratchySynth-M.wav"));//,42250,44100); ) // listen diff --git a/release-packaging/Examples/buffer_compositing/bufcompose-MS-FIR.scd b/release-packaging/Examples/buffer_compositing/bufcompose-MS-FIR.scd index d72ecc9..8c82238 100644 --- a/release-packaging/Examples/buffer_compositing/bufcompose-MS-FIR.scd +++ b/release-packaging/Examples/buffer_compositing/bufcompose-MS-FIR.scd @@ -2,7 +2,7 @@ // load a stereo buffer and initialise the many destinations ( -b = Buffer.read(s,File.realpath(FluidBufCompose.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-SA-UprightPianoPedalWide.wav"); +b = Buffer.read(s,FluidFilesPath("Tremblay-SA-UprightPianoPedalWide.wav")); c = Buffer.new(s); d = Buffer.new(s); e = Buffer.new(s); @@ -68,4 +68,4 @@ FluidBufCompose.process(s,e, gain: -3.0.dbamp * -1.0, destination: f, destStartC f.play; // compare with the original -b.play; \ No newline at end of file +b.play; diff --git a/release-packaging/Examples/buffer_compositing/bufcomposemacros.scd b/release-packaging/Examples/buffer_compositing/bufcomposemacros.scd index 061349f..75a60c3 100644 --- a/release-packaging/Examples/buffer_compositing/bufcomposemacros.scd +++ b/release-packaging/Examples/buffer_compositing/bufcomposemacros.scd @@ -3,7 +3,7 @@ ~low = Buffer.sendCollection(s, (Signal.sineFill(4410, Array.fill(3,0) ++ 1))); ~mid = Buffer.sendCollection(s, (Signal.sineFill(4410, Array.fill(12,0) ++ 1))); ~high = Buffer.sendCollection(s, (Signal.sineFill(4410, Array.fill(48,0) ++ 1))); -~piano = Buffer.read(s,File.realpath(FluidBufCompose.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-SA-UprightPianoPedalWide.wav",0,8820); +~piano = Buffer.read(s,FluidFilesPath("Tremblay-SA-UprightPianoPedalWide.wav"),0,8820); ) // draw the buffers to see what happened diff --git a/release-packaging/Examples/dataset/1-learning examples/10b-weighted-pitch-comparison.scd b/release-packaging/Examples/dataset/1-learning examples/10b-weighted-pitch-comparison.scd index a063065..b565666 100644 --- a/release-packaging/Examples/dataset/1-learning examples/10b-weighted-pitch-comparison.scd +++ b/release-packaging/Examples/dataset/1-learning examples/10b-weighted-pitch-comparison.scd @@ -1,6 +1,6 @@ //load a part of a sound that has 3 clear components: a clear pitch component to start, a noisy pitchless ending and DC offset silence on both ends ( -b = Buffer.read(s,File.realpath(FluidBufPitch.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-ASWINE-ScratchySynth-M.wav",42250,44100); +b = Buffer.read(s,FluidFilesPath("Tremblay-ASWINE-ScratchySynth-M.wav"),42250,44100); ~pitches = Buffer(s); ~stats = Buffer(s); ~loud = Buffer(s); diff --git a/release-packaging/Examples/dataset/1-learning examples/8c-mlp-regressor-as-dim-redux.scd b/release-packaging/Examples/dataset/1-learning examples/8c-mlp-regressor-as-dim-redux.scd index 6c59b6e..10e8ff3 100644 --- a/release-packaging/Examples/dataset/1-learning examples/8c-mlp-regressor-as-dim-redux.scd +++ b/release-packaging/Examples/dataset/1-learning examples/8c-mlp-regressor-as-dim-redux.scd @@ -4,7 +4,7 @@ s.reboot; ~raw = FluidDataSet(s); ~norm = FluidDataSet(s); ~retrieved = FluidDataSet(s); -~audio = Buffer.read(s,File.realpath(FluidBufMelBands.class.filenameSymbol).dirname +/+ "../AudioFiles/Tremblay-ASWINE-ScratchySynth-M.wav"); +~audio = Buffer.read(s,FluidFilesPath("Tremblay-ASWINE-ScratchySynth-M.wav")); ~melfeatures = Buffer.new(s); ~stats = Buffer.alloc(s, 7, 40); ~datapoint = Buffer.alloc(s, 40); @@ -158,4 +158,4 @@ w.drawFunc = { }; w.refresh; w.front; -) \ No newline at end of file +) diff --git a/release-packaging/Examples/nmf/JiT-NMF.scd b/release-packaging/Examples/nmf/JiT-NMF.scd index f10195c..1af47c8 100644 --- a/release-packaging/Examples/nmf/JiT-NMF.scd +++ b/release-packaging/Examples/nmf/JiT-NMF.scd @@ -8,7 +8,7 @@ s.reboot b = Buffer.alloc(s,s.sampleRate * 2); c = Buffer.new(s,0,3); d = Buffer.new(s,0,3); -e = Buffer.read(s,File.realpath(FluidBufNMF.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Nicol-LoopE-M.wav"); +e = Buffer.read(s,FluidFilesPath("Nicol-LoopE-M.wav")); g = Bus.audio(s,1); h = Buffer.loadCollection(s, Signal.rectWindow(22491).fade(0,440).fade(22049,22489,1,0).put(22490,0)); diff --git a/release-packaging/Examples/nmf/nmfmatch-object-finding.scd b/release-packaging/Examples/nmf/nmfmatch-object-finding.scd index 7ab2c3d..70b74d1 100644 --- a/release-packaging/Examples/nmf/nmfmatch-object-finding.scd +++ b/release-packaging/Examples/nmf/nmfmatch-object-finding.scd @@ -2,7 +2,7 @@ //set some buffers ( -b = Buffer.read(s,File.realpath(FluidNMFMatch.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-BaB-SoundscapeGolcarWithDog.wav"); +b = Buffer.read(s,FluidFilesPath("Tremblay-BaB-SoundscapeGolcarWithDog.wav")); c = Buffer.new(s); x = Buffer.new(s); e = Buffer.new(s); @@ -71,4 +71,4 @@ e.plot; birds = SinOsc.ar(1000,0,Lag.kr(blips[1],0.05,0.05)); [dogs, birds] + source; }.play; -) \ No newline at end of file +) diff --git a/release-packaging/Examples/nmf/nmfmatch-pretrained-piano.scd b/release-packaging/Examples/nmf/nmfmatch-pretrained-piano.scd index d630387..1869e81 100644 --- a/release-packaging/Examples/nmf/nmfmatch-pretrained-piano.scd +++ b/release-packaging/Examples/nmf/nmfmatch-pretrained-piano.scd @@ -2,8 +2,8 @@ //load in the sound in and a pretrained basis ( - b = Buffer.read(s,File.realpath(FluidNMFMatch.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-SA-UprightPianoPedalWide.wav"); - c = Buffer.read(s,File.realpath(FluidNMFMatch.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/filters/piano-dicts.wav"); + b = Buffer.read(s,FluidFilesPath("Tremblay-SA-UprightPianoPedalWide.wav")); + c = Buffer.read(s,FluidFilesPath("filters/piano-dicts.wav")); ) b.play c.query @@ -48,4 +48,4 @@ c.query // removes the silent and spits out the indicies as midinote number data.collect({arg item, i; if (item > 0.01, {i + 21})}).reject({arg item; item.isNil}).postln; }, '/activations'); -) \ No newline at end of file +) diff --git a/release-packaging/Examples/segmenting/nb_of_slices.scd b/release-packaging/Examples/segmenting/nb_of_slices.scd index 83f27d6..07f4d1d 100644 --- a/release-packaging/Examples/segmenting/nb_of_slices.scd +++ b/release-packaging/Examples/segmenting/nb_of_slices.scd @@ -1,5 +1,5 @@ ( -b = Buffer.read(s,File.realpath(FluidBufNoveltySlice.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Nicol-LoopE-M.wav"); +b = Buffer.read(s,FluidFilesPath("Nicol-LoopE-M.wav")); c = Buffer.new(s); ) @@ -61,4 +61,4 @@ Routine{ } ); }.play -) \ No newline at end of file +) diff --git a/release-packaging/HelpSource/Classes/FluidAmpGate.schelp b/release-packaging/HelpSource/Classes/FluidAmpGate.schelp index ffd2124..dce16ff 100644 --- a/release-packaging/HelpSource/Classes/FluidAmpGate.schelp +++ b/release-packaging/HelpSource/Classes/FluidAmpGate.schelp @@ -125,7 +125,7 @@ code:: ) //drum slicing, many ways //load a buffer -b = Buffer.read(s,File.realpath(FluidAmpGate.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Nicol-LoopE-M.wav"); +b = Buffer.read(s,FluidFilesPath("Nicol-LoopE-M.wav")); //have fun with a gate (explore lookahead and lookback, but correct for latency, which will be the greatest of the lookahead and lookback) ( {var env, source = PlayBuf.ar(1,b); diff --git a/release-packaging/HelpSource/Classes/FluidAmpSlice.schelp b/release-packaging/HelpSource/Classes/FluidAmpSlice.schelp index a1ccee1..cbad917 100644 --- a/release-packaging/HelpSource/Classes/FluidAmpSlice.schelp +++ b/release-packaging/HelpSource/Classes/FluidAmpSlice.schelp @@ -76,7 +76,7 @@ code:: ) //quick drum onsets //load a buffer -b = Buffer.read(s,File.realpath(FluidAmpSlice.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Nicol-LoopE-M.wav"); +b = Buffer.read(s,FluidFilesPath("Nicol-LoopE-M.wav")); ( {var env, source = PlayBuf.ar(1,b); env = FluidAmpSlice.ar(source,fastRampUp: 10,fastRampDown: 2205,slowRampUp: 4410,slowRampDown: 4410,onThreshold: 10,offThreshold: 5,floor: -40,minSliceLength: 4410,highPassFreq: 20); diff --git a/release-packaging/HelpSource/Classes/FluidAudioTransport.schelp b/release-packaging/HelpSource/Classes/FluidAudioTransport.schelp index 32032bb..77f9b60 100644 --- a/release-packaging/HelpSource/Classes/FluidAudioTransport.schelp +++ b/release-packaging/HelpSource/Classes/FluidAudioTransport.schelp @@ -56,8 +56,8 @@ code:: //richer with complex spectra //load 2 files ( -b = Buffer.read(s,File.realpath(FluidAudioTransport.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-CEL-GlitchyMusicBoxMelo.wav"); -c = Buffer.read(s,File.realpath(FluidAudioTransport.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-CF-ChurchBells.wav"); +b = Buffer.read(s,FluidFilesPath("Tremblay-CEL-GlitchyMusicBoxMelo.wav")); +c = Buffer.read(s,FluidFilesPath("Tremblay-CF-ChurchBells.wav")); ) //listen to them b.play diff --git a/release-packaging/HelpSource/Classes/FluidBufAmpGate.schelp b/release-packaging/HelpSource/Classes/FluidBufAmpGate.schelp index 1e5db75..d5e8029 100644 --- a/release-packaging/HelpSource/Classes/FluidBufAmpGate.schelp +++ b/release-packaging/HelpSource/Classes/FluidBufAmpGate.schelp @@ -141,7 +141,7 @@ STRONG::A musical example.:: CODE:: //load a buffer ( - b = Buffer.read(s, File.realpath(FluidBufAmpGate.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Nicol-LoopE-M.wav"); + b = Buffer.read(s, FluidFilesPath("Nicol-LoopE-M.wav")); c = Buffer.new(s); ) diff --git a/release-packaging/HelpSource/Classes/FluidBufAmpSlice.schelp b/release-packaging/HelpSource/Classes/FluidBufAmpSlice.schelp index 12cb53c..5ec566e 100644 --- a/release-packaging/HelpSource/Classes/FluidBufAmpSlice.schelp +++ b/release-packaging/HelpSource/Classes/FluidBufAmpSlice.schelp @@ -108,7 +108,7 @@ STRONG::A musical example.:: CODE:: //load a buffer ( -b = Buffer.read(s,File.realpath(FluidBufAmpSlice.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Nicol-LoopE-M.wav"); +b = Buffer.read(s,FluidFilesPath("Nicol-LoopE-M.wav")); c = Buffer.new(s); ) diff --git a/release-packaging/HelpSource/Classes/FluidBufAudioTransport.schelp b/release-packaging/HelpSource/Classes/FluidBufAudioTransport.schelp index 4edaf95..ab503ed 100644 --- a/release-packaging/HelpSource/Classes/FluidBufAudioTransport.schelp +++ b/release-packaging/HelpSource/Classes/FluidBufAudioTransport.schelp @@ -95,8 +95,8 @@ d.play // more interesting sources: two cardboard bowing gestures ( -b = Buffer.read(s,File.realpath(FluidBufAudioTransport.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Green-Box641.wav"); -c = Buffer.read(s,File.realpath(FluidBufAudioTransport.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Green-Box639.wav"); +b = Buffer.read(s,FluidFilesPath("Green-Box641.wav")); +c = Buffer.read(s,FluidFilesPath("Green-Box639.wav")); d = Buffer.new ) diff --git a/release-packaging/HelpSource/Classes/FluidBufChroma.schelp b/release-packaging/HelpSource/Classes/FluidBufChroma.schelp index 25fd4ea..6e85678 100644 --- a/release-packaging/HelpSource/Classes/FluidBufChroma.schelp +++ b/release-packaging/HelpSource/Classes/FluidBufChroma.schelp @@ -328,7 +328,7 @@ EXAMPLES:: code:: // create some buffers ( -b = Buffer.read(s,File.realpath(FluidBufChroma.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-SlideChoirAdd-M.wav"); +b = Buffer.read(s,FluidFilesPath("Tremblay-SlideChoirAdd-M.wav")); c = Buffer.new(s); ) @@ -351,8 +351,8 @@ CODE:: // load two very different files ( -b = Buffer.read(s,File.realpath(FluidBufChroma.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-SA-UprightPianoPedalWide.wav"); -c = Buffer.read(s,File.realpath(FluidBufChroma.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-AaS-AcousticStrums-M.wav"); +b = Buffer.read(s,FluidFilesPath("Tremblay-SA-UprightPianoPedalWide.wav")); +c = Buffer.read(s,FluidFilesPath("Tremblay-AaS-AcousticStrums-M.wav")); ) // composite one on left one on right as test signals diff --git a/release-packaging/HelpSource/Classes/FluidBufCompose.schelp b/release-packaging/HelpSource/Classes/FluidBufCompose.schelp index 8ce52a6..1cae066 100644 --- a/release-packaging/HelpSource/Classes/FluidBufCompose.schelp +++ b/release-packaging/HelpSource/Classes/FluidBufCompose.schelp @@ -64,8 +64,8 @@ EXAMPLES:: code:: // load some buffers ( -b = Buffer.read(s,File.realpath(FluidBufCompose.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-AaS-SynthTwoVoices-M.wav"); -c = Buffer.read(s,File.realpath(FluidBufCompose.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-SA-UprightPianoPedalWide.wav"); +b = Buffer.read(s,FluidFilesPath("Tremblay-AaS-SynthTwoVoices-M.wav")); +c = Buffer.read(s,FluidFilesPath("Tremblay-SA-UprightPianoPedalWide.wav")); d = Buffer.new(s); ) diff --git a/release-packaging/HelpSource/Classes/FluidBufFlatten.schelp b/release-packaging/HelpSource/Classes/FluidBufFlatten.schelp index 8b8fd25..37f22da 100644 --- a/release-packaging/HelpSource/Classes/FluidBufFlatten.schelp +++ b/release-packaging/HelpSource/Classes/FluidBufFlatten.schelp @@ -71,7 +71,7 @@ code:: //FluidBufPitch is useful to illustrate the effect of this, because the pitch and confidence values are easily distinguishable ( -~path = File.realpath(FluidLoadFolder.class.filenameSymbol).dirname +/+ "../AudioFiles"; +~path = FluidFilesPath(); ~randomsoundfile = SoundFile.collect(~path +/+ '*').choose; b = Buffer.read(s,~randomsoundfile.path,action:{"Sound Loaded".postln}); ~pitchdata = Buffer.new; diff --git a/release-packaging/HelpSource/Classes/FluidBufHPSS.schelp b/release-packaging/HelpSource/Classes/FluidBufHPSS.schelp index 63c821d..3e7ad4f 100644 --- a/release-packaging/HelpSource/Classes/FluidBufHPSS.schelp +++ b/release-packaging/HelpSource/Classes/FluidBufHPSS.schelp @@ -120,7 +120,7 @@ EXAMPLES:: code:: //load buffers ( - b = Buffer.read(s,File.realpath(FluidBufHPSS.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-AaS-SynthTwoVoices-M.wav"); + b = Buffer.read(s,FluidFilesPath("Tremblay-AaS-SynthTwoVoices-M.wav")); c = Buffer.new(s); d = Buffer.new(s); e = Buffer.new(s); @@ -170,8 +170,8 @@ CODE:: // load two very different files ( -b = Buffer.read(s,File.realpath(FluidBufHPSS.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-SA-UprightPianoPedalWide.wav"); -c = Buffer.read(s,File.realpath(FluidBufHPSS.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-AaS-AcousticStrums-M.wav"); +b = Buffer.read(s,FluidFilesPath("Tremblay-SA-UprightPianoPedalWide.wav")); +c = Buffer.read(s,FluidFilesPath("Tremblay-AaS-AcousticStrums-M.wav")); ) // composite one on left one on right as test signals diff --git a/release-packaging/HelpSource/Classes/FluidBufLoudness.schelp b/release-packaging/HelpSource/Classes/FluidBufLoudness.schelp index 6b2a6ed..5755881 100644 --- a/release-packaging/HelpSource/Classes/FluidBufLoudness.schelp +++ b/release-packaging/HelpSource/Classes/FluidBufLoudness.schelp @@ -99,8 +99,8 @@ CODE:: // load two very different files ( -b = Buffer.read(s,File.realpath(FluidBufLoudness.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-SA-UprightPianoPedalWide.wav"); -c = Buffer.read(s,File.realpath(FluidBufLoudness.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-AaS-AcousticStrums-M.wav"); +b = Buffer.read(s,FluidFilesPath("Tremblay-SA-UprightPianoPedalWide.wav")); +c = Buffer.read(s,FluidFilesPath("Tremblay-AaS-AcousticStrums-M.wav")); ) // composite one on left one on right as test signals diff --git a/release-packaging/HelpSource/Classes/FluidBufMFCC.schelp b/release-packaging/HelpSource/Classes/FluidBufMFCC.schelp index 2c27dc3..b532a3c 100644 --- a/release-packaging/HelpSource/Classes/FluidBufMFCC.schelp +++ b/release-packaging/HelpSource/Classes/FluidBufMFCC.schelp @@ -78,7 +78,7 @@ EXAMPLES:: code:: // create some buffers ( -b = Buffer.read(s,File.realpath(FluidBufMFCC.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Nicol-LoopE-M.wav"); +b = Buffer.read(s,FluidFilesPath("Nicol-LoopE-M.wav")); c = Buffer.new(s); ) @@ -101,8 +101,8 @@ CODE:: // load two very different files ( -b = Buffer.read(s,File.realpath(FluidBufMFCC.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-SA-UprightPianoPedalWide.wav"); -c = Buffer.read(s,File.realpath(FluidBufMFCC.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-AaS-AcousticStrums-M.wav"); +b = Buffer.read(s,FluidFilesPath("Tremblay-SA-UprightPianoPedalWide.wav")); +c = Buffer.read(s,FluidFilesPath("Tremblay-AaS-AcousticStrums-M.wav")); ) // composite one on left one on right as test signals diff --git a/release-packaging/HelpSource/Classes/FluidBufMelBands.schelp b/release-packaging/HelpSource/Classes/FluidBufMelBands.schelp index 358237d..f8384cb 100644 --- a/release-packaging/HelpSource/Classes/FluidBufMelBands.schelp +++ b/release-packaging/HelpSource/Classes/FluidBufMelBands.schelp @@ -79,7 +79,7 @@ EXAMPLES:: code:: // create some buffers ( -b = Buffer.read(s,File.realpath(FluidBufMelBands.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Nicol-LoopE-M.wav"); +b = Buffer.read(s,FluidFilesPath("Nicol-LoopE-M.wav")); c = Buffer.new(s); ) @@ -102,8 +102,8 @@ CODE:: // load two very different files ( -b = Buffer.read(s,File.realpath(FluidBufMelBands.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-SA-UprightPianoPedalWide.wav"); -c = Buffer.read(s,File.realpath(FluidBufMelBands.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-AaS-AcousticStrums-M.wav"); +b = Buffer.read(s,FluidFilesPath("Tremblay-SA-UprightPianoPedalWide.wav")); +c = Buffer.read(s,FluidFilesPath("Tremblay-AaS-AcousticStrums-M.wav")); ) // composite one on left one on right as test signals diff --git a/release-packaging/HelpSource/Classes/FluidBufNMF.schelp b/release-packaging/HelpSource/Classes/FluidBufNMF.schelp index 23a4bac..d5fae68 100644 --- a/release-packaging/HelpSource/Classes/FluidBufNMF.schelp +++ b/release-packaging/HelpSource/Classes/FluidBufNMF.schelp @@ -472,7 +472,7 @@ CODE:: //set some buffers ( -b = Buffer.read(s,File.realpath(FluidBufNMF.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-AaS-AcousticStrums-M.wav"); +b = Buffer.read(s,FluidFilesPath("Tremblay-AaS-AcousticStrums-M.wav")); ~originalNMF = Buffer.new(s); ~bases = Buffer.new(s); diff --git a/release-packaging/HelpSource/Classes/FluidBufNMFCross.schelp b/release-packaging/HelpSource/Classes/FluidBufNMFCross.schelp index 673f4ec..c11249c 100644 --- a/release-packaging/HelpSource/Classes/FluidBufNMFCross.schelp +++ b/release-packaging/HelpSource/Classes/FluidBufNMFCross.schelp @@ -67,7 +67,7 @@ EXAMPLES:: code:: -~path = File.realpath(FluidBufNMFCross.class.filenameSymbol).dirname.withTrailingSlash +/+ "../AudioFiles/" +~path = FluidFilesPath(); b = Buffer.read(s,~path+/+"Nicol-LoopE-M.wav") t = Buffer.read(s,~path+/+"Tremblay-SA-UprightPianoPedalWide.wav") o = Buffer.new @@ -91,4 +91,3 @@ Routine{ ) o.play :: - diff --git a/release-packaging/HelpSource/Classes/FluidBufNNDSVD.schelp b/release-packaging/HelpSource/Classes/FluidBufNNDSVD.schelp index 9ab1598..0388553 100644 --- a/release-packaging/HelpSource/Classes/FluidBufNNDSVD.schelp +++ b/release-packaging/HelpSource/Classes/FluidBufNNDSVD.schelp @@ -70,7 +70,7 @@ EXAMPLES:: code:: ( -b = Buffer.read(s,File.realpath(FluidBufNNDSVD.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Nicol-LoopE-M.wav"); +b = Buffer.read(s,FluidFilesPath("Nicol-LoopE-M.wav")); ~bases = Buffer.new(s); ~activations = Buffer.new(s); ~resynth = Buffer.new(s); diff --git a/release-packaging/HelpSource/Classes/FluidBufNoveltySlice.schelp b/release-packaging/HelpSource/Classes/FluidBufNoveltySlice.schelp index 5e2583d..5fc6da7 100644 --- a/release-packaging/HelpSource/Classes/FluidBufNoveltySlice.schelp +++ b/release-packaging/HelpSource/Classes/FluidBufNoveltySlice.schelp @@ -82,7 +82,7 @@ EXAMPLES:: code:: // load some buffers ( -b = Buffer.read(s,File.realpath(FluidBufNoveltySlice.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-AaS-AcousticStrums-M.wav"); +b = Buffer.read(s,FluidFilesPath("Tremblay-AaS-AcousticStrums-M.wav")); c = Buffer.new(s); ) @@ -118,7 +118,7 @@ STRONG::Examples of the impact of the filterSize:: CODE:: // load some buffers ( -b = Buffer.read(s,File.realpath(FluidBufNoveltySlice.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-AaS-AcousticStrums-M.wav"); +b = Buffer.read(s,FluidFilesPath("Tremblay-AaS-AcousticStrums-M.wav")); c = Buffer.new(s); ) diff --git a/release-packaging/HelpSource/Classes/FluidBufOnsetSlice.schelp b/release-packaging/HelpSource/Classes/FluidBufOnsetSlice.schelp index a46b15f..61a8679 100644 --- a/release-packaging/HelpSource/Classes/FluidBufOnsetSlice.schelp +++ b/release-packaging/HelpSource/Classes/FluidBufOnsetSlice.schelp @@ -87,7 +87,7 @@ EXAMPLES:: CODE:: ( //prep some buffers -b = Buffer.read(s,File.realpath(FluidBufOnsetSlice.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Nicol-LoopE-M.wav"); +b = Buffer.read(s,FluidFilesPath("Nicol-LoopE-M.wav")); c = Buffer.new(s); ) diff --git a/release-packaging/HelpSource/Classes/FluidBufPitch.schelp b/release-packaging/HelpSource/Classes/FluidBufPitch.schelp index 511d7b1..6a67da4 100644 --- a/release-packaging/HelpSource/Classes/FluidBufPitch.schelp +++ b/release-packaging/HelpSource/Classes/FluidBufPitch.schelp @@ -112,8 +112,8 @@ CODE:: // load two very different files ( -b = Buffer.read(s,File.realpath(FluidBufPitch.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-SA-UprightPianoPedalWide.wav"); -c = Buffer.read(s,File.realpath(FluidBufPitch.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-AaS-AcousticStrums-M.wav"); +b = Buffer.read(s,FluidFilesPath("Tremblay-SA-UprightPianoPedalWide.wav")); +c = Buffer.read(s,FluidFilesPath("Tremblay-AaS-AcousticStrums-M.wav")); ) // composite one on left one on right as test signals @@ -140,7 +140,7 @@ STRONG::A musical example.:: code:: // create some buffers ( -b = Buffer.read(s,File.realpath(FluidBufPitch.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-ASWINE-ScratchySynth-M.wav"); +b = Buffer.read(s,FluidFilesPath("Tremblay-ASWINE-ScratchySynth-M.wav")); c = Buffer.new(s); ) diff --git a/release-packaging/HelpSource/Classes/FluidBufSTFT.schelp b/release-packaging/HelpSource/Classes/FluidBufSTFT.schelp index a2755eb..d0f3f3f 100644 --- a/release-packaging/HelpSource/Classes/FluidBufSTFT.schelp +++ b/release-packaging/HelpSource/Classes/FluidBufSTFT.schelp @@ -70,7 +70,7 @@ EXAMPLES:: code:: s.reboot ( -b = Buffer.read(s,File.realpath(FluidBufSTFT.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Nicol-LoopE-M.wav"); +b = Buffer.read(s,FluidFilesPath("Nicol-LoopE-M.wav")); m = Buffer.new; p = Buffer.new; r = Buffer.new; diff --git a/release-packaging/HelpSource/Classes/FluidBufSines.schelp b/release-packaging/HelpSource/Classes/FluidBufSines.schelp index fa52319..0cdc5c4 100644 --- a/release-packaging/HelpSource/Classes/FluidBufSines.schelp +++ b/release-packaging/HelpSource/Classes/FluidBufSines.schelp @@ -95,7 +95,7 @@ EXAMPLES:: code:: // create some buffers ( -b = Buffer.read(s,File.realpath(FluidBufSines.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-AaS-SynthTwoVoices-M.wav"); +b = Buffer.read(s,FluidFilesPath("Tremblay-AaS-SynthTwoVoices-M.wav")); c = Buffer.new(s); d = Buffer.new(s); ) @@ -122,8 +122,8 @@ CODE:: // load two very different files ( -b = Buffer.read(s,File.realpath(FluidBufSines.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-SA-UprightPianoPedalWide.wav"); -c = Buffer.read(s,File.realpath(FluidBufSines.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-AaS-AcousticStrums-M.wav"); +b = Buffer.read(s,FluidFilesPath("Tremblay-SA-UprightPianoPedalWide.wav")); +c = Buffer.read(s,FluidFilesPath("Tremblay-AaS-AcousticStrums-M.wav")); ) // composite one on left one on right as test signals diff --git a/release-packaging/HelpSource/Classes/FluidBufSpectralShape.schelp b/release-packaging/HelpSource/Classes/FluidBufSpectralShape.schelp index 3e3365a..08e3cb8 100644 --- a/release-packaging/HelpSource/Classes/FluidBufSpectralShape.schelp +++ b/release-packaging/HelpSource/Classes/FluidBufSpectralShape.schelp @@ -94,7 +94,7 @@ EXAMPLES:: code:: // create some buffers ( -b = Buffer.read(s,File.realpath(FluidBufSpectralShape.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Nicol-LoopE-M.wav"); +b = Buffer.read(s,FluidFilesPath("Nicol-LoopE-M.wav")); c = Buffer.new(s); ) @@ -117,8 +117,8 @@ CODE:: // load two very different files ( -b = Buffer.read(s,File.realpath(FluidBufSpectralShape.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-SA-UprightPianoPedalWide.wav"); -c = Buffer.read(s,File.realpath(FluidBufSpectralShape.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-AaS-AcousticStrums-M.wav"); +b = Buffer.read(s,FluidFilesPath("Tremblay-SA-UprightPianoPedalWide.wav")); +c = Buffer.read(s,FluidFilesPath("Tremblay-AaS-AcousticStrums-M.wav")); ) // composite one on left one on right as test signals diff --git a/release-packaging/HelpSource/Classes/FluidBufTransientSlice.schelp b/release-packaging/HelpSource/Classes/FluidBufTransientSlice.schelp index 4ba0760..57a6095 100644 --- a/release-packaging/HelpSource/Classes/FluidBufTransientSlice.schelp +++ b/release-packaging/HelpSource/Classes/FluidBufTransientSlice.schelp @@ -79,7 +79,7 @@ EXAMPLES:: code:: // load some buffers ( -b = Buffer.read(s,File.realpath(FluidBufTransientSlice.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-AaS-SynthTwoVoices-M.wav"); +b = Buffer.read(s,FluidFilesPath("Tremblay-AaS-SynthTwoVoices-M.wav")); c = Buffer.new(s); ) diff --git a/release-packaging/HelpSource/Classes/FluidBufTransients.schelp b/release-packaging/HelpSource/Classes/FluidBufTransients.schelp index 5b3e2fa..af113f7 100644 --- a/release-packaging/HelpSource/Classes/FluidBufTransients.schelp +++ b/release-packaging/HelpSource/Classes/FluidBufTransients.schelp @@ -82,7 +82,7 @@ EXAMPLES:: code:: ( -b = Buffer.read(s,File.realpath(FluidBufTransients.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-AaS-SynthTwoVoices-M.wav"); +b = Buffer.read(s,FluidFilesPath("Tremblay-AaS-SynthTwoVoices-M.wav")); c = Buffer.new(s); d = Buffer.new(s); ) @@ -123,8 +123,8 @@ CODE:: // load two very different files ( -b = Buffer.read(s,File.realpath(FluidBufTransients.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-AaS-SynthTwoVoices-M.wav"); -c = Buffer.read(s,File.realpath(FluidBufTransients.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-AaS-AcousticStrums-M.wav"); +b = Buffer.read(s,FluidFilesPath("Tremblay-AaS-SynthTwoVoices-M.wav")); +c = Buffer.read(s,FluidFilesPath("Tremblay-AaS-AcousticStrums-M.wav")); ) // composite one on left one on right as test signals diff --git a/release-packaging/HelpSource/Classes/FluidChroma.schelp b/release-packaging/HelpSource/Classes/FluidChroma.schelp index ece7bf4..1d7b63f 100644 --- a/release-packaging/HelpSource/Classes/FluidChroma.schelp +++ b/release-packaging/HelpSource/Classes/FluidChroma.schelp @@ -174,7 +174,7 @@ x = { x.free // load a more exciting one -c = Buffer.read(s,File.realpath(FluidChroma.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-SlideChoirAdd-M.wav"); +c = Buffer.read(s,FluidFilesPath("Tremblay-SlideChoirAdd-M.wav")); // analyse with parameters to be changed ( diff --git a/release-packaging/HelpSource/Classes/FluidHPSS.schelp b/release-packaging/HelpSource/Classes/FluidHPSS.schelp index 57cee38..3562b0a 100644 --- a/release-packaging/HelpSource/Classes/FluidHPSS.schelp +++ b/release-packaging/HelpSource/Classes/FluidHPSS.schelp @@ -93,7 +93,7 @@ EXAMPLES:: CODE:: //load a soundfile to play -b = Buffer.read(s,File.realpath(FluidHPSS.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-AaS-SynthTwoVoices-M.wav"); +b = Buffer.read(s,FluidFilesPath("Tremblay-AaS-SynthTwoVoices-M.wav")); // run with basic parameters (left is harmonic, right is percussive) {FluidHPSS.ar(PlayBuf.ar(1,b,loop:1))}.play diff --git a/release-packaging/HelpSource/Classes/FluidLoadFolder.schelp b/release-packaging/HelpSource/Classes/FluidLoadFolder.schelp index 0541f61..056b035 100644 --- a/release-packaging/HelpSource/Classes/FluidLoadFolder.schelp +++ b/release-packaging/HelpSource/Classes/FluidLoadFolder.schelp @@ -60,7 +60,7 @@ s.reboot; ( // We'll load all the Fluid Corpus Manipulation audio example files -~path = File.realpath(FluidLoadFolder.class.filenameSymbol).dirname +/+ "../AudioFiles"; +~path = FluidFilesPath(); ~loader = FluidLoadFolder(~path); diff --git a/release-packaging/HelpSource/Classes/FluidMDS.schelp b/release-packaging/HelpSource/Classes/FluidMDS.schelp index ca6f240..4e971f2 100644 --- a/release-packaging/HelpSource/Classes/FluidMDS.schelp +++ b/release-packaging/HelpSource/Classes/FluidMDS.schelp @@ -62,7 +62,7 @@ code:: //Preliminaries: we want some audio, a couple of FluidDataSets, some Buffers, a FluidStandardize and a FluidMDS ( -~audiofile = File.realpath(FluidMDS.class.filenameSymbol).dirname +/+ "../AudioFiles/Tremblay-ASWINE-ScratchySynth-M.wav"; +~audiofile = FluidFilesPath("Tremblay-ASWINE-ScratchySynth-M.wav"); ~raw = FluidDataSet(s); ~standardized = FluidDataSet(s); ~reduced = FluidDataSet(s); diff --git a/release-packaging/HelpSource/Classes/FluidMFCC.schelp b/release-packaging/HelpSource/Classes/FluidMFCC.schelp index a54a5a0..2021e34 100644 --- a/release-packaging/HelpSource/Classes/FluidMFCC.schelp +++ b/release-packaging/HelpSource/Classes/FluidMFCC.schelp @@ -190,7 +190,7 @@ x.set(\type, 0) x.free // load a more exciting one -c = Buffer.read(s,File.realpath(FluidMFCC.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-AaS-SynthTwoVoices-M.wav"); +c = Buffer.read(s,FluidFilesPath("Tremblay-AaS-SynthTwoVoices-M.wav")); // analyse with parameters to be changed ( @@ -277,8 +277,7 @@ sliders = List.newClear(0); }; //look in the directory for all .wav files -paths = PathName(File.realpath(FluidMFCC.class.filenameSymbol) - .dirname.withTrailingSlash ++ "../AudioFiles/") +paths = PathName(FluidFilesPath()) .files.select({arg item; item.fullPath.contains(".wav")}) .collect({arg item; item.fullPath}); diff --git a/release-packaging/HelpSource/Classes/FluidMelBands.schelp b/release-packaging/HelpSource/Classes/FluidMelBands.schelp index 8cbc91e..3674eae 100644 --- a/release-packaging/HelpSource/Classes/FluidMelBands.schelp +++ b/release-packaging/HelpSource/Classes/FluidMelBands.schelp @@ -93,7 +93,7 @@ x = { x.free // load a more exciting one -c = Buffer.read(s,File.realpath(FluidMelBands.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-AaS-SynthTwoVoices-M.wav"); +c = Buffer.read(s,FluidFilesPath("Tremblay-AaS-SynthTwoVoices-M.wav")); // analyse with parameters to be changed ( @@ -132,7 +132,7 @@ CODE:: //load a source and define control bus for the resynthesis cluster ( b = Bus.control(s,40); -c = Buffer.read(s,File.realpath(FluidMelBands.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Nicol-LoopE-M.wav"); +c = Buffer.read(s,FluidFilesPath("Nicol-LoopE-M.wav")); d = Group.new; ) @@ -173,7 +173,7 @@ d.free; x.free; b.free; c.free; // the bus, source and group ( b = Bus.control(s,40); -c = Buffer.read(s,File.realpath(FluidMelBands.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Nicol-LoopE-M.wav"); +c = Buffer.read(s,FluidFilesPath("Nicol-LoopE-M.wav")); d = Group.new; ) diff --git a/release-packaging/HelpSource/Classes/FluidNMFFilter.schelp b/release-packaging/HelpSource/Classes/FluidNMFFilter.schelp index 003d273..4001cef 100644 --- a/release-packaging/HelpSource/Classes/FluidNMFFilter.schelp +++ b/release-packaging/HelpSource/Classes/FluidNMFFilter.schelp @@ -99,7 +99,7 @@ STRONG::A guitar processor:: CODE:: //set some buffers ( -b = Buffer.read(s,File.realpath(FluidNMFMatch.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-AaS-AcousticStrums-M.wav"); +b = Buffer.read(s,FluidFilesPath("Tremblay-AaS-AcousticStrums-M.wav")); c = Buffer.new(s); ~bases = Buffer.new(s); ~spectralshapes = Buffer.new(s); @@ -176,7 +176,7 @@ STRONG::Strange Processor:: CODE:: //set some buffers ( -b = Buffer.read(s,File.realpath(FluidNMFMatch.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Nicol-LoopE-M.wav"); +b = Buffer.read(s,FluidFilesPath("Nicol-LoopE-M.wav")); c = Buffer.alloc(s,1025,3); d = Buffer.alloc(s,44100); ) diff --git a/release-packaging/HelpSource/Classes/FluidNMFMatch.schelp b/release-packaging/HelpSource/Classes/FluidNMFMatch.schelp index 36eb58f..7af0eb1 100644 --- a/release-packaging/HelpSource/Classes/FluidNMFMatch.schelp +++ b/release-packaging/HelpSource/Classes/FluidNMFMatch.schelp @@ -100,7 +100,7 @@ STRONG::A pick compressor:: CODE:: //set some buffers ( -b = Buffer.read(s,File.realpath(FluidNMFMatch.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-AaS-AcousticStrums-M.wav"); +b = Buffer.read(s,FluidFilesPath("Tremblay-AaS-AcousticStrums-M.wav")); c = Buffer.new(s); ~bases = Buffer.new(s); ~spectralshapes = Buffer.new(s); @@ -186,7 +186,7 @@ z.do({|chan| FluidBufCompose.process(s, ~bases, startChan:chan, numChans: 1, des CODE:: //load the source and declare buffers/arrays ( -b = Buffer.read(s,File.realpath(FluidNMFMatch.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-AaS-AcousticStrums-M.wav"); +b = Buffer.read(s,FluidFilesPath("Tremblay-AaS-AcousticStrums-M.wav")); c = Buffer.new(s); ~bases = Buffer.new(s); ~spectralshapes = Buffer.new(s); diff --git a/release-packaging/HelpSource/Classes/FluidNMFMorph.schelp b/release-packaging/HelpSource/Classes/FluidNMFMorph.schelp index d8073bf..e11a0a5 100644 --- a/release-packaging/HelpSource/Classes/FluidNMFMorph.schelp +++ b/release-packaging/HelpSource/Classes/FluidNMFMorph.schelp @@ -53,9 +53,8 @@ code::FluidNMFMorph:: relies on preexisting NMF analyses to generate variations code:: //read some audio ( -~audiopath = File.realpath(FluidNMFMorph.class.filenameSymbol).dirname; -~src1 = Buffer.readChannel(s,~audiopath +/+ "../AudioFiles/Nicol-LoopE-M.wav",channels:[0]); //some drums -~src2 = Buffer.readChannel(s,~audiopath +/+ "../AudioFiles/Tremblay-SA-UprightPianoPedalWide.wav",channels:[0]);//some piano +~src1 = Buffer.readChannel(s,FluidFilesPath("Nicol-LoopE-M.wav"),channels:[0]); //some drums +~src2 = Buffer.readChannel(s,FluidFilesPath("Tremblay-SA-UprightPianoPedalWide.wav"),channels:[0]);//some piano ~src1Bases = Buffer.new; ~src2Bases = Buffer.new; diff --git a/release-packaging/HelpSource/Classes/FluidNormalize.schelp b/release-packaging/HelpSource/Classes/FluidNormalize.schelp index 3a52331..b348e51 100644 --- a/release-packaging/HelpSource/Classes/FluidNormalize.schelp +++ b/release-packaging/HelpSource/Classes/FluidNormalize.schelp @@ -68,7 +68,7 @@ s.boot; //Preliminaries: we want some audio, a couple of FluidDataSets, some Buffers and a FluidNormalize // FluidNormalize.dumpAllMethods ( -~audiofile = File.realpath(FluidBufPitch.class.filenameSymbol).dirname +/+ "../AudioFiles/Tremblay-ASWINE-ScratchySynth-M.wav"; +~audiofile = FluidFilesPath("Tremblay-ASWINE-ScratchySynth-M.wav"); ~raw = FluidDataSet(s); ~norm = FluidDataSet(s); ~pitch_feature = Buffer.new(s); diff --git a/release-packaging/HelpSource/Classes/FluidNoveltySlice.schelp b/release-packaging/HelpSource/Classes/FluidNoveltySlice.schelp index b4734bb..5ef879e 100644 --- a/release-packaging/HelpSource/Classes/FluidNoveltySlice.schelp +++ b/release-packaging/HelpSource/Classes/FluidNoveltySlice.schelp @@ -63,7 +63,7 @@ EXAMPLES:: code:: //load some sounds -b = Buffer.read(s,File.realpath(FluidNoveltySlice.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Nicol-LoopE-M.wav"); +b = Buffer.read(s,FluidFilesPath("Nicol-LoopE-M.wav")); // basic param (the process add a latency of windowSize samples {var sig = PlayBuf.ar(1,b,loop:1); [FluidNoveltySlice.ar(sig,0,11,0.33) * 0.5, DelayN.ar(sig, 1, (512 * (((11 + 1) / 2).asInteger + ((1 + 1) / 2).asInteger + 1)) / s.sampleRate, 0.2)]}.play diff --git a/release-packaging/HelpSource/Classes/FluidOnsetSlice.schelp b/release-packaging/HelpSource/Classes/FluidOnsetSlice.schelp index 2472088..da77a5a 100644 --- a/release-packaging/HelpSource/Classes/FluidOnsetSlice.schelp +++ b/release-packaging/HelpSource/Classes/FluidOnsetSlice.schelp @@ -63,7 +63,7 @@ EXAMPLES:: code:: //load some sounds -b = Buffer.read(s,File.realpath(FluidOnsetSlice.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Nicol-LoopE-M.wav"); +b = Buffer.read(s,FluidFilesPath("Nicol-LoopE-M.wav")); // basic param (the process add a latency of windowSize samples {var sig = PlayBuf.ar(1,b,loop:1); [FluidOnsetSlice.ar(sig) * 0.5, DelayN.ar(sig, 1, 1024/ s.sampleRate)]}.play diff --git a/release-packaging/HelpSource/Classes/FluidPCA.schelp b/release-packaging/HelpSource/Classes/FluidPCA.schelp index f058726..d38edf0 100644 --- a/release-packaging/HelpSource/Classes/FluidPCA.schelp +++ b/release-packaging/HelpSource/Classes/FluidPCA.schelp @@ -62,7 +62,7 @@ code:: s.reboot; //Preliminaries: we want some audio, a couple of FluidDataSets, some Buffers, a FluidStandardize and a FluidPCA ( -~audiofile = File.realpath(FluidBufMFCC.class.filenameSymbol).dirname +/+ "../AudioFiles/Tremblay-ASWINE-ScratchySynth-M.wav"; +~audiofile = FluidFilesPath("Tremblay-ASWINE-ScratchySynth-M.wav"); ~raw = FluidDataSet(s); ~standardized = FluidDataSet(s); ~reduced = FluidDataSet(s); diff --git a/release-packaging/HelpSource/Classes/FluidPitch.schelp b/release-packaging/HelpSource/Classes/FluidPitch.schelp index 475686d..36a2c28 100644 --- a/release-packaging/HelpSource/Classes/FluidPitch.schelp +++ b/release-packaging/HelpSource/Classes/FluidPitch.schelp @@ -120,7 +120,7 @@ x.set(\noise, 0.05) STRONG::a more musical example:: CODE:: // play a noisy synth file -b = Buffer.read(s,File.realpath(FluidPitch.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-ASWINE-ScratchySynth-M.wav"); +b = Buffer.read(s,FluidFilesPath("Tremblay-ASWINE-ScratchySynth-M.wav")); b.play(true); //insert a selective reverb - sending only the material with very high pitch confidence diff --git a/release-packaging/HelpSource/Classes/FluidProcessSlices.schelp b/release-packaging/HelpSource/Classes/FluidProcessSlices.schelp index b62d78c..8f3d2db 100644 --- a/release-packaging/HelpSource/Classes/FluidProcessSlices.schelp +++ b/release-packaging/HelpSource/Classes/FluidProcessSlices.schelp @@ -87,7 +87,7 @@ s.reboot; //Load all the Fluid Corpus Manipulation audio files ( -~path = File.realpath(FluidLoadFolder.class.filenameSymbol).dirname +/+ "../AudioFiles"; +~path = FluidFilesPath(); ~loader = FluidLoadFolder(~path); ~loader.play(s,action:{ |dataDictionary| "Done loading".postln}); ~slicer = FluidSliceCorpus({ |src,start,num,dest| diff --git a/release-packaging/HelpSource/Classes/FluidRobustScale.schelp b/release-packaging/HelpSource/Classes/FluidRobustScale.schelp index d9b7175..fd565b8 100644 --- a/release-packaging/HelpSource/Classes/FluidRobustScale.schelp +++ b/release-packaging/HelpSource/Classes/FluidRobustScale.schelp @@ -67,7 +67,7 @@ code:: s.boot; //Preliminaries: we want some audio, a couple of FluidDataSets, some Buffers and a FluidRobustScale ( -~audiofile = File.realpath(FluidBufPitch.class.filenameSymbol).dirname +/+ "../AudioFiles/Tremblay-ASWINE-ScratchySynth-M.wav"; +~audiofile = FluidFilesPath("Tremblay-ASWINE-ScratchySynth-M.wav"); ~raw = FluidDataSet(s); ~scaled = FluidDataSet(s); ~pitch_feature = Buffer.new(s); diff --git a/release-packaging/HelpSource/Classes/FluidSines.schelp b/release-packaging/HelpSource/Classes/FluidSines.schelp index 1d75f92..e37e828 100644 --- a/release-packaging/HelpSource/Classes/FluidSines.schelp +++ b/release-packaging/HelpSource/Classes/FluidSines.schelp @@ -68,7 +68,7 @@ EXAMPLES:: CODE:: // load some audio to play -b = Buffer.read(s,File.realpath(FluidSines.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-AaS-SynthTwoVoices-M.wav"); +b = Buffer.read(s,FluidFilesPath("Tremblay-AaS-SynthTwoVoices-M.wav")); // run with large parameters - left is sinusoidal model, right is residual {FluidSines.ar(PlayBuf.ar(1,b,loop:1),detectionThreshold: -40, minTrackLen: 2, windowSize: 2048, fftSize: 8192)}.play diff --git a/release-packaging/HelpSource/Classes/FluidSliceCorpus.schelp b/release-packaging/HelpSource/Classes/FluidSliceCorpus.schelp index 6e05621..79b1b1f 100644 --- a/release-packaging/HelpSource/Classes/FluidSliceCorpus.schelp +++ b/release-packaging/HelpSource/Classes/FluidSliceCorpus.schelp @@ -87,7 +87,7 @@ code:: s.reboot ( -~path = File.realpath(FluidLoadFolder.class.filenameSymbol).dirname +/+ "../AudioFiles"; +~path = FluidFilesPath(); ~loader = FluidLoadFolder(~path); ~loader.play(s,action:{ |dataDictionary| "Done loading".postln}); ) diff --git a/release-packaging/HelpSource/Classes/FluidSpectralShape.schelp b/release-packaging/HelpSource/Classes/FluidSpectralShape.schelp index b8db6e7..bc914df 100644 --- a/release-packaging/HelpSource/Classes/FluidSpectralShape.schelp +++ b/release-packaging/HelpSource/Classes/FluidSpectralShape.schelp @@ -283,7 +283,7 @@ CODE:: // An example of productive mapping between filters parameters and logarithmic centroid values allows to make a simple automatic subtractive noise resynthesis // load a beat -b = Buffer.read(s,File.realpath(FluidSpectralShape.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Nicol-LoopE-M.wav"); +b = Buffer.read(s,FluidFilesPath("Nicol-LoopE-M.wav")); //logcentroid version ( diff --git a/release-packaging/HelpSource/Classes/FluidStandardize.schelp b/release-packaging/HelpSource/Classes/FluidStandardize.schelp index bd551c7..f2272e1 100644 --- a/release-packaging/HelpSource/Classes/FluidStandardize.schelp +++ b/release-packaging/HelpSource/Classes/FluidStandardize.schelp @@ -58,7 +58,7 @@ code:: s.boot; //Preliminaries: we want some audio, a couple of FluidDataSets, some Buffers and a FluidStandardize ( -~audiofile = File.realpath(FluidBufPitch.class.filenameSymbol).dirname +/+ "../AudioFiles/Tremblay-ASWINE-ScratchySynth-M.wav"; +~audiofile = FluidFilesPath("Tremblay-ASWINE-ScratchySynth-M.wav"); ~raw = FluidDataSet(s); ~stand = FluidDataSet(s); ~audio = Buffer.read(s,~audiofile); diff --git a/release-packaging/HelpSource/Classes/FluidTransientSlice.schelp b/release-packaging/HelpSource/Classes/FluidTransientSlice.schelp index fa7b756..e7e7c09 100644 --- a/release-packaging/HelpSource/Classes/FluidTransientSlice.schelp +++ b/release-packaging/HelpSource/Classes/FluidTransientSlice.schelp @@ -51,7 +51,7 @@ EXAMPLES:: CODE:: //load some sounds -b = Buffer.read(s,File.realpath(FluidTransientSlice.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-AaS-SynthTwoVoices-M.wav"); +b = Buffer.read(s,FluidFilesPath("Tremblay-AaS-SynthTwoVoices-M.wav")); // basic param (the process add a latency of (blockSize + padSize - order) samples {var sig = PlayBuf.ar(1,b,loop:1); [FluidTransientSlice.ar(sig) * 0.5, DelayN.ar(sig, 1, ((256 + 128 - 20)/ s.sampleRate))]}.play diff --git a/release-packaging/HelpSource/Classes/FluidTransients.schelp b/release-packaging/HelpSource/Classes/FluidTransients.schelp index b0659ce..7c93aaa 100644 --- a/release-packaging/HelpSource/Classes/FluidTransients.schelp +++ b/release-packaging/HelpSource/Classes/FluidTransients.schelp @@ -52,7 +52,7 @@ EXAMPLES:: CODE:: //load some buffer -b = Buffer.read(s,File.realpath(FluidTransients.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-AaS-SynthTwoVoices-M.wav"); +b = Buffer.read(s,FluidFilesPath("Tremblay-AaS-SynthTwoVoices-M.wav")); // basic parameters {FluidTransients.ar(PlayBuf.ar(1, b, loop:1))}.play diff --git a/release-packaging/HelpSource/Guides/FluidBufMultiThreading.schelp b/release-packaging/HelpSource/Guides/FluidBufMultiThreading.schelp index 71f5e23..22cad5b 100644 --- a/release-packaging/HelpSource/Guides/FluidBufMultiThreading.schelp +++ b/release-packaging/HelpSource/Guides/FluidBufMultiThreading.schelp @@ -108,7 +108,7 @@ To cancel a job setup in this way, we just free the synth and the background thr CODE:: // load a buffer, declare a destination, and make a control bus to monitor the work ( -b = Buffer.read(s,File.realpath(FluidBufNMF.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-AaS-SynthTwoVoices-M.wav"); +b = Buffer.read(s,FluidFilesPath("Tremblay-AaS-SynthTwoVoices-M.wav")); c = Buffer.new(s); d = Bus.control(s,1); ) diff --git a/src/FluidNMFMatch/test.scd b/src/FluidNMFMatch/test.scd index 7ec2850..a4bfc7e 100644 --- a/src/FluidNMFMatch/test.scd +++ b/src/FluidNMFMatch/test.scd @@ -2,7 +2,7 @@ s.reboot; //from Fixed NMF example: ( -b = Buffer.read(s,File.realpath(FluidBufNMF.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Tremblay-AaS-AcousticStrums-M.wav"); +b = Buffer.read(s,FluidFilesPath("Tremblay-AaS-AcousticStrums-M.wav")); c = Buffer.new(s); x = Buffer.new(s); e = Buffer.alloc(s,1,1); @@ -38,4 +38,3 @@ Routine{ ) {DelayN.ar(PlayBuf.ar(1,b.bufnum),0.1,1024/44100, FluidNMFMatch.kr(PlayBuf.ar(1,b.bufnum),e.bufnum,2))}.play - diff --git a/tests/TestFluidMessageTest..scd b/tests/TestFluidMessageTest..scd index 54f4a14..9064ece 100644 --- a/tests/TestFluidMessageTest..scd +++ b/tests/TestFluidMessageTest..scd @@ -4,7 +4,7 @@ a = {~messageTest = FluidMessageTest.kr}.play ~messageTest.testReturnNumbers(nil,a.nodeID,{|msg| msg.postln}); ~messageTest.testReturnOneString(nil,a.nodeID,{|msg| msg.postln}); ~messageTest.testReturnOneNumber(nil,a.nodeID,{|msg| msg.postln}); -b = Buffer.read(s,File.realpath(FluidMessageTest.class.filenameSymbol).dirname.withTrailingSlash ++ "../AudioFiles/Nicol-LoopE-M.wav"); +b = Buffer.read(s,FluidFilesPath("Nicol-LoopE-M.wav")); ~messageTest.testAccessBuffer(nil,a.nodeID,b,{|msg| msg.postln}); b.numFrames ~messageTest.testPassString(nil,a.nodeID,'hello, you big lovely server',1,2,3,{'testPassString Done'.postln}); @@ -13,4 +13,4 @@ b.numFrames a.free // OSCFunc.trace(true) -// OSCFunc.trace(false) \ No newline at end of file +// OSCFunc.trace(false) From 6d796b63296534b9c24199cc7f25793eb52055d4 Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Fri, 4 Feb 2022 12:14:30 -0500 Subject: [PATCH 81/88] fix color-schemes lookup per new folder structure --- release-packaging/Classes/FluidWaveform.sc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release-packaging/Classes/FluidWaveform.sc b/release-packaging/Classes/FluidWaveform.sc index 4cea4b4..09e3e29 100644 --- a/release-packaging/Classes/FluidWaveform.sc +++ b/release-packaging/Classes/FluidWaveform.sc @@ -288,7 +288,7 @@ FluidWaveformImageLayer { loadColorFile { arg filename; - ^CSVFileReader.readInterpret(FluidFilesPath("../Resources/color-schemes/%.csv".format(filename))).collect{ + ^CSVFileReader.readInterpret(FluidFilesPath("../color-schemes/%.csv".format(filename))).collect{ arg row; Color.fromArray(row); } From 6cd431622eb13d7940c961d044ce4851a2af5bb4 Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Mon, 7 Feb 2022 15:05:48 -0500 Subject: [PATCH 82/88] BufAudioTransport now has A-B based Arguments --- .../Classes/FluidBufAudioTransport.sc | 36 +- .../Classes/FluidBufAudioTransport.schelp | 307 +++++++++++++++--- 2 files changed, 288 insertions(+), 55 deletions(-) diff --git a/release-packaging/Classes/FluidBufAudioTransport.sc b/release-packaging/Classes/FluidBufAudioTransport.sc index 5850a0c..973afa6 100644 --- a/release-packaging/Classes/FluidBufAudioTransport.sc +++ b/release-packaging/Classes/FluidBufAudioTransport.sc @@ -4,29 +4,29 @@ FluidBufAudioTransport : FluidBufProcessor { ^\FluidBufAudioTransp } - *kr { |source1, startFrame1 = 0, numFrames1 = -1, startChan1 = 0, numChans1 = -1, source2, startFrame2 = 0, numFrames2 = -1, startChan2 = 0, numChans2 = -1, destination, interpolation = 0.0, windowSize = 1024, hopSize = -1, fftSize = -1, trig = 1, blocking = 0| + *kr { |sourceA, startFrameA = 0, numFramesA = -1, startChanA = 0, numChansA = -1, sourceB, startFrameB = 0, numFramesB = -1, startChanB = 0, numChansB = -1, destination, interpolation = 0.0, windowSize = 1024, hopSize = -1, fftSize = -1, trig = 1, blocking = 0| var maxFFTSize = if (fftSize == -1) {windowSize.nextPowerOfTwo} {fftSize}; - source1.isNil.if {"FluidAudioTransport: Invalid source 1 buffer".throw}; - source2.isNil.if {"FluidAudioTransport: Invalid source 2 buffer".throw}; - source1 = source1.asUGenInput; - source2 = source2.asUGenInput; + sourceA.isNil.if {"FluidAudioTransport: Invalid source 1 buffer".throw}; + sourceB.isNil.if {"FluidAudioTransport: Invalid source 2 buffer".throw}; + sourceA = sourceA.asUGenInput; + sourceB = sourceB.asUGenInput; destination.isNil.if {"FluidAudioTransport: Invalid destination buffer".throw}; destination = destination.asUGenInput; - ^FluidProxyUgen.kr(this.objectClassName++\Trigger,-1, source1, startFrame1, numFrames1, startChan1, numChans1, source2, startFrame1, numFrames1, startChan2, numChans2, destination, interpolation, windowSize, hopSize, fftSize, maxFFTSize, trig, blocking); + ^FluidProxyUgen.kr(this.objectClassName++\Trigger,-1, sourceA, startFrameA, numFramesA, startChanA, numChansA, sourceB, startFrameA, numFramesA, startChanB, numChansB, destination, interpolation, windowSize, hopSize, fftSize, maxFFTSize, trig, blocking); } - *process { |server, source1, startFrame1 = 0, numFrames1 = -1, startChan1 = 0, numChans1 = -1, source2, startFrame2 = 0, numFrames2 = -1, startChan2 = 0, numChans2 = -1, destination, interpolation=0.0, windowSize = 1024, hopSize = -1, fftSize = -1, freeWhenDone = true, action| + *process { |server, sourceA, startFrameA = 0, numFramesA = -1, startChanA = 0, numChansA = -1, sourceB, startFrameB = 0, numFramesB = -1, startChanB = 0, numChansB = -1, destination, interpolation=0.0, windowSize = 1024, hopSize = -1, fftSize = -1, freeWhenDone = true, action| var maxFFTSize = if (fftSize == -1) {windowSize.nextPowerOfTwo} {fftSize}; - source1.isNil.if {"FluidAudioTransport: Invalid source 1 buffer".throw}; - source2.isNil.if {"FluidAudioTransport: Invalid source 2 buffer".throw}; - source1 = source1.asUGenInput; - source2 = source2.asUGenInput; + sourceA.isNil.if {"FluidAudioTransport: Invalid source 1 buffer".throw}; + sourceB.isNil.if {"FluidAudioTransport: Invalid source 2 buffer".throw}; + sourceA = sourceA.asUGenInput; + sourceB = sourceB.asUGenInput; destination.isNil.if {"FluidAudioTransport: Invalid destination buffer".throw}; destination = destination.asUGenInput; @@ -34,17 +34,17 @@ FluidBufAudioTransport : FluidBufProcessor { ^this.new( server, nil, [destination] ).processList( - [source1, startFrame1, numFrames1, startChan1, numChans1, source2, startFrame2, numFrames2, startChan2, numChans2, destination, interpolation, windowSize, hopSize, fftSize,maxFFTSize,0], freeWhenDone, action + [sourceA, startFrameA, numFramesA, startChanA, numChansA, sourceB, startFrameB, numFramesB, startChanB, numChansB, destination, interpolation, windowSize, hopSize, fftSize,maxFFTSize,0], freeWhenDone, action ) } - *processBlocking { |server, source1, startFrame1 = 0, numFrames1 = -1, startChan1 = 0, numChans1 = -1, source2, startFrame2 = 0, numFrames2 = -1, startChan2 = 0, numChans2 = -1, destination, interpolation=0.0, windowSize = 1024, hopSize = -1, fftSize = -1, freeWhenDone = true, action| + *processBlocking { |server, sourceA, startFrameA = 0, numFramesA = -1, startChanA = 0, numChansA = -1, sourceB, startFrameB = 0, numFramesB = -1, startChanB = 0, numChansB = -1, destination, interpolation=0.0, windowSize = 1024, hopSize = -1, fftSize = -1, freeWhenDone = true, action| var maxFFTSize = if (fftSize == -1) {windowSize.nextPowerOfTwo} {fftSize}; - source1.isNil.if {"FluidAudioTransport: Invalid source 1 buffer".throw}; - source2.isNil.if {"FluidAudioTransport: Invalid source 2 buffer".throw}; - source1 = source1.asUGenInput; - source2 = source2.asUGenInput; + sourceA.isNil.if {"FluidAudioTransport: Invalid source 1 buffer".throw}; + sourceB.isNil.if {"FluidAudioTransport: Invalid source 2 buffer".throw}; + sourceA = sourceA.asUGenInput; + sourceB = sourceB.asUGenInput; destination.isNil.if {"FluidAudioTransport: Invalid destination buffer".throw}; destination = destination.asUGenInput; @@ -52,7 +52,7 @@ FluidBufAudioTransport : FluidBufProcessor { ^this.new( server, nil, [destination] ).processList( - [source1, startFrame1, numFrames1, startChan1, numChans1, source2, startFrame2, numFrames2, startChan2, numChans2, destination, interpolation, windowSize, hopSize, fftSize,maxFFTSize,1], freeWhenDone, action + [sourceA, startFrameA, numFramesA, startChanA, numChansA, sourceB, startFrameB, numFramesB, startChanB, numChansB, destination, interpolation, windowSize, hopSize, fftSize,maxFFTSize,1], freeWhenDone, action ) } } diff --git a/release-packaging/HelpSource/Classes/FluidBufAudioTransport.schelp b/release-packaging/HelpSource/Classes/FluidBufAudioTransport.schelp index ab503ed..50bd11a 100644 --- a/release-packaging/HelpSource/Classes/FluidBufAudioTransport.schelp +++ b/release-packaging/HelpSource/Classes/FluidBufAudioTransport.schelp @@ -1,77 +1,310 @@ TITLE:: FluidBufAudioTransport -summary:: Interpolate between buffers -categories:: Libraries>FluidCorpusManipulation -related:: Classes/FluidAudioTransport - +SUMMARY:: Interpolate between buffers +CATEGORIES:: Libraries>FluidCorpusManipulation +RELATED:: Classes/FluidAudioTransport DESCRIPTION:: -Interpolates between the spectra of two sounds using the Optimal Transport algorithm -See -Henderson and Solomonm (2019) AUDIO TRANSPORT: A GENERALIZED PORTAMENTO VIA OPTIMAL TRANSPORT, DaFx + + Interpolates between the spectra of two sounds using the Optimal Transport algorithm + + See Henderson and Solomonm (2019) AUDIO TRANSPORT: A GENERALIZED PORTAMENTO VIA OPTIMAL TRANSPORT, DaFx + + + CLASSMETHODS:: METHOD:: process, processBlocking -Process two audio link::Classes/Buffer:: + Processs the source LINK::Classes/Buffer:: on the LINK::Classes/Server::. CODE::processBlocking:: will execute directly in the server command FIFO, whereas CODE::process:: will delegate to a separate worker thread. The latter is generally only worthwhile for longer-running jobs where you don't wish to tie up the server. ARGUMENT:: server -The server the process runs on + The LINK::Classes/Server:: on which the buffers to be processed are allocated. + +ARGUMENT:: sourceA + + + The first source buffer + + +ARGUMENT:: startFrameA + + + offset into the first source buffer (samples) + + STRONG::Constraints:: + + LIST:: + ## + Minimum: 0 + + :: + +ARGUMENT:: numFramesA + + + number of samples to use from first source buffer + + +ARGUMENT:: startChanA + + + starting channel of first source buffer + + STRONG::Constraints:: + + LIST:: + ## + Minimum: 0 + + :: + +ARGUMENT:: numChansA + + + number of channels to process in first source buffer + + +ARGUMENT:: sourceB + + + the second source buffer + + +ARGUMENT:: startFrameB + + + offset into the second source buffer (samples) -ARGUMENT:: source1 -The first source buffer + STRONG::Constraints:: -ARGUMENT:: startFrame1 -offset into the first source buffer (samples) + LIST:: + ## + Minimum: 0 -ARGUMENT:: numFrames1 -number of samples to use from first source buffer + :: -ARGUMENT:: startChan1 -starting channel of first source buffer +ARGUMENT:: numFramesB -ARGUMENT:: numChans1 -number of channels to process in first source buffer + + number of samples to process from second buffer -ARGUMENT:: source2 -the second source buffer -ARGUMENT:: startFrame2 -offset into the second source buffer (samples) +ARGUMENT:: startChanB -ARGUMENT:: numFrames2 -number of samples to process from second buffer + + starting channel for second buffer -ARGUMENT:: startChan2 -starting channel for second buffer + STRONG::Constraints:: + + LIST:: + ## + Minimum: 0 + + :: + +ARGUMENT:: numChansB + + + number of channels to process in second buffer -ARGUMENT:: numChans2 -number of channels to process in second buffer ARGUMENT:: destination -buffer for interpolated audio + + + buffer for interpolated audio + ARGUMENT:: interpolation -The amount to interpolate between A and B (0-1, 0 = A, 1 = B) + + + The amount to interpolate between A and B (0-1, 0 = A, 1 = B) + + STRONG::Constraints:: + + LIST:: + ## + Minimum: 0.0 + + ## + Maximum: 1.0 + + :: ARGUMENT:: windowSize - The window size. As spectral differencing relies on spectral frames, we need to decide what precision we give it spectrally and temporally, in line with Gabor Uncertainty principles. http://www.subsurfwiki.org/wiki/Gabor_uncertainty + + + The window size. As spectral differencing relies on spectral frames, we need to decide what precision we give it spectrally and temporally, in line with Gabor Uncertainty principles. LINK::http://www.subsurfwiki.org/wiki/Gabor_uncertainty:: + ARGUMENT:: hopSize - The window hop size. As sinusoidal estimation relies on spectral frames, we need to move the window forward. It can be any size but low overlap will create audible artefacts. The -1 default value will default to half of windowSize (overlap of 2). + + + The window hop size. As sinusoidal estimation relies on spectral frames, we need to move the window forward. It can be any size but low overlap will create audible artefacts. The -1 default value will default to half of windowSize (overlap of 2). + ARGUMENT:: fftSize - The inner FFT/IFFT size. It should be at least 4 samples long, at least the size of the window, and a power of 2. Making it larger allows an oversampling of the spectral precision. The -1 default value will use the next power of 2 equal or above the highest of windowSize and (bandwidth - 1) * 2. + + The inner FFT/IFFT size. It should be at least 4 samples long, at least the size of the window, and a power of 2. Making it larger allows an oversampling of the spectral precision. The -1 default value will use the next power of 2 equal or above the highest of windowSize and (bandwidth - 1) * 2. + + + ARGUMENT:: freeWhenDone -Free the server instance when processing complete. Default true + Free the server instance when processing complete. Default CODE::true:: ARGUMENT:: action - A Function to be evaluated once the offline process has finished and all Buffer's instance variables have been updated on the client side. The function will be passed [destination] as an argument. + A function to be evaluated once the offline process has finished and all Buffer's instance variables have been updated on the client side. The function will be passed CODE::[features]:: as an argument. + +RETURNS:: An instance of the processor + +METHOD:: kr + Trigger the equivalent behaviour to CODE::processBlocking / process:: from a LINK::Classes/Synth::. Can be useful for expressing a sequence of buffer and data processing jobs to execute. Note that the work still executes on the server command FIFO (not the audio thread), and it is the caller's responsibility to manage the sequencing, using the CODE::done:: status of the various UGens. +ARGUMENT:: sourceA + + + The first source buffer + + +ARGUMENT:: startFrameA + + + offset into the first source buffer (samples) + + STRONG::Constraints:: + + LIST:: + ## + Minimum: 0 + + :: + +ARGUMENT:: numFramesA + + + number of samples to use from first source buffer + + +ARGUMENT:: startChanA + + + starting channel of first source buffer + + STRONG::Constraints:: + + LIST:: + ## + Minimum: 0 + + :: + +ARGUMENT:: numChansA + + + number of channels to process in first source buffer + + +ARGUMENT:: sourceB + + + the second source buffer + + +ARGUMENT:: startFrameB + + + offset into the second source buffer (samples) + + STRONG::Constraints:: + + LIST:: + ## + Minimum: 0 + + :: + +ARGUMENT:: numFramesB + + + number of samples to process from second buffer + + +ARGUMENT:: startChanB + + + starting channel for second buffer + + STRONG::Constraints:: + + LIST:: + ## + Minimum: 0 + + :: + +ARGUMENT:: numChansB + + + number of channels to process in second buffer + + +ARGUMENT:: destination + + + buffer for interpolated audio + + +ARGUMENT:: interpolation + + + The amount to interpolate between A and B (0-1, 0 = A, 1 = B) + + STRONG::Constraints:: + + LIST:: + ## + Minimum: 0.0 + + ## + Maximum: 1.0 + + :: + +ARGUMENT:: windowSize + + + The window size. As spectral differencing relies on spectral frames, we need to decide what precision we give it spectrally and temporally, in line with Gabor Uncertainty principles. LINK::http://www.subsurfwiki.org/wiki/Gabor_uncertainty:: + + +ARGUMENT:: hopSize + + + The window hop size. As sinusoidal estimation relies on spectral frames, we need to move the window forward. It can be any size but low overlap will create audible artefacts. The -1 default value will default to half of windowSize (overlap of 2). + + +ARGUMENT:: fftSize + + + The inner FFT/IFFT size. It should be at least 4 samples long, at least the size of the window, and a power of 2. Making it larger allows an oversampling of the spectral precision. The -1 default value will use the next power of 2 equal or above the highest of windowSize and (bandwidth - 1) * 2. + + + +ARGUMENT:: trig + A CODE::kr:: signal that will trigger execution + +ARGUMENT:: blocking + Whether to execute this process directly on the server command FIFO or delegate to a worker thread. See CODE::processBlocking/process:: for caveats. + INSTANCEMETHODS:: +METHOD:: kr + Returns a UGen that reports the progress of the running task when executing in a worker thread. Calling code::scope:: with this can be used for a convinient progress monitor -private:: synth, server +METHOD:: cancel + Cancels non-blocking processing +METHOD:: wait + When called in the context of a LINK::Classes/Routine:: (it won't work otherwise), will block execution until the processor has finished. This can be convinient for writing sequences of processes more linearly than using lots of nested actions. + EXAMPLES:: code:: From 8ab135d1b240edf75e4c2fd350a659a518a9790a Mon Sep 17 00:00:00 2001 From: Owen Green Date: Wed, 9 Feb 2022 20:03:33 +0000 Subject: [PATCH 83/88] Update nightly.yaml Add workflow dispatch for manual launch --- .github/workflows/nightly.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/nightly.yaml b/.github/workflows/nightly.yaml index 5ffbd57..603058c 100644 --- a/.github/workflows/nightly.yaml +++ b/.github/workflows/nightly.yaml @@ -1,6 +1,7 @@ name: Nightly Releases on: + workflow_dispatch: push: branches: [ dev, ci/** ] From 15e3550ac267275f37ed976f4f27e1df67b607ad Mon Sep 17 00:00:00 2001 From: tremblap Date: Mon, 14 Feb 2022 16:16:28 +0000 Subject: [PATCH 84/88] moved the sc-only resources to a SC only folder, and change the cmake to copy the right stuff (#61) --- .gitignore | 1 + CMakeLists.txt | 5 ++++- .../Resources => sc-resources}/bufToKrExample.json | 0 .../Resources => sc-resources}/color-schemes/-credits.txt | 0 .../Resources => sc-resources}/color-schemes/CET-C1.csv | 0 .../Resources => sc-resources}/color-schemes/CET-C1s.csv | 0 .../Resources => sc-resources}/color-schemes/CET-C2.csv | 0 .../Resources => sc-resources}/color-schemes/CET-C2s.csv | 0 .../Resources => sc-resources}/color-schemes/CET-C3.csv | 0 .../Resources => sc-resources}/color-schemes/CET-C3s.csv | 0 .../Resources => sc-resources}/color-schemes/CET-C4.csv | 0 .../Resources => sc-resources}/color-schemes/CET-C4s.csv | 0 .../Resources => sc-resources}/color-schemes/CET-C5.csv | 0 .../Resources => sc-resources}/color-schemes/CET-C5s.csv | 0 .../Resources => sc-resources}/color-schemes/CET-C6.csv | 0 .../Resources => sc-resources}/color-schemes/CET-C6s.csv | 0 .../Resources => sc-resources}/color-schemes/CET-C7.csv | 0 .../Resources => sc-resources}/color-schemes/CET-C7s.csv | 0 .../Resources => sc-resources}/color-schemes/CET-CBC1.csv | 0 .../Resources => sc-resources}/color-schemes/CET-CBC2.csv | 0 .../Resources => sc-resources}/color-schemes/CET-CBD1.csv | 0 .../Resources => sc-resources}/color-schemes/CET-CBL1.csv | 0 .../Resources => sc-resources}/color-schemes/CET-CBL2.csv | 0 .../Resources => sc-resources}/color-schemes/CET-D01.csv | 0 .../Resources => sc-resources}/color-schemes/CET-D01A.csv | 0 .../Resources => sc-resources}/color-schemes/CET-D02.csv | 0 .../Resources => sc-resources}/color-schemes/CET-D03.csv | 0 .../Resources => sc-resources}/color-schemes/CET-D04.csv | 0 .../Resources => sc-resources}/color-schemes/CET-D06.csv | 0 .../Resources => sc-resources}/color-schemes/CET-D07.csv | 0 .../Resources => sc-resources}/color-schemes/CET-D08.csv | 0 .../Resources => sc-resources}/color-schemes/CET-D09.csv | 0 .../Resources => sc-resources}/color-schemes/CET-D10.csv | 0 .../Resources => sc-resources}/color-schemes/CET-D11.csv | 0 .../Resources => sc-resources}/color-schemes/CET-D12.csv | 0 .../Resources => sc-resources}/color-schemes/CET-D13.csv | 0 .../Resources => sc-resources}/color-schemes/CET-I1.csv | 0 .../Resources => sc-resources}/color-schemes/CET-I2.csv | 0 .../Resources => sc-resources}/color-schemes/CET-I3.csv | 0 .../Resources => sc-resources}/color-schemes/CET-L01.csv | 0 .../Resources => sc-resources}/color-schemes/CET-L02.csv | 0 .../Resources => sc-resources}/color-schemes/CET-L03.csv | 0 .../Resources => sc-resources}/color-schemes/CET-L04.csv | 0 .../Resources => sc-resources}/color-schemes/CET-L05.csv | 0 .../Resources => sc-resources}/color-schemes/CET-L06.csv | 0 .../Resources => sc-resources}/color-schemes/CET-L07.csv | 0 .../Resources => sc-resources}/color-schemes/CET-L08.csv | 0 .../Resources => sc-resources}/color-schemes/CET-L09.csv | 0 .../Resources => sc-resources}/color-schemes/CET-L10.csv | 0 .../Resources => sc-resources}/color-schemes/CET-L11.csv | 0 .../Resources => sc-resources}/color-schemes/CET-L12.csv | 0 .../Resources => sc-resources}/color-schemes/CET-L13.csv | 0 .../Resources => sc-resources}/color-schemes/CET-L14.csv | 0 .../Resources => sc-resources}/color-schemes/CET-L15.csv | 0 .../Resources => sc-resources}/color-schemes/CET-L16.csv | 0 .../Resources => sc-resources}/color-schemes/CET-L17.csv | 0 .../Resources => sc-resources}/color-schemes/CET-L18.csv | 0 .../Resources => sc-resources}/color-schemes/CET-L19.csv | 0 .../Resources => sc-resources}/color-schemes/CET-L20.csv | 0 .../Resources => sc-resources}/color-schemes/CET-R1.csv | 0 .../Resources => sc-resources}/color-schemes/CET-R2.csv | 0 .../Resources => sc-resources}/color-schemes/CET-R3.csv | 0 .../Resources => sc-resources}/color-schemes/CET-R4.csv | 0 63 files changed, 5 insertions(+), 1 deletion(-) rename {release-packaging/Resources => sc-resources}/bufToKrExample.json (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/-credits.txt (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-C1.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-C1s.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-C2.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-C2s.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-C3.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-C3s.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-C4.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-C4s.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-C5.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-C5s.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-C6.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-C6s.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-C7.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-C7s.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-CBC1.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-CBC2.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-CBD1.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-CBL1.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-CBL2.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-D01.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-D01A.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-D02.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-D03.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-D04.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-D06.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-D07.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-D08.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-D09.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-D10.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-D11.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-D12.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-D13.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-I1.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-I2.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-I3.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-L01.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-L02.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-L03.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-L04.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-L05.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-L06.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-L07.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-L08.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-L09.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-L10.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-L11.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-L12.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-L13.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-L14.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-L15.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-L16.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-L17.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-L18.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-L19.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-L20.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-R1.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-R2.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-R3.csv (100%) rename {release-packaging/Resources => sc-resources}/color-schemes/CET-R4.csv (100%) diff --git a/.gitignore b/.gitignore index e612641..6f98b5b 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ build **/.DS_Store release-packaging/Plugins release-packaging/AudioFiles +release-packaging/Resources *.scx .vs/ Darwin/* diff --git a/CMakeLists.txt b/CMakeLists.txt index 2ce7f3c..2d0192a 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -190,11 +190,14 @@ set(SC_INSTALL_PREFIX "." CACHE PATH "Prefix for assembling SC packages") set(FLUID_PACKAGE_NAME FluidCorpusManipulation CACHE STRING "Name for published package") set(SC_PACKAGE_ROOT ${SC_INSTALL_PREFIX}/${FLUID_PACKAGE_NAME}) -foreach(PACKAGE_DIRECTORY Classes;HelpSource;Examples;Resources) +foreach(PACKAGE_DIRECTORY Classes;HelpSource;Examples;) install(DIRECTORY "release-packaging/${PACKAGE_DIRECTORY}" DESTINATION ${SC_PACKAGE_ROOT}) endforeach() +install(DIRECTORY "sc-resources/" + DESTINATION ${SC_PACKAGE_ROOT}/Resources) + install(DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/ DESTINATION ${SC_PACKAGE_ROOT}/Plugins PATTERN "*.ilk" EXCLUDE diff --git a/release-packaging/Resources/bufToKrExample.json b/sc-resources/bufToKrExample.json similarity index 100% rename from release-packaging/Resources/bufToKrExample.json rename to sc-resources/bufToKrExample.json diff --git a/release-packaging/Resources/color-schemes/-credits.txt b/sc-resources/color-schemes/-credits.txt similarity index 100% rename from release-packaging/Resources/color-schemes/-credits.txt rename to sc-resources/color-schemes/-credits.txt diff --git a/release-packaging/Resources/color-schemes/CET-C1.csv b/sc-resources/color-schemes/CET-C1.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-C1.csv rename to sc-resources/color-schemes/CET-C1.csv diff --git a/release-packaging/Resources/color-schemes/CET-C1s.csv b/sc-resources/color-schemes/CET-C1s.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-C1s.csv rename to sc-resources/color-schemes/CET-C1s.csv diff --git a/release-packaging/Resources/color-schemes/CET-C2.csv b/sc-resources/color-schemes/CET-C2.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-C2.csv rename to sc-resources/color-schemes/CET-C2.csv diff --git a/release-packaging/Resources/color-schemes/CET-C2s.csv b/sc-resources/color-schemes/CET-C2s.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-C2s.csv rename to sc-resources/color-schemes/CET-C2s.csv diff --git a/release-packaging/Resources/color-schemes/CET-C3.csv b/sc-resources/color-schemes/CET-C3.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-C3.csv rename to sc-resources/color-schemes/CET-C3.csv diff --git a/release-packaging/Resources/color-schemes/CET-C3s.csv b/sc-resources/color-schemes/CET-C3s.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-C3s.csv rename to sc-resources/color-schemes/CET-C3s.csv diff --git a/release-packaging/Resources/color-schemes/CET-C4.csv b/sc-resources/color-schemes/CET-C4.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-C4.csv rename to sc-resources/color-schemes/CET-C4.csv diff --git a/release-packaging/Resources/color-schemes/CET-C4s.csv b/sc-resources/color-schemes/CET-C4s.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-C4s.csv rename to sc-resources/color-schemes/CET-C4s.csv diff --git a/release-packaging/Resources/color-schemes/CET-C5.csv b/sc-resources/color-schemes/CET-C5.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-C5.csv rename to sc-resources/color-schemes/CET-C5.csv diff --git a/release-packaging/Resources/color-schemes/CET-C5s.csv b/sc-resources/color-schemes/CET-C5s.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-C5s.csv rename to sc-resources/color-schemes/CET-C5s.csv diff --git a/release-packaging/Resources/color-schemes/CET-C6.csv b/sc-resources/color-schemes/CET-C6.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-C6.csv rename to sc-resources/color-schemes/CET-C6.csv diff --git a/release-packaging/Resources/color-schemes/CET-C6s.csv b/sc-resources/color-schemes/CET-C6s.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-C6s.csv rename to sc-resources/color-schemes/CET-C6s.csv diff --git a/release-packaging/Resources/color-schemes/CET-C7.csv b/sc-resources/color-schemes/CET-C7.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-C7.csv rename to sc-resources/color-schemes/CET-C7.csv diff --git a/release-packaging/Resources/color-schemes/CET-C7s.csv b/sc-resources/color-schemes/CET-C7s.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-C7s.csv rename to sc-resources/color-schemes/CET-C7s.csv diff --git a/release-packaging/Resources/color-schemes/CET-CBC1.csv b/sc-resources/color-schemes/CET-CBC1.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-CBC1.csv rename to sc-resources/color-schemes/CET-CBC1.csv diff --git a/release-packaging/Resources/color-schemes/CET-CBC2.csv b/sc-resources/color-schemes/CET-CBC2.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-CBC2.csv rename to sc-resources/color-schemes/CET-CBC2.csv diff --git a/release-packaging/Resources/color-schemes/CET-CBD1.csv b/sc-resources/color-schemes/CET-CBD1.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-CBD1.csv rename to sc-resources/color-schemes/CET-CBD1.csv diff --git a/release-packaging/Resources/color-schemes/CET-CBL1.csv b/sc-resources/color-schemes/CET-CBL1.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-CBL1.csv rename to sc-resources/color-schemes/CET-CBL1.csv diff --git a/release-packaging/Resources/color-schemes/CET-CBL2.csv b/sc-resources/color-schemes/CET-CBL2.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-CBL2.csv rename to sc-resources/color-schemes/CET-CBL2.csv diff --git a/release-packaging/Resources/color-schemes/CET-D01.csv b/sc-resources/color-schemes/CET-D01.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-D01.csv rename to sc-resources/color-schemes/CET-D01.csv diff --git a/release-packaging/Resources/color-schemes/CET-D01A.csv b/sc-resources/color-schemes/CET-D01A.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-D01A.csv rename to sc-resources/color-schemes/CET-D01A.csv diff --git a/release-packaging/Resources/color-schemes/CET-D02.csv b/sc-resources/color-schemes/CET-D02.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-D02.csv rename to sc-resources/color-schemes/CET-D02.csv diff --git a/release-packaging/Resources/color-schemes/CET-D03.csv b/sc-resources/color-schemes/CET-D03.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-D03.csv rename to sc-resources/color-schemes/CET-D03.csv diff --git a/release-packaging/Resources/color-schemes/CET-D04.csv b/sc-resources/color-schemes/CET-D04.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-D04.csv rename to sc-resources/color-schemes/CET-D04.csv diff --git a/release-packaging/Resources/color-schemes/CET-D06.csv b/sc-resources/color-schemes/CET-D06.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-D06.csv rename to sc-resources/color-schemes/CET-D06.csv diff --git a/release-packaging/Resources/color-schemes/CET-D07.csv b/sc-resources/color-schemes/CET-D07.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-D07.csv rename to sc-resources/color-schemes/CET-D07.csv diff --git a/release-packaging/Resources/color-schemes/CET-D08.csv b/sc-resources/color-schemes/CET-D08.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-D08.csv rename to sc-resources/color-schemes/CET-D08.csv diff --git a/release-packaging/Resources/color-schemes/CET-D09.csv b/sc-resources/color-schemes/CET-D09.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-D09.csv rename to sc-resources/color-schemes/CET-D09.csv diff --git a/release-packaging/Resources/color-schemes/CET-D10.csv b/sc-resources/color-schemes/CET-D10.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-D10.csv rename to sc-resources/color-schemes/CET-D10.csv diff --git a/release-packaging/Resources/color-schemes/CET-D11.csv b/sc-resources/color-schemes/CET-D11.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-D11.csv rename to sc-resources/color-schemes/CET-D11.csv diff --git a/release-packaging/Resources/color-schemes/CET-D12.csv b/sc-resources/color-schemes/CET-D12.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-D12.csv rename to sc-resources/color-schemes/CET-D12.csv diff --git a/release-packaging/Resources/color-schemes/CET-D13.csv b/sc-resources/color-schemes/CET-D13.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-D13.csv rename to sc-resources/color-schemes/CET-D13.csv diff --git a/release-packaging/Resources/color-schemes/CET-I1.csv b/sc-resources/color-schemes/CET-I1.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-I1.csv rename to sc-resources/color-schemes/CET-I1.csv diff --git a/release-packaging/Resources/color-schemes/CET-I2.csv b/sc-resources/color-schemes/CET-I2.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-I2.csv rename to sc-resources/color-schemes/CET-I2.csv diff --git a/release-packaging/Resources/color-schemes/CET-I3.csv b/sc-resources/color-schemes/CET-I3.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-I3.csv rename to sc-resources/color-schemes/CET-I3.csv diff --git a/release-packaging/Resources/color-schemes/CET-L01.csv b/sc-resources/color-schemes/CET-L01.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-L01.csv rename to sc-resources/color-schemes/CET-L01.csv diff --git a/release-packaging/Resources/color-schemes/CET-L02.csv b/sc-resources/color-schemes/CET-L02.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-L02.csv rename to sc-resources/color-schemes/CET-L02.csv diff --git a/release-packaging/Resources/color-schemes/CET-L03.csv b/sc-resources/color-schemes/CET-L03.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-L03.csv rename to sc-resources/color-schemes/CET-L03.csv diff --git a/release-packaging/Resources/color-schemes/CET-L04.csv b/sc-resources/color-schemes/CET-L04.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-L04.csv rename to sc-resources/color-schemes/CET-L04.csv diff --git a/release-packaging/Resources/color-schemes/CET-L05.csv b/sc-resources/color-schemes/CET-L05.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-L05.csv rename to sc-resources/color-schemes/CET-L05.csv diff --git a/release-packaging/Resources/color-schemes/CET-L06.csv b/sc-resources/color-schemes/CET-L06.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-L06.csv rename to sc-resources/color-schemes/CET-L06.csv diff --git a/release-packaging/Resources/color-schemes/CET-L07.csv b/sc-resources/color-schemes/CET-L07.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-L07.csv rename to sc-resources/color-schemes/CET-L07.csv diff --git a/release-packaging/Resources/color-schemes/CET-L08.csv b/sc-resources/color-schemes/CET-L08.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-L08.csv rename to sc-resources/color-schemes/CET-L08.csv diff --git a/release-packaging/Resources/color-schemes/CET-L09.csv b/sc-resources/color-schemes/CET-L09.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-L09.csv rename to sc-resources/color-schemes/CET-L09.csv diff --git a/release-packaging/Resources/color-schemes/CET-L10.csv b/sc-resources/color-schemes/CET-L10.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-L10.csv rename to sc-resources/color-schemes/CET-L10.csv diff --git a/release-packaging/Resources/color-schemes/CET-L11.csv b/sc-resources/color-schemes/CET-L11.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-L11.csv rename to sc-resources/color-schemes/CET-L11.csv diff --git a/release-packaging/Resources/color-schemes/CET-L12.csv b/sc-resources/color-schemes/CET-L12.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-L12.csv rename to sc-resources/color-schemes/CET-L12.csv diff --git a/release-packaging/Resources/color-schemes/CET-L13.csv b/sc-resources/color-schemes/CET-L13.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-L13.csv rename to sc-resources/color-schemes/CET-L13.csv diff --git a/release-packaging/Resources/color-schemes/CET-L14.csv b/sc-resources/color-schemes/CET-L14.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-L14.csv rename to sc-resources/color-schemes/CET-L14.csv diff --git a/release-packaging/Resources/color-schemes/CET-L15.csv b/sc-resources/color-schemes/CET-L15.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-L15.csv rename to sc-resources/color-schemes/CET-L15.csv diff --git a/release-packaging/Resources/color-schemes/CET-L16.csv b/sc-resources/color-schemes/CET-L16.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-L16.csv rename to sc-resources/color-schemes/CET-L16.csv diff --git a/release-packaging/Resources/color-schemes/CET-L17.csv b/sc-resources/color-schemes/CET-L17.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-L17.csv rename to sc-resources/color-schemes/CET-L17.csv diff --git a/release-packaging/Resources/color-schemes/CET-L18.csv b/sc-resources/color-schemes/CET-L18.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-L18.csv rename to sc-resources/color-schemes/CET-L18.csv diff --git a/release-packaging/Resources/color-schemes/CET-L19.csv b/sc-resources/color-schemes/CET-L19.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-L19.csv rename to sc-resources/color-schemes/CET-L19.csv diff --git a/release-packaging/Resources/color-schemes/CET-L20.csv b/sc-resources/color-schemes/CET-L20.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-L20.csv rename to sc-resources/color-schemes/CET-L20.csv diff --git a/release-packaging/Resources/color-schemes/CET-R1.csv b/sc-resources/color-schemes/CET-R1.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-R1.csv rename to sc-resources/color-schemes/CET-R1.csv diff --git a/release-packaging/Resources/color-schemes/CET-R2.csv b/sc-resources/color-schemes/CET-R2.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-R2.csv rename to sc-resources/color-schemes/CET-R2.csv diff --git a/release-packaging/Resources/color-schemes/CET-R3.csv b/sc-resources/color-schemes/CET-R3.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-R3.csv rename to sc-resources/color-schemes/CET-R3.csv diff --git a/release-packaging/Resources/color-schemes/CET-R4.csv b/sc-resources/color-schemes/CET-R4.csv similarity index 100% rename from release-packaging/Resources/color-schemes/CET-R4.csv rename to sc-resources/color-schemes/CET-R4.csv From 7fdb10258e0b34f721c309d0eea55b8c29d52403 Mon Sep 17 00:00:00 2001 From: Owen Green Date: Tue, 15 Feb 2022 16:22:25 +0000 Subject: [PATCH 85/88] Enhance/integrate doc (#68) * Add docs targets to CMake * Add docs targets to nightly workflow * fix doc copying for nightly * try again to fix doc copying for nightly * syntax error in yaml --- .github/workflows/nightly.yaml | 73 ++++++++++++++++++++++++---------- CMakeLists.txt | 36 +++++++++++++++++ 2 files changed, 88 insertions(+), 21 deletions(-) diff --git a/.github/workflows/nightly.yaml b/.github/workflows/nightly.yaml index 603058c..a894b1c 100644 --- a/.github/workflows/nightly.yaml +++ b/.github/workflows/nightly.yaml @@ -6,6 +6,19 @@ on: branches: [ dev, ci/** ] jobs: + docs: + runs-on: ubuntu-latest + steps: + - uses: flucoma/actions/env@v4 + - uses: flucoma/actions/docs@v4 + with: + target: MAKE_SC_REF + + - uses: actions/upload-artifact@v2 + with: + name: docs + path: build/sc_ref + macbuild: runs-on: macos-11 steps: @@ -13,14 +26,10 @@ jobs: - uses: flucoma/actions/env@v4 - uses: flucoma/actions/sc@v4 - - name: zip release - run: zip -r ../FluCoMa-SC-Mac-nightly.zip FluidCorpusManipulation - working-directory: install - - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v2 with: name: macbuild - path: FluCoMa-SC-Mac-nightly.zip + path: install winbuild: runs-on: windows-latest @@ -32,13 +41,11 @@ jobs: - name: remove pdb files run: Remove-Item install -Recurse -Include *.pdb - - name: zip release - run: Compress-Archive install/FluidCorpusManipulation FluCoMa-SC-Windows-nightly.zip + - uses: actions/upload-artifact@v2 - - uses: actions/upload-artifact@v2 - with: - name: winbuild - path: FluCoMa-SC-Windows-nightly.zip + with: + name: winbuild + path: install linuxbuild: runs-on: ubuntu-18.04 @@ -47,33 +54,57 @@ jobs: - uses: flucoma/actions/env@v4 - uses: flucoma/actions/sc@v4 - - name: zip release - run: zip -r ../FluCoMa-SC-Linux-nightly.zip FluidCorpusManipulation - working-directory: install - - uses: actions/upload-artifact@v2 with: name: linuxbuild - path: FluCoMa-SC-Linux-nightly.zip + path: install release: runs-on: ubuntu-latest - needs: [macbuild, winbuild, linuxbuild] + needs: [macbuild, winbuild, linuxbuild,docs] steps: + + - uses: actions/download-artifact@v2 + with: + name: docs + path: docs + - uses: actions/download-artifact@v2 with: name: macbuild - path: . + path: mac + + - name: copy docs to mac + run: mkdir -p mac/FluidCorpusManipulation/HelpSource && cp -r docs/* mac/FluidCorpusManipulation/HelpSource + + + - name: compress win + run: zip -r ../FluCoMa-SC-Mac-nightly.zip . + working-directory: mac - uses: actions/download-artifact@v2 with: name: winbuild - path: . + path: win + + - name: copy docs to win + run: mkdir -p win/FluidCorpusManipulation/HelpSource && cp -r docs/* win/FluidCorpusManipulation/HelpSource + + - name: compress win + run: zip -r ../FluCoMa-SC-Windows-nightly.zip . + working-directory: win - uses: actions/download-artifact@v2 with: name: linuxbuild - path: . + path: linux + + - name: copy docs to linux + run: mkdir -p linux/FluidCorpusManipulation/HelpSource && cp -r docs/* linux/FluidCorpusManipulation/HelpSource + + - name: compress linux + run: zip -r ../FluCoMa-SC-Linux-nightly.zip . + working-directory: linux - uses: dev-drprasad/delete-tag-and-release@v0.2.0 with: diff --git a/CMakeLists.txt b/CMakeLists.txt index 2d0192a..40c5273 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -74,6 +74,13 @@ FetchContent_Declare( GIT_TAG origin/main ) +FetchContent_Declare( + flucoma-docs + GIT_REPOSITORY https://github.com/flucoma/flucoma-docs.git + GIT_PROGRESS TRUE + GIT_TAG origin/main +) + if(FLUID_PATH) get_filename_component( FETCHCONTENT_SOURCE_DIR_FLUCOMA-CORE ${FLUID_PATH} ABSOLUTE @@ -89,6 +96,30 @@ if(NOT flucoma-core_POPULATED) include(flucoma-buildtype) endif() +option(DOCS "Generate scdocs" OFF) +set(FLUID_DOCS_PATH "" CACHE PATH "Optional path to flucoma-docs (needed for docs); will download if absent") + +if(DOCS) + + set(${SC_DOC_OUT} "${CMAKE_SOURCE_DIR}/HelpSource/" CACHE PATH "") + + if(FLUID_DOCS_PATH) + get_filename_component( + FETCHCONTENT_SOURCE_DIR_FLUCOMA-DOCS ${FLUID_DOCS_PATH} ABSOLUTE + ) + endif() + + FetchContent_GetProperties(flucoma-docs) + if(NOT flucoma-docs_POPULATED) + FetchContent_Populate(flucoma-docs) + file(GLOB_RECURSE DOC_SOURCE RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "${flucoma-docs_SOURCE_DIR}/**/*.cpp" ) + source_group("\\SC Doc Gen" FILES ${DOC_SOURCE}) + add_subdirectory(${flucoma-docs_SOURCE_DIR} ${flucoma-docs_BINARY_DIR}) + endif() + + add_custom_target(SC_MAKE_DOCS ALL DEPENDS MAKE_SC_REF) +endif() + set_if_toplevel(VAR CMAKE_LIBRARY_OUTPUT_DIRECTORY TOPLEVEL "${CMAKE_CURRENT_SOURCE_DIR}/release-packaging/Plugins" SUPERBUILD "${CMAKE_SOURCE_DIR}/sc_plugins/${CMAKE_HOST_SYSTEM_NAME}/${CMAKE_HOST_SYSTEM_PROCESSOR}") @@ -209,3 +240,8 @@ install(FILES QuickStart.md install(FILES ${flucoma-core_SOURCE_DIR}/distribution.lic DESTINATION ${SC_PACKAGE_ROOT} RENAME LICENSE.md) + +if(DOCS) + install(DIRECTORY "${SC_DOC_OUT}" + DESTINATION "${SC_PACKAGE_ROOT}/HelpSource") +endif() From bea5eb48492f584412846353f3aacc6195112c00 Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Wed, 16 Feb 2022 09:39:34 +0000 Subject: [PATCH 86/88] added the missing 'setLabel' method to FluidLabelSet --- release-packaging/Classes/FluidLabelSet.sc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/release-packaging/Classes/FluidLabelSet.sc b/release-packaging/Classes/FluidLabelSet.sc index 4d7f745..c30cce8 100644 --- a/release-packaging/Classes/FluidLabelSet.sc +++ b/release-packaging/Classes/FluidLabelSet.sc @@ -15,6 +15,15 @@ FluidLabelSet : FluidDataObject { ^this.prMakeMsg(\updateLabel, id, identifier.asSymbol, label.asSymbol); } + setLabelMsg{|identifier,label| + ^this.prMakeMsg(\setLabel,id,identifier.asSymbol,label.asSymbol); + } + + setLabel{|identifier, label, action| + actions[\setLabel] = [nil, action]; + this.prSendMsg(this.setLabelMsg(identifier,label)); + } + updateLabel{|identifier, label, action| actions[\updateLabel] = [nil,action]; this.prSendMsg(this.updateLabelMsg(identifier,label)); From 8f4784cbe18bdb6c81600d42afaa6fe55f8b65a0 Mon Sep 17 00:00:00 2001 From: Ted Moore Date: Thu, 17 Feb 2022 19:56:07 +0000 Subject: [PATCH 87/88] a more convenient method call to FluidViewer to get colors --- release-packaging/Classes/FluidWaveform.sc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/release-packaging/Classes/FluidWaveform.sc b/release-packaging/Classes/FluidWaveform.sc index 09e3e29..9e97e28 100644 --- a/release-packaging/Classes/FluidWaveform.sc +++ b/release-packaging/Classes/FluidWaveform.sc @@ -14,6 +14,10 @@ FluidViewer { }); } } + + *categoryColors { + ^FluidViewer.createCatColors; + } } FluidWaveformAudioLayer { From 7e26fcbce1ab8b7f857f2fb4c09ba55b5bd4b09e Mon Sep 17 00:00:00 2001 From: Owen Green Date: Mon, 21 Feb 2022 10:02:36 +0000 Subject: [PATCH 88/88] NRT and Data objects ensure params can be set in NRT queue immediately after creation (#71) fixes #70 --- include/wrapper/NonRealtime.hpp | 39 ++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/include/wrapper/NonRealtime.hpp b/include/wrapper/NonRealtime.hpp index 61598af..32ca380 100644 --- a/include/wrapper/NonRealtime.hpp +++ b/include/wrapper/NonRealtime.hpp @@ -695,7 +695,16 @@ private: ptr->mClient.setParams(ptr->mParams); } else - printNotFound(NRTCommand::mID); + { + mParamsSize = args->size; + mParamsData = (char*) getInterfaceTable()->fRTAlloc(world, asUnsigned(mParamsSize)); + std::copy_n(args->data, args->size,mParamsData); +// mArgs = args; GAH WHY ISN"T THIS COPYABLE???? + mArgs.init(mParamsSize,mParamsData); + mArgs.count = args->count; + mArgs.rdpos = mParamsData + std::distance(args->data,args->rdpos); + mTryInNRT = true; + } } static const char* name() @@ -703,6 +712,34 @@ private: static std::string cmd = std::string(Wrapper::getName()) + "/setParams"; return cmd.c_str(); } + + bool stage2(World* world) + { + + if(!mTryInNRT) return false; + + if (auto ptr = get(NRTCommand::mID).lock()) + { + ptr->mParams.template setParameterValues(true, world, mArgs); + Result result = validateParameters(ptr->mParams); + ptr->mClient.setParams(ptr->mParams); + } + else + printNotFound(NRTCommand::mID); + + return true; + } + + bool stage3(World* world) + { + if(mParamsData) getInterfaceTable()->fRTFree(world, mParamsData); + return false; + } + + bool mTryInNRT{false}; + char* mParamsData{nullptr}; + int mParamsSize; + sc_msg_iter mArgs; };