music-js - HTML5 Audio API music visualizer for JavaScript

  •        491

Music-js is a music visualization program that includes many built-in customization options for a playlist of music. Provided links to MP3, Ogg Vorbis, and/or WebM sound files, it can create a real-time visualization of the music as it plays, using the HTML5 Audio API. This application supports visualization of external sound files, enabling this to easily become a plugin for other sites.

https://github.com/patrickroberts/music-js

Dependencies:

express : 4.10.6
serve-favicon : 2.2.0

Tags
Implementation
License
Platform

   




Related Projects

party-mode - An experimental music visualizer using d3.js and the web audio api.

  •    Javascript

Using the web audio api, I can get an array of numbers which corresponds to the waveform of the sound an html5 audio element is producing. There's a good tutorial on how to do this. Then, using requestAnimationFrame (with a little frame limiting for performance reasons) I'm updating that array as the music changes. I then normalize the data a bit (or transform it slightly depending on the visualization) and redraw the screen based on the updated array. I'm using d3.js to draw and redraw SVG based on this normalized data. Each visualization uses the data a bit differently -- it was mostly trial and error to get some stuff I liked looking at. Since I'm using D3 -- which is just drawing SVG -- I was able to style everything in CSS (no images are used at all, including icons). There are a handful of differently colored themes for each visualization, and I do some rudimentary CSS namespacing by updating a class applied to the html element. eg. <html class='theme_1'>. This lets me override or substitute CSS rules pretty trivially. I can add some additional variation to each theme by messing with pseudo selectors. For example, I can use :nth-of-type to hide every nth SVG rectangle or making every odd child have a different stroke-dasharray, etc.

MusicDNA - A Music Player for android that renders beautiful DNA(Visualization) of the currently playing music

  •    Java

A Music Player for android that makes use of the Visualzer Class for rendering a beautiful DNA (Visualization) of the currently playing music. The Music Player draws inspiration from paullewis's music-dna. The Player uses the FFT Data supplied by the Visualizer class of Android , calculates the Amplitude at that particular moment and plots the DNA.

waveform-playlist - Multitrack Web Audio editor and player with canvas waveform preview

  •    Javascript

Inspired by Audacity, this project is a multiple track playlist editor written in ES2015 using the Web Audio API. Load tracks and set cues (track cue in, cue out), fades (track fade in, fade out) and track start/end times within the playlist. I've written up some demos on github for the different audio fade types in the project.

MusicBobber - Awesome Audio Widget for any Android Music App

  •    Java

You know, guys, we have become a bit obsessed with music recently. See yourself by checking our previous work on the Audio Visualization View library. Since we wanted to create a companion to our equalizer and add to the collection of Android widgets, the idea to develop a nice and convenient audio widget was born almost immediately. So if you have already developed a music player and you feel that you want to make it even better, then you’re welcome to use our library and enjoy the results. Our invention can facilitate the user’s interaction with a music player and nicely decorate his device screen. Moreover, it’s really easy to integrate! Read our Case Study: Audio Widget Overlay View by Cleveroad to ensure that and find more of useful information.

snapcast - Synchronous multiroom audio player

  •    C++

Snapcast is a multiroom client-server audio player, where all clients are time synchronized with the server to play perfectly synced audio. It's not a standalone player, but an extension that turns your existing audio player into a Sonos-like multiroom solution. Audio is captured by the server and routed to the connected clients. Several players can feed audio to the server in parallel and clients can be grouped to play the same audio stream. One of the most generic ways to use Snapcast is in conjunction with the music player daemon (MPD) or Mopidy. The encoded chunks are sent via a TCP connection to the Snapclients. Each client does continuous time synchronization with the server, so that the client is always aware of the local server time. Every received chunk is first decoded and added to the client's chunk-buffer. Knowing the server's time, the chunk is played out using a system dependend low level audio API (e.g. ALSA) at the appropriate time. Time deviations are corrected by playing faster/slower, which is done by removing/duplicating single samples (a sample at 48kHz has a duration of ~0.02ms).


awesome-audio-visualization - A curated list about Audio Visualization.

  •    Shell

Music visualization, a feature found in electronic music visualizers and media player software, generates animated imagery based on a piece of music. The imagery is usually generated and rendered in real time and in a way synchronized with the music as it is played. Your contributions are always welcome! Click here to read the guidelines.

Beets - Music library manager and MusicBrainz tagger

  •    Python

Beets is the media library management system for obsessive-compulsive music geeks. The purpose of beets is to get your music collection right once and for all. It catalogs your collection, automatically improving its metadata as it goes. It then provides a bouquet of tools for manipulating and accessing your music.

essentia - C++ library for audio and music analysis, description and synthesis, including Python bindings

  •    Jupyter

Essentia is an open-source C++ library for audio analysis and audio-based music information retrieval released under the Affero GPL license. It contains an extensive collection of reusable algorithms which implement audio input/output functionality, standard digital signal processing blocks, statistical characterization of data, and a large set of spectral, temporal, tonal and high-level music descriptors. The library is also wrapped in Python and includes a number of predefined executable extractors for the available music descriptors, which facilitates its use for fast prototyping and allows setting up research experiments very rapidly. Furthermore, it includes a Vamp plugin to be used with Sonic Visualiser for visualization purposes. Essentia is designed with a focus on the robustness of the provided music descriptors and is optimized in terms of the computational cost of the algorithms. The provided functionality, specifically the music descriptors included in-the-box and signal processing algorithms, is easily expandable and allows for both research experiments and development of large-scale industrial applications. If you use example extractors (located in src/examples), or your own code employing Essentia algorithms to compute descriptors, you should be aware of possible incompatibilities when using different versions of Essentia.

CherryMusic - A music streaming server written in python

  •    Python

CherryMusic is a music streaming server written in python. It helps to stream your own music collection to all your device. It provides support to share playlists with your friends. It has a built-in database, that will index your music. Find your favorite song in an instant. It plays the music inside your PC, smartphone, tablet, toaster or whatever device has a HTML5 compliant browser installed.

musikcube - a cross-platform, terminal-based music player, audio engine, metadata indexer, and server in c++

  •    C++

a cross-platform, terminal-based audio engine, library, player and server written in c++. musikcube compiles and runs easily on windows, macos and linux. it also runs well on a raspberry pi with raspbian, and can be setup as a streaming audio server.

Sayonara-player - Platform independent music player written in C++

  •    C

Sayonara is a small, clear and fast audio player for Linux written in C++, supported by the Qt framework. It uses GStreamer as audio backend. It supports Many supported music and playlist formats, Media library with fast search function, Dynamic playback, Equalizer, MP3 Converter, Radio streaming, Multimedia Keys and lot more.

react-native-track-player - A fully fledged audio module created for music apps

  •    Java

Check Platform Support for more information. After trying to team up modules like react-native-sound, react-native-music-controls and react-native-google-cast, I've noticed that their structure and the way should be tied together can cause a lot problems (mainly on Android). Those can heavily affect the app stability and user experience.

APlayer - :lollipop: Wow, such a beautiful HTML5 music player

  •    Javascript

APlayer is a lovely HTML5 music player to help people build audio easily.

Babe - Tiny Qt Music Player

  •    C++

Babe will handle your whole music collection, letting you create custom playlists to organize your music. You can also filter your music by artist, title, album, genre, date and location. Babe let's you babe-mark your favorite YouTube music videos into your local collection by using the Chromium extension. Think of Babe as the playlist where all your favorite tracks at the moment are. And when needed you also have an integrated collection manager. Babe is designed to tightly integrate with the KDE Plasma desktop.

MOC - Music on Console

  •    C++

MOC (music on console) is a console audio player for LINUX/UNIX designed to be powerful and easy to use. You just need to select a file from some directory using the menu similar to Midnight Commander, and MOC will start playing all files in this directory beginning from the chosen file. There is no need to create playlists as in other players.

DeaDBeeF - The Ultimate Music Player

  •    C++

DeaDBeeF is an audio player which supports mp3, ogg vorbis, flac, ape, wv/iso.wv, wav, m4a/mp3 (aac and alac), mpc, tta, cd audio, and many more formats. It has no no GNOME or KDE dependencies. Its feature include GUI using GTK2 and GTK3, 18-band graphical equalizer and other DSP plugins, Gapless playback, Radio streaming, Transcode files to other formats, OSD notifications about current playing songs and lot more.

Viva Music Player

  •    DotNet

Viva Music Player is a free and open source music player. It's using C# and NAudio audio library to play audio files.

foobar2000 - Audio player for the Windows platform

  •    C

foobar2000 is an audio player for the Windows platform. It suppors audio formats: MP3, MP4, AAC, CD Audio, WMA, Vorbis, Opus, FLAC, WavPack, WAV, AIFF, Musepack, Speex, AU, SND... and more with additional components, Advanced tagging capabilities, Gapless playback, Support for ripping Audio CDs as well as transcoding all supported audio formats using the Converter component and lot more.

quodlibet - Music player and music library manager for Linux, Windows, and macOS

  •    Python

Quod Libet is a music management program. It provides several different ways to view your audio library, as well as support for Internet radio and audio feeds. It has extremely flexible metadata tag editing and searching capabilities. Ex Falso is a tag editor with the same tag editing interface as Quod Libet.

p5-music-viz - Workshop on music visualization with p5

  •    Javascript

This session is for anyone who would like to explore music, visuals and creative coding for the web. We'll demonstrate types of data we can get from digital signal processing using interactive sketches in p5.js and the p5.sound library that builds upon the Web Audio API. We'll explore various methods to map this data onto meaningful visuals that enhance our experience of music.






We have large collection of open source products. Follow the tags from Tag Cloud >>


Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.