TAB Ring
Realistic 'Let Ring' playback. Quickly and simply
© 2023 yonah_ag, scorster
Got choppy sounding guitar parts? Add realistic smoothness to fretted instrument playback in MuseScore with the TAB Ring plugin.
TAB Ring intelligently extends note playback durations until there is another note on the same string - just like playback on a physical guitar. It accomplishes this transparently by adjusting MIDI durations without altering the actual notation (or TAB) face value durations. So, your notation looks the same but sounds way better, especially for styles like finger-picking.
You can fine tune the results with MuseScore's Piano Roll Editor (PRE). You can also revert the score to standard playback as TAB RIng has an option for removing the adjustments.
This video shows how TAB Ring works:
This excerpt demonstrates the difference that TAB Ring can make:
Requirements
A score with tablature in the first stave; or a score with notation in the first stave plus linked tablature.
Musescore 3.7.0 (recommended). Musescore 3.6.2 can also be used but see Additional Info below.
Musescore 4 is not currently supported because it has no Piano Roll Editor with plugin API support.
User Interface (default settings)
Processing: Overview
Set Maximum Ring to the maximum playback duration to be applied.
The value is specified as a number of quarter notes from 2 to 9.This maximum represents how long the string would sustain if the note was simply left to ring until the sound naturally decayed. Playback is reduced from the maximum when another note on the same string is detected before the maximum ring time is reached. This 'stop note' can be a playing note or a non-playing note and it can be visible or hidden.
Set Picking Gap to a value from 0 to 7, (0 = no gap, 7 = longest).
This simulates the natural interruption that occurs when a finger, thumb or pick strikes a string, thereby stopping a ringing note. A slight gap will generally improve the playback. A gap of 1 is approximately a 1/64th note duration but its actual length will depend on the tempo of the piece. Experiment to find a suitable value.
TAB Ring processes the current selection. If there is nothing selected then all measures are processed.
Processing: Quickly & Simply
Clear any current note/measure selection then select Apply Ring with the default settings.
If PRE is open during processing then the note duration changes will be seen.
Play the score to hear the effect.
Processing: Options for more control
TAB Ring’s main purpose is to extend playback durations beyond the face value of the notation but there are times when you may want to limit the effect.
At chord symbols : Select any extra processing to be applied automatically whenever there is a chord symbol or fretboard diagram. When "no extra processing" is selected then the notes are sustained as described in the overview (above). A common use for this would be to select "ring only open strings" so that open strings play beyond their written duration whilst fretted strings only play for their duration as written.
At bar lines : This is very similar to "at chord symbols" and can be used where there are no actual chord symbols but harmonically the score has chords changes at bar lines, (i.e. they just haven't been notated in the score). If "at chord symbols" and "at bar lines" options are both checked then "at chord symbols" will take precedence.
Ring through rests : This allows playback to continue through rests, as would naturally happen on a real guitar unless strings are muted or released, but can it be turned off to stop playback at rests if required by unchecking this option.
Stop 2nds (dissonance) : Musical intervals of major and minor seconds are considered to be dissonant intervals, which means that they can feel unresolved or discordant. When dissonance is not wanted, use this option to stop notes when they would otherwise continue playing and cause dissonance. Use the dropdown to define which strings to process.
Keep articulations : Use this (slow) option when the score has articulations such as staccato dots.
View process log : Generate a tabular log of the processing. (Slow but useful for debug.)
MuseScore 3.6.2 full ring compatibility mode : See Additional Information below.
Processing: Options for fine control - Ring Tokens
These options are applied as stave texts and override any other option in effect at that point in the score and apply to all notes in the chord to which they are attached. The Ring Token prefix can be the $ character or the ® character. These texts can be entered manually as stave texts or the shortcut buttons at the bottom of the user interface can be used.
$A : Ring All strings.
$O : Ring Open string only.
$S : Ring Same fret and open strings.
$F : Ring same Fret only (not open strings).
$x : Mute numeric list of strings where x = 1-6. Example: $65 mutes strings 6 and 5.
$N : Ring No strings, (so mute all strings).
User Interface Buttons
Apply Ring : Calculate and apply TAB Ring playback durations.
Reset Ring : Reset playback to each note's face value duration.
TAB Ring User Guide : Display this documentation webpage.
Hide/Show Ring Tokens : Make the ring tokens visible or hidden.
Reset Playback : Remove MIDI playback events from the score. This is like a factory reset on the playback and removes all changes made in PRE, including user made customisations and TAB Ring duration changes. After using this option it is necessary to save then re-open the score for Musescore to regenerate default playback. This processes the active selection or, when there is no selection, it processes the whole score.
Ring Tokens : Shortcuts to entering ring token texts. The last button toggles the token prefix.
Information Box
On starting the plugin this box show the plugin version number.
After score processing the box shows the number of notes processed.
Additional Information
MuseScore 3.6.2 Full Ring Compatibility Mode
In MuseScore 3.6.2 the maximum playback duration of a note is limited to its face value x2. In MuseScore 3.7.0 this has been increased to x60 which allows for more realistic playback, (provided that the soundfont supports it.)
TAB Ring 1.2 adds an option as a workaround for this limitation. MuseScore 3.6.2 can playback correctly scores with x60 duration: the only limitation is being able to set these values from the user interface. The workaround saves the current score in MuseScore's mscx (uncompressed) format, applies the extended ring to this file then loads it back into the editor in a new tab as score_x, (note the _x suffix.)
To keep the results:
Close the main score tab.
Save As the score_x tab in mscz format without the _x suffix.
Note: This overwrites the original score. To keep the original score as well as the updated version simply retain the _x suffix in the Save As operation.
To lose the results:
Close the suffix tab.
Delete the score_x.mscx file from the score's folder, or it can be kept for future use if required.
Note: The plugin itself does not delete any files. This is a deliberate design decision to ensure that there is no possibility of the plugin accidentally deleting the wrong file.
Note: This option has no effect with MuseScore 3.7 so can be left checked or unchecked.
Swing Ratio
The swing ratio cannot be changed after applying TAB Ring. This is by design in MuseScore because, when changing durations in PRE, the user is taking control of the note's on-time and length. The 'fix' for this situation is to use the Reset Playback option.
Linked Notation & TAB Staves
It is important to be aware that with linked notation/TAB staves, editing should be carried out on the notation stave since this alone is used for playback and MuseScore 3 does not synchronise all changes made to TAB back to the notation.
Troubleshooting
Check that a range of notes has not been selected instead of the whole score.
Try using Reset Ring and then re-Apply Ring.
Close the plugin and then re-open it: score changes made may not be picked up if the plugin is left open.
Use the Reset Playback option.
Installing TAB Ring
Download TABRing.qml from MuseScore's plugin forum and move it to your MuseScore Plugins folder, as defined in:
MuseScore > Edit > Preferences > General
For more details see the MuseScore 3 Handbook section on plugins.
Installing MuseScore 3.7.0