Time Signatures =============== *Example script* (scamp): `examples/Tutorial/07_time_signature.py `__ *Download:* :download:`07_time_signature.py ` Plays a simple C Major arpeggio, and generates notation for it in three different ways: - with a 3/8 time signature - with a 3/8 time signature for the first measure followed by 2/4 - with alternating 3/8 and 2/4 time signatures - with a list of bar lengths determining time signatures *Topics:* :doc:`Notation & engraving › Basics ` .. raw:: html
Specify one time signature throughout
score
.. raw:: html
Specify a list of time signatures by measure
score
.. raw:: html
Alternate time signatures
score
.. raw:: html
Specify barline locations
score
.. raw:: html
.. code-block:: python from scamp import * s = Session() violin = s.new_part("Violin") # begin recording (defaults to transcribing # all instruments within the session) s.start_transcribing() for _ in range(4): for pitch in [60, 64, 67, 72]: violin.play_note(pitch, 1, 0.5) # stop the recording and save the recorded # note events as a performance performance = s.stop_transcribing() # quantize and convert the performance to a Score object and open it as a PDF, # this time imposing a time signature of 3/8 performance.to_score(time_signature="3/8", title="Specify one time signature throughout").show() # a list is interpreted as a (non-repeating) sequence of time signatures performance.to_score(time_signature=["3/8", "2/4"], title="Specify a list of time signatures by measure").show() # if a repeating sequence of time signatures is desires, end the list with "loop" performance.to_score(time_signature=["3/8", "2/4", "loop"], title="Alternate time signatures").show() # Alternatively, bar line locations can be given and sensible time signatures will be selected performance.to_score(bar_line_locations=[1.5, 3.5, 8], title="Specify barline locations").show()