Author |
Message |
Acoustic Interloper
Joined: Jul 07, 2007 Posts: 2067 Location: Berks County, PA
Audio files: 89
|
Posted: Wed Jan 02, 2008 6:06 am Post subject:
|
|
|
Spent a bit more time studying the thread . . .
deknow wrote: |
how about a simple sequencing app that uses the microphone for input? have a "setup mode" that allows one to play a variety of drums (pots, pans, logs, nails, sticks, etc) to define each to control various sequencer tracks. once setup, these "analog" drums can be used to input the sequences...and anything available can be used as the drum controller...even beatboxing!
i wouldn't discount a code based app (like chuck) as well. remember, these computers are designed to introduce/foster computer skills and learning....having the result of one's first attempt at coding be music rather than "hello world" printed on the screen might actually be progress.
deknow |
I agree these are both good ideas, although of course decent mics can be a cost problem. And ChucK instead of CSound appeals to me, at least initially to attract music programmers to the platform to build some tools. (OK, I never got very good with CSound ) The mics are culture neutral and instrument neutral. I also think kids will like to record and mix -- I know mine does -- and that doesn't require a lot of local customization.
I mentioned CSound's presence on the $100 laptop to Ge at the EM07 ChucK tutorial -- he knew about at -- and asked whether he thought ChucK would be a better idea. He smiled.
My own background plan has been to try to engage a piece of this if and when I get back into teaching college. There is some non-zero probability of that, since I am job hunting this year. Ultimately I think some research of the music of locale(s) where these devices are headed is necessary. _________________ When the stream is deep
my wild little dog frolics,
when shallow, she drinks. |
|
Back to top
|
|
|
Kassen
Janitor
Joined: Jul 06, 2004 Posts: 7678 Location: The Hague, NL
G2 patch files: 3
|
Posted: Wed Jan 02, 2008 7:25 am Post subject:
|
|
|
Acoustic Interloper wrote: |
I mentioned CSound's presence on the $100 laptop to Ge at the EM07 ChucK tutorial -- he knew about at -- and asked whether he thought ChucK would be a better idea. He smiled.
|
Yeah, and it's easy to see why, I think.
If we are talking about what ChucK actually "is", a fairly accessible syntax and a certain way of dealing with the compiler and VM then yeah, that's a very good idea.
But. if we are looking at today's practice with relatively high CPU costs and no garbage collection for memory in combination with the modest specs of that laptop then I think there are some significant issues there.
Csound, while we have to respect it, looks fairly primitive to me on a syntax level but it does scale down well as it has a lot less emphasis on realtime usage so that might be more appropriate in that context.
I also suspect that once ChucK gets more facilities to interact with running programs on a programming level it's educational value for learning to program will go up a lot. At least over the past half year or so we have made a lot of progress in preventing one type from bringing down the whole VM but it could be a lot more friendly still.
Basically I think it needs some more time, which is nothing to be ashamed of if we compare Csound's age to ChucK's. _________________ Kassen |
|
Back to top
|
|
|
dewdrop_world
Joined: Aug 28, 2006 Posts: 858 Location: Guangzhou, China
Audio files: 4
|
Posted: Thu Jan 03, 2008 8:33 am Post subject:
|
|
|
Acoustic Interloper wrote: | ... ChucK instead of CSound ... |
*ahem* *koff* *clears throat* ... SuperCollider?
Let's see...
- it's free
- interactive, realtime
- has GC
- is stable (if it crashes/hangs, more likely it's your mistake, not the engine's)
What OS is on the $100 laptop anyway? (BTW some major improvements were made in the Windows version of SC just recently... still needs some fine tuning but it's very nearly there.)
James _________________ ddw online: http://www.dewdrop-world.net
sc3 online: http://supercollider.sourceforge.net |
|
Back to top
|
|
|
Acoustic Interloper
Joined: Jul 07, 2007 Posts: 2067 Location: Berks County, PA
Audio files: 89
|
Posted: Thu Jan 03, 2008 10:07 am Post subject:
|
|
|
dewdrop_world wrote: | *ahem* *koff* *clears throat* ... SuperCollider? |
I reckon whoever has time to step up to the plate can steer that decision. I don't really know the run-time tradeoffs among CSound, SuperCollider and ChucK. On the one hand, something compiled & small footprint for efficiency would be nice. On the other hand, so would an interactive interpreter.
Quote: | What OS is on the $100 laptop anyway? |
From http://laptop.org/laptop/software/specs.shtml
Quote: |
We are using components from Red Hat's Fedora Core 6 version of the Linux operating system; we are tracking the main kernel fairly closely.
We will support five programming environments on the laptop: (1) Python, from which we have built our user interface and our activity model; (2) Javascript for browser-based scripting; (3) Csound, a programmable music and audio environment; (4) Squeak, a version of Smalltalk embedded into a media-rich authoring environment; and (5) Logo. We will also provide some support for Java and Flash.
Applications will include a web browser built on Xulrunner, the run-time environment used by the Firefox browser; a simple document viewer based upon Evince; the AbiWord wordprocessor, an RSS reader, an email client, chat client, VOIP client; a journal; a multimedia authoring and playback environment; a music composition toolkit, graphics toolkits, games, a shell, and a debugger.
Libraries and plugins used by OLPC include Xul, GTK+, Matchbox, Sugar, Pango, ATK, Cairo, X Window System, Avahi, and gstreamer.
|
_________________ When the stream is deep
my wild little dog frolics,
when shallow, she drinks. |
|
Back to top
|
|
|
dewdrop_world
Joined: Aug 28, 2006 Posts: 858 Location: Guangzhou, China
Audio files: 4
|
Posted: Thu Jan 03, 2008 8:23 pm Post subject:
|
|
|
Acoustic Interloper wrote: |
I reckon whoever has time to step up to the plate can steer that decision. I don't really know the run-time tradeoffs among CSound, SuperCollider and ChucK. On the one hand, something compiled & small footprint for efficiency would be nice. On the other hand, so would an interactive interpreter. |
SuperCollider is pretty CPU efficient, and generally not memory hungry either (unless you load hundreds of large soundfiles into RAM). It also has been working well with Linux for a long time. I think most Linuxers use the emacs front end, though I've heard talk recently of a scvim project... somebody else might have hacked up some other kind of interface also.
hjh _________________ ddw online: http://www.dewdrop-world.net
sc3 online: http://supercollider.sourceforge.net |
|
Back to top
|
|
|
Acoustic Interloper
Joined: Jul 07, 2007 Posts: 2067 Location: Berks County, PA
Audio files: 89
|
Posted: Thu Jan 03, 2008 8:39 pm Post subject:
|
|
|
Here's another bit of perspective on this "Which sound language" consideration. My latest composition (more raw material generator than finished product) was the chess game my son & I played on the New Year's Eve webcast. Most of the logic was done in Python. The sound generation was done in MAX/MSP, my first use of MAX/MSP. I also figure on doing the equivalent ChucK and SC sound generator to compare both difficulty and sounds at some point when I have time.
Based on this experience and on my programming background in Python, I'd be very happy doing the composition/improv logic in Python and the sound generation in MAX/MSP or ChucK or SC or maybe even CSound. There don't seem to be any performance problems in doing the Python logic --> MAX/MSP signal processing communication via UDP. Maybe if this data flow was going both ways, e.g., FFT and similar analysis in MAX/MSP or SC etc. --> Python, and then generation in Python --> MAX/MSP or SC etc., I'd see some latency issues. Not sure.
So, there may be performance issues for *some* applications in going to multiple processes, although SC is already multiple processes, and so SC might be the best way to use Python as a programming front end, which communicates directly with the SC back end process. Some people might see a "conceptual integrity" advantage to staying in one language, but I am so used to working with multi-language embedded systems, that personally I'd just as soon keep the logic in Python. And using a language like Python definitely makes a lot of library code immediately available.
This is partly a question that relates to my own working methods, i.e., why not just program in Python and have that talk to a DSP process like MAX/MSP or SC ot ChucK. Works for me, anyway.
The issue relating to this thread and music on OLPC is: Maybe programming in Python & driving a CSound sound generator isn't so bad. I don't remember if CSound has any anaylsis capability such as FFT. I don't recall it having any. I'm not sure about kids in developing countries, but I'd be a MUCH faster adopter of SC if I could just drive the back end from a Python process and not learning yet another language.
Imagine that, programming language overload, after all these years! I must be getting old. _________________ When the stream is deep
my wild little dog frolics,
when shallow, she drinks. |
|
Back to top
|
|
|
dewdrop_world
Joined: Aug 28, 2006 Posts: 858 Location: Guangzhou, China
Audio files: 4
|
|
Back to top
|
|
|
Acoustic Interloper
Joined: Jul 07, 2007 Posts: 2067 Location: Berks County, PA
Audio files: 89
|
Posted: Thu Jan 03, 2008 9:56 pm Post subject:
|
|
|
Yep, that looks interesting. For me it would boil down to how intuitive is the SC engine, and how good a job did the Python library programmers do? Driving MAX/MSP from Python was pretty easy. For OLPC SC has the obvious advantage of being open source, and unlike ChucK, the 'rendering' engine has been separated out.
Man, do I wish I had some free time. I finally took a 2 week vacation to do that chess music program, and now I got a consulting client breathing down my neck for a deliverable that I sort of promised for today.
2008: back to the bullshit. _________________ When the stream is deep
my wild little dog frolics,
when shallow, she drinks. |
|
Back to top
|
|
|
dewdrop_world
Joined: Aug 28, 2006 Posts: 858 Location: Guangzhou, China
Audio files: 4
|
Posted: Fri Jan 04, 2008 10:38 am Post subject:
|
|
|
Acoustic Interloper wrote: | Yep, that looks interesting. For me it would boil down to how intuitive is the SC engine, and how good a job did the Python library programmers do? |
IIUC the SuperCollider language is still needed to produce synthdefs (which are binary representations of the UGen graphs that the engine evaluates). I don't think anybody has ported the synthdef builder and all the UGen classes to another language, because the logic is quite involved... fairly elegantly realized as far as I can see, but not simple.
That doesn't have to be a huge obstacle, though, because it's a lot easier to learn how to write a graph than it is to learn how to write complex logic in SuperCollider.
Code: | SynthDef('sineGrain', { arg freq = 440, amp = 1, dur = 0.1, out = 0;
var sig = SinOsc.ar(freq, 0, amp)
* EnvGen.kr(Env.perc(0.01, dur), doneAction: 2);
Out.ar(out, sig);
}).load(s); |
Using load saves the binary representation to disk (weird name? maybe, but it means "ask the server to LOAD the scsyndef file that I've just saved") -- scsynth reads the disk files at startup so you can keep a pretty big library, and only need to touch SC when you need a new synthdef.
The construction SinOsc.ar( ... ) * EnvGen.kr( ... ) is pretty intuitive, and in fact it does exactly what you think it would: the SinOsc and EnvGen ugens feed into a multiplication BinaryOpUGen for amplitude scaling.
*boop*
You can read over the server command reference at this URL (sorry, the *'s in the path break the hotlink), but that's pretty low level. But, this is what the python libraries are abstracting.
http://supercollider.svn.sourceforge.net/viewvc/*checkout*/supercollider/trunk/build/Help/ServerArchitecture/Server-Command-Reference.html
Acoustic Interloper wrote: | Man, do I wish I had some free time. I finally took a 2 week vacation to do that chess music program, and now I got a consulting client breathing down my neck for a deliverable that I sort of promised for today.
2008: back to the bullshit. |
Yup. I like my job but hate that it takes 10 hours out of my day including commute.
James _________________ ddw online: http://www.dewdrop-world.net
sc3 online: http://supercollider.sourceforge.net |
|
Back to top
|
|
|
Acoustic Interloper
Joined: Jul 07, 2007 Posts: 2067 Location: Berks County, PA
Audio files: 89
|
Posted: Fri Jan 04, 2008 12:38 pm Post subject:
|
|
|
Here's a good one. One of the Pennsylvania state system universities to which I sent an application for assoc. prof of CS called me for a phone screening this morning. One question was roughly, "What contribution would you make in the first year?" After talking about course stuff, I said that extending the music software base for the OLPC seemed like a project that could get some funds, and that could employ some undergrads in porting and interconnetcing media libraries, especially music libraries, that already exist. Fund-able and amenable to undergrad research.
They replied that the education dept. has a lab (not sure if for pre-school or elementary kids) for which the NSF has just given a grant for the CS and ED people to collaborate on software for kids for the OLPC. Right in the pocket! "Use the Force, Luke." Now, if I get offered a job and decide to accept, I'll live happily ever after. Right? _________________ When the stream is deep
my wild little dog frolics,
when shallow, she drinks. |
|
Back to top
|
|
|
deknow
Joined: Sep 15, 2004 Posts: 1307 Location: Leominster, MA (USA)
G2 patch files: 15
|
Posted: Fri Jan 04, 2008 4:48 pm Post subject:
|
|
|
hey dale, that sounds great!
deknow |
|
Back to top
|
|
|
EdisonRex
Site Admin
Joined: Mar 07, 2007 Posts: 4579 Location: London, UK
Audio files: 172
|
Posted: Fri Jan 04, 2008 5:32 pm Post subject:
|
|
|
Acoustic Interloper wrote: | Here's a good one. One of the Pennsylvania state system universities to which I sent an application for assoc. prof of CS called me for a phone screening this morning. One question was roughly, "What contribution would you make in the first year?" After talking about course stuff, I said that extending the music software base for the OLPC seemed like a project that could get some funds, and that could employ some undergrads in porting and interconnetcing media libraries, especially music libraries, that already exist. Fund-able and amenable to undergrad research.
They replied that the education dept. has a lab (not sure if for pre-school or elementary kids) for which the NSF has just given a grant for the CS and ED people to collaborate on software for kids for the OLPC. Right in the pocket! "Use the Force, Luke." Now, if I get offered a job and decide to accept, I'll live happily ever after. Right? |
Nothing like thinking about it at the right time.
Good luck. And good skill too. _________________ Garret: It's so retro.
EGM: What does retro mean to you?
Parker: Like, old and outdated.
Home,My Studio,and another view |
|
Back to top
|
|
|
deknow
Joined: Sep 15, 2004 Posts: 1307 Location: Leominster, MA (USA)
G2 patch files: 15
|
Posted: Fri Jan 04, 2008 5:53 pm Post subject:
|
|
|
Quote: | decent mics can be a cost problem |
no, there is a built in mic!
deknow |
|
Back to top
|
|
|
|