npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

osmd-audio-player

v0.7.0

Published

OSMD audio player

Downloads

103

Readme

ℹ️ This project is no longer in active development. I still keep an eye on it and it's open for contributions/PRs but I am not actively working on new feature implementations. The main reason being that there is an official early access audio player to be found (currently only available for donors): https://github.com/sponsors/opensheetmusicdisplay

🎵 OSMD Audio player

Unoffical audio playback engine for OpenSheetMusicDisplay. Successor meant to replace my previous proof of concept player & demo at https://github.com/jimutt/osmd-playback-demo.

This player is still in a very early state and lots of breaking and non-breaking changes will most likely be introduced before the first major release. Use at your own risk!

Install

npm install osmd-audio-player

Demos / usage

Basic

Basic no-framework demo with only play, pause & stop functionality.

Live demo: https://osmd-audio-player-demo-basic.netlify.com/ Source: https://github.com/jimutt/osmd-audio-player/tree/master/demos/basic

Vue JS + Vuetify

A more full-featured demo featuring configurable instruments, level control, switching scores & changing tempo.

Live demo: https://osmd-audio-player-demo-vue.netlify.com/ Source: https://github.com/jimutt/osmd-audio-player/tree/master/demos/vue-player-demo

You might notice that there's currently a quite large delay when switching instruments. It's due to the in-advance scheduling to prevent interruptions & timing issues in the audio playback, and there's currently no clearing/reset of the buffer when an instrument change takes place. Some improvements in that area are planned.

Basic (React)

Barebones React example, contribution by @joshstovall.

Source: https://github.com/jimutt/osmd-audio-player/tree/master/demos/react-demo

Basic (UMD build)

Same functionality as the basic demo but without any Node.js requirements. Uses the UMD build of OSMD and the audio player for simple plug and play functionality in any web page.

Source: https://github.com/jimutt/osmd-audio-player/tree/master/demos/umd-web

The minified UMD build can be referenced from JSDelivr: https://cdn.jsdelivr.net/npm/osmd-audio-player/umd/OsmdAudioPlayer.min.js

Features

  • Framework agnostic, not tied to a specific front end Framework
  • Multi-instrument support
  • Individual level controls
  • Automatic tempo detection from score
  • Automatic instrument assignment

Roadmap

  • Repeat support
  • Dynamics support
  • Grace note support
  • Click to set playback position
  • Updated & properly structured Vue demo
  • Quickstart guide & more extensive Readme
  • Custom audio stack for playing soundfonts
  • Stricter typing
  • Unit tests

Credits

Browserstack

Thank you Browserstack for offering me your Open Source license for cross browser testing.