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 
go to the radio page Live at electro-music.com radio 1 Please visit the chat
poster
 Forum index » Discussion » Composition
glass-bead game
Post new topic   Reply to topic Moderators: elektro80
Page 5 of 7 [155 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
Goto page: Previous 1, 2, 3, 4, 5, 6, 7 Next
Author Message
Acoustic Interloper



Joined: Jul 07, 2007
Posts: 2067
Location: Berks County, PA
Audio files: 89

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

dewdrop_world wrote:
To use SC as the engine, chessgame.py needs to be edited to create the tonegen object with port 57120 (SC's receiving port for the language side).


OK, here's the ChucK full implementation, with much thanks to Inventor, Kassen and James for spurring me on.

The noise is gone. It was a combination of the ramping and disconnection of zeroed oscillators via =< (thanks, Kassen) after the ramp time. Sounds about like what you just described for SC. I allocate a shred for every oscillator just to do this =< garbage collection, and the shreds don't cost much; they mostly sit; the connected, zeroed generators were costing way more; CPU dropped significantly.

This is cleaner sounding than Max, which probably means a patch problem in Max. I wanna get to run SC, but I'm being called away by the family.

I set the UDP port to 57120 in Python, max and ChucK, so you won't have to change this for SC.

happy chess playing!


chesstones.ck
 Description:

Download
 Filename:  chesstones.ck
 Filesize:  5.84 KB
 Downloaded:  519 Time(s)


_________________
When the stream is deep
my wild little dog frolics,
when shallow, she drinks.
Back to top
View user's profile Send private message Visit poster's website
Acoustic Interloper



Joined: Jul 07, 2007
Posts: 2067
Location: Berks County, PA
Audio files: 89

PostPosted: Wed Jun 18, 2008 3:27 pm    Post subject: Reply with quote  Mark this post and the followings unread

Incidentally, ChucK occasionally complained about an out-of-bounds array index. I don't if it's an offending bank or osc number; I just throw it away in ChucK for now, but I have to go look at Python some time. Embarassed

Off to supper!

_________________
When the stream is deep
my wild little dog frolics,
when shallow, she drinks.
Back to top
View user's profile Send private message Visit poster's website
Inventor
Stream Operator


Joined: Oct 13, 2007
Posts: 6221
Location: near Austin, Tx, USA
Audio files: 267

PostPosted: Wed Jun 18, 2008 4:04 pm    Post subject: Reply with quote  Mark this post and the followings unread

I'm glad the ChucKing is going well, sorry about not ramping and not remembering to unChucK unused resources. I guess I didn't think it through. It's all good anyway!
_________________
"Let's make noise for peace." - Kijjaz
Back to top
View user's profile Send private message Send e-mail
Acoustic Interloper



Joined: Jul 07, 2007
Posts: 2067
Location: Berks County, PA
Audio files: 89

PostPosted: Wed Jun 18, 2008 6:35 pm    Post subject: Reply with quote  Mark this post and the followings unread

Inventor wrote:
I'm glad the ChucKing is going well, sorry about not ramping and not remembering to unChucK unused resources. I guess I didn't think it through. It's all good anyway!

No need to be sorry. If I ever wrote a program that worked as I hoped the first time through, I think the skies would open. angel sunny

Thanks again.

_________________
When the stream is deep
my wild little dog frolics,
when shallow, she drinks.
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: Wed Jun 18, 2008 7:33 pm    Post subject: Reply with quote  Mark this post and the followings unread

Here's a supercollider update to handle all types of releases correctly. The release condition is frequency <= 0 OR both amplitudes exactly 0.

When I get a chance (not tonight) I might design some more interesting sounds. Having an encoding for the type of piece would be very cool.

James


chess-music.txt
 Description:

Download
 Filename:  chess-music.txt
 Filesize:  3.42 KB
 Downloaded:  364 Time(s)


_________________
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
dewdrop_world



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

PostPosted: Wed Jun 18, 2008 7:43 pm    Post subject: Reply with quote  Mark this post and the followings unread

Acoustic Interloper wrote:
Incidentally, ChucK occasionally complained about an out-of-bounds array index. I don't if it's an offending bank or osc number; I just throw it away in ChucK for now, but I have to go look at Python some time. Embarassed

Off to supper!


I think it's a bank number. I got a number of these:

Code:
   Object:doesNotUnderstand   0F313B50
      arg this = nil
      arg selector = 'at'
      arg args = [*1]
   <closed FunctionDef>   0F370190
      arg cmd = 'list'
      arg bank = 2      <<---- banks should be 0 or 1?
      arg osc = 0
      arg freq = 0.0
      arg phase = 0.0
      arg left = 0.0
      arg right = 0.0


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
Acoustic Interloper



Joined: Jul 07, 2007
Posts: 2067
Location: Berks County, PA
Audio files: 89

PostPosted: Thu Jun 19, 2008 9:01 am    Post subject: Reply with quote  Mark this post and the followings unread

EDIT: The OSC protocol described in this post is out of date. Please consult the PROTOCOL_2.txt file in the latest chess/ source code posting for accurate protocol info.

dewdrop_world wrote:
Here's a supercollider update to handle all types of releases correctly. The release condition is frequency <= 0 OR both amplitudes exactly 0.

I am not getting any sound out of SC. Previously I got sound out of the test case, but even that is not working. At least I know how to set my audio output interface correctly, and that was working before.

EDIT: I am using port 57120 for UDP, not working.

I tried following the instructions to highlight everything between the parens and "run" (selected from the menu), but I don't hear anything. Any suggestions? Thanks.

I will debug bank == 2 this weekend, and also hope to make the following enhancements to the UDP datagram format. I had considered using some of the unused bits in the current fields, but since this changes the protocol, anyway, I figured I might as well just add some fields and not force the sound designer to do extra work. I want to make this so one could conceivably generate music from another board game -- my wife and I play a lot of Scrabble -- so here is what I am thinking about the UDP protocol.

I am looking for feedback before I implement this from anyone who would like to express it. Thanks in advance! Please note that use of the new fields by the sound generation program is optional, although they must be parsed from the OSC/UDP datagram.

THE PROTOCOL:

1. bank(int) As currently defined, a bank of sound generators. Currently only 0 and 1 are used for the chess game.

The proposed protocol will allow optional additional banks. Also, any even numbered bank (l.s.bit == 0) signifies a support relationship in the game, an odd bank (l.s.bit == 1) signifies a conflict relationship. A bank number can exceed a sound generator's available banks, in which case the sound generator can either A) map the bank into one of its own banks (e.g., by setting realbank = bank MODULO numberOfBanksInSoundGenerator, or some other mapping), or the sound generator can B) silently discard the message.

2. oscindex(int) As currently defined, an offset into bank of sound generators. Currently 0 through 31 are used for the chess game. This value can be higher than the number supported by the sound generator, in which case it can either A) map it to a valid oscindex using modulo or similar, or B) discard. See similar comments for the bank number.

3. frequency(float) in Hz or -1.0 to signify "ramp down the oscillator to 0 amplitude without changing the frequency." The -1.0 value is deprecated at this point, since it is redundant with a pair of amplitude fields equal to 0.0.

4. phase(float) between 0.0 and 1.0 inclusive, or -1.0 (deprecated) similar to frequency. -1.0 occurs for both fields only on zero total amplitude.

5. left amplitude(float) between 0.0 and 1.0 inclusive. A pair of left/right amplitudes of 0.0 signify ramping the oscillator down to 0.0 amplitude and then freeing its resources if appropriate. A given oscillator in a bank may be reused repeatedly, with or without being zeroed in between. In general changes in amplitude should be ramped in order to avoid glitchy noise -- there may be a lot of rapid changes and oscillator use/zeroing/reuse from a game -- but this is up to the sound module designer. Maybe they want noise.

6. right amplitude(float) between 0.0 and 1.0 inclusive. Comments for left amplitude also apply here.

7. piece type(integer, use optional) from 0 through top piece in the game, whose relationship is being played. For the chess game these values are:
0 - pawn
1 - knight
2 - bishop
3 - rook
4 - queen
5 - king
These values could go higher for other games, so a sound generator must map "illegal" values into its valid range, or discard such sounds, as for other extensible fields defined in the protocol. Values in general should ascend, based on the value of a piece, move, or board configuration in a game. A sound generator can also ignore this optional field and generate sounds based on other fields in the message.

For example, generating sounds from a Scrabble(tm) game might pass the index of the highest letter, 'A' through 'Z' as 0 through 25, of a player's move. Alternatively, it might map the score value of a move into a range of buckets 0 .. N-1 giving a mapping of the overall value of the move.

8. player(integer, use optional) 0 through highest player-1 inclusive, in chess 0 for white and 1 for black. These values could go higher for other games, so a sound generator must map "illegal" values into its valid range, or discard such sounds, as for other extensible fields defined in the protocol. A sound generator can also ignore this optional field and generate sounds based on other fields in the message.

9. relationship(integer, use optional) of this tone. The chess program, and likely other future game programs, generate tones based on relationships of a piece being moved. For chess these relationships are:
0 - I support another piece
1 - I attack another piece
2 - I am supported by another piece
3 - I am attacked by another piece.
Odd values (l.s.bit == 1) always signify a conflict relationship, similar to the bank number. Even values signify support. These values could go higher for other games, so a sound generator must map "illegal" values into its valid range, or discard such sounds, as for other extensible fields defined in the protocol. A sound generator can also ignore this optional field and generate sounds based on other fields in the message.

Note that the Python chess program internally uses the piece type, player and relationship values in generating the preceding fields bank .. right amplitude, which is one reason why use of these fields is optional and they were not in the original protocol. The fields are present in the UDP datagram and must be extracted, but their use in the sound generator is not required. Where used, the even versus odd mapping for support versus conflict of the bank number and relationship fields can be used to select pleasant versus harsh timbre or effects. Mapping of the optional fields is always at the discretion of the sound module designer.

END OF PROTOCOL PROPOSAL

Why do I get the feeling there is going to be a graphical "Glass Bead Game" to play with eventually Cool Question

_________________
When the stream is deep
my wild little dog frolics,
when shallow, she drinks.

Last edited by Acoustic Interloper on Wed Jul 30, 2008 8:41 am; edited 1 time in total
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: Thu Jun 19, 2008 10:56 am    Post subject: Reply with quote  Mark this post and the followings unread

Acoustic Interloper wrote:
I am not getting any sound out of SC. Previously I got sound out of the test case, but even that is not working. At least I know how to set my audio output interface correctly, and that was working before.

EDIT: I am using port 57120 for UDP, not working.

I tried following the instructions to highlight everything between the parens and "run" (selected from the menu), but I don't hear anything. Any suggestions? Thanks.


Select everything between ~chessAudio = ... and ~run.() and then press ctrl-return (in Psycollider - using SuperCollider.app on mac it's the keypad enter key). You should see "nil" appear in the post window followed by scsynth initialization text (if the server is not already booted) and the server window should show 9 UGens, 1 Synth and 3 Groups. (Number of synthdefs may vary depending on extension libraries.)

I don't have python set up on my work machine, but the test code - SC sending OSC to itself - does produce sound.

The "run" menu option is basically unused - it calls into Main's run method. It's misleading (I think it's a stupid name in the menu), but it isn't a synonym for "run the selected code." You have to use ctrl-return for that.

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
Acoustic Interloper



Joined: Jul 07, 2007
Posts: 2067
Location: Berks County, PA
Audio files: 89

PostPosted: Thu Jun 19, 2008 2:41 pm    Post subject: Reply with quote  Mark this post and the followings unread

dewdrop_world wrote:

I don't have python set up on my work machine, but the test code - SC sending OSC to itself - does produce sound.

It works like a charm with the chess program, and sounds great!

I was going to post a sample of chess -> SC, but my daughter has just pinged me to help with something else, so maybe later tonight . . .

Edit: Are you going to be at EM08? I am scheduled to give a 1 hour hands-on demo of this (more or less an installation+poster), and would like to show a couple of sound generators, including yours.

Nice work.

_________________
When the stream is deep
my wild little dog frolics,
when shallow, she drinks.
Back to top
View user's profile Send private message Visit poster's website
Acoustic Interloper



Joined: Jul 07, 2007
Posts: 2067
Location: Berks County, PA
Audio files: 89

PostPosted: Fri Jun 20, 2008 3:11 pm    Post subject: Reply with quote  Mark this post and the followings unread

dewdrop_world wrote:
Probably timing inaccuracies in sending the synth control messages to the audio server. I added timestamps to the bundles and the behavior seems to have improved quite a bit.

Any suggestions for a timestamp field in the proposed game protocol? What format (float vs int) and what semantics? Right now the chess program generates a bunch of notes together and sends them as fast as possible, 1 per UDP datagram, and then some time later sends another batch that are conceptually "at the same time." I can add a time field to the proposed protocol, but I am not sure what to add.

Thanks. Have a nice weekend. too much coffee

_________________
When the stream is deep
my wild little dog frolics,
when shallow, she drinks.
Back to top
View user's profile Send private message Visit poster's website
blue hell
Site Admin


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

PostPosted: Fri Jun 20, 2008 5:35 pm    Post subject: Reply with quote  Mark this post and the followings unread

How about ... this?
_________________
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
Acoustic Interloper



Joined: Jul 07, 2007
Posts: 2067
Location: Berks County, PA
Audio files: 89

PostPosted: Fri Jun 20, 2008 6:55 pm    Post subject: Reply with quote  Mark this post and the followings unread

Blue Hell wrote:
How about ... this?

Yes, that's pretty cool, I often set up a real board when playing the computer, because 3D vision catches relationships that 2D computer watching does not.

My daughter played a game with me last night, first one between us in at least 10 years, and she says it's been several years since she has played. She beat me after a decidedly unconventional opening on both our parts, although I was giving her tips along the way. She often played with the board turned sideways.

She showed aptitude and wants to play some more games, and I gave her a board to take back to New Mexico next month. I've commissioned her to write a poem before she goes back, as a sequel to "Ordinary Machinery," which used her title, words and reading. Imagine what the little chess pieces might soon have to say.

_________________
When the stream is deep
my wild little dog frolics,
when shallow, she drinks.
Back to top
View user's profile Send private message Visit poster's website
Acoustic Interloper



Joined: Jul 07, 2007
Posts: 2067
Location: Berks County, PA
Audio files: 89

PostPosted: Sat Jun 21, 2008 8:01 am    Post subject: Reply with quote  Mark this post and the followings unread

So, Kassen, getting back to your original topic, how do/did you like the book Question

I finished it the other evening. I can identify with the Glass Bead master hero in some ways, having risen to the top of the Bell Labs engineering hierarchy, although staying clear of the management hierarchy, but also having stayed throughout much of that organization's decay, until it ejected me, rather than the other way around. I guess the hero's lack of conventional fit into the organizational hierarchy was the aspect of his biography with which I identified the most.

However, I must say that I was no happier with the ending than I was 35 years ago. I won't say too much, because I don't know where you are at in your reading. We can discuss the ending later if you like.

The introduction in my 1960's translation says that Hesse intended the book to be somewhat humorous. It clearly pokes fun at the pompous, self-sufficient nature of certain institutions of today. The fact that all of these educated, sensitive, intelligent people were not creating any new art, beyond the abstracted art of the Game itself, is pretty central to the story.

I do think this medium of the World Wide Web could be considered a more populist version of the Game. Also, I agree with your original post that technology is at the point where activities like live coding, which fuse mathematics and music making in the spirit of the Game, now make it possible to concoct mechanisms that actually embody aspects of Hesse' Glass Bead Game. But, I think the differences are that we can generate new music and other art using these mechanisms, and they are open to wider appreciation than that of a small elite.

This is one aspect of programming that has always been a little frustrating for me, that programming is flexible and open-ended enough that one can arguably become a virtuoso at creating software, but that only a small elite can recognize and appreciate virtuoso structure on the inside of a software system. Many more people, though, can appreciate extensible functionality and reliability that comes with well structured software, although the economics of the software industries often mitigate against excellence. And finally, when creating music or other art, still more people can appreciate it if they choose to acquire the taste. So, I think we are doing better than Hesse's Glass Bead Game players, generally, and I think Hesse would be very interested to see the opportunities before us.

Finally, I really liked some of the anachronisms in the book. Its is set in the far future, and yet there is mention of cobblers and coopers and so on in passages about the general working population. I imagine the anachronism was intentional on Hesse's part, a comment about out-of-touch academics.

_________________
When the stream is deep
my wild little dog frolics,
when shallow, she drinks.
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: Sun Jun 22, 2008 8:25 am    Post subject: Reply with quote  Mark this post and the followings unread

Acoustic Interloper wrote:
So, Kassen, getting back to your original topic, how do/did you like the book Question

I finished it the other evening. I can identify with the Glass Bead master hero in some ways, having risen to the top of the Bell Labs engineering hierarchy, although staying clear of the management hierarchy, but also having stayed throughout much of that organization's decay, until it ejected me, rather than the other way around. I guess the hero's lack of conventional fit into the organizational hierarchy was the aspect of his biography with which I identified the most.

However, I must say that I was no happier with the ending than I was 35 years ago. I won't say too much, because I don't know where you are at in your reading. We can discuss the ending later if you like.


Oh, I know how it ends; I read the WiKipedia entry and a few other pages before I got the book. I'm about halfway into it now. Not many "reading moments" lately. I was very passionate about it at first and I loved the beginning but the further I get into the book the less emphasis there is on the game and the more on this "responcibility constrains" plot. My problem with that is that in the hundreds of pages I read so far nothing has been said on that that wouldn't be covered by just those two words. So far this book strikes me as a very long short story, a bit like a time-stretched Borges. I recognise it's a important book and that it has some very interesting ideas, that I should read it, but on a narrative level I'm not enjoying it a lot anymore. I wonder to what degree that's caused by the translation which I'm starting to suspect is quite bad for my edition. Words are missing, there are linguistic errors and the occasional plain typo, how on earth this version got eight printings over several decades without those getting fixed is beyond me. I'm not quite sure what to do with that. I think this would be beyond me in the original German (though I could try). I could try a English translation but it strikes me that about half of the sentences have a form that's available in German and Dutch but not English which won't help in trying to get Hesse's intentions.

I fear I'm going to have to say that while I love the concept of this game I don't think the book itself is very good (at least not in the form I have) and I keep wishing it was done by Borges in 70 or so pages.

Quote:

The introduction in my 1960's translation says that Hesse intended the book to be somewhat humorous. It clearly pokes fun at the pompous, self-sufficient nature of certain institutions of today. The fact that all of these educated, sensitive, intelligent people were not creating any new art, beyond the abstracted art of the Game itself, is pretty central to the story.


Yes, it is... at least according to the narrator. In one of the early descriptions of one of the games it's said that that game revolved and links between two musical themes which were played out against eachother.... and I'm left wondering how one could do that without the result becoming a new musical piece. It's central to the story that the games aren't considered art themselves but based on their descriptions I have little doubt that such games -if they existed now- would very clearly *be* considered art now.

This strikes me as similar to this idea that was (again) popular in the 90's where people would claim that "everything had been done before" and we are now "just recycling" which was given as a explanation for (entirely new!) sampler and sampling based musical styles.


Quote:
I do think this medium of the World Wide Web could be considered a more populist version of the Game. Also, I agree with your original post that technology is at the point where activities like live coding, which fuse mathematics and music making in the spirit of the Game, now make it possible to concoct mechanisms that actually embody aspects of Hesse' Glass Bead Game. But, I think the differences are that we can generate new music and other art using these mechanisms, and they are open to wider appreciation than that of a small elite.


Yes, I think so. There are quite a few similarities between livecoding and the Game, not in the last place in the highly abstracted and symbolised language(s) used which indeed do take some dedication to master. It's interesting in this regard that in livecoding the interpretation in the other direction, the decoding of the symbols to their meaning by the computer is what makes it appreciable to the lay audience as well.

Quote:

This is one aspect of programming that has always been a little frustrating for me, that programming is flexible and open-ended enough that one can arguably become a virtuoso at creating software, but that only a small elite can recognize and appreciate virtuoso structure on the inside of a software system.


Yes, that's a good point and indeed frustrating when one needs (financial...) recognition. Still, I think that there too livecoding has interesting properties in that the link between the symbols nad their meaning is gradually build up before the audience's ears and eyes which should (hopefully) lead to a greater understanding of that link on the audience's part which may in turn help the appreciate elegance in the manipulation of those symbols.

I think many of the less expected pop-hits show that general audiences have a great appreciation for "well balanced and novel simplicity" which I feel is one of the defining aspects of great code as well.


Quote:

Many more people, though, can appreciate extensible functionality and reliability that comes with well structured software, although the economics of the software industries often mitigate against excellence.


Sure. Still; it could be argued that what works in livecoding; effective code that can be written quickly, is also what tends to lead to bad software engineering in the general world. If I know I'll be livecoding for 20 minutes I won't spend a day thinking about my program's structure and how I can make it maintainable and extendable. Memory leaks, for example. simply aren't a big deal if you know your program will only have to run for a short while.... which is not to say it's not possible or unknown for truly elegant algorithms to emerge, just that as a context it's quite forgiving on bad practices. When livecoding, for example, I tend not to comment because I *know* I won't need to come back to it in a few weeks time.

Quote:

And finally, when creating music or other art, still more people can appreciate it if they choose to acquire the taste. So, I think we are doing better than Hesse's Glass Bead Game players, generally, and I think Hesse would be very interested to see the opportunities before us.


I agree, we are in a excellent position, particularly since -as I pointed out above- the instrument itself is "on the side of the audience" in that it interprets the code for them. I think this could be expanded much further though. Magazines like The Wire and Wired spend some attention on it, but little beyond pointing out that it is happening. I don't think many conventions have been established and there has been little chance for audiences to "acquire the taste". If/when that happens I think we will see some very interesting developments.


Quote:

Finally, I really liked some of the anachronisms in the book. Its is set in the far future, and yet there is mention of cobblers and coopers and so on in passages about the general working population. I imagine the anachronism was intentional on Hesse's part, a comment about out-of-touch academics.


That could be, yes. I seems to me that Hesse may have focussed on personal interactions with little time spend on things like modes of transportation and so on exactly to avoid his "SF" looking outdated after a few decades..

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



Joined: Jul 07, 2007
Posts: 2067
Location: Berks County, PA
Audio files: 89

PostPosted: Sun Jun 22, 2008 9:13 am    Post subject: Reply with quote  Mark this post and the followings unread

Kassen wrote:
I was very passionate about it at first and I loved the beginning but the further I get into the book the less emphasis there is on the game and the more on this "responcibility constrains" plot. My problem with that is that in the hundreds of pages I read so far nothing has been said on that that wouldn't be covered by just those two words. So far this book strikes me as a very long short story, a bit like a time-stretched Borges. I recognise it's a important book and that it has some very interesting ideas, that I should read it, but on a narrative level I'm not enjoying it a lot anymore. I wonder to what degree that's caused by the translation which I'm starting to suspect is quite bad for my edition.

I am glad we got back to the book Very Happy

In terms of the Game, the book certainly is disappointing. I guess this is why the English translation was entitled "Magister Ludi," although the same translation was retitled "The Glass Bead Game" later on. That is what is on the bookshelves here. I asked my wife to keep an eye out in her used book sale visits, because I couldn't find my old copy, and that very week, the very first book she spotted walking into a used book sale was an identical copy of the 1969 paperwork for twenty-five cents. A week later, while digging some electric fans out off the attic, I came across my old copy. This was the second English translation that I know of. It is still the current translation on the bookshelves, and reportedly much better than the original translation.

I had mixed feelings while reading the book. I think, in addition to "responsibility constrains," the degree to which these Castalians have cut themselves off from the rest of society is a big piece of it. There were parts that I hurried through, and I didn't read the three short stories from Knecht's student years this time. But, there were some passages where Hesse captured some of my own trapped-in-corporate-America feelings of the past, and where the writing was just very good (and apparently the translation), so that there were for me enjoyable parts that kept me going.

I guess Hesse's intention at the end was to show that "the Order" really did isolate Knecht so much from reality, that he drowns in his first day of "freedom." This was a little too depressing. Some of Hesse's other books, such as "Beneath the Wheel," are like this, but this hero seemed creative and intelligent enough to survive in "the real world," whatever that is, and not die on the first day of a tutoring job in the mountains. He was not a survivor, and I think he should have been, or at least could have been.

I don't know if that ending was a cop-out or just a let-down. But, having re-read Steppenwolf a few years ago, I have to say I still prefer it.

_________________
When the stream is deep
my wild little dog frolics,
when shallow, she drinks.
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: Sun Jun 22, 2008 9:37 am    Post subject: Reply with quote  Mark this post and the followings unread

Acoustic Interloper wrote:

I am glad we got back to the book Very Happy


Me too, though the chess stuff is interesting as well. I'll get back to you in more depth soon, but if you'd prefer and our friends agree I could try to split the chess from the glass-beads? We'd have two separate topics.

This could make sense but I'm not doing it without everybody agreeing. Annoyingly you can split topics quite easily, picking what posts go where... but you can't merge them again afterwards. This tends to create controversy.

_________________
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: 24075
Location: The Netherlands, Enschede
Audio files: 277
G2 patch files: 320

PostPosted: Sun Jun 22, 2008 10:24 am    Post subject: Reply with quote  Mark this post and the followings unread

Kassen wrote:
I'm not doing it without everybody agreeing.


I'd agree with a split and with a non-split as well ... but when you split ... could you wait a couple of days please as I pointed someone to the chess bit 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
Acoustic Interloper



Joined: Jul 07, 2007
Posts: 2067
Location: Berks County, PA
Audio files: 89

PostPosted: Sun Jun 22, 2008 11:19 am    Post subject: Reply with quote  Mark this post and the followings unread

Either way on splitting the thread is OK with me as well.

Busily working on adding some fields to the protocol so the sound generator gets some more degrees of freedom, and also generalizes to other possible games.

The university where I am going to teach has recently added a computer science track for music majors who want some CS exposure, but really there's nothing in the curriculum about application-specific music programming at present. I can see designing an advanced undergrad topics course for CS and music majors who have had two semesters of programming intro. This stuff is fun Very Happy

_________________
When the stream is deep
my wild little dog frolics,
when shallow, she drinks.
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: Sun Jun 22, 2008 3:56 pm    Post subject: Reply with quote  Mark this post and the followings unread

Acoustic Interloper wrote:

Any suggestions for a timestamp field in the proposed game protocol? What format (float vs int) and what semantics? Right now the chess program generates a bunch of notes together and sends them as fast as possible, 1 per UDP datagram, and then some time later sends another batch that are conceptually "at the same time." I can add a time field to the proposed protocol, but I am not sure what to add.


I'm not intimately familiar with the timestamp protocol for OSC, unfortunately. I know how supercollider uses it, but the calculation of the timestamp is hidden from the user. I don't mind looking into it at some point, but I don't anticipate having time in the near future.

I'm pretty sure the datatype is double precision, though.

Anyway, with all the programs running locally the timing doesn't sound bad to me, so I consider this pretty low priority. It would be more of an issue if you wanted to split things up onto different machines.
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
Acoustic Interloper



Joined: Jul 07, 2007
Posts: 2067
Location: Berks County, PA
Audio files: 89

PostPosted: Sun Jun 22, 2008 5:12 pm    Post subject: Reply with quote  Mark this post and the followings unread

dewdrop_world wrote:
I'm not intimately familiar with the timestamp protocol for OSC, unfortunately. I know how supercollider uses it, but the calculation of the timestamp is hidden from the user. I don't mind looking into it at some point, but I don't anticipate having time in the near future.

I'm pretty sure the datatype is double precision, though.

Thanks for the reply. I looked at the OSC spec yesterday and grokked it in about five minutes. It's funny how that works, because I looked at it about a year ago and came away with only a vague notion of what was going on. And I have taught aspects of protocol stacks, and even designed one successful protocol for distributed debuggers, so it's funny it was so opaque, or I was so dense, the first time. It's actually a delightfully simple protocol.

In any case, OSC timestamps are associated primarily with an aggregate type called an OSC bundle, so that basically, if you send a series of events that should be played together (as a bundle), you can specify a time at which to play the bundle. So, if the events are notes, you can send the lot of them together along with the time they should be emitted.

Fortunately or unfortunately, Max does not do OSC timestamps or bundles, and the OSC spec is clear that these are extensions that need not be recognized by all compliant tools. Also, the basic spec is geared towards what we are doing here, which is just shoveling the events out as soon as they come in over a LAN. That is the basic OSC model, and these datagrams conform in every way except that the Max "list" token should start with a "/" such as "/list". That initial string is conceptually a pointer to a function to interpret the fields in the datagram.

So, I am sticking to basic OSC without timestamps and bundles for now. I have the protocol implemented with 4 new fields, encoded as integers, which the sound generator can use or ignore:

player sendPiece relationship receivePiece

examples:

white pawn supports white bishop (BLACK ARROW on the board)
black pawn attacks white queen (RED ARROW)
white bishop is-supported-by white pawn (GREEN ARROW)
white queen is-attacked-by black pawn (YELLOW ARROW)

The alternate pairs are not exactly symmetrical, because my current chess-music generator intenstionally breaks this symmetry in places, primarily by not generating the second inverse relations if the first relations have already been generated for a piece.

The above are encoded as integers, with -1 showing up for any unknown field except the relationship, which is -2 when unknown. This is because any odd-numbered relationship (l.s.bit=1) is considered conflict.

Anyway, I am still working out bugs, and want to do some testing on the mac, so it's probably a couple days away. Gotta go play scrabble with my wife now! My initial plan is to take the distance between two pieces in an attacking relationship, when the attacker is worth less than the attackee, and generating effects based on that distance. The more dangerous the threat, for example pawn attacks queen, the more pronouned the effect. With this new protocol these sorts of timbral decisions can be made entirely in the sound programming environment.

Have a good evening. Monday morning tomorrow silent

_________________
When the stream is deep
my wild little dog frolics,
when shallow, she drinks.
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: Sun Jun 22, 2008 6:05 pm    Post subject: Reply with quote  Mark this post and the followings unread

Acoustic Interloper wrote:

In terms of the Game, the book certainly is disappointing. I guess this is why the English translation was entitled "Magister Ludi," although the same translation was retitled "The Glass Bead Game" later on. That is what is on the bookshelves here. I asked my wife to keep an eye out in her used book sale visits, because I couldn't find my old copy, and that very week, the very first book she spotted walking into a used book sale was an identical copy of the 1969 paperwork for twenty-five cents. A week later, while digging some electric fans out off the attic, I came across my old copy. This was the second English translation that I know of. It is still the current translation on the bookshelves, and reportedly much better than the original translation.


I suspect translation matters a lot here, the language used is a part of the way in which the stage is set. Normally I like that but as I said; here it's not working for me 100%.

Quote:
I had mixed feelings while reading the book. I think, in addition to "responsibility constrains," the degree to which these Castalians have cut themselves off from the rest of society is a big piece of it. There were parts that I hurried through, and I didn't read the three short stories from Knecht's student years this time. But, there were some passages where Hesse captured some of my own trapped-in-corporate-America feelings of the past, and where the writing was just very good (and apparently the translation), so that there were for me enjoyable parts that kept me going.

I guess Hesse's intention at the end was to show that "the Order" really did isolate Knecht so much from reality, that he drowns in his first day of "freedom."


Hey! You put the period inside of the quote-marks! Are you sure you're a programmer? :¬p

I think there's a very interesting link here in that I feel that eventually the (musical) code has to link back to reality, I'm typically not into computer music that relates only to computer music. Sadly very little has been written so far about livecoding for *emotional* expression. I suspect that eventually the field will stand or fall with that. This doesn't strike me as a far-fetched ideal, after all people are fine with expressing their emotions in formal forms like sonatas or cell-phone txt-message short-hand. The main missing link seems to be practice (and lots of it) but I wouldn't mind a bit more specialised syntactic sugar here and there either.

Quote:

This was a little too depressing. Some of Hesse's other books, such as "Beneath the Wheel," are like this, but this hero seemed creative and intelligent enough to survive in "the real world," whatever that is, and not die on the first day of a tutoring job in the mountains. He was not a survivor, and I think he should have been, or at least could have been.


Yes, I agree. Knecht seems quite independent and practical at the story's start. Perhaps Hesse was refering here not to Knecht's nature but to the Castillian influence.

Quote:
I don't know if that ending was a cop-out or just a let-down. But, having re-read Steppenwolf a few years ago, I have to say I still prefer it.


I didn't read that, sorry.

Some side-notes;

I realised a few days ago that one of my favourite Brubeck pieces is called "Castillian drums" and is probably referring to this book.

Another piece of text I think is highly relevant to livecoding and which is a actual playable game is "Nomic" ( http://en.wikipedia.org/wiki/Nomic ). I first read about this (and it first saw print) in Douglas Hoffstadter's "Meta Magical Themas", a book that's a all-round treasure trove on themes, their manipulations and their connections. It's quite remarkable that this game too was meant as cultural commentary, though in a entirely different way. I wrote about this before, I think, but it can't hurt to point it out again in this context and recommend that book.

I should also say that while I'm a bit critical of The Glass Bead Game as a novel I have to admit that seeing The Game described in it's original form instead of merely reading *about* the book was intensely inspirational.

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



Joined: Jul 07, 2007
Posts: 2067
Location: Berks County, PA
Audio files: 89

PostPosted: Sun Jun 22, 2008 6:33 pm    Post subject: Reply with quote  Mark this post and the followings unread

Kassen wrote:
Acoustic Interloper wrote:

I guess Hesse's intention at the end was to show that "the Order" really did isolate Knecht so much from reality, that he drowns in his first day of "freedom."


Hey! You put the period inside of the quote-marks! Are you sure you're a programmer? :¬p

One the design specs for one of my more successful designs in Bell Labs led to the comment from one reviewer who was just meeting me, "You must have been an English major." I have mixed feelings about where to put those quotes, and when quoting programs, I typically put them on the other side of the punctuation. Shocked
Quote:

I think there's a very interesting link here in that I feel that eventually the (musical) code has to link back to reality, I'm typically not into computer music that relates only to computer music. Sadly very little has been written so far about livecoding for *emotional* expression. I suspect that eventually the field will stand or fall with that. This doesn't strike me as a far-fetched ideal, after all people are fine with expressing their emotions in formal forms like sonatas or cell-phone txt-message short-hand. The main missing link seems to be practice (and lots of it) but I wouldn't mind a bit more specialised syntactic sugar here and there either.

That's an interesting observation. I guess I am falling into the habit of reacting to some forms of computer music, such as live coding, the way I react to Baroque music, which is not primarily based on emotion. Whereas my folk music inspired, jazzified banjo playing is linked almost to a myth of this country and its forests and people in the early days, along with evoking string folk music from other cultures. Very different sets of evocative feelings.
Quote:

Quote:
I don't know if that ending was a cop-out or just a let-down. But, having re-read Steppenwolf a few years ago, I have to say I still prefer it.


I didn't read that, sorry.

Steppenwolf and Siddhartha were the two biggest Hesse hits here during the hippie days. Steppenwolf and the Magic Theater has a lot about jazz, Bohemian counter-culture and altered consciousness. It holds up 30 some years after my first reading of it.
Quote:

Another piece of text I think is highly relevant to livecoding and which is a actual playable game is "Nomic" ( http://en.wikipedia.org/wiki/Nomic ). I first read about this (and it first saw print) in Douglas Hoffstadter's "Meta Magical Themas", a book that's a all-round treasure trove on themes, their manipulations and their connections. It's quite remarkable that this game too was meant as cultural commentary, though in a entirely different way. I wrote about this before, I think, but it can't hurt to point it out again in this context and recommend that book.

Now I have another old book that I can't find to dig up! Maybe I should look in the attic. Shocked I read this one and Hofstadter's Godel, Escher and Bach many long years ago, and especially liked GEB. He also came out with I am a Strange Loop in 2007, inspired in part by his wife's early death. I am part way through but got a little bogged down in this one. I'll have to try to get it going again.
Quote:

I should also say that while I'm a bit critical of The Glass Bead Game as a novel I have to admit that seeing The Game described in it's original form instead of merely reading *about* the book was intensely inspirational.

It certainly got a nice thread going here. Thanks for the original post Exclamation

_________________
When the stream is deep
my wild little dog frolics,
when shallow, she drinks.
Back to top
View user's profile Send private message Visit poster's website
Acoustic Interloper



Joined: Jul 07, 2007
Posts: 2067
Location: Berks County, PA
Audio files: 89

PostPosted: Fri Jul 04, 2008 2:55 pm    Post subject: Reply with quote  Mark this post and the followings unread

The Scandanavian_Defense_Gruenfeld_then_Anderssen_orthodox variations of our game above are posted in MP3 format here. Gruenfeld leads it off, and its ending segues into Andersson orthodox at 9:15 for good measure. Rolling Eyes

B01 Scandinavian (centre counter) defence
1.e2e4 d7d5
B01 Scandinavian defence, Lasker variation
1.e2e4 d7d5 e4d5 d8d5 b1c3 d5a5 d2d4 g8f6 g1f3 c8g4 h2h3
B01 Scandinavian defence
1.e2e4 d7d5 e4d5 d8d5 b1c3 d5a5 d2d4 g8f6 g1f3 c8f5
B01 Scandinavian defence, Gruenfeld variation
1.e2e4 d7d5 e4d5 d8d5 b1c3 d5a5 d2d4 g8f6 g1f3 c8f5 f3e5 c7c6 g2g4
B01 Scandinavian: Anderssen counter-attack
1.e2e4 d7d5 e4d5 d8d5 b1c3 d5a5 d2d4 e7e5
B01 Scandinavian: Anderssen counter-attack orthodox attack
1.e2e4 d7d5 e4d5 d8d5 b1c3 d5a5 d2d4 e7e5 d4e5 f8b4 c1d2 b8c6 g1f3
B01 Scandinavian: Anderssen counter-attack, Goteborg system
1.e2e4 d7d5 e4d5 d8d5 b1c3 d5a5 d2d4 e7e5 g1f3
B01 Scandinavian: Anderssen counter-attack, Collijn variation
1.e2e4 d7d5 e4d5 d8d5 b1c3 d5a5 d2d4 e7e5 g1f3 c8g4
B01 Scandinavian, Mieses-Kotrvc gambit
1.e2e4 d7d5 e4d5 d8d5 b1c3 d5a5 b2b4
B01 Scandinavian: Pytel-Wade variation
1.e2e4 d7d5 e4d5 d8d5 b1c3 d5d6
B01 Scandinavian defence
1.e2e4 d7d5 e4d5 g8f6
B01 Scandinavian: Icelandic gambit
1.e2e4 d7d5 e4d5 g8f6 c2c4 e7e6
B01 Scandinavian gambit
1.e2e4 d7d5 e4d5 g8f6 c2c4 c7c6
B01 Scandinavian defence
1.e2e4 d7d5 e4d5 g8f6 d2d4
B01 Scandinavian: Marshall variation
1.e2e4 d7d5 e4d5 g8f6 d2d4 f6d5
B01 Scandinavian: Kiel variation
1.e2e4 d7d5 e4d5 g8f6 d2d4 f6d5 c2c4 d5b4
B01 Scandinavian: Richter variation
1.e2e4 d7d5 e4d5 g8f6 d2d4 g7g6

(Thanks to Jan for the link to the Scandanavian Defense. Much shorter games than I realized!)

Attached is a screen shot of the final position. Still looking for that Queen of the Civilized World. (This provisional queen has posted on electro-music only four times.)

I've added a panel for controlling a pile of config parameters in the game-to-tone Python plugin, and used a 4 banks x 64 oscillator ChucK program for the sounds in the MP3. It started out in January very pointillistic with no sustain (banjo-like in a way), but a stuck note gave me the inspiration to add sustain, and it was a downhill slide into player config land.

The primary goal is to allow someone knowing chess rules to make at least interesting sounds, and also to make the config parameters intuitive enough to be useful at improv time. You tend to run into pockets of interesting activity in a game that you can then milk for sounds. The chess game tends to be an activity engine that you milk by using the config parameters. Very improvisational.

I'll post the code in a few days after I get time to test on OSX.


Scandanavian_Defense_Gruenfeld_then_Anderssen_orthodox.jpg
 Description:
 Filesize:  192.31 KB
 Viewed:  238 Time(s)
This image has been reduced to fit the page. Click on it to enlarge.

Scandanavian_Defense_Gruenfeld_then_Anderssen_orthodox.jpg



_________________
When the stream is deep
my wild little dog frolics,
when shallow, she drinks.
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 Jul 05, 2008 8:50 am    Post subject: Reply with quote  Mark this post and the followings unread

Cool! I haven't had any time to work on the SC side, to have more distinct sounds and have more variation in synth parameters. I don't know when I can get back to it... a lot going on here. But the updated python code would be a good motivator.

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
Acoustic Interloper



Joined: Jul 07, 2007
Posts: 2067
Location: Berks County, PA
Audio files: 89

PostPosted: Sun Jul 06, 2008 4:32 pm    Post subject: Reply with quote  Mark this post and the followings unread

Here's the updated code, tested on XP with ChucK and SC and Max and on OSX with ChucK. testf() (the latest) uses 4 banks of 64 oscillators each, although banks 2 and 3 never get used unless you set the numthreads parameter to 4, which is still experimental and not producing the FX I had hoped for. (The old Steve Reich, 2 tape loops running at slightly different speeds mechanism.)

There are a bunch of config parameters in the second GUI window and more info on extension hooks in README.txt. PROTOCOL_2.txt explains how the OSC parameters have been extended.

I got the SC script working with the new OSC protocol and testf 4 x 64 banks, although I think some oscillators may not be shutting off when sent zeroes.

Take care.

EDIT: Deleted this attachment when I uploaded a new chess.zip on July 13 on page 6 of this thread.

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:27 am; edited 3 times in total
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic Moderators: elektro80
Page 5 of 7 [155 Posts]
View unread posts
View new posts in the last week
Goto page: Previous 1, 2, 3, 4, 5, 6, 7 Next
Mark the topic unread :: View previous topic :: View next topic
 Forum index » Discussion » Composition
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