All Projects â†’ TimboKZ â†’ ActiveVisualiser

TimboKZ / ActiveVisualiser

Licence: MIT license
🌀 Java music visualisation framework

Programming Languages

java
68154 projects - #9 most used programming language
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to ActiveVisualiser

midi-recorder
🎹 The easiest way to record MIDI. No install. Automatically records.
Stars: ✭ 38 (+8.57%)
Mutual labels:  visualiser, music-visualizer
hum2song
Hum2Song: Multi-track Polyphonic Music Generation from Voice Melody Transcription with Neural Networks
Stars: ✭ 61 (+74.29%)
Mutual labels:  music-visualizer
aurora-sdk-mac
An SDK to develop effects for Nanoleaf Light Panels using features like frequency, beat, or tempo.
Stars: ✭ 43 (+22.86%)
Mutual labels:  music-visualizer
Recursion-Tree-Visualizer
A simple python package that helps to visualise any recursive function by adding a single line of code.
Stars: ✭ 89 (+154.29%)
Mutual labels:  visualiser
panon
An Audio Visualizer Widget in KDE Plasma
Stars: ✭ 113 (+222.86%)
Mutual labels:  music-visualizer
BeatDrop
BeatDrop Music Visualizer
Stars: ✭ 54 (+54.29%)
Mutual labels:  music-visualizer
gestalt
Creative coding playground - Color, Note, Code
Stars: ✭ 16 (-54.29%)
Mutual labels:  music-visualizer
Filament
Interactive Music Visualizer
Stars: ✭ 22 (-37.14%)
Mutual labels:  music-visualizer
urmusic
An application to make your own music visualizer, easily and for free!
Stars: ✭ 52 (+48.57%)
Mutual labels:  music-visualizer
libvisual
Libvisual Audio Visualization
Stars: ✭ 67 (+91.43%)
Mutual labels:  music-visualizer
windows-equalizer
Prototype of music equalizer using browser windows and the Web Audio API
Stars: ✭ 48 (+37.14%)
Mutual labels:  music-visualizer
catnip
terminal audio visualizer for linux/unix/macOS/windblows*
Stars: ✭ 79 (+125.71%)
Mutual labels:  music-visualizer
Sound-and-music-reactive-ESP8266-WS2812B
Refined Version of @scottlawsonbc and all schematics + Tutorial 🎵🎵
Stars: ✭ 35 (+0%)
Mutual labels:  music-visualizer
aurora-sdk-win
An SDK to develop effects for Nanoleaf Light Panels using features like frequency, beat, or tempo.
Stars: ✭ 22 (-37.14%)
Mutual labels:  music-visualizer
opencubicplayer
Open Cubic Player (unix fork). Music visualizer for various tracked music formats (amiga modules, S3M, IT), chiptunes and other formats related to demoscene
Stars: ✭ 141 (+302.86%)
Mutual labels:  music-visualizer
music visualizer
Shader viewer / music visualizer for Windows and Linux
Stars: ✭ 137 (+291.43%)
Mutual labels:  music-visualizer
ChromeAudioVisualizerExtension
Audio Visualizer extension for chrome/chromium
Stars: ✭ 52 (+48.57%)
Mutual labels:  music-visualizer
ArduLED
Control NeoPixels (ws2812b) easier than ever with an Arduino!
Stars: ✭ 25 (-28.57%)
Mutual labels:  music-visualizer
spotify-lifx-visualiser
Visualising Spotify music with LIFX bulbs
Stars: ✭ 28 (-20%)
Mutual labels:  visualiser
drop
A LÖVE visualizer and music player
Stars: ✭ 17 (-51.43%)
Mutual labels:  music-visualizer

Active Visualiser

Active Visualiser by Timbo_KZ. Demo on YouTube.

Dependencies

This project uses Java SDK 1.7. You will need Beads Project, LWJGL 2.9.1 and Slick.

Running and controlling the visualiser

First of all, make sure all dependencies are installed and the Core class is the main class.

For Active Visualiser to run correctly, you must add a path to LWJGL natives, which are usually found in LWJGL archive. This is done by specifying appropriate VM options before running the application. I'm using Windows and path to Windows natices on my system is D:\Workspaces\Java\Libraries\lwjgl-2.9.1\native\windows, so my VM options look like this:

-Djava.library.path="D:\Workspaces\Java\Libraries\lwjgl-2.9.1\native\windows"

At this point in time, if everything was done correctly, you should be able to run the visualiser without any issues. You can test that all default render modes work by pressing buttons 1-5 and T to run the test mode. Pressing F should display the name of the render mode and the current frame rate. Hover the bottom of the window to reveal the progress bar. Clicking at any point on the progress bar will play the audio from that point.

Additionally, you can configure the visualiser by specifying program arguments. Table of all possible program arguments can be found below, but keep in mind none of them are required for the app to run.

Argument Parameters Description
fullscreen No parameters Simply add this word to the program arguments to force th visualiser run in fullscreen mode.
width Window width as an integer If the visualiser is not in fullscreen mode, this argument will change the width of the visualiser window. Default width is 1280.
height Window height as an integer If the visualiser is not in fullscreen mode, this argument will change the height of the visualiser window. Default height is 720.
framerate Maximum framerate as an integer Adding this argument will limit the maximum framerate of the visualiser to the specified value. Default framerate is 60.
active No parameters Adding this word to the program arguments will attempt to run the visualiser in the active mode, i.e. using the sound from your microphone. This feature is experimental and has only been tested on Windows.
audio Path to an audio file as a string If this argument is added the visualiser will attempt to load an audio file specified instead of prompting a file chooser dialog.
fps No parameters Adding this word to the program arguments will display FPS counter and the name of the render mode by default. You can toggle it using F key on your keyboard.

Examples of different configurations:

Examples of different configurations

How to add new render modes

  1. Create a class in RenderModes package that extends RenderMode, example:

    public class Your_Visualiser extends RenderMode {
    
        public Your_Visualiser(String name, int key) {
            super(name, key);
        }
    
        public void render(float delta) {
    
                Core.initGL();
    
                float[] values = Core.getValues(0);
                float[] bassValues = Core.getValues(20);
    
                float mean = 0;
                float bassMean = 0;
                for (float i = 0.0f; i < 512.0f; i++) {
                    mean += values[(int) i];
                    bassMean += bassValues[(int) i];
                }
                mean /= 512.0f;
                bassMean /= 512.0f;
    
                // Any code for drawing here
    
        }
    
    }
  2. Register your render mode inside initRenderModes method in the Core class. The method will look something like this:

    // ....
    
    private static void initRenderModes() {
        renderModes = new ArrayList<RenderMode>();
    
        // Registering new render modes
        renderModes.add(new Pulse("Pulse", Keyboard.KEY_1));
        renderModes.add(new ShaderTest("Shader Test", Keyboard.KEY_5));
        renderModes.add(new Blur("Blur", Keyboard.KEY_4));
        renderModes.add(new Twist("Twist", Keyboard.KEY_3));
        renderModes.add(new Flow("Flow", Keyboard.KEY_2));
        renderModes.add(new Test("Test", Keyboard.KEY_T));
    
        if(renderModes.size() == 0) {
            System.out.println("No render modes available.");
            System.exit(1);
        }
    
        currentRenderMode = renderModes.get(0);
    }
    
    // ....

    You will need to add an object of your visualiser to the renderModes list. The first parameter is the name of the visualiser, the second parameter is the keyboard key assigned to your visualiser. The line you'd add should look something like this:

    renderModes.add(new Your_Visualiser("Your Visualiser", Keyboard.KEY_6));

    Now you can see your render mode by launching the visualiser and pressing the key you assigned, in this case it's 6.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].