Skip to content

VoidGoo/LunaTech_Visualizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


LunaTech Visualizer

i

realtime visualizations powered by LunaTech

The Lunatech project

About The Project

LunaTech Visualizer a front-end enabled by the LunaTech realtime audio analysis server. LunaTech visualizer is designed to facilitate the development of realtime music visualizations quickly and easily for musicians, hobbyists, and Godot developers.

LunaTech Server is provided alongside LunaTech Visualizer as a binary and is started automatically when the visualizer is started.

Getting Started

LunaTech Visualizer currently only supports Linux. Support for other platforms is planned.

Installation

  1. Clone or download this repository as a zip file.

Usage

Press F5 or the 'Play' button to start the visualizer.

When you first Open LunaTech Visualizer, you'll be greeted with a running visualization as well as a text hint with some basic controls. alt text You can hide the hint by pressing the 'H' key. If you press 'Esc', you'll be greeted by a settings menu. alt text Settings are divided by whether they affect the audio analysis server or the visualization frontend. You can change the port the analysis server broadcasts or toggle the server listening to audio input. LunaTech uses whatever default audio device is set within your system's given audio manager.

Visualizer settings let you change how long it takes for scenes to change alongside randomized change time variance. A scene shuffle toggle is provided alongside a fullscreen toggle. More Settings will be added in the future. alt text If you click the 'Scene Select' tab, some colored checkboxes will appear. These options appear based on whatever scene files are in the 'res://assets/scenes/vis_scenes' folder. LunaTech scans this folder during runtime for changes as well, so if you really wanted to, you could drag in or remove scenes while the visualizer is running. You can enable or disable scenes from the scene queue by unselecting the tickbox next to their name.

Creating a new scene visualization scene

To get started making your own visualization, you'll want to create a new scene in the 'res://assets/scenes/vis_scenes' folder. This scene will automatically be added to the scene queue.

After you've done so, simply attatch a script to a node in the scene and script the behavior for animated elements. For shader controls, you can set their shader parameters using godots built-in getters and setters. alt text A global object is provided within LunaTech Visualizer called 'OscClient'. Currently, it's a modified version of the 'GodOSC' plugin with its own recieving thread. It provides a simple global interface for accessing the data sent by the LunaTech analysis server. To access and audio feature, simply type 'OscClient.feature_name'. Supported features are listed below:

OSC Addresses

  • broad_range_rms
  • low_range_rms
  • mid_range_rms
  • high_range_rms
  • zcr
  • spectral_centroid
  • flux

It's suggested to experiment with these features to get a feel for how they affect your visualization. You may want to add coefficients or interactions between them.

Roadmap

  • Interface with LunaTech Server
  • Basic Scene Change System
  • More GUI settings
  • Scene State Caching
  • Scene Loading Optimization
  • More modular scene & queue system
  • Unit Testing
  • Improved Github page and Developer docs
  • Windows support
  • Visualization Community Download Pages

License

Distributed under the MIT License. See LICENSE.txt for more information.

Acknowledgments

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •