https://github.com/carlelieser/aria
A modular, cross-platform music player.
https://github.com/carlelieser/aria
expo material-3 music-player react-native typescript
Last synced: 5 months ago
JSON representation
A modular, cross-platform music player.
- Host: GitHub
- URL: https://github.com/carlelieser/aria
- Owner: carlelieser
- License: mit
- Created: 2024-11-21T22:49:33.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-01-14T15:08:54.000Z (5 months ago)
- Last Synced: 2026-01-16T18:52:42.048Z (5 months ago)
- Topics: expo, material-3, music-player, react-native, typescript
- Language: TypeScript
- Homepage:
- Size: 31.9 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Aria
A free, open-source, and extensible music player
---
## Why Aria?
- **Unified library** — Manage music from multiple sources in one place
- **Plugin architecture** — Extend functionality with community-built plugins
- **Offline support** — Save tracks for offline listening
- **Privacy-first** — No ads, no tracking, fully open source
- **Synced lyrics** — Line-by-line lyrics with timing
- **10-band equalizer** — Fine-tune your sound with presets or custom settings
- **Beautiful UI** — Material Design 3 with dynamic theming and custom accent colors
## Download
Get the latest release from the [Releases](https://github.com/carlelieser/aria/releases) page.
## Screenshots
## Features
### Library
- Play local files or connect sources via plugins
- Unified library with songs, albums, artists, and playlists
- Search across multiple sources simultaneously
- Recently played history and favorites
### Offline
- Download tracks for offline listening
- Queue management with progress tracking
- Automatic retry for failed downloads
### Audio
- **10-band equalizer** with presets (Bass Boost, Treble Boost, Vocal, Rock, Electronic, and more)
- Gapless playback for seamless transitions
- Sleep timer with presets, custom duration, and end-of-track mode
### Lyrics
- Synced lyrics with line-by-line timing
- Plain text fallback when timing unavailable
- Multiple lyrics providers
### Customization
- Light, dark, and system theme modes
- Custom accent colors with Material Design 3 dynamic theming
- Configurable tabs and default views
## Setup
```bash
git clone https://github.com/carlelieser/aria.git
cd aria
npm install
npx expo start
```
Press `w` to open in browser, or run a native build:
```bash
npm run ios # Build and run on iOS
npm run android # Build and run on Android
```
## Build
Cloud (EAS Build)
Requires [EAS CLI](https://docs.expo.dev/eas/):
```bash
npm install -g eas-cli
eas login
```
```bash
# Development build (with dev client)
eas build --profile development --platform android
eas build --profile development --platform ios
# Production build
eas build --profile production --platform android
eas build --profile production --platform ios
```
Local
```bash
npm run build:android
npm run build:ios
```
## Project Structure
```
app/ # Screens & navigation (Expo Router)
components/ # UI components
hooks/ # React hooks
src/
├── domain/ # Entities & repository contracts
├── application/ # Services & Zustand stores
├── infrastructure/ # Storage & DI
├── plugins/ # Metadata, playback, sync providers
└── shared/ # Utilities
```
See [CLAUDE.md](CLAUDE.md) for architecture details and code standards.
## Publishing
See [PUBLISHING.md](PUBLISHING.md) for app store submission guides (F-Droid, etc.).
## Contributing
PRs welcome. Use [Conventional Commits](https://conventionalcommits.org). See [CLAUDE.md](CLAUDE.md).
## License
[MIT](LICENSE)