clubber - Application of music theory in audio reactive visualizations

  •        191

This small js library listens to audio sources and extracts the underlying rhythmic information. The linear frequency energies are converted into midi notes which music theory suggests to be a better segregation for music audio. A set of meaningful measurements are produced in a form suitable for direct use in webgl shaders, or any other context. This simple flow provides a powerful framework for the rapid development of awesome audio reactive visualisations.

https://github.com/wizgrav/clubber#readme
https://github.com/wizgrav/clubber

Tags
Implementation
License
Platform

   




Related Projects

aubio - a library for audio and music analysis

  •    C

aubio is a library to label music and sounds. It listens to audio signals and attempts to detect events. For instance, when a drum is hit, at which frequency is a note, or at what tempo is a rhythmic melody. Its features include segmenting a sound file before each of its attacks, performing pitch detection, tapping the beat and producing midi streams from live audio.

Rosegarden - Music software for Linux

  •    C++

Rosegarden is a well-rounded audio and MIDI sequencer, score editor, and general-purpose music composition and editing environment. Rosegarden is an easy-to-learn, attractive application that runs on Linux, ideal for composers, musicians, music students, and small studio or home recording environments.

PlayJoom - Web based Audio Streaming Server

  •    PHP

PlayJoom is a web based audio streaming server. It is written in php and save the data about the audio files like mp3 music in a MySQL database. You can stream your music files, manage covers, and additional informations about the music band, the tracks or the albums. You manage your own playlists with your favorite songs and listen it everywhere in your local network on each device. You can play the audio files direct in the most web browsers on a PC and mobile devices.

Audio to midi converter

  •    

Audio a Midi bajo octave. Solo soporta wav, pero pretendo que acepte otros. Quiero prepararlo para polifoniacute;a. lt;pgt;Audio to Midi converter, under octave, it only supports wav, but I pretend it to accept another files. I want to improve it to polyphonic.

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.


key-and-pad - 🎹 Fun experiment with the Web Audio API 🎶

  •    Javascript

Key&Pad uses the Web Audio API to generate oscillators and effects. I needed some way for these nodes to be updated when the state in the Redux store changed, so I took inspiration from React and wrote a reconciler. It subscribes to the store, and whenever a change is published, it calculates the minimum change needed to update the Web Audio nodes.

music - :notes: Music app for ownCloud

  •    Javascript

Music player and server for ownCloud and Nextcloud. Shows audio files stored in your cloud categorized by artists and albums. Supports mp3, and depending on the browser, many other audio formats too. Supports shuffle play and playlists. The application includes an experimental Ampache server. Note: The audio formats supported vary depending on the browser. Chrome and Firefox should be able to play all the formats listed above. All browsers should be able to play at least the MP3 files.

chuck - ChucK Music Programming Language

  •    C++

what is it? : ChucK is a programming language for real-time sound synthesis and music creation. It is open-source and freely available on MacOS X, Windows, and Linux. ChucK presents a unique time-based, concurrent programming model that's precise and expressive (we call this strongly-timed), dynamic control rates, and the ability to add and modify code on-the-fly. In addition, ChucK supports MIDI, OpenSoundControl, HID device, and multi-channel audio. It's fun and easy to learn, and offers composers, researchers, and performers a powerful programming tool for building and experimenting with complex audio synthesis/analysis programs, and real-time interactive music.

MusicVisualization - Some music visualization demos on Android.

  •    Java

This project ports some music visulization shaders from WebGL(Shadertoy.com) to Android OpenGL ES. It captures the audio's fft & waveform data by system's Visualizer, and then pass them to a 2-lines height texture that can be used in a shader program (more detail).

Tone.js - A Web Audio framework for making interactive music in the browser

  •    Javascript

Tone.js is a Web Audio framework for creating interactive music in the browser. The architecture of Tone.js aims to be familiar to both musicians and audio programmers creating web-based audio applications. On the high-level, Tone offers common DAW (digital audio workstation) features like a global transport for synchronizing and scheduling events as well as prebuilt synths and effects. Additionally, Tone provides high-performance building blocks to create your own synthesizers, effects, and complex control signals.

Ardour - Digital Audio Workstation

  •    C++

Ardour is a hard disk recorder and digital audio workstation application. It supports unlimited audio tracks and buses. Its features include Non-destructive, non-linear editing with unlimited undo, and anything-to-anywhere signal routing. It supports Standard file formats BWF, WAV, WAV64, AIFF, CAF and Windows VST plugins. Ardour can be used as an audio mastering environment. Its integration with JACK makes it possible to use mastering tools such as JAMin to process the audio data.

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.

LMMS - Cross-platform music production software

  •    C++

LMMS is a free cross-platform software which allows you to produce music with your computer. This covers creating melodies and beats, synthesizing and mixing sounds and arranging samples. You can have fun with your MIDI keyboard and much more – all in a user-friendly and modern interface. Furthermore LMMS comes with many ready-to-use instrument and effect plugins, presets and samples.

fluidsynth - Software synthesizer based on the SoundFont 2 specifications

  •    C

FluidSynth generates audio by reading and handling MIDI events from MIDI input devices by using a SoundFont. It is the software analogue of a MIDI synthesizer. FluidSynth can also play MIDI files. If you are missing parts of the documentation, let us know by writing to our mailing list. Of course, you are welcome to edit and improve the wiki yourself. All you need is an account at GitHub. Alternatively, you may send an EMail to our mailing list along with your suggested changes. Further information about the mailing list is available in the wiki as well.

volume-meter - Simple example of implementing a clip-detecting volume meter in Web Audio.

  •    Javascript

I whipped this app up to show a basic volume meter on live audio input. It does both clip detection and RMS volume. A "volume" meter can mean many things; if you want to do clip detection, you really need to access every sample. If you don't need clip detection, I might suggest using an Analyser and getByteTimeDomainData, since it will likely have lower CPU overhead. Note that it is CRITICALLY IMPORTANT to disassociate visual rendering (in the requestAnimationFrame loop) from the onaudioprocess function - you do NOT want to trigger a relayout from inside your audio handler, or it may glitch or cause other issues.

MIDI File Mapper

  •    DotNet

MIDI File Mapper is a utility that is designed to batch convert MIDI files from one note mapping to another. This is particularly useful when using libraries of drum patterns mapped for a particular drum sampler with a different sampler.

netAudio

  •    CSharp

A .NET audio, sound, and music playback library - a libVLC wrapper. netAudio allows the playback of MPEG files (MP3, etc), WMA, WAV, MP4, OGG, REAL, raw audio, FLAC, FLV, MIDI and SMF, Creative Voice and more. netAudio also provides advanced tag editing functionality via tagLib.

Music and Audio Retrieval Tools

  •    C++

A set of software components used to investigate and implement searching of music and audio. This covers content-based retrieval and meta-data based solutions, segmentation and content selection (summarisation) of audio and music (MIDI, MP3 and WAV).

dancer.js - high-level audio API, designed to make sweet visualizations

  •    Javascript

dancer.js is a high-level audio API, usable with both Mozilla's Audio Data API and Web Audio API with flash fallback, designed to make sweet visualizations. All controls return this. If provided an audio element as the source, one can also control the audio through that, or can access the audio element in the audio property on the dancer instance.

howler.js - Javascript audio library for the modern web

  •    Javascript

howler.js is an audio library for the modern web. It defaults to Web Audio API and falls back to HTML5 Audio. This makes working with audio in JavaScript easy and reliable across all platforms.