Repository navigation
Read GAM's music profile and use it to choose soundtracks - #21
Merged
Merged
Conversation
GAM now records what a track sounds like (davior/gam#46). GVC picks it up: - GamAssetRead.music: genres, moods, instruments, bpm, key, vocals, energy. Null when GAM knows nothing about the track or predates it. - The assistant's search_assets and get_asset carry the profile, with empty parts left out, and the prompt says how to use it: search by sound, prefer instrumental under narration, match energy and mood to the section, and crossfade tracks that share bpm and key. - The Sound picker shows a one-line summary under each track. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DCL4jm6ogZBBhnjEfBBaXU
davior
marked this pull request as ready for review
October 26, 2026 10:28
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is step 2 of finding soundtracks by how they sound, after davior/gam#46 gave GAM's audio assets a music profile. Until now the assistant chose music by its title.
Changes
GamAssetRead.music(GamMusic) holds genres, moods, instruments, bpm, key, vocals and energy, mapped from GAM's flatmusic_*fields. It is null both when GAM knows nothing about a track and when GAM is older than gam#46, so this works against either version of GAM.search_assetsandget_assetnow include each track's profile. Empty parts are left out, and vocals reads as"instrumental"/"yes", or is left out when not known. The system prompt gets a short "Choosing music" section:FootageSearch): shows a one-line summary such as "Ambient, Tense · 92 BPM · Am · Low energy · Instrumental", under each hit and under the selected track.docs/plan-of-attack.md: records this as GAM-6.Testing
pytest -q: 704 passed. New tests cover the client mapping (a full profile, an empty one, an older GAM) and the assistant's compact output.npm run format:check,npm run lint,npm test(185 passed, including the picker summary) andnpm run buildare all clean.Generated by Claude Code