ryco117 / FractalDimension

Experimental ray-marching based audio visualizer

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FractalDimension

FractalDimension

About the project

This project is derived from my other experimental audio visualizer, ColouredSugar, and owes much of its source code to that project.

An experimental audio visualizer written in F# and using the library OpenTK as a wrapper for the OpenGL API. The fractal is rendered using a technique called ray-marching. I chose the open source library NAudio for handling the audio streams, despite the fact that OpenTK comes with a wrapper for OpenAL, because I could not determine a way to stream the current audio out as a capture in OpenAL. NAudio also provides the Fast Fourier Transform I used.

Visualizer Technical Description

FractalDimension uses the WASAPI loopback feature to capture the current audio out stream. The audio is then read in chunks as they become available and a fast fourier transform is applied to the sampled audio stream. The resulting frequency domain is partitioned into three unequal parts, bass, mids, and highs. For each of these sub domains, the discrete frequency bins with the largest magnitudes are determined (ie. the tones most present in the sound wave are determined). Then, based on the frequency and magnitude of the detected notes, various parameters of the environment are altered.

Precompiled Executable (Windows)

  • Go to the releases page and determine the latest release/version
  • Download the FractalDimension-precompiled-Win64.zip archive file
  • Extract the folder within
  • Run the FractalDimension.exe executable within

Example Videos (Click for links)

Bassnectar Demo

Bassnectar Demo

Queen Demo

Queen Demo

Styx Demo

Styx Demo

Luigi Sambuy Demo

L.Dre Demo

About

Experimental ray-marching based audio visualizer

License:GNU General Public License v3.0


Languages

Language:F# 73.6%Language:GLSL 26.4%