Hi Matju,
I am maintainer for the Ruby bindings to PureData, which is a realtime
visual programming language for audio. I am also the author of a video
plugin for PureData, and actually those things are bundled together
under
the name GridFlow.
The world's so small. Met you on IRC last saturday ;-) (nick: pland)
I use GridFlow for interactive setups in art galleries, museums, and
music
shows, under contract with local artists (mostly in Montréal and
Ottawa/Gatineau). I'm doing that stuff part-time while struggling with
a
degree (the degree is over now, so I'm going to do this full-time now,
hopefully)
Does this mean that Ruby-PD bindings might get deeper (audio buffer
access?), if you have time?
It would be cool to have more elaborate bindings because the ones I
have
coded are rather minimal (that is, only what I need to have for the
video
plugin). In the future it would be cool to be able to have complete
access to PureData objects, in the same way that the Python bindings to
PureData can. Especially missing are ways to access audio buffers. I
think
it wouldn't be that difficult to implement, but I haven't needed them
yet.
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 played with PureData during my degree, and I guess having access to
PD objects from Ruby would be as close as I get to heaven! ;-) But I
suppose I need to find an intermediate solution for now...
What do you think about it? Is it overkill for your needs? What do you
want to achieve with the audio library?
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.
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)
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.
Is that too vague?
PS: The big problem with audio and Ruby, though, is that the garbage
collector takes too much CPU in one chunk, so that low-latency audio
just
fails horribly. For ordinary audio needs that's not really a problem
unless the computer is slow, but many people want low-latency so that
they
can replace their expensive and unflexible guitar pedals by something
extremely versatile, the computer.
I see. Of course.
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?
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?)
Thanks for you reply, Matju, I look forward to working in Gridflow.
Cheers,
David