Author |
Message |
Inventor
Stream Operator
Joined: Oct 13, 2007 Posts: 6221 Location: near Austin, Tx, USA
Audio files: 267
|
Posted: Sun Jul 06, 2008 7:03 pm Post subject:
|
|
|
At some point perhaps we should notify the USCF and FIDE about this effort. They might be responsive and popularize it somehow, perhaps a brief mention in Chess Life Magazine or on their web page would be nice. _________________ "Let's make noise for peace." - Kijjaz |
|
Back to top
|
|
|
Kassen
Janitor
Joined: Jul 06, 2004 Posts: 7678 Location: The Hague, NL
G2 patch files: 3
|
|
Back to top
|
|
|
Acoustic Interloper
Joined: Jul 07, 2007 Posts: 2071 Location: Berks County, PA
Audio files: 89
|
Posted: Mon Jul 07, 2008 10:53 am Post subject:
|
|
|
Inventor wrote: | At some point perhaps we should notify the USCF and FIDE about this effort. They might be responsive and popularize it somehow, perhaps a brief mention in Chess Life Magazine or on their web page would be nice. |
OK by me.
I plan at some point to try to generalize this into a compositional approach for letting non-musicians who have some favorite board games make music by playing games and twiddling some knobs associated with those games. To do that, I have to write at least one more plugin for a different game, and get some captive game subjects. I'll be teaching university CS in a few months, and there is a prof in the music department who may be interested, so I'll probably write a paper, maybe for NIME, when I get the work done. _________________ When the stream is deep
my wild little dog frolics,
when shallow, she drinks. |
|
Back to top
|
|
|
Acoustic Interloper
Joined: Jul 07, 2007 Posts: 2071 Location: Berks County, PA
Audio files: 89
|
Posted: Sun Jul 13, 2008 7:06 pm Post subject:
|
|
|
Attached is the latest revision, a few new features and numerous bug fixes. chorusmanytones.ck, like manytones.ck, has 4 banks x 64 oscillators per bank, and is designed to run with testf(). While manytones.ck does OK under miniAudicle, chorusmanytones.ck hangs miniAudicle, but runs OK under command line ChucK.
EDIT: chess.zip attachment remove, see updated code from August 2 for latest version. _________________ When the stream is deep
my wild little dog frolics,
when shallow, she drinks. Last edited by Acoustic Interloper on Sat Aug 02, 2008 10:22 am; edited 1 time in total |
|
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: 2071 Location: Berks County, PA
Audio files: 89
|
Posted: Tue Jul 29, 2008 6:33 am Post subject:
|
|
|
Thanks, James. It'll be a few days until I do another round of playing with it -- I gave my current long-distance employer 2 weeks notice yesterday, and there's something that they want me to hurry up and do. (So of course I am catching up on the Forum first thing!) I want to stay in their good graces, and keep a few hours a week of contracting work after I start teaching in the fall.
I made some changes to my parts of the code as well, changed XML/RPC to UDP because XML/RPC on OSX was having horrible delays when used over a LAN (as opposed to within a single machine). Fixed some bugs, improved my ChucK patch, improved the GUI. If you want that now, I can post it, otherwise I'll wait until I get to try your patch out.
Did the UDP droppage you saw occur within a single machine, or across a LAN? I always run the chess server and the sound generator in the same machine, both to minimize packet loss and to minimize latency, and have not seen a problem (actually, haven't heard a problem). The GUIs can be distributed, and actually have fewer problems with UDP than with XML/RPC/TCP, which should be more reliable because it uses TCP, but the Python XML/RPC library on OSX is rather suspect.
Since you are still tweaking your patch, I'll wait a couple days to see if you post any changes. Will try it out by the weekend at latest, and put it into the next "release."
Have a good week! _________________ 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: Tue Jul 29, 2008 10:08 am Post subject:
|
|
|
Cool - I do have a couple of tweaks. I found a bug with the bishop sound and of course the other improvements I mentioned last night.
I tested just now in Windows and all the synthdefs load properly.
I only noticed UDP droppage when filling wavetable buffers with client data using OSC. I could avoid the problem by adding a short pause between buffers, which I guess allowed some buffer to clear. I haven't noticed it during sequencing in Windows at all -- compared to buffer population, where dozens of big datagrams might be sent in a fraction of a second, triggering even 20-30 notes at the same time is relatively cheap.
James _________________ ddw online: http://www.dewdrop-world.net
sc3 online: http://supercollider.sourceforge.net |
|
Back to top
|
|
|
dewdrop_world
Joined: Aug 28, 2006 Posts: 858 Location: Guangzhou, China
Audio files: 4
|
Posted: Tue Jul 29, 2008 8:30 pm Post subject:
|
|
|
Maybe another bug?
Doing some more testing tonight, I noticed that my supercollider client is receiving only 0 or 1 for piece type. Even if I bring the bishop out and directly threaten another piece, the bishop synth never gets called -- only pawn or knight.
Or maybe I misunderstood something in the protocol?
James _________________ ddw online: http://www.dewdrop-world.net
sc3 online: http://supercollider.sourceforge.net |
|
Back to top
|
|
|
Acoustic Interloper
Joined: Jul 07, 2007 Posts: 2071 Location: Berks County, PA
Audio files: 89
|
Posted: Wed Jul 30, 2008 6:46 am Post subject:
|
|
|
I haven't seen a problem with this, but you never know whether I broke something. Here's the ChucK code for comparison. It includes a print statement for debugging.
Code: |
OscRecv recv;
// port 7401 used by the chess program
57120 => recv.port;
// start listening (launch thread)
recv.listen();
// create an address in the receiver, store in new variable
recv.event( "list, i i f f f f i i i i i i" ) @=> OscEvent @ oe;
second => now ;
// infinite event loop
while( true )
{
// wait for event to arrive
oe => now;
// grab the next message from the queue.
while( oe.nextMsg() )
{
int bank, osc, player, piecetype, relationship ;
int otherplayer, otherpiecetype, movenumber ;
int piecediff, attacker, attackee ;
float freq, phase, leftampl, rightampl ;
// getFloat fetches the expected float (as indicated by "i f")
oe.getInt() => bank ;
oe.getInt() => osc ;
oe.getFloat() => freq ;
oe.getFloat() => phase ;
oe.getFloat() => leftampl ;
oe.getFloat() => rightampl ;
oe.getInt() => player ;
oe.getInt() => piecetype ;
oe.getInt() => relationship ;
oe.getInt() => otherplayer ;
oe.getInt() => otherpiecetype ;
oe.getInt() => movenumber ;
<<< "OSC:", bank, osc, freq, phase, leftampl, rightampl, player,
piecetype, relationship, otherplayer, otherpiecetype,
movenumber >>>;
|
Here is a trace from ChucK along with some comments I've added. This is an initial move of white's queen's pawn forward two spaces. There are lots of supporting relationships on this.
I suspect you are using the "player" field (black or white) instead of the "piecetype" field. Player will always be 0 for white or 1 for black in chess, although the intent is to support other games with more players.
The 5 fields in the protocol:
PLAYER PIECE RELATE OPLAYER OPIECE
are ordered that way so you can read left to right while debugging, e.g.,
white queen supports white pawn
as in the comments below.
Code: |
$ chuck --dac2 chorusmanytones.ck
OSC: 0 13 247.500000 0.000000 0.083074 0.020769 0 0 -2 -1 -1 1 (WHITE PAWN MOVED -- NO RELATIONSHIP
OSC: 0 13 -1.000000 -4.000000 0.000000 0.000000 -1 -1 -2 -1 -1 0
THAT -4.0 IS A DEBUG TRACE IN THE PHASE SLOT I USED TO TRACE
PACKETS. IT DOESN'T HURT ANYTHING.
PREVIOUS PAWN SILENCED HERE.
OSC: 0 14 82.500000 0.250000 0.000000 0.000000 0 0 2 0 4 1 WHITE PAWN SUPPORTED BY WHITE QUEEN
OSC: 0 14 -1.000000 -4.000000 0.000000 0.000000 -1 -1 -2 -1 -1 0 PREVIOUS SILENCED
OSC: 0 26 165.000000 0.000000 0.020769 0.005192 0 4 0 0 5 1 WHITE QUEEN SUPPORTS WHITE KING
OSC: 0 15 556.875000 0.250000 0.020769 0.005192 0 4 0 0 2 1 WHITE QUEEN SUPPORTS WHITE BISHOP
OSC: 0 19 82.500000 0.000000 0.020769 0.005192 0 4 0 0 0 1 WHITE QUEEN SUPPORTS WHITE PAWN
OSC: 0 20 371.250000 0.250000 0.020769 0.005192 0 4 0 0 0 1 ANOTHER ONE
OSC: 0 26 -1.000000 -4.000000 0.000000 0.000000 -1 -1 -2 -1 -1 0
SILENCE THE PREVIOUS SIMULTANEOUS CLUSTER OF NOTES . . .
OSC: 0 19 -1.000000 -4.000000 0.000000 0.000000 -1 -1 -2 -1 -1 0
OSC: 0 20 -1.000000 -4.000000 0.000000 0.000000 -1 -1 -2 -1 -1 0
OSC: 0 15 -1.000000 -4.000000 0.000000 0.000000 -1 -1 -2 -1 -1 0
OSC: 0 21 649.687500 0.000000 0.002077 0.008307 0 5 0 0 0 1 WHITE KING SUPPORTS WHITE PAWN
OSC: 0 22 185.625000 0.250000 0.002077 0.008307 0 5 0 0 2 1 WHITE KING SUPPORTS WHITE BISHOP
OSC: 0 0 550.000000 0.000000 0.002077 0.008307 0 5 0 0 4 1 WHITE KING SUPPORTS WHITE QUEEN
OSC: 0 1 550.000000 0.250000 0.002077 0.008307 0 2 0 0 0 1 WHITE BISHOP SUPPORTTS WHITE PAWN
OSC: 0 27 132.000000 0.000000 0.002077 0.008307 0 0 2 0 1 1 WHITE PAWN IS SUPPORTED BY WHITE KNIGHT
OSC: 0 0 -1.000000 -4.000000 0.000000 0.000000 -1 -1 -2 -1 -1 0
SILENCE PREVIOUS CLUSTER
OSC: 0 1 -1.000000 -4.000000 0.000000 0.000000 -1 -1 -2 -1 -1 0
OSC: 0 27 -1.000000 -4.000000 0.000000 0.000000 -1 -1 -2 -1 -1 0
OSC: 0 21 -1.000000 -4.000000 0.000000 0.000000 -1 -1 -2 -1 -1 0
OSC: 0 22 -1.000000 -4.000000 0.000000 0.000000 -1 -1 -2 -1 -1 0
OSC: 0 23 412.500000 0.250000 0.041537 0.010384 0 2 0 0 0 1 WHITE BISHOP SUPPORTS WHITE PAWN
OSC: 0 8 41.250000 0.000000 0.041537 0.010384 0 1 2 0 3 1 WHITE KNIGHT IS SUPPORTED BY WHITE ROOK
OSC: 0 8 -1.000000 -4.000000 0.000000 0.000000 -1 -1 -2 -1 -1 0
OSC: 0 23 -1.000000 -4.000000 0.000000 0.000000 -1 -1 -2 -1 -1 0
OSC: 0 9 275.000000 0.250000 0.000000 0.000000 0 3 0 0 1 1 WHITE ROOK SUPPORTS WHITE KNIGHT
OSC: 0 2 220.000000 0.000000 0.000000 0.000000 0 3 0 0 0 1 WHITE ROOK SUPPORTS WHITE PAWN
OSC: 0 9 -1.000000 -4.000000 0.000000 0.000000 -1 -1 -2 -1 -1 0
OSC: 0 2 -1.000000 -4.000000 0.000000 0.000000 -1 -1 -2 -1 -1 0
|
The Python generator triggers off of both piece types and inter-piece relationships. My ChucK patch does the same, for example giving more FX weight to little-attacks-big attack relationships than the other way around. There is certainly nothing wrong with keying primarily off of the piece types, though. You've got two of them, the mover and the target of the relationship, although if there is no receiver (always the case for the most recently moved piece if it has no relationships, such as a pawn-to-king-4 initial move), then the receiver player and piecetype are both -1 for unknown.
Hope this helps _________________ 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: Wed Jul 30, 2008 7:54 am Post subject:
|
|
|
I see... the protocol as described here says bank, osc, freq, phase, leftamp, rightamp, piece type, player but your code flips player and piece type.
Documentation is out of sync with the code then
I tracked down another problem this morning. When a king is put in check, lots of oscillators get triggered for just a millisecond or two. That's causing "zombie nodes" in sc that never get released, eventually overwhelming the CPU.
I can work around it by delaying all releases by, oh, I don't know, 20-30 milliseconds. But the shortest of my envelopes have a 10ms ramp-in so it seems to me that notes are generated that are not perceptually significant.
Is this intended? What does it sound like in ChucK?
James _________________ ddw online: http://www.dewdrop-world.net
sc3 online: http://supercollider.sourceforge.net |
|
Back to top
|
|
|
Acoustic Interloper
Joined: Jul 07, 2007 Posts: 2071 Location: Berks County, PA
Audio files: 89
|
Posted: Wed Jul 30, 2008 8:35 am Post subject:
|
|
|
dewdrop_world wrote: | I see... the protocol as described here says bank, osc, freq, phase, leftamp, rightamp, piece type, player but your code flips player and piece type.
Documentation is out of sync with the code then |
Thanks. I changed the order to facilitate debugging traces, and missed the docs. I'll fix the doc. Always good to have another set of eyeballs on the problem!
Quote: | I tracked down another problem this morning. When a king is put in check, lots of oscillators get triggered for just a millisecond or two. That's causing "zombie nodes" in sc that never get released, eventually overwhelming the CPU.
I can work around it by delaying all releases by, oh, I don't know, 20-30 milliseconds. But the shortest of my envelopes have a 10ms ramp-in so it seems to me that notes are generated that are not perceptually significant.
Is this intended? What does it sound like in ChucK?
James |
It sounds like hell, and the poorer the sound generator, the better the effect! I'll take a look at stretching out the timing on this. _________________ When the stream is deep
my wild little dog frolics,
when shallow, she drinks. |
|
Back to top
|
|
|
Acoustic Interloper
Joined: Jul 07, 2007 Posts: 2071 Location: Berks County, PA
Audio files: 89
|
Posted: Wed Jul 30, 2008 8:39 am Post subject:
|
|
|
The PROTOCOL_2.txt description is up to date and has the correct ordering for the OSC parameters. I am attaching the latest update from maybe a week ago, to make sure we are in sync.
I won't get to look at the check noise timing for a few days.
Have fun!
EDIT: chess.zip attachment remove, see updated code from August 2 for latest version. _________________ When the stream is deep
my wild little dog frolics,
when shallow, she drinks. Last edited by Acoustic Interloper on Sat Aug 02, 2008 10:23 am; edited 1 time in total |
|
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: 2071 Location: Berks County, PA
Audio files: 89
|
Posted: Fri Aug 01, 2008 7:49 am Post subject:
|
|
|
Thanks, James! I'll try it out and copy it into the EM2008 distribution (as it were) this weekend.
I took a look at the CHECK! Python code the other day, and the sequence of events should be:
1. Shut off all currently played notes.
2. Delay according to tempo.
3. Turn on two notes for every piecetype, one for support and one for conflict, across 5 octaves. This would give 2 x 6 x 5 = 60 simultaneous notes.
4. Delay according to tempo.
Repeat above until a move out of check is made.
I would expect all manner of clipping. I do scale the amplitudes back so that their sum should not exceed unity gain by much! So, I expect that it would be ugly, but once all 60 notes are turned on, I wouldn't expect any timing difference from a non-check board configuration. I'll do some debugging, but I am glad you found a workaround.
There was a ChucK release the other week, and a friend of mine at work said the former ChucK release sounded better (i.e., uglier) on CHECK than the new ChucK release.
Have a good weekend. _________________ When the stream is deep
my wild little dog frolics,
when shallow, she drinks. |
|
Back to top
|
|
|
Acoustic Interloper
Joined: Jul 07, 2007 Posts: 2071 Location: Berks County, PA
Audio files: 89
|
Posted: Sat Aug 02, 2008 10:18 am Post subject:
|
|
|
Sounds very nice! I like the contrasts between my ChucK tone generator and your SC generator! They probably reflect differences between your approach to composition and mine, and between our perspective on the chess pieces/relationships/moves mapping to music, and between ChucK and SC. Obviously, I get bored with my own compositions after a while, and it's a nice change to listen to yours while playing. I am probably going to hook up 2 computers at some point, one running ChucK and one SC, and send OSC packets to both, just to see how they sound together.
I fixed the King CHECK panic sound timing issue. But, you should definitely KEEP your code in place for dealing with notes that are too short in time. The player can set both the main tempo scaling factor and the factor that scales application of the users' move speed to tempo, to 0.0, so essentially SC or ChucK or Max can get hammered constantly with notes that steal working oscillators in a bank. They should not crash in this condition. They are free to go silent or drop notes or whatever is needed in this case, and obviously if the player does not like what he or she hears, the player can increase these timing scale factors. I played your SC patch for a while with these both set to 0.0, and it sounded just fine!
The CHECK bug itself was due to the fact that I was asking for more oscillators at a time than exist in a bank. When this happens, the code looks at running oscillators that have sustains set by the player, and steals the one with the lowest sustain. Since by default the sustain is 0, it would always just keep stealing the same oscillator, effectively turning it on and off at different frequencies. I put a fix in testg() only (which runs plugin pannerSustainInterpreter.py) to run only as many oscillators as it has in a bank at one time. It then waits according to tempo, zeroes all those oscillators, and does it again with some other notes. I also added some randomness here to make CHECK more dissonant.
I did not change this behavior in the other plugins, and, as noted above, it's a good idea for the sound generator to be able to deal with very rapid notes on-then-off, even if it deals with them by dropping them. I still occasionally see one of these appearing from somewhere else, presumably when some oscillator is arbitrary selected for reuse. Besides laziness on my part, other people may write plugins, possible some of my future students, so it's probably a good idea to be prepared for this condition.
You can now start this by entering './gamestart' in one terminal window from within the chess/chess/ directory, and entering './guistart' in another. The guistart can optionally be followed by an IP address if the game server process is on another machine on the lan, e.g., './guistart 192.168.1.3'. I plan to have two GUI terminals set up at EM2008.
The updated code is attached, including your patch. Thanks again! Have fun.
EDIT: See August 11 post below for the EM2008 Festival update of the chess program. _________________ When the stream is deep
my wild little dog frolics,
when shallow, she drinks. Last edited by Acoustic Interloper on Mon Aug 11, 2008 5:57 pm; edited 1 time in total |
|
Back to top
|
|
|
Inventor
Stream Operator
Joined: Oct 13, 2007 Posts: 6221 Location: near Austin, Tx, USA
Audio files: 267
|
Posted: Sat Aug 02, 2008 11:40 am Post subject:
|
|
|
i sent the following to the USCF:
Quote: | Hi,
Some friends and i in the music community have written a program that plays sounds in response to a game's tension, or whatever. Would you like to hear some games?
Les
|
_________________ "Let's make noise for peace." - Kijjaz |
|
Back to top
|
|
|
Acoustic Interloper
Joined: Jul 07, 2007 Posts: 2071 Location: Berks County, PA
Audio files: 89
|
Posted: Sat Aug 02, 2008 1:00 pm Post subject:
|
|
|
Thanks. It'll be interesting to see if anyone takes an interest.
I'll probably write a Scrabble server for this at some point. I wonder if I am allowed to say Scrabble(tm)?
A friend of mine pointed me at XBoard and GNU Chess. The former is a GUI that can talk to the latter; my friend thinks that they use stdin/stdout rather than pipes or sockets, but whatever they use, one could undoubtedly insert an interceptor to spy on the game and generate music. Presumaby this would entail both human-vs-human and human-vs-machine games.
I am teaching a grad course in UNIX System Programming for the first time this fall. Depending on the difficulty, I suspect I will have students integrate those above 2 programs with this chess-to-music program as one of their major programming projects. _________________ 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: 2071 Location: Berks County, PA
Audio files: 89
|
Posted: Sun Aug 03, 2008 11:33 am Post subject:
|
|
|
dewdrop_world wrote: |
I finally got around to listening to the MP3 game posted a while back -- interesting difference indeed. I get the feeling you're doing something different with sending a new frequency to an already-active oscillator. Right now I'm dropping the old synth and starting a new one for the new frequency (re-attacking the note). It wouldn't be hard to keep the same note but just change frequency. No time to try it at the moment, though...
James |
I don't know how much you got to play with the other, config parameter window that comes up. That's where a lot of the MP3's variability came from. I find myself playing those config parameters about 1/2 the time.
I hope you saw that window. I've been meaning to ask an OSX UI question about that. On my Macbook Pro if I have the OSX dock visible along the bottom margin of the screen, the 2 Python windows (chess board and config param window) are locked to the top left corner of the screen, one on top of the other, so you can only see one of the two at a time. If I move the OSX dock to the right vertical margin, then they become unglued from the top left corner, and I can move them around. I usually hide the OSX dock at that point to make more screen space.
Is there a simpler way to do it? It took some trial and error to figure this out.
Anyway, thanks for the update. I can actually double the number of oscillators used for CHECK, because right now I am using all odd bank generators (conflict), so I can double the number by adding the other bank. I'll play around with this with the SC and ChucK tone generators to see how it goes before I post the official EM2008 copy, including your upgraded SC patch with the correct file extensions.
One other note I should make for anyone writing a tone generator, is to make sure to have a compressor or other limiter, in case the game plugin swamps the tone generator with amplitude. Given the unknown nature of user plugins, watching out for excessive amplitude and 0-duration notes are probably good ideas. I used to have to tear my headphones off regularly while developing the ChucK patch, until I added a compressor to squash noise bursts!
I'll probably post the EM08 copy next weekend. Have a good week. _________________ When the stream is deep
my wild little dog frolics,
when shallow, she drinks. |
|
Back to top
|
|
|
Acoustic Interloper
Joined: Jul 07, 2007 Posts: 2071 Location: Berks County, PA
Audio files: 89
|
Posted: Sun Aug 03, 2008 12:11 pm Post subject:
|
|
|
dewdrop_world wrote: | I get the feeling you're doing something different with sending a new frequency to an already-active oscillator. Right now I'm dropping the old synth and starting a new one for the new frequency (re-attacking the note). It wouldn't be hard to keep the same note but just change frequency. No time to try it at the moment, though...
James |
Come to think of it, there are conditions where my ChucK patch slides from the old pitch to new pitch on a change to a running oscillator, an attempt at portamento. I think this happens on an attack relationship above a certain strength-differential threshold, with the note change timing tied to the pieceStrengthDifference. Also the bishop and rook have a LFO applied to their frequency when they are involved in an attack of a stronger piece. You might be hearing some of that _________________ When the stream is deep
my wild little dog frolics,
when shallow, she drinks. |
|
Back to top
|
|
|
Acoustic Interloper
Joined: Jul 07, 2007 Posts: 2071 Location: Berks County, PA
Audio files: 89
|
|
Back to top
|
|
|
Acoustic Interloper
Joined: Jul 07, 2007 Posts: 2071 Location: Berks County, PA
Audio files: 89
|
Posted: Mon Aug 18, 2008 12:12 pm Post subject:
|
|
|
Attendance at the chess game demo was pretty light, late Thursday evening, although I did get three people willing to play who were interested in what was going on, including both ChucK and SC sound generators. I think just setting this up as an installation piece would have been better, but I needed the equipment for other activities on other days. _________________ When the stream is deep
my wild little dog frolics,
when shallow, she drinks. |
|
Back to top
|
|
|
Acoustic Interloper
Joined: Jul 07, 2007 Posts: 2071 Location: Berks County, PA
Audio files: 89
|
Posted: Mon Mar 16, 2009 4:08 pm Post subject:
|
|
|
Quote: | Dear Dr. Dale Parson:
On behalf of the NIME 2009 Program Committee, I am delighted
to inform you that the following submission has been accepted
to appear at the conference:
Chess-based Composition and Improvisation for
Non-musicians
Your work has been selected as a Poster (2 pages in the
Proceedings).
The reviewers worked very hard to provide comments on
all the submitted papers. Please repay their efforts by
following their suggestions when you revise your paper.
Email will follow with instructions for submitting a final
manuscript for publication. We have decided to go with the
NIME tradition where authors retain copyrights, but we will
be asking you for explicit permission to publish your paper
and to make papers freely available online.
The reviews and comments are attached below. Again,
try to follow their advice when you revise your paper.
REVISED POSTER SUBMISSIONS ARE DUE APRIL 3.
Congratulations on your fine work. If you have any additional
questions, please feel free to get in touch. |
I had written a nice acknowledgements section with everybody who participated in this thread getting an honorable mention. But with the 6 page paper now at 2, I'll guess they'll have to go. Thanks in any case -- you know who you are.
This conference is a tough nut to crack, so getting a poster session is an accomplishment. I'll probably get a demo session; not sure. I'm excited.
My Java programming class is working on generating music from last semester's students' on-line Scrabble game that they wrote. Each word is a chord, with each tile being a note, with various config parameters determining block chord vs. arpeggios, what scale to use, etc. We're generating MIDI Sequences using a Java library. It's going quite well.
I'll post an example when it matures, probably in summer. _________________ When the stream is deep
my wild little dog frolics,
when shallow, she drinks. |
|
Back to top
|
|
|
blue hell
Site Admin
Joined: Apr 03, 2004 Posts: 24203 Location: The Netherlands, Enschede
Audio files: 281
G2 patch files: 320
|
Posted: Mon Mar 16, 2009 4:22 pm Post subject:
|
|
|
Ah, good news! And looking forward to examples from the scrabble machine. _________________ Jan
also .. could someone please turn down the thermostat a bit.
|
|
Back to top
|
|
|
Acoustic Interloper
Joined: Jul 07, 2007 Posts: 2071 Location: Berks County, PA
Audio files: 89
|
Posted: Thu Apr 02, 2009 7:01 pm Post subject:
Subject description: James Harkins in Sunny Pittsburgh in June |
|
|
I see that I am not the only person from this thread who will be attending NIME2009. Way to go, Dew Drop! Are you staying for the whole shebang? I'll be driving out the 3rd from Philly area, maybe with my son Jeremy along with me. I got 2 pages in the proceedings and a poster session that may become a hands-on demo of the chess game and some work my students and I have been doing with Scrabble in Java generating MIDI.
See you soon! _________________ When the stream is deep
my wild little dog frolics,
when shallow, she drinks. |
|
Back to top
|
|
|
|