https://github.com/alexmollard/fly
A modern audio player built with C++ that features real-time audio visualization, spatial audio control, and advanced audio processing. Combines OpenAL for audio playback with ImGui for a clean, responsive interface.
https://github.com/alexmollard/fly
audio audio-player audio-visualizer hello-imgui imgui libsndfile openal spatial-audio
Last synced: about 1 year ago
JSON representation
A modern audio player built with C++ that features real-time audio visualization, spatial audio control, and advanced audio processing. Combines OpenAL for audio playback with ImGui for a clean, responsive interface.
- Host: GitHub
- URL: https://github.com/alexmollard/fly
- Owner: AlexMollard
- Created: 2025-02-01T10:01:45.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-16T08:45:57.000Z (about 1 year ago)
- Last Synced: 2025-02-16T09:25:41.423Z (about 1 year ago)
- Topics: audio, audio-player, audio-visualizer, hello-imgui, imgui, libsndfile, openal, spatial-audio
- Language: C++
- Homepage:
- Size: 7.38 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# Fly Player 🎵
A modern audio player built with C++ featuring real-time audio visualization, spatial audio, and advanced audio effects.


## Features
### Core Audio Features
- 🎵 Support for multiple audio formats (MP3, WAV, FLAC, etc.)
- 📊 Real-time audio visualization with frequency analysis
- 🔊 Spatial audio positioning with 3D sound placement
- 🎛️ Advanced audio effects:
- Bass and treble control
- Pitch shifting
- Volume normalization
- Fun presets (Chipmunk mode, Slowed mode)
### Playback Controls
- 🎯 Precise seek control with interactive progress bar
- 🔄 Repeat and shuffle modes
- 📝 Playlist management
- ⏯️ Basic controls (play, pause, stop, next, previous)
### User Interface
- 🎨 Modern, clean interface using Dear ImGui
- 📱 Responsive layout
- 🌈 Real-time audio visualization with peak indicators
- 🎮 Interactive spatial audio control panel
- 📁 Built-in file browser
### Audio Engine Features
- 🎧 High-quality audio processing using OpenAL-Soft
- 🔄 Real-time audio streaming
- 🧮 FFT-based audio analysis
- 💫 Smooth audio transitions
## Requirements
- Windows 10/11
- Visual Studio 2022
- vcpkg package manager
- C++20 or later
## Dependencies
- Dear ImGui (with docking branch, this will also be installed along hello-imgui)
- OpenAL-Soft
- libsndfile
- Hello-ImGui
## Building
1. Clone the repository:
```bash
git clone https://github.com/AlexMollard/Fly
cd Fly
```
2. Install vcpkg if you haven't already:
```bash
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg
.\bootstrap-vcpkg.bat
```
3. Integrate vcpkg with Visual Studio:
```bash
.\vcpkg integrate install
```
4. Open `Fly.sln` in Visual Studio 2022
4. Build the solution (F5)
**Note**: The first build may take a while as vcpkg downloads and builds the dependencies for you.
## Usage
1. Launch the application
2. Click the "+" button to add audio files
3. Use the playback controls to manage your music
4. Experiment with audio effects and spatial positioning
5. Enjoy the real-time visualization!
## Audio Controls
- **Volume**: Adjust the overall playback volume
- **Bass**: Control low-frequency response (50Hz - 2000Hz)
- **Treble**: Control high-frequency response (2000Hz - 20000Hz)
- **Pitch**: Adjust playback speed while maintaining pitch
- **Spatial Audio**: Position the audio source in 3D space
## Acknowledgments
- OpenAL-Soft team for the audio engine
- Dear ImGui team for the GUI framework
- libsndfile team for audio file handling