A FLutter Plugin to Play midi on iOS and Android. This uses SoundFont (.sf2) Files.
Online Demo: https://rodydavis.github.io/flutter_midi/
Download a any sound font file, example: sound_font.SF2
file.
Create an /assets folder and store the .sf2 files
Update pubspec.yaml
assets:
- assets/sf2/Piano.SF2
- assets/sf2/SmallTimGM6mb.sf2
Load the sound font to prepare to play;
@override
void initState() {
load('assets/sf2/Piano.SF2');
super.initState();
}
void load(String asset) async {
FlutterMidi.unmute(); // Optionally Unmute
ByteData _byte = await rootBundle.load(asset);
FlutterMidi.prepare(sf2: _byte);
}
Play and Stop the Midi Notes
FlutterMidi.playMidiNote(midi: 60);
FlutterMidi.playMidiNote(midi: 60, velocity: 120);
FlutterMidi.stopMidiNote(midi: 60);
FlutterMidi.stopMidiNote(midi: 60, velocity: 120);