Mike Moreno has made these Euclidean rhythm things based on the Stutter patch I think...
Thanks, at the link above the patch that interests me is:
But I don't know how to use the [midirealtimein] object, there is also no help file: connecting an external keyboard and pressing some keys nothing happens, not even when printing with [print( from outlets.
What should happen?
(I specify that [notein] object, for example, works correctly with my midi keyboard.)
Anyway I tested the patch by putting a metro and works fine.
[I use Purr Data on Ubuntu 18.04]
@atux Can you please repost the links to the two patches you tested? I'm particularly interested in the arithmetic of post #7 but can't make sense of the text representation of @Stutter's patch (and all the hurleur links are broken for me).
I tested @Stutter's patch as subpatch.
For example, with the triad: 3,0,8 the rhythm is obtained:
TUM ta ta TUM ta ta TUM ta
very interesting. Two completely different ways: a matricial approach and an apparently simple and effective algorithm.
Ok, the graphic part is missing (with clocks and inscribed geometries ...) to "visualize" the rhythms, but the engine that generates the Euclidean rhythms works perfectly.
I have tested both patches, they are great.
Going back to the question of overlapping graphs, in this sample patch I would like to overlay 10 graphs of random numbers:
What I was looking for, was to use a single array message like:
[s array $1 (
passing the values to $1 from a [counter] ...but I haven't been able, it doesn't work.
So in that patch I created an object for each array in this way:
Same thing for messages to clear graphs, I was looking for something like:
[; array$1 const 0 (
but it only worked by creating one for each array.
If the graphs were 100, it would be difficult to do all this.
Regarding the quality of the graph: I have seen that no points are created but segments (evident in the image of your last post).
So, to draw a point cloud, remaining in pure data, soon I'll try with "data structures" , using for each point a circle of minimum possible radius. I just started reading some tutorials.
Otherwise of course I export the data (x, y, z) and use an external software. But I'm curious to see what I can do by always remaining in Purr-Data.
Purr-Data, when I use [prepend something] it always gives me a warning that says:
[prepend]: this object is a legacy replacement for prepend in cyclone library that is considered deprecated in pd-l2ork. Please use [list prepend] and [list append] instead.
So I should replace a single object with two objects:
[list prepend something]
In the patch above I tried to do this replacement, and it no longer gives me the warning.
It seems to complicate things.
@atux You can plot more arrays (separate arrays) on the same graph by selecting "last graph" in the properties window when you create the array........
Thanks, all clear, it works fine.
Instead I ran into a problem. I state that the following happens in Purr-Data on Ubuntu.
In a patch I generate a list of numbers, for example the first one you see below (I omit the patch that generates it, it is irrelevant). Now I would like to plot this list: it would be enough to modify it by hand in this way:
[; array1 1 48 2 69 43 49 17 83 21 34 20(
then, clicking on it, the graph appears. This works correctly.
Here is the problem:
in the patch you see below I would like to do this step automatically. Why does \ at the beginning appear in the last message?
If I delete it by hand, then it works.
Yet in print it turns out without \ , as it should be ...
Just replace the [list prepend set] with [list prepend add] and now you construct the list first, each time you hit that bang is would add another line of 100 or however many you bang into the [until].
I had already tried using [prepend add], it didn't work. But it works instead, the problem was in the earlier part of the patch where I fixed some errors.
Now it work fine (in Purr-Data).
So, in this patch every hit of the play-bang generates a list of 150 random numbers.
All generated lists are stored.
When [write( is pressed, these lists are written as rows one after the other in a .csv file.
@atux Check out the help for [textfile], [add( and [add2( will generally remove the need for [list] objects in the middle. If you need to get the output of a list into [textfile] than dripping the list and using the [add( message will do it.
but with [add $1( it write numbers vertically in a column, instead the patch above is the way I found to write data horizontally in a row, as I would like. Now I'm trying to figure out if there is any automatic way to add a number of rows at will (even several hundred).
Yes, I will study the [textfile] help better.
Ok, even if I wanted to write the output in columns, generating 150 random numbers 5 times, to write 5 columns I use:
[pack f f f f f]
[add $1 $2 $3 $4 $5(
and it works, but generating 150 random numbers 500 times with as many columns to write, this way becomes impractical...
in this patch I generate 150 random numbers. I want them to be written as a row in a .csv file. So, pressing play and then [write( this actually happens: the newly created .csv file contains a row of 150 numbers (I opened it with LibreOffice Calc).
The problem is now: if I generate another 150 numbers, I would like them to be written to the same file as the second row, another 150 numbers as the third row and so on even hundreds of times.
Any idea how I can do it?