neoscore.western.notehead_tables
Tables of glyphs for common notehead styles
This module includes prebuilt NoteheadTable
s 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:
object
A 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_division
is 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
SLASH
but 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_SLASH
but 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
DIAMOND
but 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_CIRCLED
but 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