chip-player-js icon indicating copy to clipboard operation
chip-player-js copied to clipboard

musician playalong mode / voice IDs- ideas

Open binary1230 opened this issue 1 year ago • 1 comments

First: this player is such an amazing technical feat and is so easy to use. I've been using it for years, thanks so much for gluing together so many disparate and opinionated music libraries into a cohesive, easy to use, and really smooth/easy interface.

I'm a musician (and a dev) and find myself using this player to mute voices on tracks and play along (like, muting the leads vs drums vs bass)

I was considering how difficult it might be to implement the ability to implement a set of global "play along mode" settings. This could be something like "mute all drums" or "mute bass" and it would work across supported/known songs in the catalog.

The fun part of that is, of course, there's no standard amongst songs (even in the same game, or even within the same song sometimes) for which of their voices are part of which categories.

So, we'd have to create some kind of way to take each track and "tag" the voices.


So for example, for FF6: The Decisive Battle https://chiptune.app/?play=Nintendo%20SNES%2FFinal%20Fantasy%20VI%2F124%20The%20Decisive%20Battle.spc

The map could look something like this: [ DSP1 => [ instrument=>[Strings, High, Melody], role=>[Lead] ]] [ DSP2 => [ instrument=>[Organ], role=>[Lead] ]] [ DSP3 => [ instrument=>[Bass], role => [Rhythm, Bass] ]] [ DSP4 => [ instruments=>[Kick, Snare], role => [Rhythm, Drums] ]] [ DSP5 => [ instruments=>[Strings, Low, Harmony], role => [Rhythm, Drums] ]] [ DSP6 => [ instruments=>[Organ, Harmony], role => [Rhythm] ]] [ DSP7 => [ instruments=>[Cymbals], role => [Rhythm, Drums] ]] [ DSP7 => [ instruments=>[Hi-Hat], role => [Rhythm, Drums] ]]

Oh but... crap DSP5 it also turns into harmony guitar, and DSP1 and 2 trade off when they are lead vs rhythm parts haha :). to do it right, would have to add some timestamps to each tag.


But, just being able to tag 'Rhythm' vs 'Leads' vs 'Bass' vs 'Drums' would cover a lot of ground.

It could be something where this is a library users could build over time by submitting their preset assignments one song or album at a time.


Then when you're in play-along mode, you select a preset of categories (like "I want to hear everything except drums" or "turn off the leads"), and it remembers that as it goes from song to song.

I'm sure that's a giant project, I was actually thinking about taking a shot at a basic version of this, if you had any suggestions for where to best store the meta-data (is there already some kind of tagging system with the catalog stuff? I'm unfamiliar with the codebase)

binary1230 avatar Nov 18 '23 19:11 binary1230