Audio visualiser in Flutter with fragment shaders
- GLSL 51.5%
- Dart 37.6%
- C++ 5.1%
- CMake 3.9%
- Swift 0.6%
- Other 1.3%
Algernon Audio Visualiser
An audio player with shaders that animate in time to music.
Named after Algernon the mouse from the sci-fi short story 'Flowers for Algernon' by Daniel Keyes.
How to Use
Controls
- Tap the screen to show/hide controls
- Add some audio files (access the playlist via the bottom dropdown) Screen grab: Sliders
- Select animations from the top dropdown Screen grab: Sliders
Sliders
- Ajust sliders to change how the animation reacts to the music (each animation will remember its settings) Screen grab: Sliders
- Pay close attention to the top slider, it adjusts stability (smooth animation) vs responsiveness (matching the music) Screen grab: Sliders
- Some sliders have an 'auto' icon, tapping it disables the slider and makes that control automatically match energy of the music Screen grab: Sliders
Memory Slots
- The numbers [1] to [5] above the sliders are memory slots
- Each animation has 5 memory slots to save your favourite settings
- Memory slots can be copied: long press a slot until it turns pink, then drag it over another slot Screen grab: Sliders
Special build instructions for ARM64 Linux
flutter_soloud on Linux ARM64
- Install system audio libraries:
bash
sudo apt install libasound2-dev libflac-dev libopus-dev libogg-dev libvorbis-dev
- Run with system libraries flag:
The bundled libraries in flutter_soloud are x86_64 only. TRY_SYSTEM_LIBS_FIRST=1 tells it to use system libraries instead.
TRY_SYSTEM_LIBS_FIRST=1 flutter run -d linux
OR FOR PROJECT-PERMANENT FIX
# linux/CMakeLists.txt
# Add at top of file
set(ENV{TRY_SYSTEM_LIBS_FIRST} 1)
That way it's in the project itself, works on any machine, and flutter run just works.
linux/CMakeLists.txt is part of your project and lives in your repo. Flutter generates it once when you first create the project and never touches it again.