[Stk] Ruby extensions with STK
David Michael
david.michael at gmail.com
Wed, 5 Dec 2007 15:01:45 -0500
--Apple-Mail-1--465626665
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
charset=US-ASCII;
delsp=yes;
format=flowed
> I also figured it might work for sinusoids and the like, but I
> assumed it wouldn't scale very well to more complex computation.
> Keep us posted on what you're able to do with it!
>
This may well be the case, so yes, I will write back with more as
soon as I figure out what Im doing.
>> What would be really amazing would be a domain specific language
>> for the STK built off of Ruby for manipulating audio objects, but
>> I have yet to figure out how one would manage audio streams
>> between Ruby objects...
> Heh, well actually I think this is pretty much what Chuck is, minus
> the Ruby... :-)
Yes true, but as much as I love Chuck, its not a very complete
language and lacks some very basic things like string manipulation.
Plus, strong typing still makes it more tedious to work with than I
would prefer.
Building an audio engine into an existing dynamic language, like
Ruby, would give access to all the syntax (and libraries) of the host
language. I think maybe Jsyn works something like this with Java. In
any case, Ruby is a very well used language right now with tons of
nice libraries. I suppose also that SuperCollider is kindof this with
SmallTalk, but it is not really SmallTalk. I have not done nearly
enough research on audio extensions to other existing languages other
than C/C++ to know what I am talking about, but there is this one
already for Ruby;
http://raa.ruby-lang.org/project/ruby-audio/
but it seems that the intent of this library is somewhat different:
perhaps just audio files (cuz it relies on libsndfile).
D
--Apple-Mail-1--465626665
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
charset=ISO-8859-1
<html><body style=3D"word-wrap: break-word; -webkit-nbsp-mode: space; =
-webkit-line-break: after-white-space; ">
<br><div><div><br></div><blockquote type=3D"cite"><div =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; ">I also figured it might work for sinusoids and the =
like, but I assumed it wouldn't scale very well to more complex =
computation.</div><div style=3D"margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 0px; ">Keep us posted on what you're =
able to do with it!</div><div style=3D"margin-top: 0px; margin-right: =
0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; =
"><br></div></blockquote><div><br =
class=3D"webkit-block-placeholder"></div><div>This may well be the case, =
so yes, I will write back with more as soon as I figure out what Im =
doing.</div><br><blockquote type=3D"cite"> <blockquote type=3D"cite"><div =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; ">What would be really amazing would be a domain =
specific language for the STK built off of Ruby for manipulating audio =
objects, but I have yet to figure out how one would manage audio streams =
between Ruby objects...</div></blockquote></blockquote><br><blockquote =
type=3D"cite"><blockquote type=3D"cite"> </blockquote><div =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; ">Heh, well actually I think this is pretty much what =
Chuck is, minus the Ruby...<span class=3D"Apple-converted-space">=A0 =
</span>:-)</div></blockquote><br></div><div>Yes true, but as much as I =
love Chuck, its not a very complete language and lacks some very basic =
things like string manipulation. Plus, strong typing still makes it more =
tedious to work with than I would prefer.</div><div>=A0</div><div>Building=
an audio engine into an=A0existing=A0dynamic language, like Ruby, would =
give access to all the syntax (and libraries) of the host language. I =
think maybe Jsyn works something like this with Java. In any case, Ruby =
is a very well used language right now with tons of nice libraries. I =
suppose also that SuperCollider is kindof this with SmallTalk, but it is =
not really SmallTalk. I have not done nearly enough research on audio =
extensions to other existing languages other than C/C++ to know what I =
am talking about, but there is this one already for Ruby;</div><div><div =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; "><div style=3D"margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 0px; "><font face=3D"Helvetica" =
size=3D"3" style=3D"font: 12.0px Helvetica"><a =
href=3D"http://raa.ruby-lang.org/project/ruby-audio/">http://raa.ruby-lang=
.org/project/ruby-audio/</a></font></div><div style=3D"margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">but it seems =
that the intent of this library is somewhat different: perhaps just =
audio files (cuz it relies on=A0libsndfile).</div><div =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; "><div style=3D"margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 0px; "><br></div></div></div><div =
style=3D"margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; ">D</div></div></body></html>=
--Apple-Mail-1--465626665--