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.