-
Notifications
You must be signed in to change notification settings - Fork 0
[en]
The DYCI2 library was designed for improvisation and style imitation: it works on sequences of abstract labels (e.g. chord labels, etc.) matching segments of a memory. DYCI2 produces new sequences by recombinations of these memory segments, given a scenario expressed as a sequence of labels, and keeping some properties learned from the memory.
On a .wav file, use AudioSculpt in order to create by yourself markers and labels: so, in your markers information, fill the correspondant label (cmd + i), in the Label
square. These labels can be for instance chords, notes, tones or shades. If many markers following each other have the same labels, you can only fill the first maker with the corresponding label and fill then the first marker whose label is different, OM will understand that empty labels are like the previous not empty. Save it then in a .sdif format.
Unlock these four boxes (b) and evaluate the
file chooser
boxes. On the first, which is connect to the sdiffile
box, your .sdif file: the one you saved earlier. On the second, choose your audio file in a .wav format. Lock these boxes, evaluate the remaining boxes, then lock them.
With the GetLabels
patch, whose two input are connected to the sdiffile
box, you formate your .sdif file, then you collect in the first output your labels like ( ("nil" "nil" ... "C" "C" "A" "A" "G" "G" "G" ...)
for our example, and in the second your segments corresponding to your labels.
We use for this the dyci2generator
command. On the MEMORY
spot, connect your segments list, formatted like ("(start1 end1)" "(start2 end2)"...)
. On the LABLS
spot, connect your labels list, formatted like ("lab1" "lab2"...)
. This box gives us in the self
spot an element from the DYCI2 Generator class which is made for queries.
In order to use the dyci2query
command, connect on the SELF
spot an element from the DYCI2 Generator class and on the QUERY
a labels query formatted like ("lab1" "lab2"...)
. In fact, this query is the result of a patch whose input is your query on the textbuffer
written like lab1 lab2 lab3...
and where you have to avoid spaces and replace them by a '-' character. This box, dyci2query
, returns a segments list that respects your contraints. It still must be formatted but that is your result.
###Setting parameters
We also have a lot of options with which you can drive your scenario generation: with the dyci2setparam
command, you can connect on the SELF
spot an element from the DYCI2 Generator class, on the TYPE
spot type of your input (currently, only integers exist in), on the PARAMETER
spot, the parameter you want to change (currently, only "avoid_repetitions_mode" and "max_continuity" exist) and in the fourth spot, the VALUE
spot, put the value of your parameter.
-
avoid\_repetitions\_mode
:- set at 0: it avoids many use of the same segment from the memory in the output sequence.
- set at 1: it favors the least used segments for the output sequence.
- set at 2: it allows repetitions of every segments in the output sequence.
-
max\_continuity
: the input must be a natural integer which represents the maximum length of a segments sequence from the memory in the output sequence.