Call for artists, programmers and visionary people: Go to music

I have a seed of an idea in my mind since some time ago, but I’m not able to transform it into reality.
So I’d like to share with others to see if someone could sort out something funny.

Here is the concept: is it possible to translate a Go game (a single match, say an SGF file) into music?
Well it certainly is. A dull way to do it is to name each intersection as a note and play them all in sequence according to game moves. But it should sound awful.

So let me reword it this way: is it possible to translate a Go game in some kind of appealing music?
Something that doesn’t sound like a crazy monkey hitting randomly on a keyboard? :stuck_out_tongue_winking_eye:

I believe there are infinite ways to translate a sequence of moves on a board into sounds, but trying to organize them could bring to a solution that is both reasonable and meaningful.

My first thought was that the board is symmetrical in many ways (perpendicurlarly and diagonally). So mapping a 1/8 of the board could simplify the problem.
I don’t like the idea of having 361 different sounds to manage. 45 sounds much better.
Playing a 4-4 could have the same sound for all corners. And a joseki (let’s say an approach to 4-4) could sound the same if played from one side or the other. It could generate some acusticly recognizable pattern, perhaps.

Let me list some possible variables.

  • Sound:
    Pitch
    Duration
    Loudness
    Voice (instrument)
    Envelope (changes over time, like “attack, decay, sustain, and release”)
    Rhythm (tempo, beat)

  • Game:
    Move’s position (coordinates, perhaps as distance from nearest borders, if we like the symmetry hypothesis)
    Distance from hoshi
    Colour of stone
    Capturing move
    Connecting move
    Pass
    Resign
    Thinking time

This is a possible conversion map, trying to keep it simple:

  • Pitch - Smaller distance from border (line, 10 possible values) -> Pentatonic scale (2 octaves) (I have a soul of a bluesman😎)
  • Duration - Thinking time (if available)
  • Loudness - Distance from hoshi -> The nearer the louder (and tengen could have a gong sound too :laughing:)
  • Voice - different instruments for Black and White
  • Envelope - Capturing move causes fading sound for captured stones
  • Envelope - Connecting move causes sliding sound for connected stones (???)

But more complex maps could be traced thinking about move’s meaning or strategy.
As an example: louder sound for important moves. (Well, how to recognize them? Maybe by subsequent opponent’s thinking time? Or by AI win rate changes?)
Special sounds for special points (hoshi, tengen)
Special sounds for particular moments (half game, smaller fractions)
And for those who love fractals, here is some inspiring thought to a different kind of mapping:

Eventually, how to make it?
I thought about software conversion from SGF (text) to Midi (hex format?). I can’t do it since I’m short of knowledge, but I believe that writing a simple Midi file shouldn’t be too tough for someone experienced with programming and midi structure.

So, is anybody interested in racking brainz and making some noize? :crazy_face:

12 Likes

I am totally the wrong person to ask…but I do have ideas.

My idea is resonance to be added.

Seldom does a price of music sequentially play one note followed by another singular.

Usually there are chords and such… Well… My thought is this. Depending on the stones around the stone being played could very well alter the note.
–0--
–0--
0-X-0
–0--

So… Consider the silly diagram I made above.

The ‘X’ stone is captured right. So there needs to be a sound for that. But also there should be a sound for the stone played. The stone that captured the X stone is the one directly above it.

So… We have the sound of the stone being captured, as well as the sound of the stone being played. Now… As a background resonance to those stones… How about we combine the tone of the stone that is directly connected to the stone that was played to captured.

This should in theory create a deeper more complete sound.

One could even go as far as to include every stone that that stone being played is then connected to as a reverberation or echo.

I have no idea if this is a good idea. But… It would represent the whole each stone having continued purpose and meaning in the game. As well as to produce a layered effect of sound, and indeed creating similar, while also different sounds per play on the board.

This is my contribution… I’m an ideas man… I haven’t the technical ability to do anything. But k also have a good set of ears that j would be happy to lend to you should you need them. I will be excited to see how this works out.

Also… As a recommendation… I would not pin an instrument on this… I would make it a synthetic sound. While in theory something like piano would work… I think synthetic would work better, especially in the development stages.

4 Likes

So… As a musician, I tend to be very skeptical of the idea of “translating” something like this into music based on the moves played. Odds are the music will be somewhat strange and discordant most of the time, and it’ll take a lot of very special rules form something that is compelling, and will likely not convey either player’s experience with the game.

You see, the modern theory of music involves the idea of “tension and release” much like a story has “tension and resolution”. Because, in a way, music is a story of sorts that tells things in a way natural languages can’t.

So, as far as I see, the “real” way to “translate” a game of go to a musical piece is to look at the “story” of the game, figure out what the key themes and plot line of tension are and write based on that. Of course this is far from anything a procedural translation algorithm can do.

But if you want to look at how you might translate it into music anyway, one might look towards the works of Bach, who is often considered a “mathematical” or “logical” composer due to the way he appears to set up a problem for himself and proceed to “solve” it to form a piece of music. There’s a relevant video on that by Nahre Sol here. Odds are you can make a set of rules based on both the theory and the moves in the game, but without actually attempting the “story/tension” approach, I’m not sure you’ll be able to recognize it as the game you played.

7 Likes

As a musician, too, (with a degree in music) you’re not thinking outside the box. It can be done. You almost certainly won’t end up with something like pop music and traditional form structures. You’d end up with something more…baked…like this:

Actually, somebody put chess to music with some success. Granted, chess has a neat 8x8 structure that corresponds nicely to the traditional 8 notes of a scale, but hey, don’t let that stop you:

Once you invent a good formula, just add a light backbeat to match the game intensity and you’re set.

4 Likes

I’m not saying it’ll sound bad, but I don’t think that system properly conveys what the difference in feeling is between, say, a King’s Gambit and an English Opening in chess, or how that lasts and echoes into the middle game.

Sure, by all technical means it’s the game, but it gives me a sort of “missing the forest for the trees” feeling.

1 Like

As another trained musician (once professional), I like the idea in theory (shades of Scriabin, who tried this kind of thing). I once played in the world premiere of a musical piece based on a live pool game (on stage)! Yeah, it sounded like cr.p. (Sidelight: the composer borrowed my suspenders for the performance because he had forgotten his.) One technical note: Schoenberg substituted rhythm for harmony in at least some of his 12-tone works. The 3rd quartet for example has rhythmic cadences instead of harmonic cadences. Western ears are not used to this sort of thing, but it does work to some extent.

3 Likes

This called to mind that John Brunner famously plotted an SF novel, The Squares of the City, based on a chess game. Imagine doing the same for go. Probably an easier task.

Edit: easier than music, I mean

5 Likes

Sort of related: https://oeis.org/play.html

2 Likes

I didn’t get the math that’s behind, but I played a couple sequences and it was fun. So XXth century! :wink:

Thanks for sharing

If anybody does it, I would be interested in doing visuals for it :grinning:

1 Like

How about the inverse transformation, translate a piece of music into a plausible game of go? :stuck_out_tongue:

4 Likes

This looks very interesting. Before reading the OP’s ideas or that of any of the posters, I’m thinking one could do some fun stuff with 19-tet. Simplest would just be to play two notes simultaneously for each move, though that would probably result in a lot of dissonance. Still, that or something else based on alternate tunings would be my approach.

1 Like

I agree with this in principle, but I think it misses the point. I think the point is to have fun seeing if we can make something musical (and if so, how musical) out of something completely unrelated. If we were trying to make music instead of trying to have fun experimenting, I would definitely think it was a ridiculous "modern art"y endeavor.

I don’t understand.

Do you mean converting each coordinate in a set of notes (a scale) so to have two notes for each x,y couple?

1 Like

19-tet is “19 tone equal temperament”. So just dividing the octave into 19 equal parts instead of 12. It’s one of the more popular microtonal scales.

Yes, that’s exactly what I mean, though it would just be a starting point.

Anyway, I have been thinking about a possibility, but idk how good it is even as a generational algorithm.

Each corner gets its own voice (quadrant 1 gets S, 2 gets A, 3 gets T, 4 gets B) where S is the top 2 octaves, A the 2nd and 3rd, T the 3rd and 4rth, and B the 4rth and 5th.

then within each voice you start at the edges, giving the first line C, then going up the pentatonic so that the second line gets D, third E, and further G,A, then starting the next octave on the 6th line C,D,E,G, so that Tengen gets A+A in all four voices.

And then as kind of a kicker: whenever a corner is not being played in, a motif determined representative of the corner (simplest algorithm is just most recent note, but I’m sure another algorithm is possible) still plays as a sort of counterpoint while the action goes on in the rest of the board.

Haven’t given a lot of thought into how to get it to mesh, but seems like an idea.

2 Likes

My opinion is as follows:

The two most important elements of music are rhythm and chord. Combining rhythm and chord, the image of music emerges. A good musical image, corresponding to the interpretation of human experiences, can create inspiring effects. Along with the musical skills and imaginations of a musician, the image of music can be endlessly developed like the compositions of a painting or the plots of a movie.

However, the image of Go is derived from the result of calculations. To map the contents of Go to a certain chord or rhythm may require an artificial definition, which in turn depends on each person’s subjective aesthetic experience.

2 Likes

Music comes from the heart. Mind follows.

2 Likes

I know very little about musical theory or practice, but this is a cool idea and definitely something I’ve thought about.

Here would be my approach.

There are three local regions, which surround the move that’s just been played:

  1. Close (9x9) – short note
  2. Local (15x15) – medium note
  3. Distant (the rest of the board) – long note

So fights sound faster, aka. more energetic.

There are also three absolute regions, centred on tengen:

  1. Inner (9x9) – highest pitch
  2. Middle (15x15) – middle pitch
  3. Outer (the rest of the board) – lowest pitch

The idea here is to create the image of the centre as physically higher than the sides, as if the board is a volcanic mountain.

In this simple setup, there are only nine notes – but it could be enhanced with more resolution.

3 Likes

Nice idea.

I didn’t follow up with this project, but in these days of lockdown I could try to bring it back to life.

I still need a simple way to translate position (text coordinates) into music. I can’t write code that actually plays sounds. My hope is to be able to create a midi file or similar, so existing softwares could play it. But midi is a quite complex structure.
There must be something simpler out there…