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