An open API service indexing awesome lists of open source software.

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.

Awesome Lists containing this project

README

          


Aria

Aria


A free, open-source, and extensible music player


Release Status
CI Status
Android | iOS
MIT License

---

## 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)