About

SGF to Music Video turns Go games into musical board videos.

Upload an SGF file and the app parses the move sequence, animates it on a wooden board, and maps each move into deterministic notes. The default musical map follows a Go to Music inspired idea: every placed stone is read together with its surrounding eight intersections, black stones count as 1, white stones count as 2, and the sum selects a note from a Korean pentatonic palette.

Simple mode is tuned to stay musical quickly. Complex mode opens the same engine up for detailed control over board regions, tactical accents, texture, pacing, bars, phrases, and sustained layers.

You can find more Go projects at SoumyaK4.in.

Inspiration

This project was inspired by:

How to use the simple mode

Open the Simple page, choose an SGF file, then press Play to hear the game locally. The default sound uses the Korean pentatonic Go to Music mapping with a gentle crescendo, lingering notes, and one instrument per player. The board header shows only the move number and the current note or notes.

The Music type dropdown changes the melodic language without exposing the full Complex controls: Variant 1 is a western scale-melody palette, Variant 2 is the Korean Go-to-Music pentatonic default, Variant 3 uses a Chinese pentatonic color, and Variant 4 uses a Japanese Hirajoshi neighborhood color. Each variant can shift scale by game phase and tension, so captures brighten the melody while fights, ko, and atari pull it toward darker colors.

Simple controls stay intentionally small: set move pace, volume, smooth notes, each player's instrument, optional instrument blend, fighting sounds, fighting drama, fighting percussion, musical phrasing, and visual export options. Musical phrasing keeps a steady four-move bar and two-bar phrase so tempo and cadence work together, while tactical moments change note length, overlap, brightness, intensity, and sparse percussion. Fighting Drama adds a small rubato-style tempo push and pull, and both Fighting Drama and percussion only work when Fighting Sounds is on.

Simple mode treats Speed as a target, gently adjusting spacing for phrasing and layered instruments while keeping the overall pace close. Completed KataGo estimates can add darker, descending cues for evaluation losses. A loss above 45 percentage points for the player who moved adds a 100 ms quiet break. These cues follow the Fighting Sounds setting and require matching evaluations before and after the move.

How to use complex mode

Open the Complex page when you want the full engine. You can choose the default instrument, scale, chord, register, note length, and music map, then override those choices for corners, sides, or the centre of the board.

Flow & Texture controls legato, dovetailing, voice leading, glissando, doubling, homophony, through-composed flow, transitions, organic unity, tactical accent intensity, fight/atari/capture/ko intervals, fight and capture pacing, moves per bar, and bars per phrase. Move ranges can add extra instruments, including percussion, for specific phases of the game. Sustained Layers add sounds over the move notes for the whole game or a move range.

Preview, clips, and game details

Upload, drop, or paste a game, or try the built-in example. Use the preview timeline to jump to any move. Play continues from that position, and Stop keeps it ready to resume. Clip & Timing exports an inclusive move range with the correct preceding stones, original move numbers, and musical context. Opening and ending holds are adjustable.

Game Details lets you correct names, ranks, title, event, date, komi, rules, and result without changing the original SGF. The title and event sit vertically on the left, with result, rules, and komi on the right, the graph above, and players below the board. Settings return on your next visit; game-specific edits return when you reload that SGF.

Optional local analysis

Display win rates and territory saved in your SGF, use a lightweight enclosed-area estimate, or download the optional KataGo network and runtime. KataGo runs locally in a worker, using WebGPU or WASM. Your game positions stay in your browser.

Analyze a preview or clip before export to include a win-rate graph, ownership shading, and predicted dead-stone marks. KataGo's neural estimates are not a full tree search or a final score. Loading and analysis can be cancelled, and the model works offline after it has been cached.

Playback and updates

Settings are read during preview playback, so changing instruments, phrasing, tactical accents, tempo, or visuals affects the running game. Video exports prepare their samples and lock settings before recording starts. The final move lingers and fades out, and the PWA checks for fresh code when opened or revisited so cached installs refresh more reliably.

Feedback

This is still evolving, so I expect bugs.
Also it has been over a decade since I quit music, so kindly let me know if I made any musical mistakes.
Contact on Telegram or find SoumyaK4 on Instagram/Reddit/Discord.
P.S. handicap games won't work currently.

Sound Credits

Sounds are from:

Logo image by Stoned On The Goban