I'm pretty sure the Bitcoin Core client supports Segregated Witness fine. I believe it will follow whatever the longest chain is (as long as its not larger than 1MB).
* Track in C#Maj, 124BPM, 4/4
* Chord progression I–V–vi–IV over 4 bars.
* OK but rhythm is that current chord repeats on every beat like a stab
* Timing should be early by half beat so it would be | I I I V| V V V vi| vi vi vi IV| IV IV IV I|
* another transformation to adjust the voicing, etc
* Then you can create a bass track from this that mirrors the lowest note but changes the rhythm, etc, etc etc,.
Any change along the way doesn't affect something else unless it should and then you're given a notice that you should check what was affected.