The simple_sheet_music library provides a simple way to display sheet music in a Flutter application. It includes classes for rendering staffs, measures, clefs, notes, and other music objects.

## Features

Can express sheet musics declaratively. Support for multiple single staffs.
Currently supported music symbols are

  • Clefs
  • Notes (accidentals and fingerings)
  • Barlines
  • Rests

    Usage

    To make the image above, do the following

    musicObjects = [
        Clef(ClefType.treble),
        Note(
            pitch: Pitch.c4,
            noteDuration: NoteDuration.eighth,
            accidental: Accidental.sharp,
            fingering: Fingering.one),
        Note(
            pitch: Pitch.e4,
            noteDuration: NoteDuration.eighth,
            fingering: Fingering.two),
        Note(
            pitch: Pitch.g4,
            noteDuration: NoteDuration.eighth,
            fingering: Fingering.three),
        Note(
            pitch: Pitch.c5,
            noteDuration: NoteDuration.eighth,
            accidental: Accidental.flat,
            fingering: Fingering.four),
    ];
    measure = Measure(musicObjects);
    staff = Staff([measure]);
    
    SimpleSheetMusic(
        initialClefType: ClefType.treble,
        staffs: [staff],
    )
    

    Future plans

    Currently planned additions are as follows.

  • Time signatures
  • Rests
  • Various fonts
  • Enrich gestures
  • import from MIDI, MusicXML
  • Grand staff
    ...
  • Libraries

    simple_sheet_music
    The simple_sheet_music library provides a simple way to display sheet music in a Flutter application. It includes classes for rendering staffs, measures, clefs, notes, and other music objects. The SimpleSheetMusic widget is the main entry point for displaying sheet music. It takes a list of Staff objects and other optional parameters to customize the appearance of the sheet music.