rAVen
[!NOTE] rAVen is currently a Work in Progress (WIP).
Just making AUDIO look and feel cool
Table of Contents
Deps
- Clang / GCC
- Bash
- C libs
C Libraries Used
- raylib: For rendering and visualizing audio
- math, complex, assert: For FFT (Fast Fourier Transform)
- libavformat: For metadata extraction
- Other standard C libraries
Understanding FFT
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.
Building rAVen
[!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
Using the Build Script:
chmod +x build.sh
./build.sh
./raven samples/sample-15s.wav
Using Makefile:
make
./raven
Using CMake:
cmake -S . -B build/
cmake --build build/
./build/raven samples/sample-15s.wav
FAQ
1. How does the math work?
Check out the fft.c file to understand how Fast Fourier Transform is used to analyze audio samples.
2. What audio formats are supported?
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.
3. What color pallette does rAVen follow?
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 :)
3. Will rAVen integrate with audio services like PipeWire, ALSA, or PulseAudio?
rAVen aims to support these services eventually. The first priority will be PipeWire, with plans to explore ALSA and PulseAudio integration in the future.
License
rAVen is free and open-source software, licensed under the GNU Lesser General Public License. See the full LICENSE for more details.
Screenshots