Yes, it would be simple - as in, “what you hear is what you get”. If you switch to a scale and like what you hear, you should get the same result by applying the scale.
The advanced thing about the implementation would be to make the tool examine all tracks as it applies the scale - as there can only ever be one active scale at a time, it could still be defined across tracks.
Yes and no. The instrument scale is a trigger option - meaning, it’s applied when you liveplay/record notes, but not inplayback/editing.
There is an exception to this, however: when you’re using phrases, Renoise willsnap to notes (in the phrase) in realtime. Standalone notes in the pattern are still played back as-is.
So this tool would obviously affect the standalone notes, but not necessarily have an affect on notes that trigger phrases.
Ah… Big picture: I’m not sure how musically useful this kind of “reharmonization” really is. It doesn’t seem too interesting to me, but I haven’t tried it so I can’t say for sure. To me, the Renoise scale feature seems like a real cheapo that makes more harm than good, so I probably shouldn’t say too much in this matter and in this thread
I dunno, what would be the best way to separate melodic and percussive/atonal material anyway - short of analyzing the actual samples ?
IMO, you managed to demonstrate justhow big a can of worms it could become. All for the sake of telling you which chord you might_be using ^^
Yeah, you have to someway define what track you want to analyze. But a patterntrack with 4 chords will in many cases be enough to make a good guess on what key/scale that is being used. So analyzing a couple of patterns in selected_track_index should be enough imo. For melody, I would imagine that typically it would require just a little bit more scope to make the guess (depending on song of course). The user would have to take responsibility for selecting a harmonic/chord/melody track.
All for the sake of telling you which chord you might be using
This is not a matter of chords, I think? Chord recognition is a different beast where you don’t absolutely have to know what key you’re in. That’s also just simple search & match, with a table defining interval structures (e g, 0, 4, 7 = major - 0, 4, 7, 11 = maj7, + all inversions).