Hello maxers,
i update/improve externals,
(mac only but sources with).
[zoulou] for Factor Oracle,
[charlie] for SOM,
[foxtrot] for HMM,
[yankee] for Growing Neural Gas.
Thanks for feedback.
Hello maxers,
i update/improve externals,
(mac only but sources with).
[zoulou] for Factor Oracle,
[charlie] for SOM,
[foxtrot] for HMM,
[yankee] for Growing Neural Gas.
Thanks for feedback.
Hello maxers,
in case of : i update my_generative-1.8 in "share pages" ;
i add an external [november] for cellular automata sequencing ; you can use it only with my abstraction ; so that's really not useful for community ; but for fun ...
Work still in progress (mac only) ; thanks for reporting bugs, comments, and feedback.
Your externals look very interesting!
Could you please write some words about [zoulou]?
What do the "lrs" and "straight" parameters do ?
I've found a paper on Factor Oracle for pattern matching.
But [zoulou] doesn't seem to do pattern matching, does it?
These externals are indeed very interesting, but I don't quite understand the list format they seem to be using, are the four entries somehow related? Is the order of which results are put out somehow the result or is the result within the numbers of the list being sent out?
Are you supposed to use the list positions for different data like [note vel lenght duration]?
I've started compiling some of them for windows, so I will post them here when done.
Hello maxers,
@mudang :
[zoulou] doesn't really do pattern matching ;
the algorithm is used to make a kind of data memory where same patterns are connected so when you "bang" [zoulou] you randomly navigate inside this memory (straight / forward in time / backward in time) but ALWAYS respecting a kind of coherence ;
"straight" is percentage of chance that you go straight in recorded data ;
"lrs" is threshold of SameRepeatingNumber to go back in time.
That's really hard to explain well for me ; i now that i should do a paper to explain, but to be honest i'm lazy ; on your downloaded pdf it may have a drawing of the graf generate by Factor Oracle, and to resume [zoulou] just randomly run on arc between nodes ...
You can use [zoulou] to find repeating patterns in a data flow too ...
!
!
!
@veqtor : thanks for windows compilation.
[zoulou] accepts all kind of int.
All the others accept all kind of list with a max size of 256 (i'm not sure) but limited to midi values (0 - 127) ; f.e. "learn 40 50 67 12 127" ; when you "bang" externals you ask to give you randomly a vector ; you can choose which on using "int" index ; or transform a list provided ; each atom of the list is test with a simple mutation ratio chance ; if yes, it is change with external's one ; if no, no change.
For both : try "dump_max" message to understand what data structure contains. Tell me if you want more info.
Here's the windows compile, I'm going to make November also when I have time!
So, I don't quite get it, when I use an int for index, is it giving me something which could be an continuation of a series which starts with that int?
Could you make some changes so the other objects can handle i dunno, at least numbers up to 2048? I'm trying to encode chord and root properties into a single int by using a shift register...
another feature that would be great is if one could force zoulou to start from a specific place. so maybe you send a list like [go 24] and the next bang will make it continue from there
Hello Veqtor,
Concerning "int" ; if you are speaking about [zoulou] : no, that's just the way to add number to the structure ; if you are speaking about [charlie] or [yankee] : no, giving an "int" just tell the structure which node (so which vector) to send out the outlet.
(Even if prefer to keep externals simplest i can), I'll do features you asked ; i mean "go" message for [zoulou] and a way to let [charlie] and [yankee] dealing without clipping values provided ; (I'll not do it for [foxtrot] as large alphabet consume more CPU).
If somebody have others suggestions that's time !
awesome! that would be great!
how big values can you make them handle? the bigger is obviously the better!
Hello Veqtor,
do the job ; [zoulou]'s "go" message and no more limit for [charlie] & [yankee] ; don't test them so much ; so tell me if you find bugs ; you should not but ... ;-)
Hello Maxers,
Post scriptum : to compile [november] you need to add "commonsyms.c" to your project.
Thanks a lot, I will get to compiling them once again for windows! =D
Hello Veqtor,
you're welcome ; nice to have feedback.
So, how many entries does zoulou handle?
This is the new versions...
Also, I don't quite get how to use charlie, foxtrot and yankee. Since they just output random vectors, how do I use them in a composition? Do you use zoulou for melodies and sequences of different kinds and the three others for other stuff? Like what?
Hello Veqtor,
How many entries does zoulou handle ?
arbitrary limit : 262144 !
How do I use them in a composition ?
I don't know !
?
?
?
I don't use them alone ; that's part of "my_generative" project ->(SharePages///MacintoshOnly) + (MayBeEasyToAdaptForWindows) ; there is a tutorial where i investigate some ways, but as it's work in progress, i'm not sure at all where it leads me and : i spend more time to code/test it than using it for music ...
That's true that [zoulou] & [foxtrot] are design for melodies and [charlie] & [yankee] for chords ... but it should be possible to use those externals for any data mining task.
I aim (as thousands of guys) to create a VirtualPlasticFriend to play with me (I stink, I am shy and ugly) : for the moment i just have legs and arms ; If somebody is interesting by the project, i'm a totally AnarchopenSourceDude ;-)
PS : "dump_max" & "dump_lcd" messages help to see data in the structure to imagine how it can be used ... chaos vs order !
charlie and yankee are for chords? hmm, how would you input chords into them?
as lists of pitches?
Hello Veqtor,
yep ! most of time "int" are "pitch" ; but in my project i use [zoulou] for rhythm (TaKI Gamala gamala Taki Taki) or duration ; it's up to you.
Hey, some more suggestions for zoulou:
1. "suggest" message, this puts zoulou in a mode in which it outputs all the possible next steps, so if send it a bang or go it will output what possible states it can go to, this way one can select from them yourself using some other method by sending the one you want back to zoulou using "go <item from the list>"
2. "path <entry>" message, this makes zoulou find the shortest path from where it is now to whatever entry you put in the argument.
are these hard, possible? Would be awesome for what I'm using it for!
Hello Veqtor,
1. easy to do ;
2. much more hard ; need to implement another algorithm for path finding.
I promise nothing, but I am going to think about it ...
Hello raja,
thanks for feedback ; these externals are part of "my_generative" project you can find at vanille béchamel's share pages ; my humble contribution to the AutomaticMusicGraal ; still lots of work to do as it's not easy to find a way to compose without a linear approach.
In the :
pitch_track -> midi live improvisation -> generate sound,
process, i focus on the second job ;
and as i found so many ideas in community's patch/pdf, i think that's fair to share ;-)
Hello Veqtor,
add "get" message -> position data in new rightmost outlet :
- lrs / length repeated suffix values + refer destination ;
- arc / value + arc destination ;
.
.
.
- straight / straight value + straight destination (position + 1) ;
"path" ???
i'll try ;-)
works great! thanks a lot!
Hello Veqtor,
do the job for "path" ; implement a kind of BFS algo ; should work ... but in case of : thanks for reporting bugs (crash ?) ; nice to have a beta tester team ;-)
"path_go" : if on (default) : find the shortest path and go next position founded.
"path_backward" : if on (default) : use "backward length repeat suffix link" while searching.
Alfred Duschnock.
Hello maxers,
just in case ; minor update.
path is great, thanks! about time you release this with some proper examples and some well laid out help files maybe?
Hello maxers,
updated my share pages ; nothing very new excepted
- for [november] : i fix it. Now it seems to work ;-)
- and [papa] : verbose mode for "NN total error" ; easier to experiment ;-)
Salutations maxicales.
You must log in to post.