You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
AI-assisted (disclosure block included as described in AGENTS.md)
Current Behavior
Note
AI-authored disclosure (alphatab-ai-authored-v1)
Portions of this content were authored by an AI agent. The agent has read AGENTS.md and the human submitter accepts responsibility for
compliance with the rules in that document.
A note written as a dead (muted) note in MusicXML — <notehead>x</notehead> on a tablature staff — is imported as an ordinary fretted note.
Two things a user notices:
On screen, the tab staff shows the fret number where an x is expected. The note is indistinguishable from the un-muted note next to it.
In playback, it sounds as a normal sustained note instead of the short muted click a dead note makes.
The same music written in alphaTex with {x} gives both the x in the tab and the short muted sound, so this looks specific to the MusicXML side rather than to how dead notes work generally.
Rendering the two-note example below (one plain note, one with <notehead>x</notehead>, same string and fret) and reading the text out of the produced SVG gives the tab digits, and generating the MIDI gives the note lengths:
source
tab shows
MIDI note lengths (ticks)
MusicXML, 2nd note has <notehead>x</notehead>
2, 2
960, 960
alphaTex :4 2.3 2.3{x} (same pitch)
2, x
960, 60
Both produce MIDI key 57 for both notes, so the only difference is that the MusicXML note is neither drawn nor sounded as muted.
Expected Behavior
A note carrying <notehead>x</notehead> should be imported as a dead/muted note: the tablature staff should show x instead of the fret number, and playback should produce the short muted sound — matching what alphaTex {x} and Guitar Pro dead notes already do.
x is the standard MusicXML notehead for muted/dead notes on guitar, and it is what MuseScore, Guitar Pro and Sibelius all export for them.
The MusicXML support matrix lists notehead → x as ✅ Supported for Model, Reading, Render, Audio and Tex, which is why I am reporting this as a bug rather than asking for a new feature.
Steps To Reproduce
Load the MusicXML below — two quarter notes on the same string and fret, the second one carrying <notehead>x</notehead>.
Render it with the tab stave profile and look at the tab digits, and generate the MIDI and look at the note lengths.
Observe that the second note is drawn with its fret number and lasts as long as the first, instead of being drawn as x and cut short.
The above is the real printEnvironmentInfo() output from the environment where the snippet was run.
Platform
Node.js (where the reproduction above was run and verified)
Anything else?
Where this showed up in practice: I generate MusicXML from guitar tabs and read it back with alphaTab. Dead notes are very common in that material — in one 10-song set, 777 of the notes are dead notes, and all of them come back as ordinary fretted notes, which changes both how the tab reads and how it sounds.
<notehead>x</notehead> also appears on percussion staves, where it is the normal notehead for cymbals and hi-hats rather than a muted note, so the two cases are worth keeping apart.
Is there an existing issue for this?
I have read the contribution rules
AI authorship
AI-assisted (disclosure block included as described in AGENTS.md)
Current Behavior
Note
AI-authored disclosure (
alphatab-ai-authored-v1)Portions of this content were authored by an AI agent. The agent has read
AGENTS.md and the human submitter accepts responsibility for
compliance with the rules in that document.
A note written as a dead (muted) note in MusicXML —
<notehead>x</notehead>on a tablature staff — is imported as an ordinary fretted note.Two things a user notices:
xis expected. The note is indistinguishable from the un-muted note next to it.The same music written in alphaTex with
{x}gives both thexin the tab and the short muted sound, so this looks specific to the MusicXML side rather than to how dead notes work generally.Rendering the two-note example below (one plain note, one with
<notehead>x</notehead>, same string and fret) and reading the text out of the produced SVG gives the tab digits, and generating the MIDI gives the note lengths:<notehead>x</notehead>2,2:4 2.3 2.3{x}(same pitch)2,xBoth produce MIDI key 57 for both notes, so the only difference is that the MusicXML note is neither drawn nor sounded as muted.
Expected Behavior
A note carrying
<notehead>x</notehead>should be imported as a dead/muted note: the tablature staff should showxinstead of the fret number, and playback should produce the short muted sound — matching what alphaTex{x}and Guitar Pro dead notes already do.xis the standard MusicXML notehead for muted/dead notes on guitar, and it is what MuseScore, Guitar Pro and Sibelius all export for them.The MusicXML support matrix lists
notehead→xas ✅ Supported for Model, Reading, Render, Audio and Tex, which is why I am reporting this as a bug rather than asking for a new feature.Steps To Reproduce
<notehead>x</notehead>.xand cut short.Output on 1.8.4:
(the leading
1is the bar number)Link to jsFiddle, CodePen, Project
No hosted example — the snippet above is self-contained and needs no score file.
Version and Environment
The above is the real
printEnvironmentInfo()output from the environment where the snippet was run.Platform
Node.js (where the reproduction above was run and verified)
Anything else?
Where this showed up in practice: I generate MusicXML from guitar tabs and read it back with alphaTab. Dead notes are very common in that material — in one 10-song set, 777 of the notes are dead notes, and all of them come back as ordinary fretted notes, which changes both how the tab reads and how it sounds.
<notehead>x</notehead>also appears on percussion staves, where it is the normal notehead for cymbals and hi-hats rather than a muted note, so the two cases are worth keeping apart.