audioMotion.js

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

Github星跟蹤圖


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

  • High-resolution (retina / HiDPI ready) real-time audio spectrum analyzer with fullscreen support
  • Logarithmic frequency scale with customizable range
  • Visualize discrete frequencies with full FFT resolution, or octave bands based on the equal tempered scale
  • Optional effects: vintage LEDs, luminance bars, reflection, radial visualization
  • 17 beautiful color gradients
  • Customizable Web Audio API parameters (FFT size, sensitivity and time-smoothing constant)
  • HTML5 audio player supports MP3, AAC (m4a), OGG and FLAC files (support may vary depending on browser)
  • 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)

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)

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!

Documentation

For full documentation summary, see the docs folder.

Screenshots

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

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

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

Fullscreen Line graph, 20Hz-22KHz, frequency and level scales on, "Rainbow" gradient.
screenshot6

Fullscreen 1/8th-octave bands with Luminance bars effect, 30Hz-16KHz, frequency scale on, "Tie Dye" gradient.
screenshot5

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

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

主要指標

概覽
名稱與所有者hvianna/audioMotion.js
主編程語言JavaScript
編程語言JavaScript (語言數: 5)
平台
許可證GNU Affero General Public License v3.0
所有者活动
創建於2018-11-25 00:03:09
推送於2024-06-06 21:07:20
最后一次提交2024-06-03 19:29:58
發布數20
最新版本名稱v24.6 (發布於 )
第一版名稱v.18.11 (發布於 2018-11-29 22:17:37)
用户参与
星數537
關注者數12
派生數57
提交數0.9k
已啟用問題?
問題數23
打開的問題數5
拉請求數1
打開的拉請求數0
關閉的拉請求數18
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?