All Projects → keijiro → Klaklasp

keijiro / Klaklasp

Licence: mit
An extension for the Klak Wiring system to create audio reactive behaviors.

Projects that are alternatives of or similar to Klaklasp

Lasp
Low-latency Audio Signal Processing plugin for Unity
Stars: ✭ 816 (+444%)
Mutual labels:  unity, unity3d, audio
Mixedreality Webrtc
MixedReality-WebRTC is a collection of components to help mixed reality app developers integrate audio and video real-time communication into their application and improve their collaborative experience
Stars: ✭ 568 (+278.67%)
Mutual labels:  unity, unity3d, audio
Laspvfx
Audio reactive Unity VFX with LASP
Stars: ✭ 337 (+124.67%)
Mutual labels:  unity, unity3d, audio
Minimumaudioplugin
Minimum implementation of a native audio plugin for Unity
Stars: ✭ 33 (-78%)
Mutual labels:  unity, unity3d, audio
Eazy Sound Manager
Eazy Sound Manager is a simple Unity3D tool which aims to make sound and music management in games easier
Stars: ✭ 135 (-10%)
Mutual labels:  unity, unity3d
Klaksyphon
Syphon plugin for Unity
Stars: ✭ 149 (-0.67%)
Mutual labels:  unity, unity3d
Kinostreak
Anamorphic lens flare effect for Unity
Stars: ✭ 139 (-7.33%)
Mutual labels:  unity, unity3d
Noiseball3
A Unity example that shows how to use the new implementation of DrawProcedural.
Stars: ✭ 147 (-2%)
Mutual labels:  unity, unity3d
Unium
Automation for Unity games
Stars: ✭ 132 (-12%)
Mutual labels:  unity, unity3d
Tfclassify Unity
An example of using Tensorflow with Unity for image classification and object detection.
Stars: ✭ 140 (-6.67%)
Mutual labels:  unity, unity3d
Kinotube
An image effect simulating analog video artifacts in Unity.
Stars: ✭ 142 (-5.33%)
Mutual labels:  unity, unity3d
Ml Agents
Unity Machine Learning Agents Toolkit
Stars: ✭ 12,134 (+7989.33%)
Mutual labels:  unity, unity3d
Unity Webxr Export
Develop and export WebXR experiences using Unity WebGL
Stars: ✭ 130 (-13.33%)
Mutual labels:  unity, unity3d
Unitylauncher
Unity Version Launcher
Stars: ✭ 137 (-8.67%)
Mutual labels:  unity, unity3d
Textureupdateexample
An example showing how to update textures from a native plugin in Unity.
Stars: ✭ 133 (-11.33%)
Mutual labels:  unity, unity3d
Texturegenerator
3D and 2D Texture generation using the compute shaders within the Unity engine.
Stars: ✭ 142 (-5.33%)
Mutual labels:  unity, unity3d
Core
React renderer for building user interfaces in Unity UI
Stars: ✭ 133 (-11.33%)
Mutual labels:  unity, unity3d
Unityfx.async
Asynchronous operations (promises) for Unity3d.
Stars: ✭ 143 (-4.67%)
Mutual labels:  unity, unity3d
Rapidgui
Unity OnGUI(IMGUI) extensions for Rapid prototyping/development
Stars: ✭ 144 (-4%)
Mutual labels:  unity, unity3d
Unity Texture Curve
✏️ Example showing how to bake an AnimatedCurve into a Texture and use it in a shader.
Stars: ✭ 149 (-0.67%)
Mutual labels:  unity, unity3d

KlakLASP

KlakLASP is an extension for Klak to create audio reactive behaviors with using the Klak Wiring system.

Screenshot

KlakLASP integrates the LASP plugin to analyze audio signals. Thanks to the low-latency nature of LASP, it doesn't introduce noticeable delays between audio input and actions.

GIF Demo

System Requirements

  • Unity 2017.1 or later

At the moment, KlakLASP only supports Windows (64 bit) and macOS (64 bit).

Installation

Before installing KlakLASP to a project, all its dependent plugins (Klak and LASP) should be installed to the project. Follow the installation instructions in each page.

Then, download one of the unitypackage files from the Releases page and import it to the project.

How It Works

The Audio Input node has a VU meter in the inspector, and it shows how the node analyzes input audio signals and determines output.

GIF

The node tracks the recent peak amplitude of the input audio signals, and determine the output based on the difference between the current amplitude and the peak amplitude.

When the current amplitude is equal or larger than the peak amplitude, it outputs a value of 1. The VU meter indicates over-peak input with a red band (see the image below).

Meter

When the current amplitude is smaller than the peak amplitude and larger than the value of (peak amplitude - dynamic range), it outputs a value between 0 and 1 that varies based on the position in the dynamic range. This range is indicated with a gray band in the VU meter (see the image below).

Meter

When the current amplitude is equal or smaller than the value of (peak amplitude - dynamic range), it outputs a value of 0.

Meter

The peak amplitude value slowly decreases by time to adapt itself to the recent amplitude level. The GIF above shows this behavior that the peak amplitude and the dynamic range are slightly slid to the left while the input doesn't hit the peak.

Note that the peak amplitude doesn't exactly match with the actual peak of the input signals -- there is a small margin between them, so that it increases the chance of hitting the peak.

Audio Input Properties

Filter Type

Four types of filters are available -- Bypass, Low-Pass, Band-Pass and High-Pass. These filter are useful to detect rhythmic accents. For instance, the Low-Pass filter can be used to make a behavior that reacts to kick drums or a bassline.

Dynamic Range (dB)

Specifies the difference between the lowest amplitude and the highest amplitude in decibel.

Auto Gain Control

When enabled, it automatically adjust the amount of the gain based on recent peak of amplitude (as explained in the How It Works section). When disabled, the peak amplitude is fixed to 0dB, and the amount of the gain is manually controlled by the Gain property.

Hold And Fall Down

Enables the "peak-hold and fall down" behavior that is commonly used in VU meters. This is useful to make animation smoother. The GIF below shows the difference between with/without this option.

GIF

TIPS

Dynamic Range = Clickiness of Behavior

Although having a wide dynamic range is important for expressiveness, it tends to make behavior slower and unclear. It's recommended reducing the dynamic range when "clicky" behavior is preferred.

GIF

Use internal audio sources

LASP Loopback can be used as a substitute of the LASP plugin. It analyzes audio output from Unity instead of external audio sources. This is useful to create audio reactive behaviors with internal audio sources.

Current Limitations

  • LASP always tries to use the system default device for recording. There is no way to use a device that is not assigned as default.
  • LASP only supports monophonic input. Only the first channel (the left channel in case of stereo input) will be enabled when using a multi-channel audio device.

License

MIT

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].