scamp.score.Voice¶
-
class
scamp.score.
Voice
(contents: Sequence[Union[Tuplet, NoteLike]], time_signature: scamp.quantization.TimeSignature)[source]¶ Bases:
scamp.score.ScoreComponent
,scamp.score.ScoreContainer
Representation of a single voice within a single measure of a single staff of music.
- Parameters
contents – list of Tuplet or NoteLike objects in this voice
time_signature – the time signature of the measure to which this voice belongs
- Variables
time_signature – the time signature of the measure to which this voice belongs
Methods
empty_voice
(time_signature)Constructs an empty voice containing simply a bar rest.
from_performance_voice
(notes, …)Constructs a Voice object from a list of PerformanceNotes
iterate_notes
([include_rests])Iterate through the notes (and possibly rests) within this Voice
Length of the part of this voice that has something in it.
to_music_xml
([source_id_dict])Convert this score component to its corresponding pymusicxml component
Inherited Methods
append
(item)Add a child ScoreComponent of the appropriate type
export_lilypond
(file_path)Convert and wrap as a LilyPond (.ly) file, and save to the given path.
export_music_xml
(file_path[, pretty_print])Convert and wrap as a MusicXML score, and save to the given path.
export_pdf
(file_path)Exports score as a PDF file and saves it to the given file_path
extend
(items)Add several child ScoreComponents of the appropriate type
index
(item)Get the index of the given child ScoreComponent
insert
(index, item)Insert a child ScoreComponent at the given index.
pop
([i])Pop and return the child ScoreComponent at the given index.
print_lilypond
([wrap_as_file])Convert and print LilyPond code.
print_music_xml
([pretty_print])Convert and wrap as a MusicXML score, and print the resulting XML.
remove
(item)Remove the given child ScoreComponent.
show
()Using the abjad.show command, generates and opens a PDF of the music represented by this component
show_xml
()Convert and wrap as a MusicXML score, and open it up in notation software.
to_abjad
()Convert this score component to its corresponding abjad component
Convert and wrap as a abjad.LilyPondFile object
to_lilypond
([wrap_as_file])Convert to LilyPond code.
Attributes
list of Tuplet or NoteLike objects in this voice
-
property
contents
¶ list of Tuplet or NoteLike objects in this voice
-
iterate_notes
(include_rests: bool = False) → Iterator[scamp.score.NoteLike][source]¶ Iterate through the notes (and possibly rests) within this Voice
- Parameters
include_rests – Whether or not to include rests
-
non_empty_length
() → float[source]¶ Length of the part of this voice that has something in it. (i.e. the length not counting trailing rests that aren’t part of a tuplet)
-
classmethod
empty_voice
(time_signature: scamp.quantization.TimeSignature) → scamp.score.Voice[source]¶ Constructs an empty voice containing simply a bar rest.
- Parameters
time_signature – the time signature of the measure to which this voice belongs
-
classmethod
from_performance_voice
(notes: Sequence[performance_module.PerformanceNote], measure_quantization: scamp.quantization.QuantizedMeasure) → scamp.score.Voice[source]¶ Constructs a Voice object from a list of PerformanceNotes
(This is where a lot of the magic of converting performed notes to written symbols occurs.)
- Parameters
notes – the list of PerformanceNotes played in this measure
measure_quantization – the quantization used for this measure for this voice
-
to_music_xml
(source_id_dict=None) → Sequence[Union[pymusicxml.score_components.BeamedGroup, pymusicxml.score_components._XMLNote]][source]¶ Convert this score component to its corresponding pymusicxml component
-
append
(item: scamp.score.ScoreComponent) → None¶ Add a child ScoreComponent of the appropriate type
-
export_lilypond
(file_path) → None¶ Convert and wrap as a LilyPond (.ly) file, and save to the given path.
- Parameters
file_path – file path to save to
-
export_music_xml
(file_path: str, pretty_print: bool = True) → None¶ Convert and wrap as a MusicXML score, and save to the given path.
- Parameters
file_path – file path to save to
pretty_print – whether or not to take the extra space and format the file with indentations, etc.
-
export_pdf
(file_path) → None¶ Exports score as a PDF file and saves it to the given file_path
- Parameters
file_path – where to save the PDF
-
extend
(items) → None¶ Add several child ScoreComponents of the appropriate type
-
index
(item) → int¶ Get the index of the given child ScoreComponent
-
insert
(index, item) → None¶ Insert a child ScoreComponent at the given index.
-
pop
(i=- 1) → scamp.score.ScoreComponent¶ Pop and return the child ScoreComponent at the given index.
-
print_lilypond
(wrap_as_file=False) → None¶ Convert and print LilyPond code.
- Parameters
wrap_as_file – if True, wraps this object up as a full LilyPond file, ready for compilation. If False, we just get the code for the component itself.
-
print_music_xml
(pretty_print: bool = True) → None¶ Convert and wrap as a MusicXML score, and print the resulting XML.
- Parameters
pretty_print – whether or not to take the extra space and format the file with indentations, etc.
-
remove
(item) → None¶ Remove the given child ScoreComponent.
-
show
() → None¶ Using the abjad.show command, generates and opens a PDF of the music represented by this component
-
show_xml
() → None¶ Convert and wrap as a MusicXML score, and open it up in notation software. (The software to use is defined in engraving_settings.show_music_xml_command_line.)
-
to_abjad
() → abjad.score.Component¶ Convert this score component to its corresponding abjad component
-
to_abjad_lilypond_file
() → abjad.lilypondfile.LilyPondFile¶ Convert and wrap as a abjad.LilyPondFile object
-
to_lilypond
(wrap_as_file=False) → str¶ Convert to LilyPond code.
- Parameters
wrap_as_file – if True, wraps this object up as a full LilyPond file, ready for compilation. If False, we just get the code for the component itself.
- Returns
a string containing the LilyPond code