Has anyone figured out an efficient workflow for aligning chord symbols with notes when different instruments have different harmonic rhythms (i.e. guitar and piano have syncopated rhythms while bass is chugging away on quarter notes. Having to manually shift every single chord symbol is an awful lot of work… and doubling up the chord symbols and hiding half on each part is just as much if not more work).
I’m not sure I follow: are you saying that you want to show chord symbols at different rhythmic positions in the different instruments, maybe an eighth note earlier or later in certain instruments because they have syncopated or anticipatory rhythms? I’m not an expert in such matters but I think it might be a little unusual to show the chord symbols in different rhythmic positions for different players like this; if I am understanding you correctly, this is to my knowledge the first time we’ve been asked for such a thing.
It feels like using local chord symbols might be the most appropriate way to handle this, i.e. create chord symbols specifically for each player where they differ in this way.
In lieu of an automatic solution, perhaps there could be a way to convert a global chord symbol into a local chord symbol? I just tried creating a macro with the following steps:
FWIW, I am currently arranging Bring it On and we are exclusively using local chord symbols from the beginning. It seemed to be the only reasonable solution.
Yeah looking through the score that checks out. Would be nice though to have the global chords as a baseline and make overrides when needed but I think currently it may be about the same amount of work either way.
I think a good workflow solution would be (if it could be implemented) to create a “Start offset by beat” option in the properties tool bar. You could “nudge” the chord symbol over an 8th note without duplicating and hiding superfluous chord symbols, or without using extra sets of local chord symbols, and you could easily deselect the option to snap the chord back to the original beat later if necessary. It would be simple (to use… maybe not to implement), and elegant.
In the meantime I will try working with local chord symbols.
There are already several good examples by @sidebysidebyside in this thread, but just to reiterate - I’d actually say this is more common than not in all music with clear notation (either slash voices or through-composed parts) in rhythmically diverging parts. The chord symbols usually align with the indicated rhythm in each instrumental parts. The only times I use “global” placements exclusively are in Lead sheets, slash regions and music where the parts are equal enough for it to be sufficiently clear.
Using local chords is fine, and perfectly in line with Sibelius and Finale, but an automatic solution (although I doubt it’s even possible) or better tools for conversion etc. as suggested above would be very helpful.
And a related request which I’ve been thinking about for a long time:
A “Hide chords” property for Chord symbol regions to invert their behavior. This would be extremely useful in situations where you mostly need global chords, but with a few bars exception here and there (either for diverging rhythms or rests) . I usually approach this with “Hidden” property on individual chords, but this is prone to errors whenever I add something in the global chords.
@dspreadbury I thought I had the script figured out finally but I’ve realised the chord symbol popover requires a “definition”. Is there any way to get the current text as a variable, or is there a way to bypass needing a definition? I’m aware that scripting isn’t fully supported so I won’t get my hopes up just yet.
Also, peculiarly you can left and right arrow from a local chord symbol to another local symbol, or from a local symbol to a global symbol, but once you get to a global you’re stuck, even though the correct instrument’s global chord symbol is selected.
Unfortunately I don’t think you can easily capture the definition of a chord symbol for this kind of scripting approach at present.
I’ll certainly discuss these requirements with the team and we’ll think about how we might be able to address them in future. Thanks for the additional feedback.