electro-music.com   Dedicated to experimental electro-acoustic
and electronic music
 
    Front Page  |  Radio
 |  Media  |  Forum  |  Wiki  |  Links
Forum with support of Syndicator RSS
 FAQFAQ   CalendarCalendar   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   LinksLinks
 RegisterRegister   ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in  Chat RoomChat Room 
 Forum index » Instruments and Equipment » Modular Synthesis
browser-based open source Reaktor equivalent?
Post new topic   Reply to topic
Page 1 of 1 [16 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
Author Message
Tom Rea Smith



Joined: May 06, 2008
Posts: 7
Location: Liverpool, UK

PostPosted: Wed May 07, 2008 1:11 am    Post subject: browser-based open source Reaktor equivalent? Reply with quote  Mark this post and the followings unread

Hi

Right, that's a big ask.

Not sure if this is in the right forum; apologies if not.

I wonder if anyone has any ideas. I am planning a project which will create a web-based sound incubation environment; not really as a serious instrument, mainly as a massively collaborative musical toy/game/environment/something.

My main question is whether anyone can think of a suitable existing bit of open source software that I can use as an engine to drive this. Has to be open source - this will be a bid to a commission from an open source art foundation. There are several other aspects of the project that lend themselves to this - partly the collaborative aspect to the product and partly that we'll need to modify the software, and partly that it'll be good to allow other people to write add-ons to the project to expand its functionality.

I'm trying to figure out how I can make this work, both conceptually and technically, so I'm open to any suggestions. Because I use Reaktor a lot currently, and make big cascades of delays that evolve sounds for me, that's the picture I have in my head of the potential sound, but given that we need the system to be able to cope with lots of traffic, it probably needs to all work based in the user's computer. My programmer wants to try to write it entirely for the browser, in the ideal world with the end user not having to download anything. That said, one option is to use Lily, which is an open-source Firefox plugin that seems as though it might do what we want.

If there is an open source equivalent to Reaktor or Max/MSP that might be an alternative - for us to rig a version of that for users to install, to run the project. So - I wonder if pd is an option? I don't know that much about it.

I appreciate this is a long and fairly vague request; I'll stop here rather than go on but if anyone might have any ideas I'd be really grateful. If you have any questions I'll be happy to respond.

Thanks,

Tom
Back to top
View user's profile Send private message
blue hell
Site Admin


Joined: Apr 03, 2004
Posts: 24079
Location: The Netherlands, Enschede
Audio files: 278
G2 patch files: 320

PostPosted: Wed May 07, 2008 1:15 pm    Post subject: Re: browser-based open source Reaktor equivalent? Reply with quote  Mark this post and the followings unread

Tom Rea Smith wrote:
So - I wonder if pd is an option?



Could be, or ChucK ... let me see, if I'm not mistaken ... indeed, I'm not Wink

_________________
Jan
also .. could someone please turn down the thermostat a bit.
Posted Image, might have been reduced in size. Click Image to view fullscreen.
Back to top
View user's profile Send private message Visit poster's website
Tom Rea Smith



Joined: May 06, 2008
Posts: 7
Location: Liverpool, UK

PostPosted: Wed May 07, 2008 5:41 pm    Post subject: Reply with quote  Mark this post and the followings unread

Wow, thanks. Very interesting thread. I've passed it on to my programmer to look over.
Back to top
View user's profile Send private message
dewdrop_world



Joined: Aug 28, 2006
Posts: 858
Location: Guangzhou, China
Audio files: 4

PostPosted: Wed May 07, 2008 6:40 pm    Post subject: Reply with quote  Mark this post and the followings unread

Yet another mention of ChucK without a corresponding nod to SuperCollider... I'm telling you, this board is really biased against SuperCollider. I can't for the life of me figure out why.

James

_________________
ddw online: http://www.dewdrop-world.net
sc3 online: http://supercollider.sourceforge.net
Back to top
View user's profile Send private message Visit poster's website AIM Address
blue hell
Site Admin


Joined: Apr 03, 2004
Posts: 24079
Location: The Netherlands, Enschede
Audio files: 278
G2 patch files: 320

PostPosted: Wed May 07, 2008 6:54 pm    Post subject: Reply with quote  Mark this post and the followings unread

Sorry James, it's just that I knew of that thread ... SC can do it as well, sure.
_________________
Jan
also .. could someone please turn down the thermostat a bit.
Posted Image, might have been reduced in size. Click Image to view fullscreen.
Back to top
View user's profile Send private message Visit poster's website
Tom Rea Smith



Joined: May 06, 2008
Posts: 7
Location: Liverpool, UK

PostPosted: Fri May 09, 2008 12:42 pm    Post subject: Reply with quote  Mark this post and the followings unread

again, thanks very much - that's some good starting points.
Back to top
View user's profile Send private message
Kassen
Janitor
Janitor


Joined: Jul 06, 2004
Posts: 7678
Location: The Hague, NL
G2 patch files: 3

PostPosted: Fri May 09, 2008 1:24 pm    Post subject: Reply with quote  Mark this post and the followings unread

dewdrop_world wrote:
Yet another mention of ChucK without a corresponding nod to SuperCollider... I'm telling you, this board is really biased against SuperCollider. I can't for the life of me figure out why.


Well, I'm not. SC is great. If it weren't for ChucK I'd run SC.

Perhaps the board is in favour of ChucK out of a sense of pride of (by complete accident) becoming the official ChucK forum. I don't think either makes a lot of sense here as neither is remotely browser-based. Collisions, crashes (or near-misses these days, thanks to Dave); it's all good to me (though I have a habit of good natured sparring with senior SC users when I run into them).

What I'd pick as a foundation might be the brand spanking new (just read about it a hour ago) is the new port of Processing to Java-script.
http://ejohn.org/blog/processingjs/
This actually *will* run in a browser, it's build for multi-media.... the one issue is that it's sound facilities are limited compared to languages and systems dedicated to such tasks. Maybe I'd use Processing itself... Likely I'd try to go back a few steps and seriously wonder whether we really need such a thing in a browser.

This is a very tall order; SC, CK, PD, etc; they are all very specialised systems that are already dealing with a lot of limitations and constraints without involving a need for browsers....

On the other hand; extremely interesting work has been done in browser-based programming;
http://www.i2off.org/flaxus/

_________________
Kassen
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Kassen
Janitor
Janitor


Joined: Jul 06, 2004
Posts: 7678
Location: The Hague, NL
G2 patch files: 3

PostPosted: Fri May 09, 2008 1:32 pm    Post subject: Reply with quote  Mark this post and the followings unread

Blue Hell wrote:
Sorry James, it's just that I knew of that thread ... SC can do it as well, sure.


Erm, I don't think SC will run in a browser either.

Making a Reaktor-inspired application is a tall order already (and there I agree with James that SC would be a good choice as a foundation) but doing so in a browser is on a different level altogether.

Both SC and CK support remote connections but both also support calls to the underlying OS and I wouldn't be happy with that on a anonymous basis....

_________________
Kassen
Back to top
View user's profile Send private message Send e-mail Visit poster's website
blue hell
Site Admin


Joined: Apr 03, 2004
Posts: 24079
Location: The Netherlands, Enschede
Audio files: 278
G2 patch files: 320

PostPosted: Fri May 09, 2008 3:18 pm    Post subject: Reply with quote  Mark this post and the followings unread

Kassen wrote:
Erm, I don't think SC will run in a browser either.


Why would it have to , it could run on a server, not?

_________________
Jan
also .. could someone please turn down the thermostat a bit.
Posted Image, might have been reduced in size. Click Image to view fullscreen.
Back to top
View user's profile Send private message Visit poster's website
Kassen
Janitor
Janitor


Joined: Jul 06, 2004
Posts: 7678
Location: The Hague, NL
G2 patch files: 3

PostPosted: Fri May 09, 2008 3:43 pm    Post subject: Reply with quote  Mark this post and the followings unread

Blue Hell wrote:

Why would it have to , it could run on a server, not?


Yes, that would be a option. In that case I think a browser implementation (likely in Java) of the SC language combined with a server-side server connected to streaming audio and some caps to prevent abuse might be the best way to go? A chat-like interface to share classes and synths or info on those would be quite essential for real collaboration but that might indeed make sense.

Probably the best example of collaborative musical coding as a shared performance right now is Powerbooks Unpluged and they use SC in a way roughly like that but they are far from anonymous and in close real life communication as well. A online system would have larger hurdles there and a greater need for security and limitations.

_________________
Kassen
Back to top
View user's profile Send private message Send e-mail Visit poster's website
blue hell
Site Admin


Joined: Apr 03, 2004
Posts: 24079
Location: The Netherlands, Enschede
Audio files: 278
G2 patch files: 320

PostPosted: Fri May 09, 2008 5:08 pm    Post subject: Reply with quote  Mark this post and the followings unread

Didn't start thinking about security implications yet ... but your earlier links about browser based MM programs made me think of POW .. it seemed interesting within the context of this thread.
_________________
Jan
also .. could someone please turn down the thermostat a bit.
Posted Image, might have been reduced in size. Click Image to view fullscreen.
Back to top
View user's profile Send private message Visit poster's website
elektro80
Site Admin


Joined: Mar 25, 2003
Posts: 21959
Location: Norway
Audio files: 14

PostPosted: Fri May 09, 2008 5:50 pm    Post subject: Reply with quote  Mark this post and the followings unread

Kassen wrote:
Blue Hell wrote:
Sorry James, it's just that I knew of that thread ... SC can do it as well, sure.


Erm, I don't think SC will run in a browser either.

Making a Reaktor-inspired application is a tall order already (and there I agree with James that SC would be a good choice as a foundation) but doing so in a browser is on a different level altogether.

Both SC and CK support remote connections but both also support calls to the underlying OS and I wouldn't be happy with that on a anonymous basis....


Good points. A modern browser should basically be running in a sandbox mode and we are slowly getting there. I don´t think there is a way back though. Sandboxing is here to stay.

Running this on a server is possible but wouldn´t there be serious issues re CPU cycles and priorities. This would not be a reasonably near real time experience?

THe next option is to consider building an app that has browser features but doesn´t run in a sandbox.

_________________
A Charity Pantomime in aid of Paranoid Schizophrenics descended into chaos yesterday when someone shouted, "He's behind you!"

MySpace
SoundCloud
Flickr
Back to top
View user's profile Send private message Visit poster's website
Kassen
Janitor
Janitor


Joined: Jul 06, 2004
Posts: 7678
Location: The Hague, NL
G2 patch files: 3

PostPosted: Sat May 10, 2008 1:31 am    Post subject: Reply with quote  Mark this post and the followings unread

Yes, there are security implications; there are security implications to SC and CK already but likely we wouldn't normally be jamming with people we don't know.

I think this question is quite similar to browsers in that you have remote connections involving code. For better or worse; Java, Active-X and things like OSX calls to stuff like Quartz-Composer allow anonymous (or at least unknown) people to run code on your box.

The options -as I see them- are either limiting what can be done at all severely or sandboxing it all. Sandboxing needn't inherently mean a big performance hit, I used to do it all the time with OS/2 (It was the only way to run DOS games)... and when something goes wrong your just flush the whole sandbox. No big deal. Sandboxing could also help when somebody decides to use a thousand oscillators; ideally we'd like that to start giving drop-outs because the CPU percentage allocated to the sandbox runs out before the whole server buys the farm.

Personally I'd suggest having the clients take most of the actual rendering, also with a eye on scalability.

I don't think any of the issues here are unsolvable and indeed something like this plan may be the future of musical collaboration but it's not so easy either. I think I'd simply have one user "host" a setup with a streaming server and have the other players listen to the stream and join in using a remote interface, maybe using OSC. I'm not sure if Java in browsers can use Swing-OSC and connect to remote computers but that sounds like a more or less sensible approach.

_________________
Kassen
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Tom Rea Smith



Joined: May 06, 2008
Posts: 7
Location: Liverpool, UK

PostPosted: Sat May 10, 2008 2:57 am    Post subject: Reply with quote  Mark this post and the followings unread

Wow - this is all really useful stuff, thanks very much.

I guess I should go into a bit more detail about what my actual idea is. It's really sketchy and vague at the moment, that's why I didn't give you more to chew on at first, but this is what I'm thinking about:

I like the idea of this kind of horticultural metaphor: I want to create a kind of online musical garden. At the basic level I want users to be able to participate in two ways: either actively by tending the garden or passively by watching it grow.

Tending the garden will work like this: the user will choose a seed, and will then prepare a flowerbed for it - they'll be able to make some limited and imprecise changes to various variables. Then they plant it. I envisage this tending process to take a few minutes.

Over the next (x - maybe about 10) hours, the program incubates the seed, until eventually (y - 5-10) fruits pop out. Each fruit is unique, produced from its original seed treated with the variables set +/- (z) amount. Users can then pick the fruits, listen to them, extract the seeds and plant them in turn. I like the idea that each fruit will remain ripe for only a limited time (couple of days), but the seed that produced it will last indefinitely, so you can always re-plant, but even with the same variables selected the fruits would be slightly different. So if a user likes a particular seed line he can go back to it and follow it.

Watching the garden grow would consist of just that - logging in an listening to the sounds as they evolve.

Everything in italics is kind of up for grabs - I haven't really decided how exactly any of this would work. I kind of imagine that the conceptual what and technical how will evolve together; as we figure out what sort of form this flowerbed can take technically, that'll determine what we can make it do. I like the idea that this is a pleasant diversion rather than an in-depth tool - something my mum could play with. I like the idea that we're creating ongoing, ambient, evolving musical states rather than specifically designed linear pieces. I like the idea that tending the garden should not require too much technical knowledge - that said, I'm not really sure how far to extend the metaphor: whether the variables should be called things like water, fertiliser, light, or things like delay time, filter frequency, LFO rate, or whatever; or maybe I should have a switch that flips between the two.

This kind of flowerbedidea is kind inspired by how I've worked sometimes using reaktor - just set up a cascade with lots of delays feeding each other in a loop, with filters and (far too powerful) choruses and LFOs doing various stuff in between; drop some source audio into it, go away have a cup of tea, come back and see what the machine has done. Whether that can be made to run in a browser, and what form exactly it should take, is basically what I'm trying to figure out. So it doesn't need to be an instrument as such, that people could play with each other on in real-time; more a kind of incubator.

Different ways in which users can affect the music can be added over time - perhaps by contributing audio seed samples; perhaps some kind of sequencing/formal control (although I think it should be only very micro, like less than 4 bars, or very macro, eg more than 5 minutes).

Perhaps something can be done in terms of cross-breeding two different seed lines.

Challenges:

* need to figure out exactly what form this seed and evolution would take

* needs to run on the end-user's computer, I think, to avoid server processor overload.

* would rather avoid making people download things - if we're aiming it at a non-techno-savvy audience they're going to be nervous about that. It would also be nice if it was a website you could just go to and immediately engage with.

* needs to be something Pete can program. Mind you, Pete is shit hot.

* the 3rd generation needs to sound different to the 10th generation - if the fruits always sound basically the same there's little incentive to keep going.

* on the other hand there does need to be an evident thread between the generations - it can't change too far, in order to keep the idea of evolution and family resemblance going.

* to reduce processor and bandwidth loads, should probably be passing information between user and server as instruction data sets rather than as huge constantly streaming audio - this then will necessitate a codebook at each end containing a finite set of possibilities.

Not necessary:

* real-time control

* very high sound quality

I'm going to stop at this point because I've already written too much. Thanks very much for your help above - as I said the more I get to see what's possible technically, the more that will inform what we're thinking conceptually.

Last edited by Tom Rea Smith on Sat May 10, 2008 3:20 am; edited 1 time in total
Back to top
View user's profile Send private message
blue hell
Site Admin


Joined: Apr 03, 2004
Posts: 24079
Location: The Netherlands, Enschede
Audio files: 278
G2 patch files: 320

PostPosted: Sat May 10, 2008 3:10 am    Post subject: Reply with quote  Mark this post and the followings unread

Reads like a cool project, and it looks like Kassen was on the right track re. the system setup he had in mind.

One more thing to mention, although a different sort of project: sonobotanics. This one uses SuperCollider.

_________________
Jan
also .. could someone please turn down the thermostat a bit.
Posted Image, might have been reduced in size. Click Image to view fullscreen.
Back to top
View user's profile Send private message Visit poster's website
dewdrop_world



Joined: Aug 28, 2006
Posts: 858
Location: Guangzhou, China
Audio files: 4

PostPosted: Sat May 10, 2008 5:57 am    Post subject: Reply with quote  Mark this post and the followings unread

Just a quick note... I don't want to hijack this interesting and valuable thread! Anyway, saying that this board is biased against supercollider was deliberately provocative -- of course nobody here is intentionally biased in this way (I don't think). Still, the observation remains that when there's a question about programming languages for music, on this board the answer more often than not (passively, unintentionally) neglects environments other than ChucK.

Anyway, for client-side rendering, Kassen's right that neither ChucK nor supercollider would be the right choice. (If server-side rendering were right for this project, supercollider would have to be in the running because of the MP3 class extension by Dan Stowell, which uses curl and lame for streaming supercollider output in real time to a Web server, among other features.)

Hope to hear more about this project as it develops!
James

_________________
ddw online: http://www.dewdrop-world.net
sc3 online: http://supercollider.sourceforge.net
Back to top
View user's profile Send private message Visit poster's website AIM Address
Display posts from previous:   
Post new topic   Reply to topic
Page 1 of 1 [16 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
 Forum index » Instruments and Equipment » Modular Synthesis
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Forum with support of Syndicator RSS
Powered by phpBB © 2001, 2005 phpBB Group
Copyright © 2003 through 2009 by electro-music.com - Conditions Of Use