neoscore.western.notehead_tables
Tables of glyphs for common notehead styles
This module includes prebuilt NoteheadTables for many notehead
flavors included in SMuFL. Custom tables using arbitrary SMuFL glyphs
may also be created by simply instantiating a NoteheadTable and
passing it wherever needed.
Note that many of the more obscure glyph tables only have a solid and
empty variant, for example MOON. In these cases, the empty glyph is
used for all except the short key, for which the solid glyph is
used.
- class neoscore.western.notehead_tables.NoteheadTable[source]
Bases:
objectA mapping from duration classes to canonical SMuFL glyph names.
- double_whole: str
- whole: str
- half: str
- short: str
Quarter notes and shorter
- lookup_duration(base_division: int) str[source]
Given a base division, return the required glyph to represent it.
Assumes
base_divisionis 0 or a power of 2.
- __init__(double_whole: str, whole: str, half: str, short: str) None
- neoscore.western.notehead_tables.STANDARD = NoteheadTable(double_whole='noteheadDoubleWhole', whole='noteheadWhole', half='noteheadHalf', short='noteheadBlack')
Standard western notation noteheads
- neoscore.western.notehead_tables.STANDARD_WITH_PARENTHESES = NoteheadTable(double_whole='noteheadDoubleWholeParens', whole='noteheadWholeParens', half='noteheadHalfParens', short='noteheadBlackParens')
Standard noteheads enclosed in parentheses.
Not available in all fonts.
- neoscore.western.notehead_tables.STANDARD_SMALL = NoteheadTable(double_whole='noteheadDoubleWholeSmall', whole='noteheadWholeSmall', half='noteheadHalfSmall', short='noteheadBlackSmall')
Standard noteheads at a smaller size.
Not available in all fonts.
- neoscore.western.notehead_tables.STANDARD_OVERSIZED = NoteheadTable(double_whole='noteheadDoubleWholeOversized', whole='noteheadWholeOversized', half='noteheadHalfOversized', short='noteheadBlackOversized')
Standard noteheads at a larger size.
Not available in all fonts.
- neoscore.western.notehead_tables.X = NoteheadTable(double_whole='noteheadXDoubleWhole', whole='noteheadXWhole', half='noteheadXHalf', short='noteheadXBlack')
- neoscore.western.notehead_tables.SLASH = NoteheadTable(double_whole='noteheadSlashWhiteDoubleWhole', whole='noteheadSlashWhiteWhole', half='noteheadSlashWhiteHalf', short='noteheadSlashVerticalEnds')
Percussion-style slash noteheads.
This uses SMuFL’s vertical-ends-style short notehead.
- neoscore.western.notehead_tables.MUTED_SLASH = NoteheadTable(double_whole='noteheadSlashWhiteDoubleWhole', whole='noteheadSlashWhiteMuted', half='noteheadSlashWhiteMuted', short='noteheadSlashVerticalEndsMuted')
Percussion-style slash noteheads with secondary slashes indicating mutes.
Because SMuFL provides no muted variant for double whole notes, this uses the regular slash double whole notehead.
- neoscore.western.notehead_tables.SLASH_OVERSIZED = NoteheadTable(double_whole='noteheadSlashWhiteDoubleWholeOversized', whole='noteheadSlashWhiteWholeOversized', half='noteheadSlashWhiteHalfOversized', short='noteheadSlashVerticalEndsOversized')
Like
SLASHbut with oversized variants.Not available in all fonts.
- neoscore.western.notehead_tables.MUTED_SLASH_OVERSIZED = NoteheadTable(double_whole='noteheadSlashWhiteDoubleWholeOversized', whole='noteheadSlashWhiteMutedOversized', half='noteheadSlashWhiteMutedOversized', short='noteheadSlashVerticalEndsMutedOversized')
Like
MUTED_SLASHbut with oversized variants.Not available in all fonts.
- neoscore.western.notehead_tables.PLUS = NoteheadTable(double_whole='noteheadPlusDoubleWhole', whole='noteheadPlusWhole', half='noteheadPlusHalf', short='noteheadPlusBlack')
- neoscore.western.notehead_tables.CIRCLE_X = NoteheadTable(double_whole='noteheadCircleXDoubleWhole', whole='noteheadCircleXWhole', half='noteheadCircleXHalf', short='noteheadCircleX')
- neoscore.western.notehead_tables.STANDARD_WITH_X = NoteheadTable(double_whole='noteheadDoubleWholeWithX', whole='noteheadWholeWithX', half='noteheadHalfWithX', short='noteheadVoidWithX')
- neoscore.western.notehead_tables.SQUARE = NoteheadTable(double_whole='noteheadSquareWhite', whole='noteheadSquareWhite', half='noteheadSquareWhite', short='noteheadSquareBlack')
- neoscore.western.notehead_tables.TRIANGLE_UP = NoteheadTable(double_whole='noteheadTriangleUpDoubleWhole', whole='noteheadTriangleUpWhole', half='noteheadTriangleUpHalf', short='noteheadTriangleUpBlack')
- neoscore.western.notehead_tables.TRIANGLE_LEFT = NoteheadTable(double_whole='noteheadTriangleLeftWhite', whole='noteheadTriangleLeftWhite', half='noteheadTriangleLeftWhite', short='noteheadTriangleLeftBlack')
- neoscore.western.notehead_tables.TRIANGLE_RIGHT = NoteheadTable(double_whole='noteheadTriangleRightWhite', whole='noteheadTriangleRightWhite', half='noteheadTriangleRightWhite', short='noteheadTriangleRightBlack')
- neoscore.western.notehead_tables.TRIANGLE_DOWN = NoteheadTable(double_whole='noteheadTriangleDownDoubleWhole', whole='noteheadTriangleDownWhole', half='noteheadTriangleDownHalf', short='noteheadTriangleDownBlack')
- neoscore.western.notehead_tables.TRIANGLE_UP_RIGHT = NoteheadTable(double_whole='noteheadTriangleUpRightWhite', whole='noteheadTriangleUpRightWhite', half='noteheadTriangleUpRightWhite', short='noteheadTriangleUpRightBlack')
- neoscore.western.notehead_tables.TRIANGLE_ROUND_DOWN = NoteheadTable(double_whole='noteheadTriangleRoundDownWhite', whole='noteheadTriangleRoundDownWhite', half='noteheadTriangleRoundDownWhite', short='noteheadTriangleRoundDownBlack')
- neoscore.western.notehead_tables.MOON = NoteheadTable(double_whole='noteheadMoonWhite', whole='noteheadMoonWhite', half='noteheadMoonWhite', short='noteheadMoonBlack')
- neoscore.western.notehead_tables.PARENTHESIS = NoteheadTable(double_whole='noteheadParenthesis', whole='noteheadParenthesis', half='noteheadParenthesis', short='noteheadParenthesis')
An empty set of parentheses in place of noteheads. All four glyphs are the same.
- neoscore.western.notehead_tables.STANDARD_WITH_SLASH_UP = NoteheadTable(double_whole='noteheadSlashedDoubleWhole1', whole='noteheadSlashedWhole1', half='noteheadSlashedHalf1', short='noteheadSlashedBlack1')
Standard noteheads with slashes going from bottom left to top right.
- neoscore.western.notehead_tables.STANDARD_WITH_SLASH_DOWN = NoteheadTable(double_whole='noteheadSlashedDoubleWhole2', whole='noteheadSlashedWhole2', half='noteheadSlashedHalf2', short='noteheadSlashedBlack2')
Standard noteheads with slashes going from top left to bottom right.
- neoscore.western.notehead_tables.DIAMOND = NoteheadTable(double_whole='noteheadDiamondDoubleWhole', whole='noteheadDiamondWhole', half='noteheadDiamondHalf', short='noteheadDiamondBlack')
- neoscore.western.notehead_tables.DIAMOND_WIDE = NoteheadTable(double_whole='noteheadDiamondDoubleWhole', whole='noteheadDiamondWhole', half='noteheadDiamondHalfWide', short='noteheadDiamondBlackWide')
Like
DIAMONDbut with wider half and short variants
- neoscore.western.notehead_tables.DIAMOND_OLD = NoteheadTable(double_whole='noteheadDiamondDoubleWholeOld', whole='noteheadDiamondWholeOld', half='noteheadDiamondHalfOld', short='noteheadDiamondBlackOld')
- neoscore.western.notehead_tables.STANDARD_CIRCLED = NoteheadTable(double_whole='noteheadCircledDoubleWhole', whole='noteheadCircledWhole', half='noteheadCircledHalf', short='noteheadCircledBlack')
- neoscore.western.notehead_tables.STANDARD_LARGE_CIRCLED = NoteheadTable(double_whole='noteheadCircledDoubleWholeLarge', whole='noteheadCircledWholeLarge', half='noteheadCircledHalfLarge', short='noteheadCircledBlackLarge')
Like
STANDARD_CIRCLEDbut with a larger circle
- neoscore.western.notehead_tables.LARGE_ARROW_UP = NoteheadTable(double_whole='noteheadLargeArrowUpDoubleWhole', whole='noteheadLargeArrowUpWhole', half='noteheadLargeArrowUpHalf', short='noteheadLargeArrowUpBlack')
- neoscore.western.notehead_tables.LARGE_ARROW_DOWN = NoteheadTable(double_whole='noteheadLargeArrowDownDoubleWhole', whole='noteheadLargeArrowDownWhole', half='noteheadLargeArrowDownHalf', short='noteheadLargeArrowDownBlack')
- neoscore.western.notehead_tables.CLUSTER_SQUARE = NoteheadTable(double_whole='noteheadClusterSquareWhite', whole='noteheadClusterSquareWhite', half='noteheadClusterSquareWhite', short='noteheadClusterSquareBlack')
Large tone clusters in square shapes
This uses the same glyph for all durations except
short.
- neoscore.western.notehead_tables.CLUSTER_ROUND = NoteheadTable(double_whole='noteheadClusterRoundWhite', whole='noteheadClusterRoundWhite', half='noteheadClusterRoundWhite', short='noteheadClusterRoundBlack')
Large tone clusters in round shapes
This uses the same glyph for all durations except
short.
- neoscore.western.notehead_tables.CLUSTER_SECOND = NoteheadTable(double_whole='noteheadClusterDoubleWhole2nd', whole='noteheadClusterWhole2nd', half='noteheadClusterHalf2nd', short='noteheadClusterQuarter2nd')
Tone cluster glyphs spanning a second
- neoscore.western.notehead_tables.CLUSTER_THIRD = NoteheadTable(double_whole='noteheadClusterDoubleWhole3rd', whole='noteheadClusterWhole3rd', half='noteheadClusterHalf3rd', short='noteheadClusterQuarter3rd')
Tone cluster glyphs spanning a third
- neoscore.western.notehead_tables.CLUSTER_SECOND_DIAMOND = NoteheadTable(double_whole='noteheadDiamondClusterWhite2nd', whole='noteheadDiamondClusterWhite2nd', half='noteheadDiamondClusterWhite2nd', short='noteheadDiamondClusterBlack2nd')
Tone cluster glyphs spanning a second using diamond glyphs
This uses the same glyph for all durations except
short.
- neoscore.western.notehead_tables.CLUSTER_THIRD_DIAMOND = NoteheadTable(double_whole='noteheadDiamondClusterWhite3rd', whole='noteheadDiamondClusterWhite3rd', half='noteheadDiamondClusterWhite3rd', short='noteheadDiamondClusterBlack3rd')
Tone cluster glyphs spanning a second using diamond glyphs
This uses the same glyph for all durations except
short.
- neoscore.western.notehead_tables.INVISIBLE = NoteheadTable(double_whole='', whole='', half='', short='')
Blank non-printing noteheads
- neoscore.western.notehead_tables.ALL_TABLES: List[NoteheadTable]
A list of all the notehead tables in this module