The world's so small. Met you on IRC last saturday
(nick: pland)
You're welcome if you want to come back. The next PureData developers
meeting is on FreeNode #dataflow on April 1st, UTC 17:00.
Does this mean that Ruby-PD bindings might get deeper (audio buffer
access?), if you have time?
Yes, that and making GridFlow's C++ side more accessible from Ruby,
which should help getting decent performance for audio processing. However
Ruby is a major pain for low-latency audio, as I said previously,
and I know people who don't want to run GridFlow because it makes
the sound skip because of too-long garbage collection times.
Ah! Ok I understand now. In my case, because of my music background
and the fact I wanted to learn Ruby, I thought it would be great to be
able to -hear- my study of Ruby, if you see what I mean. So, what I
was after was a way to exemplify concepts from the second edition of
the Pickaxe, in sound.
I think you can do lots of interesting music programming in Ruby with the
current GridFlow if you restrict yourself to event generation. E.g. the
Ruby code could handle complex combinations of scales, chords,
polyrhythms, while PureData would do the actual signal synthesis.
I have an example with GridFlow and audio buffers, but it's rather slow
because the audio buffer has to be sent to PureData one number at a time
(one per message i mean!). Still I have been able to achieve nice results,
such as:
http://gridflow.ca/gallery/spectrogram.gif
http://gridflow.ca/gallery/photo_pianoroll.pd.gif
The first is a spectrogram with a temporal low-pass filter post-processing
the video-stream, in such a way that changes appear in reddish and
bluish colours while non-changing parts are more black-and-white.
The latter is an inverse-spectrogram, that is, synthesising sounds from a
picture.
Both use the FFT filters built into PureData.
So, see above, but here's a summary : I think Gridflow is an amazing
idea and project (got some osx compilation trouble I'll address
ex-list), and would love to start learning it.
GridFlow is not so stable on OSX, and it's very slow on PPC for
semi-unknown reasons.
But browsing the pd flow ruby examples in there got me kinda lost.
Firstly because I couldn't run it (compilation), but also because I
didn't quite get how PD would pick Gridflow up and viceversa (other
than -lib)
"pd -lib gridflow" picks up gridflow.pd_linux, which starts libruby.so and
then gridflow.so. There is a config file ~/.gridflow_startup in which you
can put your Ruby scripts because it's being parsed as a Ruby file.
What I'm looking for, I guess, is the ability to play with sampled
sound for now (similar to Cocoa's NSSound, but a bit deeper), in a way
that allows me to explore ruby by ear. So simple sample loading,
playing, buffering, maybe some DSP...perhaps some MIDI (though I see
midilib)...like I said, PDRuby would be of course ideal, but the basics
through pure Ruby and Gridflow would be even better right now, since
I'm a complete n00b to Ruby.
There's unfortunately no tutorial or doc for writing PureData classes in
Ruby, because I wanted to improve the API, and still haven't got around to
finishing that completely. However it's not too hard, you mostly just have
to subclass FObject, export the class using
self.install(name,inlets,outlets), embed inlet-numbers in methodnames,
like def _0_bang(), and use send_out(outletnumber,selector,*args) to send
messages.
Well I aim to get to a point where I can do that too. And so, I -will-
need a low-latency, probably C-implemented (like PD) engine behind me,
and I guess I see Ruby as the higher-level, 'thinking' language for
composition, and pedal-making.
My guess is you do too?
I'm not very much into audio. 95% of what I do is video.
What can I do to help? I'm studying the Pickaxe now, and I'll download
tarball of Gridflow (tried CVS unsuccessfully) and try on OSX
(10.3.8)...is there a short summary of how to get GF and PD talking
anywhere (other than website docs?)
This message (see above). If you have any questions on how do to specific
things, just ask. I would recommend joining the gridflow-dev mailing-list:
Gridflow-dev Info Page
···
On Tue, 22 Mar 2005, David Plans Casal wrote:
_____________________________________________________________________
Mathieu Bouchard -=- Montréal QC Canada -=- http://artengine.ca/matju