[gst-devel] small piece of information

Andy Wingo wingo at pobox.com
Wed Feb 25 04:37:01 CET 2004


Is anyone aware at how much 0.8 is going to ROCK?

For real, the code has seen a lot of churn but it's wonderfully stable
for me. Check out what I got working tonight at the soundscrape prompt:

ss> (play 
     (audio spawn
           :proc (lambda args
                    (audio enveloptor (envelope:triangle 2 0.5)
                          :input (audio sine
                                        :frequency (rrand 200 400)))) 
           :channels 1))

It plays an audio-rate graph of elements. Spawn[0] is a custom element
that calls the :proc at timed intervals (the intervals can be changed
on-the-fly from within the proc's invocation). :proc is expected to
return a list of source pads. Then from Scheme, spawn finds all of the
elements in the network whose source are those pads, adds them to the
running pipeline, links them to custom adder elements (one per output
channel -- putting tees if necessary), and continues the run. Right now
it's only buffer-accurate, but I hope to make it sample-accurate by the
end of the week.

Anyway, the above proc is an enveloped sine wave at a random frequency.
So what you hear when that graph is played are overlapping tones fading
in and out, random frequencies, the pipeline all the time being linked
to and unlinked, elements added and removed, AND THE STATE OF THE
PIPELINE NEVER LEAVES PLAYING. No dropouts. And all this time calling
into Scheme. On my crappy celeron 600.

We rock.

[0] Spawn is modeled after
http://audiosynth.com/schtmldocs/Help/Unit_Generators/Spawners/Spawn.help.html
-- 
Andy Wingo <wingo at pobox.com>




More information about the gstreamer-devel mailing list