Skip to content

my own audio visualizer, because after effects sucks

Notifications You must be signed in to change notification settings

EmilioBejasa/audioviz

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

audioviz

my own audio visualizer, because after effects sucks. for right now, audioviz only supports linux, but with the libraries i'm using, it shouldn't be hard to port to windows.

here are some demos:

building

linux

  1. install any required dependencies below
  2. run cmake -S. -Bbuild && cmake --build build -j$(nproc) or use your IDE of choice with CMake support

windows

  1. create a directory called windows_deps, with three subdirectories ffmpeg, portaudio, and fftw
  2. install ffmpeg in one of two ways:
  • run these commands in an administrator command prompt (mklink doesn't run otherwise), replace [version] with the ffmpeg version that was installed by winget:
    winget install gyan.ffmpeg.shared
    mklink /D windows_deps\ffmpeg %LocalAppData%\Microsoft\WinGet\Packages\Gyan.FFmpeg.Shared_Microsoft.Winget.Source_8wekyb3d8bbwe\ffmpeg-[version]-full_build-shared
    the mklink command simply links the winget installation directory to windows_deps/ffmpeg.
  • or, go here, download the "shared" release and extract the archive to windows_deps/ffmpeg
  1. download portaudio source, extract portaudio.h (inside include directory of the tarball) to windows_deps/portaudio. i recommending using 7zip for viewing archives: you can get it by running winget install 7zip.
  2. download the 64bit portaudio dll, rename it to portaudio_x64.dll, and move it to windows_deps/portaudio
  3. download fftw, open the archive and extract fftw3.h and libfftw3f-3.dll into windows_deps/fftw

libraries/software used

dev note

on namespaces:

  • fx: post-processing effects
  • tt: utility & library extensions
  • viz: audio visualization components

environment setup

i recommend using vscode as it integrates well with git with no effort. get the cmake tools extension and clangd to make development easier.

on windows please use the mingw toolchain as it is the only toolchain i have compiled with, and honestly the easiest to setup and use. clangd might freak out about the standard headers being missing: to fix this, open clangd extension settings, and add the following argument:

--query-driver=C:\path\to\mingw\bin\g++.exe

todo list

  • viz::ScopeDrawable
  • lua api (in progress)
    • modular layering/effects system
    • remove hardcoded visualizer components
  • make viz::ParticleSystem more customizable
    • add set_displacement_direction(sf::Vector2f)
    • replace update(sf::Vector2f) with displace_particles(float)
  • make audioviz generic, extend it with default functionality in a new class named ttviz
  • clangd still not configured properly on windows, it doesn't know where to find c++ headers (when using mingw). figure this out

About

my own audio visualizer, because after effects sucks

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 95.0%
  • CMake 3.3%
  • GLSL 1.7%