audioMotion.js

header

GitHub release GitHub Release Date

♪♫ See your music with audioMotion! ♪♫

audioMotion.js is a high-resolution real-time audio spectrum analyzer and full-featured music player written in JavaScript.

The spectrum analyzer module is also available as a standalone project and a zero-dependency npm package you can use in your own JavaScript projects!

Features

Online demo

DEMO SITE ▶ audioMotion.me/public

The demo allows you to play audio files from your PC, load songs and streams from remote URLs and use the microphone input. The file explorer is not available, since there are no media files hosted on the demo server.

Also check out our YouTube channel for videos of some cool songs visualized with audioMotion!

Download

Download the latest version from the releases page. Portable binaries are available for Windows, Linux and macOS.

Launch audioMotion and you’ll be asked for the path to your music folder. Only files under that folder will be accessible to the player.

You can also use the command line argument -m to set the music folder when launching audioMotion:

audioMotion -m c:\users\john\music

This will start the server and should also launch the client in your browser.

The complete command line options are:

-m <path> : path to music directory
-p <port> : change server listening port (default is 8000)
-s        : start server only (do not launch client)
-e        : allow external connections (by default, only localhost)

Documentation

For full documentation summary, see the docs folder.

Screenshots

Discrete frequencies mode. User interface showing the file explorer and play queue. screenshot1

1/12th-octave bands mode with LED effect and on-screen song information. User interface showing the settings panel. screenshot2

Full screen view: 1/6th-octave bands mode, 30Hz-16KHz, “Outrun” gradient, with complete on-screen information. screenshot3

Full screen view: Area fill mode, 20Hz-22KHz, frequency scale on, “Rainbow” gradient. screenshot4

Full screen view: 1/8th-octave bands mode with luminance bars effect, 30Hz-16KHz, frequency scale on, “Tie Dye” gradient. screenshot5

Credits and acknowledgments

audioMotion was largely inspired by Soniq Viewer for iOS, by Yuji Koike.

JavaScript libraries

Some of audioMotion’s great features are provided by these awesome open-source libraries:

Graphic resources

References

These online references were invaluable for the development and improvement of audioMotion:

License

audioMotion.js copyright (c) 2018-2019 Henrique Avila Vianna
Licensed under the GNU Affero General Public License, version 3 or later.