<jupyter_start><jupyter_text>User's Guide, Chapter 32: ArticulationsArticulations are elements attached usually to Notes that specify how the note should be played.  In `music21` we use the term articulation also to refer to indications that are specific to instruments, such as bowing or fingering information.  They all live in the :ref:`moduleArticulations` module and start with the class :class:`~music21.articulations.Articulation`.<jupyter_code>art = articulations.Articulation()
art<jupyter_output><empty_output><jupyter_text>All articulations have a `.placement` attribute which can be 'above', 'below', or None.<jupyter_code>print(art.placement)
art.placement = 'above'
art.placement<jupyter_output><empty_output><jupyter_text>All articulations have additional `.style` information, which we will discuss in more depth later:<jupyter_code>art.style.absoluteX = 20<jupyter_output><empty_output><jupyter_text>Now, most of the time you won't want _any_ articulation, you will want _the_ specific articulation such as `Staccato`, `Accent`, etc.  So there are classes for each of them:<jupyter_code>stac = articulations.Staccato()
acc = articulations.Accent()<jupyter_output><empty_output><jupyter_text>To make an articulation display, attach it to the `.articulations` list on a Note:<jupyter_code>n1 = note.Note('A4')
n1.articulations
n1.articulations.append(stac)
n1.articulations
n1.show()<jupyter_output><empty_output><jupyter_text>Because `.articulations` is a list, a note may have multiple articulations:<jupyter_code>n1.articulations.append(acc)
n1.show()
doit = articulations.Doit()
n1.articulations.append(doit)
n1.show()<jupyter_output><empty_output><jupyter_text>Some articulations affect the length of the note:<jupyter_code>stac.lengthShift<jupyter_output><empty_output><jupyter_text>Others affect the volume:<jupyter_code>acc.volumeShift<jupyter_output><empty_output><jupyter_text>Many articulations have additional parameters.  :class:`~music21.articulations.StrongAccent` for instance can point up or down:<jupyter_code>sacc = articulations.StrongAccent()
sacc.pointDirection
sacc.placement = 'above'

n2 = note.Note('A4')
n2.articulations.append(sacc)

sacc2 = articulations.StrongAccent()
sacc2.pointDirection = 'down'
sacc2.placement = 'above'

n3 = note.Note('A4')
n3.articulations.append(sacc2)

m = stream.Measure()
m.append([n2, n3])
m.show()<jupyter_output><empty_output><jupyter_text>Unfortunately, MuseScore does not respect `.placement` if pointDirection is specified.As we saw in :ref:`Chapter 13`, when a note is split, its articulations go either on the first note of the split, the last, or all the notes:<jupyter_code>n12, n22 = n1.splitAtQuarterLength(0.5)
m2 = stream.Measure()
m2.append([n12, n22])
m2.show()<jupyter_output><empty_output><jupyter_text>This property is determined by the `.tieAttach` value for an articulation:<jupyter_code>acc.tieAttach, stac.tieAttach<jupyter_output><empty_output><jupyter_text>Breath marks can have a `.symbol` of 'comma' or 'tick':<jupyter_code>bm2 = articulations.BreathMark()
bm2.symbol = 'comma'
n2.articulations.append(bm2)

bm3 = articulations.BreathMark()
bm3.symbol = 'tick'
n3.articulations.append(bm3)

m.show()<jupyter_output><empty_output><jupyter_text>Again, unfortunately, some MusicXML readers do not respect this value.MusicXML distinguishes articulations from technical indicates, but in `music21` these are all in the `articulations` module and stored in the `.articulations` list.  They do, however, have `TechnicalIndication` in their classes:<jupyter_code>f = articulations.Fingering(5)
f.classes
f.fingerNumber
n3.articulations = []
n3.articulations.append(f)
m.show()<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.1065440778799351, 'fraction_numerical': 0.016495402920497566, 'mean_word_length': 7.662763466042154, 'pattern_counts': {'":': 0, '<': 53, '<?xml version=': 0, '>': 53, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '13', 'dir': 'jupyter-structured-clean-dedup', 'id': '411039', 'license': 'MIT', 'n_tokens_mistral': 1297, 'n_tokens_neox': 1237, 'n_words': 310, 'path': 'documentation/source/usersGuide/usersGuide_32_articulations.ipynb', 'repo_name': 'cuthbertLab/music21', 'size': '3698'}