muspy.visualization

Visualization tools.

This module provides functions for visualizing a Music object.

Classes

  • ScorePlotter

Functions

  • show

  • show_pianoroll

  • show_score

muspy.visualization.show(music, kind, **kwargs)[source]

Show visualization.

Parameters:
  • music (muspy.Music) – Music object to convert.

  • kind ({'piano-roll', 'score'}) – Target representation.

muspy.visualization.show_pianoroll(music, **kwargs)[source]

Show pianoroll visualization.

muspy.visualization.show_score(music, figsize=None, clef='treble', clef_octave=0, note_spacing=None, font_path=None, font_scale=None)[source]

Show score visualization.

Parameters:
  • music (muspy.Music) – Music object to show.

  • figsize ((float, float), optional) – Width and height in inches. Defaults to Matplotlib configuration.

  • clef ({'treble', 'alto', 'bass'}, default: 'treble') – Clef type.

  • clef_octave (int, default: 0) – Clef octave.

  • note_spacing (int, default: 4) – Spacing of notes.

  • font_path (str or Path, optional) – Path to the music font. Defaults to the path to the downloaded Bravura font.

  • font_scale (float, default: 140) – Font scaling factor for finetuning. The default value of 140 is optimized for the default Bravura font.

Returns:

A ScorePlotter object that handles the score.

Return type:

muspy.ScorePlotter

class muspy.visualization.ScorePlotter(fig, ax, resolution, note_spacing=None, font_path=None, font_scale=None)[source]

A plotter that handles the score visualization.

fig

Figure object to plot the score on.

Type:

matplotlib.figure.Figure

axes

Axes object to plot the score on.

Type:

matplotlib.axes.Axes

resolution

Time steps per quarter note.

Type:

int

note_spacing

Spacing of notes.

Type:

int, default: 4

font_path

Path to the music font. Defaults to the path to the downloaded Bravura font.

Type:

str or Path, optional

font_scale

Font scaling factor for finetuning. The default value of 140 is optimized for the default Bravura font.

Type:

float, default: 140

set_baseline(y)[source]

Set baseline position (y-coordinate of first staff line).

adjust_fonts(scale=None)[source]

Adjust the fonts.

update_boundaries(left=None, right=None, bottom=None, top=None)[source]

Update boundaries.

plot_staffs(start=None, end=None)[source]

Plot the staffs.

plot_bar_line()[source]

Plot a bar line.

plot_final_bar_line()[source]

Plot an ending bar line.

plot_clef(kind='treble', octave=0)[source]

Plot a clef.

plot_tempo(qpm)[source]

Plot a tempo as a metronome mark.

plot_key_signature(root, mode)[source]

Plot a key signature. Supports only major and minor keys.

plot_time_signature(numerator, denominator)[source]

Plot a time signature.

plot_note(time, duration, pitch)[source]

Plot a note.

plot_object(obj)[source]

Plot an object.