Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
Intro
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  5 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Adrian Godwin  
View profile  
 More options Aug 1 2012, 5:58 pm
From: Adrian Godwin <artgod...@gmail.com>
Date: Wed, 1 Aug 2012 22:58:43 +0100
Local: Wed, Aug 1 2012 5:58 pm
Subject: Intro
Hi,

As I mentioned on the oxhack list, I'm very interested in this.

I keep finding a need for a system that triggers sounds, light etc. in
response to sensors. It seems to be a recurring requirement for art
installations of all kinds. I've worked on various systems using
discrete Mp3 players etc. but the falling cost of small computer
boards makes them an increasingly worthwhile choice.

So I'm looking for a scheduler for media events, ideally with fairly
low resources, easy to interface, turnkey operation. Sounds just
right. That leads to questions :

- For most jobs, the command-line version would probably be fine. It
would be handy to be able to run it on something as cheap as a linux
router (openwrt) or a raspberry pi. Does that smooth IDE generate
runtime controls that can be used in the command line environment ?

- you mention the possibility of multiple processors. What are your
thoughts in that direction ?

- I have a use for realtime control systems, where the runtime data
might be comparable with audio streams but there would be many of
them. perhaps using a realtime ethernet connection and fairly precise
scheduling of the consuming and producing tasks. Is this something
that would fit the architecture ?

-adrian


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Neil C Smith  
View profile  
 More options Aug 2 2012, 6:41 am
From: Neil C Smith <n...@neilcsmith.net>
Date: Thu, 2 Aug 2012 11:41:20 +0100
Local: Thurs, Aug 2 2012 6:41 am
Subject: Re: Intro
Hi Adrian,

Thanks for your email / interest.

On 1 August 2012 22:58, Adrian Godwin <artgod...@gmail.com> wrote:

> - For most jobs, the command-line version would probably be fine. It
> would be handy to be able to run it on something as cheap as a linux
> router (openwrt) or a raspberry pi.

Praxis might not be the answer here.  Sledgehammer to crack a nut
comes to mind!  It's not really aimed at running on embedded hardware,
and you've got the problem that the current free JVMs on ARM aren't
that fast.  It might be interesting to see if it were possible to get
anything useful running on a Raspberry Pi, but I think it's going to
struggle in the way of audio DSP or video processing! (not to mention
I'm not sure there's an official build of the OpenGL bindings)

Some sort of low-cost (recycled?) x86 computer is probably a more
likely candidate, or running something on the Pi's that could
communicate with a central computer running Praxis.

> Does that smooth IDE generate
> runtime controls that can be used in the command line environment ?

Not sure I understand the question?  If you mean is it possible to
control everything from the command line, then currently no though it
would be very little work to add in (just haven't needed it yet).  An
ncurses based UI might be an interesting hack (there is a Java
binding), but isn't on my radar at the moment.

> - you mention the possibility of multiple processors. What are your
> thoughts in that direction ?

Assuming you mean multiple discrete computers (not multiple cores /
CPUs in a single computer), then I do have some ideas of ways to
expand the Praxis hub over multiple units.  The bulk of the
architecture is designed with this possibility in mind, but I do need
to look into service discovery, clock sync and investigate the best
serialization method for sending messages across the network.  It's
possible I may use a custom OSC protocol for part of this system.  In
the shorter term I plan on adding a root capable of transmitting and
receiving OSC very soon, which will allow for testing some of these
ideas out and communicating with lots of other kit.

> - I have a use for realtime control systems, where the runtime data
> might be comparable with audio streams but there would be many of
> them. perhaps using a realtime ethernet connection and fairly precise
> scheduling of the consuming and producing tasks. Is this something
> that would fit the architecture ?

Could it, yes.  It depends exactly what you mean, and what the
controllers are.  If you can get them to talk OSC over the network,
then the addition of the above mentioned feature will work.  If
they're talking something custom, or you need to poll them, then it
would require a custom root to be written, but that's fairly simple (I
wrote one in a workshop to talk to an Arduino running Firmata in about
20min, which was then able to control any parameter in Praxis).
Another option might be to use MIDI with something like this -
http://www.kentonuk.com/products/select/proj-sel.shtml - which has the
benefit of being built in already.  Having said that, when you mention
the comparison with audio streams, are you really meaning something
with that amount of data / sample rate?  And, how many is 'many'?

Hope some of that helps.

Best wishes,

Neil

--
Neil C Smith
Artist : Technologist : Adviser
http://neilcsmith.net

Praxis - open-source intermedia system for live creative play -
http://code.google.com/p/praxis

OpenEye - specialist web solutions for the cultural, education,
charitable and local government sectors - http://openeye.info


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Adrian Godwin  
View profile  
 More options Aug 2 2012, 7:21 am
From: Adrian Godwin <artgod...@gmail.com>
Date: Thu, 2 Aug 2012 12:21:18 +0100
Local: Thurs, Aug 2 2012 7:21 am
Subject: Re: Intro
On Thu, Aug 2, 2012 at 11:41 AM, Neil C Smith <n...@neilcsmith.net> wrote:

> Praxis might not be the answer here.  Sledgehammer to crack a nut
> comes to mind!  It's not really aimed at running on embedded hardware,
> and you've got the problem that the current free JVMs on ARM aren't
> that fast.  It might be interesting to see if it were possible to get
> anything useful running on a Raspberry Pi, but I think it's going to
> struggle in the way of audio DSP or video processing! (not to mention
> I'm not sure there's an official build of the OpenGL bindings)

> Some sort of low-cost (recycled?) x86 computer is probably a more
> likely candidate, or running something on the Pi's that could
> communicate with a central computer running Praxis.

It would definitely be for low-end versions such as a couple of audio
streams, and yes, probably a sledgehammer  - but it's often useful to
be able to use the same tool everywhere, and the small boards are
getting more powerful (r-pi is perhaps comparable with a 5 year old
recycled pc ?)

>> Does that smooth IDE generate
>> runtime controls that can be used in the command line environment ?

> Not sure I understand the question?  If you mean is it possible to
> control everything from the command line, then currently no though it
> would be very little work to add in (just haven't needed it yet).  An
> ncurses based UI might be an interesting hack (there is a Java
> binding), but isn't on my radar at the moment.

I'm guessing at how things work as I haven't looked deeply into it.
But there's an example of a script, apparently to be run by a command
line tool. Is the LIVE version a visual editor that creates those
scripts and has less of a role at runtime, or is it a quite different
runtime environment ?

I'm thinking here as much about the turnkey aspect as the embedded one
- although the live aspects are useful, for a permanent installation
it wants to usable unattended and perhaps even resist tampering by
assistants.

Yes, multiple discrete computers.
The system I'm thinking of here has a number of self-contained units
dealing with different aspects of the installation. Some might be
motion controllers, others sound or light controllers. In that case,
each had its own scheduler but the events were triggered by a master
scheduler on yet another machine. This meant that higher bandwidth
requirements were localised, with only trigger information sent
globally. Is this a feasible architecture or would you do it a
different way if using Praxis ?

OSC is an interesting possibility. It's certainly something that would
be good to have for musical reasons, I'm not sure whether it would do
the job I've got in mind.

It's a bit speculative, but I'm looking at an application where motion
control algorithms are run in a PC (or, at least, a series of single
board computers running linux), whereas previously I used dedicated
boards for each axis. This takes advantage of the higher computational
power of these boards but also forces realtime requirements up to a
less customised system.

I have had previous experience of a realtime distributed system
running several hundred 32-bit data channels, some at 1000 samples per
second (it ran a race car's control systems). This required very
customised hardware and software, but it was a few years ago - maybe
it's now possible to recreate that using commodity hardware and a
well-organised data distribution system. The most difficult
requrements are the data throughput, and a desire to keep all channels
in synchronism to within 1 sample (at a seelction of sample rates).

I don't expect Praxis to be that system (yet), but I'm interested in
whether it's a direction it could take.

I've probably explained this in a fairly muddled way - I'm actually
looking at a spectrum of applications and wondering what range of them
Praxis might handle. I could probably divide them down into much more
precisely stated needs, but that would tend to assume my old solutions
and I'm interested to know whether a different approach would be
better. So I'm being deliberately vague in order to pick up on your
vision instead. Maybe I should present some scenarios to solve
instead, but that will get even more wordy.

> Hope some of that helps.

Thanks, yes.

-adrian


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Neil C Smith  
View profile  
 More options Aug 2 2012, 9:52 am
From: Neil C Smith <n...@neilcsmith.net>
Date: Thu, 2 Aug 2012 14:52:36 +0100
Local: Thurs, Aug 2 2012 9:52 am
Subject: Re: Intro
Hi,

On 2 August 2012 12:21, Adrian Godwin <artgod...@gmail.com> wrote:

> It would definitely be for low-end versions such as a couple of audio
> streams, and yes, probably a sledgehammer  - but it's often useful to
> be able to use the same tool everywhere,

+1

> and the small boards are
> getting more powerful (r-pi is perhaps comparable with a 5 year old
> recycled pc ?)

I'd be tempted to dispute that comparison - with little evidence to hand! :)

The main issue is one of x86 vs ARM, and the low performance of free
JVMs on ARM.  AFAIK the standard Fedora install for the Pi only has an
interpreter-only JVM, which is no good.  Debian might be better as it
does have JIT I believe, but still not anywhere near the performance
of OpenJDK on x86 (and that's without taking the relative performance
of the CPUs into account).

> I'm guessing at how things work as I haven't looked deeply into it.
> But there's an example of a script, apparently to be run by a command
> line tool. Is the LIVE version a visual editor that creates those
> scripts and has less of a role at runtime, or is it a quite different
> runtime environment ?

Pretty much.  Praxis (core) is a framework and command line launcher.
Praxis LIVE builds on top of the core to provide a live visual editor
and other tools.

> I'm thinking here as much about the turnkey aspect as the embedded one
> - although the live aspects are useful, for a permanent installation
> it wants to usable unattended and perhaps even resist tampering by
> assistants.

Yes, I use it to set up projects like that, and the command line
launcher is what I use for that.  It isn't in the current install at
the moment, though I can make you a build - I'm trying to get the two
things into a single install as so much code is shared.

The other thing coming very soon, which actually makes the command
line tool less necessary, is a runtime harness to allow projects to be
distributed as separate executables.

> Yes, multiple discrete computers.
> The system I'm thinking of here has a number of self-contained units
> dealing with different aspects of the installation. Some might be
> motion controllers, others sound or light controllers. In that case,
> each had its own scheduler but the events were triggered by a master
> scheduler on yet another machine. This meant that higher bandwidth
> requirements were localised, with only trigger information sent
> globally. Is this a feasible architecture or would you do it a
> different way if using Praxis ?

hmm .. not quite sure if I understand you.  If / when Praxis gains
this ability then events would be sent directly between the unit
creating it and the unit you want to receive it.  Assuming everything
is networked then I'm not sure why you *need* a central point, even
without using Praxis.

> OSC is an interesting possibility. It's certainly something that would
> be good to have for musical reasons, I'm not sure whether it would do
> the job I've got in mind.

It interests me far more than the musical aspect, because it's a
simple but still fairly lightweight networking protocol that ties in
nicely with the addressing and type system in Praxis.

It might (big might!) be possible, but I'm not sure it's the right
solution.  Praxis is not primarily a distributed system, it's a system
heavily inspired by distributed systems in order to solve another
problem - how to work with different media within a single system on a
single computer.  It is in some ways tangential to the initial problem
that Praxis might work well in a distributed way.

> I've probably explained this in a fairly muddled way - I'm actually
> looking at a spectrum of applications and wondering what range of them
> Praxis might handle. I could probably divide them down into much more
> precisely stated needs, but that would tend to assume my old solutions
> and I'm interested to know whether a different approach would be
> better. So I'm being deliberately vague in order to pick up on your
> vision instead. Maybe I should present some scenarios to solve
> instead, but that will get even more wordy.

Wordy in person might be better if you're down at Oxford hackspace sometime! :)

btw - away from my computer most of the next fortnight now, so
responses may be less immediate.

Best wishes,

Neil

--
Neil C Smith
Artist : Technologist : Adviser
http://neilcsmith.net

Praxis - open-source intermedia system for live creative play -
http://code.google.com/p/praxis

OpenEye - specialist web solutions for the cultural, education,
charitable and local government sectors - http://openeye.info


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Adrian Godwin  
View profile  
 More options Aug 2 2012, 10:36 am
From: Adrian Godwin <artgod...@gmail.com>
Date: Thu, 2 Aug 2012 15:36:22 +0100
Local: Thurs, Aug 2 2012 10:36 am
Subject: Re: Intro
On Thu, Aug 2, 2012 at 2:52 PM, Neil C Smith <n...@neilcsmith.net> wrote:

> I'd be tempted to dispute that comparison - with little evidence to hand! :)

Yes, I'm guessing, and your point about JVM is important - I hadn't
realised that was such an issue.

> hmm .. not quite sure if I understand you.  If / when Praxis gains
> this ability then events would be sent directly between the unit
> creating it and the unit you want to receive it.  Assuming everything
> is networked then I'm not sure why you *need* a central point, even
> without using Praxis.

No, it suited that setup, which was of a 'master' unit overseeing the
whole performance, but isn't essential.

> Wordy in person might be better if you're down at Oxford hackspace sometime! :)

Yes, might do that. I'm based in Bedford so Oxford isn't far.

> btw - away from my computer most of the next fortnight now, so
> responses may be less immediate.

Cheers, have a good holiday.

-adrian


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »