A Flutter package for working with piano keys and sheet music

Overview

Piano

A Flutter package that provides:

  • logic for working with musical notes, clefs and octaves;
  • a widget that can render notes on a clef;
  • an interactive piano widget.

Where is it used?

In "Learn The Notes", a simple sight reading trainer you can find on the iOS App Store here and macOS App Store here.

Example showing musical clef and interactive piano

How do I use it?

Here's an example app:

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:piano/piano.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return CupertinoApp(
        title: 'Piano Demo',
        home: Center(
          child: InteractivePiano(
            highlightedNotes: [
              NotePosition(note: Note.C, octave: 3)
            ],
            naturalColor: Colors.white,
            accidentalColor: Colors.black,
            keyWidth: 60,
            noteRange: NoteRange.forClefs([
              Clef.Treble,
            ]),
            onNotePositionTapped: (position) {
              // Use an audio library like flutter_midi to play the sound
            },
          ),
        ));
  }
}

More like this

You might also like...

Sample app to demonstrate the integration and working of Dyte SDK for mobile, using Flutter.

Sample app to demonstrate the integration and working of Dyte SDK for mobile, using Flutter.

Flutter Sample App by dyte Sample App to demonstrate Dyte SDK in flutter Explore the docs » View Demo · Report Bug · Request Feature Table of Contents

Jan 1, 2023

A project to showcase usage of basic principles to convert any 3D design into a working application using Flutter.

A project to showcase usage of basic principles to convert any 3D design into a working application using Flutter.

Developing apps with 3D designs in flutter This project is developed to showcase how we can use some basic principles to convert any 3D design into a

Dec 22, 2022

An application for the time recording of his working hours.

An application for the time recording of his working hours.

Time24 An open-source time-tracking software About the project! The purpose of this project is to simplify the documentation of working hours and at t

Aug 3, 2021

Caffodils - Download everything | Flutter app for Android and IOS. Download Video, Reels, Shorts, Music, Images, Files from Instagram, Facebook and Youtube

caffodils Caffodils - Download everything Flutter app for Android and IOS. Download Video, Reels, Shorts, Music, Images, Files from Instagram, Faceboo

Oct 24, 2022

A mobile music streaming app with a complex UI built with Flutter and the Deezer API🚀

A mobile music streaming app with a complex UI built with Flutter and the Deezer API🚀

Sap Sap is a music streaming & discovery app built with the Deezer API for iOS and Android. It includes a mini player, search and local storage. Be su

Dec 28, 2022

Music Streaming and Downloading app made in Flutter

Music Streaming and Downloading app made in Flutter

Musify Music Streaming and Downloading app made in Flutter! Show some ❤️ and ⭐ the Repo Features Online Song Search 🔍 Streaming Support 🎵 Offline Do

Dec 30, 2022

A Flutter plugin for playing music on iOS and Android.

Stereo plugin for Flutter A Flutter plugin for playing music on iOS and Android. Features Play/pause Stop Duration / seek to position Load track from

Sep 24, 2022

A Music Recommendation System made using Flutter and backed by FastAPI.

ProjectX Music A Music Recommendation System made using Flutter and backed by FastAPI. Introduction ProjectX Music is an online mobile application tha

Dec 27, 2022

Music App made with flutter

Music App made with flutter

Chillify A Flutter music app made with Provider and BLoC pattern. (Works on Android for now) Recommended Flutter version: 1.7.8+hotfix.4 UI heavily in

Jan 4, 2023
Comments
  • Show finger number?

    Show finger number?

    It would be helpful to show what finger number to use when pressing a note. E.g., when practicing scales or arpeggios, using particular finger sequences can make a big difference.

    opened by brylie 0
Owner
Craig McMahon
I've been programming since QBASIC, and a mobile developer since PalmPilot. These days I like Swift, Kotlin, Flutter and machine learning.
Craig McMahon
🎵 Elegant music app to play local music & YouTube music. Distributes music into albums & artists. Has playlists & lyrics.

Harmonoid Elegant music app to play local music & YouTube music. Download Now ?? Feel free to report bugs & issues. We'll be there to fix. Loving the

Harmonoid 2.5k Dec 30, 2022
🎵 Elegant music app to play local music & YouTube music. Distributes music into albums & artists. Has playlists & lyrics. Windows + Linux + Android.

Harmonoid Elegant music app to play local music & YouTube music. Download Now ?? Windows, Linux & Android. Feel free to report bugs & issues. Loving t

Harmonoid 1.9k Aug 10, 2022
Flutter Music Player - First Open Source Flutter based material design music player with audio plugin to play local music files.

Flutter Music Player First Open Source Flutter based Beautiful Material Design Music Player(Online Radio will be added soon.) Demo App Play Store BETA

Pawan Kumar 1.5k Jan 8, 2023
A piano app made with Flutter as a gRPC example

Remote Piano A toy piano app made with Flutter as a gRPC example, with a unique feature to interact with remote devices. Demo https://kaboc.github.io/

Kabo 21 Oct 24, 2022
A Cross Platform Piano made with Flutter

flutter_piano A Crossplatform Midi Piano built with Flutter.dev This application runs on both iOS and Android. This runs a custom crossplatform midi s

Rody Davis 380 Dec 14, 2022
Playify is a Flutter plugin for play/pause/seek songs, fetching music metadata, and browsing music library.

Playify Playify is a Flutter plugin for play/pause/seek songs, fetching music metadata, and browsing music library. Playify was built using iOS's Medi

Ibrahim Berat Kaya 32 Dec 14, 2022
google sheet test with flutter

flutter_gss_test A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started

fitsum tesfaye 0 Nov 3, 2021
Bottom Sheet Expandable Bar for Flutter

Bottom Sheet Expandable Bar This package create a bottom navigation bar with the capability to show a bottom sheet. Instalation Include bottom_sheet_e

Aarón J. Montes 8 Oct 31, 2022
Layout cheat sheet - A Simple Layout built with flutter

layout_cheat_sheet A new Flutter project. Getting Started This project is a star

Đỗ Huy Hoàng 1 Jan 12, 2022
Simple RPG sheet.

rpg_sheet Simple RPG sheet. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if this is

Flávio Sousa 0 Jan 2, 2022