Coder Social home page Coder Social logo

noise-labs / audiomotion.js Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hvianna/audiomotion.js

0.0 1.0 0.0 45.12 MB

High-resolution real-time spectrum analyzer and music player using Web Audio and Canvas APIs.

Home Page: https://audioMotion.me

License: GNU Affero General Public License v3.0

JavaScript 40.99% HTML 38.59% CSS 15.20% SCSS 2.58% Less 2.64%

audiomotion.js's Introduction

♪♫ See your music with audioMotion! ♪♫

GitHub release GitHub Release Date

audioMotion 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

  • High-resolution real-time dual channel audio spectrum analyzer
  • Fullscreen support at up to 60fps, ready for retina / HiDPI displays
  • Logarithmic frequency scale with customizable range
  • Visualize discrete frequencies or octave bands based on the equal tempered scale
  • Optional effects: vintage LEDs, luminance bars, reflection, radial visualization
  • 17 beautiful color gradients
  • HTML5 audio player for MP3, AAC (m4a), OGG and FLAC files (support may vary depending on browser and operating system)
  • Visual file explorer and play queue with drag-and-drop functionality
  • Support for M3U playlists (m3u and m3u8 file extensions)
  • Visualize audio from your microphone (or "stereo mix", if your soundcard supports it)
  • Lightweight custom file server — also works on standard web servers with minimal configuration
  • Client runs on any modern browser (tested on Chrome, Firefox, Opera and Safari)

Live demo

TRY THE LIVE DEMO

The demo allows you to play audio files from your PC, remote files and streams via URL 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 some cool songs visualized with audioMotion!

Getting started

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)

WARNING:
Please be aware that the -e flag will expose the contents of the mounted folder to anyone in your network (and potentially to the entire internet!) — use it only if you're in a trusted network and behind a firewall!

Screenshots

screenshot1 Discrete frequencies mode. User interface: main function buttons, audio source selector, player controls, volume control and file explorer.


screenshot2 1/4th-octave bands with LED effect, extra wide bar spacing and on-screen song information. User interface shows the settings panel open.


screenshot3 Fullscreen view: 1/6th-octave bands, regular bar spacing, "Outrun" gradient, Reflex effect and complete on-screen information.


screenshot6 Fullscreen view: Stereo Line graph, frequency and level scales on, "Rainbow" gradient.


screenshot5 Fullscreen view: 1/8th-octave bands, LUMI effect on, "Tie Dye" gradient.


screenshot7 Fullscreen view: 1/6th-octave bands, Radial analyzer, frequency scale on, "Apple ][" gradient.

Documentation

For complete documentation, see the docs folder.

Credits and acknowledgments

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

The documentation website is powered by GitHub Pages, docsify and docsify-themeable.

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-2020 Henrique Avila Vianna
Licensed under the GNU Affero General Public License, version 3 or later.

audiomotion.js's People

Contributors

hvianna avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.