Your ultimate groove companion – a powerful, privacy‑first YouTube Music experience.
Contact & Support:
- Email: gravityappslabin@gmail.com
- Support group: Telegram
- Updates channel: Telegram
⚠️ Work in Progress: Noize is currently under active development. Features may be incomplete, unstable, or subject to change.
Noize is a free and open source YouTube Music client for Android, Windows, and Linux. Built with Flutter, it focuses on smooth playback, rich customization, and privacy-first local data control. iOS and macOS support is coming soon.
- Stream from YouTube Music, with optional JioSaavn support.
- Download tracks/playlists for offline listening.
- Use synced lyrics (YouTube Music / LRCLib / AI providers).
- Manage local music folders and file extensions.
- Enjoy built-in equalizer, sleep timer, and playback stats.
| Light Mode | Dark Mode |
|---|---|
![]() |
![]() |
Noize includes a wide set of features implemented in this repository:
- Stream songs, albums, artists, playlists, and videos from YouTube Music.
- Optional JioSaavn integration for alternate/high-quality source.
- Country-aware Trending feed.
- Home sections for recently played, liked songs, favorite artists, and recent playlists.
- Fast search with suggestions.
- Search history with enable/disable controls and clear actions.
- Grouped results by Songs, Albums, Artists, Playlists, and Videos.
- In-list search delegates for library and playlist/album screens.
- Background playback with media session integration.
- Queue management: add to queue, play next, reorder queue, clear queue.
- Playback controls: shuffle, repeat, speed, volume.
- Video mode support for playable YouTube video content.
- Windows SMTC integration and Android media notifications.
- Download individual songs or complete playlists.
- Concurrent download queue with progress/preparing states.
- Configurable download quality.
- Embedded metadata/artwork handling for downloaded content.
- Dedicated downloads screen for offline playback.
- Scan local audio files and play from device storage.
- Manage included/excluded folders.
- Manage included/excluded file extensions.
- Minimum duration filters and local permission handling flow.
- Import local tracks into active playback queue.
- Multiple lyric providers: YouTube Music, LRCLib, AI.
- AI lyric generation via Gemini/OpenAI (API key configurable).
- Supports synchronized and plain lyrics.
- Seek to lyric lines while playback is running.
- Caching support for faster lyric access.
- Create, delete, and manage custom playlists.
- Add/remove songs to playlists from option sheets.
- Liked songs and favorite artists management.
- Saved playlists/albums and created playlists sections.
- Built-in equalizer screen.
- Presets and custom tuning controls.
- Streaming quality and downloading quality settings.
- Audio output selection support.
- Sleep timer with optional fade-out effect.
- Playback statistics (daily/weekly/monthly views, top artists).
- Crash log viewer with share/clear controls.
- Connectivity status handling and graceful fallback.
- In-app update checking.
- Update channels (stable/beta/dev).
- Version-based update detection.
- Release notes, update progress, ETA, and install flow.
- Light, Dark, and System theme modes.
- Adaptive/dynamic accent color and manual accent color picker.
- Full-player background animation selection (multiple styles + static).
- Multi-language support (English, Hindi, Spanish, French, German, Russian, Ukrainian, Bengali, Japanese, Chinese, Urdu, Telugu, Tamil, Marathi).
- Export/import settings and app data selections.
- Granular clear actions (cache, playback stats, queues, logs, playlists, favorites, etc.).
- AI provider and key management screen.
- Language selection and general app preferences.
- Share song links and app links.
- Android share-intent support for incoming local files.
- Open tracks externally (YouTube / YouTube Music).
Quick tips:
- Download a song from its options menu or from a playlist menu.
- Enable AI lyrics in Settings → AI API Configuration.
- Open equalizer in Settings → Audio Settings → Equalizer.
Supported audio formats: .mp3, .aac,.m4a, .wav, .flac, .ogg.
Noize is built with Flutter and community packages. Core stack overview:
| Area | Libraries / Tools | Purpose |
|---|---|---|
| Framework | Flutter, Dart | Cross-platform app UI and business logic |
| State & DI | provider, get_it, go_router | State management, dependency injection, navigation |
| Audio Engine | just_audio, just_audio_background, just_audio_media_kit, audio_service, audio_session, audioplayers | Playback, background controls, media session integration |
| Streaming & Video | dart_ytmusic_api, youtube_explode_dart (git fork), youtube_player_flutter, flutter_inappwebview, jiosaavn | Streaming metadata, stream extraction, embedded player, alternate source |
| Downloads & Network | dio, flutter_local_notifications | Download pipeline and user notifications |
| Local Media & Metadata | metadata_god, audio_metadata_reader | Local song discovery, tags/artwork extraction, output device controls |
| Storage | hive_ce, shared_preferences, path_provider | App data persistence and local storage paths |
| UI & Visualization | easy_localization, google_fonts, dynamic_color, palette_generator, flutter_animate, fl_chart, cached_network_image, shimmer, flutter_svg, persistent_bottom_nav_bar_v2 | Localization, visuals, animation, charts, and UI components |
| Platform Integrations | receive_sharing_intent (git), smtc_windows, android_intent_plus, package_info_plus, device_info_plus, connectivity_plus, permission_handler, file_picker, terminate_restart | Intents, platform controls, permissions, file picking, restart/update helpers |
| Utilities | share_plus, url_launcher, collection, crypto, synchronized, talker_flutter, audio_video_progress_bar | Sharing, links, helpers, logging, progress UI |
(See pubspec.yaml for a full list and exact versions.)
- Download the latest APK from the website.
- Enable "Install from unknown sources" in your device settings.
- Install the downloaded APK file.
- Download the Windows installer from the website.
- Run the installer and follow the on-screen instructions.
- Launch Noize from the Start Menu.
- Download the latest Linux build from the website.
- Extract the archive and run the Noize executable.
- Optionally, create a desktop entry for easy access.
iOS and macOS support is currently under development and coming soon. Stay tuned for updates!
Interested in contributing to Noize? Here's how to get started:
- Flutter SDK
- Android Studio / Visual Studio Code
- For Windows development: Visual Studio with C++ development tools
- Clone the repository:
git clone https://github.com/anandssm/noize.git
- Navigate to the project directory:
cd noize - Install dependencies:
flutter pub get
- Run the app:
flutter run
noize/
├── android/ # Android build and platform code
│ └── app/ # application module
├── build/ # generated build artifacts (ignore)
├── docs/ # documentation and release metadata
├── assets/
│ ├── images/ # App images and artwork
│ └── translations/ # Localization JSON files
├── lib/
│ ├── core/ # Shared services, providers, models, constants
│ ├── features/ # Feature‑first modules (player, search, settings, etc.)
│ ├── shared/ # Shared widgets/components/animations
│ ├── generated/ # Generated files (hive, localization, etc.)
│ └── main.dart # App entry point
├── linux/ # Linux runner and CMake configuration
│ ├── CMakeLists.txt
│ ├── flutter/
│ └── runner/
├── windows/ # Windows runner and packaging config
│ ├── CMakeLists.txt
│ ├── flutter/
│ └── runner/
├── test/ # Widget/unit tests
└── pubspec.yaml # Dependencies and project metadata
This project stands on the work of many open-source maintainers and contributors. The full dependency list is maintained in pubspec.yaml, but the core packages that make Noize possible include:
- Project & maintenance: Anand Kumar (lead developer & maintainer) and community contributors.
- Framework: Flutter and the Dart/Flutter ecosystem.
- Audio & playback – just_audio, just_audio_background, just_audio_media_kit, audio_service, audio_session, audioplayers, sleek_circular_slider, smtc_windows
- Streaming & metadata – dart_ytmusic_api, youtube_explode_dart (custom fork), youtube_player_flutter, flutter_inappwebview, jiosaavn
- Networking & downloads – dio, connectivity_plus, flutter_local_notifications
- Local media – metadata_god, audio_metadata_reader
- Storage & persistence – hive_ce, shared_preferences, path_provider
- Routing & state – go_router, provider, get_it
- UI & visuals – easy_localization, google_fonts, dynamic_color, palette_generator, flutter_animate, fl_chart, cached_network_image, shimmer, flutter_svg, persistent_bottom_nav_bar_v2, pull_to_refresh, flutter_markdown_plus
- Platform utilities – android_intent_plus, android_package_installer, device_info_plus, duration_picker, file_picker, package_info_plus, permission_handler, receive_sharing_intent (git), share_plus, terminate_restart, url_launcher
- General utilities – async, collection, crypto, synchronized, talker_flutter, audio_video_progress_bar, cupertino_icons
- Dev dependencies – flutter_test, build_runner, flutter_lints, hive_ce_generator, msix
- Packaging – msix_config for Windows installer, custom Android Gradle scripts, CMake for desktop.
Thank you to everyone building and maintaining these open‑source libraries and tools – your work powers Noize.
Note: This project is currently a work in progress. Pull requests are not being accepted at this time. Feel free to open issues for bug reports or suggestions, but please hold off on submitting PRs until further notice.
This project is licensed under the GNU General Public License v3 (GPL‑3.0). See the LICENSE file for details.
- Built with Flutter
- Inspired by the need for a privacy-first, customizable YouTube Music client.
Noize is an unofficial client and is not affiliated with YouTube or Google in any way. It is intended for educational and personal use only.

