NPM: Node Packages for MUSIC

One of the main reasons I got into software & web development is my obsession with music technology. There are SO many amazing music programs out there, from the many music streaming / listening apps, to a nearly uncountable amount of music production softwares, to an expansive library of music theory helpers, and an ever-growing number of instrumentation practice tools.. and beyond.

Obviously there’s a TON of creativity, inspiration, knowledge, and talent behind all of these examples, which reach deeply into and pull fruitfully out of some wildly different creative rabbit-holes.

Here’s a quick look at just a few of the awesome musical Node packages out there:

Music Theory & Production

Mode-ify Product Demo — build more complex chords and chord progressions.
  1. Tonal — A music theory library that contains functions to manipulate tonal elements of music (note, intervals, chords, scales, modes, keys). It deals with abstractions (not actual music or sound).

https://github.com/tonaljs/tonal

2. Sharp11 — Built to optimize performing music theory operations, ranging from simple things like transposing a note to complicated things like generating an ordered list of scales that can be played over a given chord. Also capable of things like chord recognition, as seen in my Mode-ify video above.

3. Pitchy — Simple pitch detection library.

https://www.npmjs.com/package/pitchy

Audio Control

2. React-media-control — media controller using Material UI components.

3. Howler — an audio library built for web.

4. React-Player — a react component for playing a variety of urls including youtube, twitch, soundcloud, and more.

5. Speaker — Output PCM Audio data to the speakers.

MIDI

https://www.npmjs.com/package/midi-writer-js

2. ScribbleTune — generate midi rhythms and patterns — also available in Max for Live for use in Ableton Live.

3. Midi-player-js- reads midi files and emits JSON events in real time that can be used to trigger audio, visual, or anything else you code with it.

Spotify, etc.

2. Bandcamp Scraper — pull info from Bandcamp, because they shut down their public API and don’t plan to reopen it.

Waveforms / Visualizers

2. Nodejs-audio-visualizer — Audio visualizer generator for Node.js with simple configuration.

3. Wave.js — Minimal wave visualizer for javascript from wave.js Visual audio from element or microphone stream.

The world is yours!

Cheers!

Denver, CO based. Software Sales turned Software Engineer.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store