Note
rAVen is currently a Work in Progress (WIP).
- Clang / GCC
- Bash
- C libs
- raylib: For rendering and visualizing audio
- math, complex, assert: For FFT (Fast Fourier Transform)
- libavformat: For metadata extraction
- Other standard C libraries
Fast Fourier Transform (FFT) is a powerful algorithm that blends math and algorithms beautifully.
To dive deeper, check out the comments in the FFT.c file to understand how FFT is used to analyze audio samples.
Warning
The build script is currently unavailable as it's undergoing changes. For now, use the Makefile.
Important
DYNAMIC BUILD for rAVen is on another branch
rAVen-made-easC is made possible by easC framework: An effective lightweight framework that allows for dynamic build and handling of any C project
Check out the branch here
chmod +x build.sh
./build.sh
./raven samples/sample-15s.wav
make
./raven
cmake -S . -B build/
cmake --build build/
./build/raven samples/sample-15s.wav
Check out the fft.c file to understand how Fast Fourier Transform is used to analyze audio samples.
rAVen supports all formats supported by RAYLIB.
Note
Although RAYLIB supports .flac
, it's not enabled by default. To enable .flac
support:
- Go to
src/config.h
in raylib and uncomment the following line://#define SUPPORT_FILEFORMAT_FLAC 1
Then follow the raylib documentation for building raylib with this change.
rAVen uses GRUVBOX color schema This color schema is something I use daily and I have come to really like it
There may be a time in the future of rAVen where I may make the theme customizable but for now, hope you like GRUVBOX :)
rAVen aims to support these services eventually. The first priority will be PipeWire, with plans to explore ALSA and PulseAudio integration in the future.
rAVen is free and open-source software, licensed under the GNU Lesser General Public License. See the full LICENSE for more details.