metronome 2.0.1 copy "metronome: ^2.0.1" to clipboard
metronome: ^2.0.1 copied to clipboard

Efficient, accurate, cross-platform metronome; supports volume, BPM, and audio source settings.

Metronome #

pub package

Efficient, accurate, cross-platform metronome; supports volume, BPM, time signature and audio source settings.

Version 2.0 refactored most of the code, with better performance (BPM>600), less resource usage, and more accurate time signature callback.

#

Metronome

Demo #

Live preview

TODO #

  • ✅ Add support for time signature #2
  • ✅ Add windows support
  • ✅ Add tickCallback for web

Quick Start #

Init #

final metronome = Metronome();
metronome.init(
    'assets/audio/snare.wav', 
    accentedPath: 'assets/audio/claves44_wav.wav',
    bpm: 120, 
    //0 ~ 100
    volume: 50,  
    enableTickCallback: true,
    // The time signature is the number of beats per measure,default is 4
    timeSignature: 4,
    sampleRate: 44100,
);

Play #

metronome.play();

Pause #

metronome.pause();

Stop #

metronome.stop();

Volume #

metronome.getVolume();
metronome.setVolume(50);

BPM #

metronome.setBPM(120); 
metronome.getBPM(); 

TimeSignature #

Disable accents when less than 2

metronome.setTimeSignature(4); 
metronome.getTimeSignature(); 

isPlaying #

Get play state

metronome.isPlaying();

setAudioFile #

main, accent can be set at the same time or individually

metronome.setAudioFile(
    mainPath:'assets/audio/snare.wav',
    accentedPath:'assets/audio/claves.wav'
);
metronome.setAudioFile(
    mainPath:'assets/audio/snare.wav',
);

destroy #

metronome.destroy();

Tick callback #

enableTickCallback must be set to true in init

metronome.tickStream.listen((int tick) {
  print("tick: $tick");
});
14
likes
0
points
614
downloads

Publisher

verified publisherdev.sumsg.com

Weekly Downloads

Efficient, accurate, cross-platform metronome; supports volume, BPM, and audio source settings.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter, flutter_web_plugins, plugin_platform_interface, web

More

Packages that depend on metronome