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

Awesome! I got it

1 Like

OMG! I didn’t see it coming, but of course the AI age is going to affect heavily this thread.
I’d love to hear some of the results!
Actually it would be great to have a video with the game in sync with the generated music.

I’m looking forward to listen to music that is generated on the fly (based on the moves) while watching or playing live games.

1 Like

Just imagine when you make a blunder and you hear the horns! :rofl:

3 Likes

Lol. just found this topic. Still agreed with the first comment from a musician. To improvise about a game seems like a nice idea tho!

That is why I used sentiments and perceptions of the moves and shape patterns instead of a position of a move. Although it is true that the overall arching theme is sorely lacking, it’s more or a jazz like improvisation. One of the future work I added in my thesis is about looking into the larger structure and theme or the “intentions” of both players at a whole board situation, and then somehow organize it with music composing theory to have like ABAA, ABCBA structures more “story like” (but need to give up the on-the-fly dynamic music generation, and have to parse through enough moves offline for the larger structure). The variations in theme and tones are currently still quite bland.

Right now, the intensity and pace are the most accurate sentiment to “translate” (since detecting more disconnected moves as the sentiment of “fast”, and solid thick moves as “slow” are relatively easy to map into tempo, as well as how “interconnected” in a local fight for note density of a more rapid pitch transitions for the intensity of the “fight”)

Still your idea is more strict interpretation. Its like transcription, not translating to another language.
Was watching dan games yesterday, played 9x9 using similar openings and it seemed so clearly related to music variations! Like a few fugues as well. Somebody mentioned Bach and this is really close to how it might sounds. Go is a genius game…

1 Like

If we are going into the limited 9x9 opening “joseki” so to speak for high level plays, where they branch out into similar shapes, it is possible to group them based on their local shapes along, the symmetry makes the exulted search possible (the local grid indexes are only up to 15 (where beyond 9 can be discarded). The issues are how to map them in such a limited list (based on their starting split, or just their overall shapes?)

Can’t believe this hasn’t been posted yet:

4 Likes

Coming from the other thread. I’m currently making a relaxing music game where you fly an airplane. How you fly determines which notes and chords get triggered. The path choices you make decide what type of sounds, scales and rhythms you unlock. In a way it’s part game, part songwriting tool. It’s rhythmically quantised so the triggered sounds stay on beat. It’s similar to the game Rez if you’ve ever played that.

It’s conceptually also similar your and @SoumyaK4 ideas; combining a typically non-musical control input with a musical output. The big challenge is to make it musically pleasing, yet not prescribed.

Tips based on my experience are:

Technical
Start with WebAudio with JavaScript, so it can run lightly in a browser. WebAudio is very mature and runs on all devices and allows for oscillators (synths), EQ, delay, compression, etc. All AI’s happily program in Javascript.

This is an easy approach to create a rich sound world with interactivity. It’s an easier approach than making a MIDI - VSTi - Host type pipeline or other dedicated music-type software. Also easier to share the result.

Conceptual
You can’t avoid “taste”. Even “full randomness” requires settings the outer ranges, which ultimately are based on taste. So I’d recommend a flexible approach, based on a framework of these elements:

  1. Game analysis: extract parameters from your SGF moves (closeness to corner, closeness to other stones, is-capture?, is-connected-to-friendly-stones, etc)
  2. Harmonic framework: decide which chords and scales are part of your world
  3. Rhythmic framework: decide which rhythms and note lengths are part of your world
  4. Timbre framework: decide what types of sounds are part of your world
  5. A weighed matrix that combines “game analysis” and “what’s currently playing” to the rhythmic, harmonic and timbre triggers. This weighted matrix is the core of “taste” or the creative control.
  6. An engine that runs the analysis and outputs the audio.

Considering that the artistic direction is still open, this approach gives you a lot of flexibility. This is how my game works and it has been easy to swap / change ideas without having to recode much.

For example: if you learn about a Japanese rhythm you want to add; simply add it to the rhythm database, and add weights in the matrix so that it gets triggered when the engine recognises a Japanese joseki (or something). And optionally weight the matrix so that that rhythm connects strongly to certain timbres but not others.

The weighed matrix can be multidirectional. For example:

  • if the game engine senses the Japanese Joseki, this should increase the chance of the Japanese beat being triggered. The weighed matrix leads to the notes and timbres that fit it.
  • But if the game engine senses “danger”, then it could point to a screeching type timbre, and have the matrix connect that to fitting notes and rhythms.
  • What’s “previously/currently playing” could veto that, for example to avoid 4 screeching sounds in a row.

This is roughly the architecture of my game. However, this is of course just one approach, might either be overkill or insufficient for what you want. Happy to discuss this further :slight_smile:

4 Likes

I assume you mean @SoumyaK4’s post:

(just thought it might make sense to have the link here)

2 Likes

I think it might make more sense to look at something like this from the standpoint of sonification (like as applied to scientific data) than purely from the standpoint of music composition. Composing a nice piece of music for purely aesthetic purposes tends to be very finicky :sweat_smile: with each pitch and note value and articulation and so on needing to be just so to achieve a really good result. I think any sort of activity that’s not really aiming at composing music, if rendered into audio, is not necessarily going to result in the most moving or captivating music in purely aesthetic terms. However, it can sometimes lend a lot of insight into the underlying patterns of the data being sonified, especially in terms of processes that work well as viewed as happening over time, while also achieving a pleasant and/or intriguing sonic aesthetic in a way that’s fairly easy to analogize to visualization of scientific data and such.

Anyway, I have a good sort of background for attempting something like this—I’m both a computer programmer and a clasically-trained composer, and I’ve written a fair amount of audio software so I’m used to combining the two activities. I also have a relatively strong math background which might help. The big question to me, thinking about it, is what variables would be ideal to try to isolate from a given game record, as some people have discussed in this thread already; I think it would be nice to bring out things that help convey what makes a given player’s style of play distinctive (maybe, in terms of per-move things, proximity to their or their opponent’s stones and what sorts of shapes they’re making locally would be good things to focus on).

I’m really busy with work right now so I don’t have that much time to dedicate to something like this at the moment, but I’ll keep it in mind and return to this thread if/when I make any attempts.