Draw-Trajectory-Ext-Rec :
Same as the draw-trajectory pad module from Usine,
but for this one it is possible to record the mouvement from an external source, not just the mouse.
very handy for the tangible interface freaks !
Oli_Lab_1rstOrderMarkovData :
first order Markov chain. This one take data at its input to set a probability table of 127x127
- takes integer only
- try the example !
- to make it simple : if you hit 2 times the note #60 after the note #66 and only one time the note #70
you'll get twice the odds to get note #60 after note #66 when the chain plays by itself.
https://en.wikipedia.org/wiki/Markov_chain
Oli_Lab_2ndOrderMarkov :
second order Markov chain. This one take data at its input to set a probability "cube" of 127x127x127
Oli_Lab_2ndOrderMarkovData :
same as above, for midi notes
Oli_Lab_antiOPe20 :
this is a custom module to control the french Minitel thru a Ethernet network...
Oli_Lab_deadStreamDetector :
detects if the audio stream at its imputs are dead or alive
Oli_Lab_deserialize_Array
that module is to be used alongside the pianoroll module.
connect it to the "events" array output and it will parse the array into 5 arrays :
- event timing
- event duration
- type (144 = noteon)
- midi code1
- midi code 2
Oli_Lab_GCD :
get the greatest common divisor from 2 integers
Oli_Lab_incrementor V2
continuously add ( algebraic sum) the datas received at its "add" input, be it positive or negative.
- curr value is enable only in closed loop mode
- max will set the maximum value of "out abs" and the resolution of out 1 (0.0f to 1.0f)
- mode :
- totalisation makes the algebraic sum of the incomming data present on the add input
- closed loop adds what is appearing on the "add" input with what is present on the "curr value" input
- wrap mode will make the values cycle while stop mode will limits value between 0 and max.
Oli_Lab_IsPrime :
will test any positive integer up to 16777215 (24bits) and set its output to 1 if it is a prime number !
a bitwise (32 bits) is also available in the bitwise folder.
Oli_Lab_Log2 :
Binary logarithm
the binary logarithm log2(n) is the power to which the number 2 must be raised to obtain the value n.
- return -1 on the output in case of an error.
- return 1 on the error output in case of an error.
Oli_Lab_Matrix_Col_Extract :
extract an array entire given column
Oli_Lab_Matrix_Row_Extract :
extract an array entire given row
Oli_Lab_MidiAllOff :
3 ways to send midi note off that are appropriate for various very old to modern midi instruments.
Oli_Lab_NRPN filter :
get NRPN midi data, not sure it is working 100%
Oli_Lab_playMidiNote :
play a midi note from the extracted 5 cell array from a pianoroll.
pianoroll(events out)>>(array in)Matrix_Row_Extract(array out)>>(array in[5])playMidiNote(midiout)
Oli_Lab_PolyDemux
this module ismainly build to use the hydrogen, multitapDelay and looperElite as polyphonic instruments.
As those susmentionned modules take advantage of using only 1 buffer of audio memory and make it available at any speed, pitch etc...
the polymux module parse the incomming midinotes to the various players where the classic polyphonic mecanism
would be useless.
- see examples
Oli_Lab_randomBag :
draw a number from a consecutive series of numbered balls from a bag !
once it is drawn, the ball is out of the bag and cannot be redrawn.
very useful to randomly choose audiofiles with the least possible repeats.
Oli_Lab_selectMessage :
to be used on the outputs of a midi filter module
It will select output the value of a choosen midi CC#
- set the midi filter to "control change"
- link the filter to the select message module (channel>>channel, code1>>CC number, code2>>CCvalue)
- set ch filter and CC# to the one CC you want to read
Oli_Lab_SEQ_GRAFCET :
GRAFCET is the french acronyme for SFC (Sequential Function Chart)
it is a very easy and safe way to build sequences for interactive installations.
more here :
https://en.wikipedia.org/wiki/Sequential_function_chart
Oli_Lab_serialize_Array :
do just the opposite than the deserialize_array module
Oli_Lab_storeArray_128x128 :
- Can store 128 arrays of size 128
- simultaneously provide the contents of saved arrays on 8 independant array outputs
Oli_Lab_storeArray_512x2048 ;
- Can store 512 arrays of size 2048
- simultaneously provide the contents of saved arrays on 8 independant array outputs
mainly useful with FFT related filtering
Oli_Lab_StringMatch :
compares 2 strings.
Oli_Lab_string_Flip :
flip the incomming characters order so the string appears the rigth way when using a keyboard.
Oli_Lab_ThueMorseSequence :
enter a number and the output will add all the numerals of the number, in a specific base.
exemple :
input = 5,
base = 2,
binary number is 101
output is 1+1 = 2
Oli_Lab_timeinterval :
get the inerval of time between 2 on states.
Oli_Lab_WeaveArray :
weave 2 arrays into one
exemple :
array1[] = {0,1,2,3}
array2[] = {4,5,6,7}
output[] = {0,4,1,5,2,6,3,7}