TexFi · AGPL-3.0

w0y

An open YouTube Music client: fast, adjustable, no telemetry.

The next track is prefetched, speed, pitch and reverb are set per song, and requests go only where they have to.

  • AGPL-3.0
  • 0 ads
  • 0 telemetry
  • Android
  • Linux

Beta. It works, but it is young — see “Honest about the limits” below.

Version
v0.0.3 beta-2
APK
7.7 MB · October 14, 2026
GitHub
AGPL-3.0
01

How it looks

w0y app screens 1/6w0y app screens 2/6w0y app screens 3/6w0y app screens 4/6w0y app screens 5/6w0y app screens 6/6
02

What is new

All five betas, from the first to the latest. Each opens on GitHub.

  1. v0.0.3 beta-2Latest

    Hairline grows up

    • Floating dock: mini player and tabs in one flat island, a thin line follows the active tab and track progress runs around the perimeter.
    • App background of your choice: grid, black, cover light, aurora or your own picture.
    • Settings in tabs: every setting is a card, the underline follows the tab.
    • “Yours” became bento tiles with counters; playlists get a full look: cover, colour, icon, description, plus folders.
    • Seasonal events: pumpkins for Halloween, snowflakes and trees for New Year.
    Release notes →
  2. v0.0.3 beta-1

    The Hairline look and your own files

    • Hairline: thin lines instead of pixels and glass, Unbounded and mono labels, a floating dock, a progress ring around the cover.
    • Your own files: mp3 and wav from the phone, with title, artist, album and cover edited in the app.
    • Lyrics from every source, a delay setting, and video instead of the cover for clip tracks.
    • Visualizer: Lines, Orbit, Terrain.
    • The Linux version caught up with the phone: two looks, phone-style settings, hotkeys and control from the terminal.
    Release notes →
  3. v0.0.2 beta-2

    Real liquid glass

    • Liquid glass in Smooth: the bottom bars blur and slightly refract what is under them.
    • A split bottom bar and grouped settings.
    • Stand mode: brightness and slider, a cover view, a flipped view.
    • Fixed: playback and downloads on SABR streams, foreign recommendations in playlists.
    Release notes →
  4. v0.0.2 beta-1

    Two looks, lyrics and downloads

    • Two looks: Pixel and Smooth, switched in settings without a restart.
    • Full-screen lyrics, a visualizer instead of the cover and stand mode.
    • Downloads redone: a queue, failure reasons, saving as MP3 at 320 kbit/s.
    • Listening stats and playlists you can drag to reorder.
    Release notes →
  5. v0.0.1 beta-1

    First public beta

    • Search, background playback, queue, sleep timer.
    • Google account sign-in: playlists, likes and subscriptions both ways.
    • Downloads, your own sound per track, lyrics from LRCLIB.
    • Speed dial, stats, a widget, clean mode and the Linux version.
    Release notes →
03

Try it yourself

Five slices of the interface — tap, drag, switch. These are mock-ups: no sound here, but the look and motion match the app.

Speed, pitch and reverb belong to the track. Move the sliders and watch the shape of the sound change.

Interface mock-ups. There is no audio on this page: in the app speed, pitch and reverb are applied to the sound and remembered for each track.

04

What sets it apart

  1. 01

    Quick start

    The next track is prefetched, stream links are cached and playback starts on a minimal buffer. The app measures tap-to-sound time itself and shows it on the home screen.

  2. 02

    Hairline

    Thin lines, sharp corners, one hero per screen and a floating dock. The older Pixel and Smooth looks stay in Settings → Look, and Hairline has its own options: line weight, corners, cover shape, case, density, motion.

  3. 03

    Your own sound per track

    Speed, pitch and reverb (SLOWED, SPED UP) are applied to the original file and belong to that track only. One button puts everything back.

  4. 04

    Your own files

    Add mp3, wav and other audio from the phone, edit title, artist, album and cover inside the app. They go into playlists and speed dial. If a file stops opening, the same track from the catalogue plays.

  5. 05

    Lyrics

    Full-screen lyrics line by line, with translation and an adjustable delay. LRCLIB first, then NetEase, lyrics.ovh and Genius. Searching beyond LRCLIB can be turned off.

  6. 06

    Video and visualizer

    For tracks that are really videos you can swap the cover for the video while the sound keeps coming from the same stream. Visualizer: Lines, Orbit, Terrain.

  7. 07

    Offline downloads

    Tracks, albums and playlists into app storage, a “Wi‑Fi only” limit and a button that copies them to Music/w0y music. Saving as MP3 at 320 kbit/s with cover and tags.

  8. 08

    Account sync

    Pick one of the Google accounts on the phone and confirm on Google’s page, or paste a cookie by hand. Playlists, likes and subscriptions sync both ways.

  9. 09

    Speed dial, stats and a widget

    What you play most sits on the home screen. Listening stats are computed on the device and a widget shows the current track.

  10. 10

    Linux version

    The same ideas on Compose Desktop: two looks, remappable hotkeys, control of the running app from the terminal (w0y --do play_pause), MPRIS and notifications. Sound plays through mpv.

05

Privacy

Do not take our word for it. Everything below can be checked in the source.

  • 0ads
  • 0telemetry
  • 3.0AGPL
  • Library, history, settings, downloads and stats are stored on the device. The project has no server of its own, no analytics and no crash reports.

  • Requests go only where they have to: music.youtube.com (search, library, stream links), accounts.google.com (the sign-in page only), lrclib.net (lyrics) and fallback Piped servers if the main path gave no audio.

  • If LRCLIB has no lyrics and “search lyrics everywhere” is on, artist and title go to music.163.com, lyrics.ovh and genius.com. Lyrics translation (translate.googleapis.com) works only if you turn it on.

  • The sign-in cookie stays on the device. Treat it like a password. The code is open under AGPL-3.0: everything listed is visible in the files.

View the source
06

Install

APK from the release

Download the file, open it on the phone and allow installs from that source. Android 8.0 or newer. Checksums are next to it in SHA256SUMS.txt.

DOWNLOAD · v0.0.3 beta-2

Obtainium

Add the repository to Obtainium and it will tell you about new versions. Updates install over the top as long as they are signed with the project key.

Repository address
$ https://github.com/texfi-w0y/texfi-w0y
Open in Obtainium

Linux (x86_64)

Download w0y-linux-x86_64.tar.gz, unpack it and run ./install.sh. You need mpv installed. The Linux interface is in Russian only for now.

w0y-linux-x86_64.tar.gz

Build from source

You need JDK 21 and the Android SDK (compileSdk 37). This builds a debug version; signed releases are built by GitHub Actions.

git
$ git clone https://github.com/texfi-w0y/texfi-w0y.git && cd texfi-w0y && ./gradlew assembleDebug
07

Honest about the limits

What is not yet the way we want it in this beta. We say it ourselves.

  • Account sync reads YouTube pages the way the web version does, and YouTube can change them without warning.

  • MP3 at 320 kbit/s does not improve the source: YouTube audio is compressed harder. 320 only avoids losing more in conversion.

  • Lyrics from Genius and NetEase are read from their public pages and may stop working when those change. They can be from a different version of the song.

  • Video goes over SABR. A known issue in this beta: on some tracks the picture stays black while the sound plays normally.

  • The Linux interface is in Russian only.

  • There is no web version and none is planned.

08

FAQ

Is w0y affiliated with YouTube?

No. w0y is an independent project: not affiliated with, endorsed by or supported by YouTube or Google. YouTube and YouTube Music are trademarks of their owners.

Which Android versions are supported?

Android 8.0 (API 26) and newer. Linux has a separate x86_64 build.

How do updates arrive?

The app does not check for updates or download anything in the background. A new version is a new APK in the GitHub releases: install it over the old one and your data stays. Adding the repository to Obtainium is easier.

Do my files go to YouTube?

No. Your own files play from disk, go into playlists and speed dial and are never sent to YouTube. Recommendations after a file are built from the same track in the catalogue.

Where did Pixel and Smooth go?

They are still there: Settings → Look. Hairline is the default now and the old two can be brought back at any moment.

What does “beta” mean?

It already works but it is young. Small bugs and changes are possible, especially where everything depends on the YouTube side: once it changes, parsing has to be fixed.

How do I report a problem?

Open an issue in the GitHub repository and say what happened, on which phone and in which version (Settings → About). Strip anything personal from a log before posting it.

Report a problem

w0y is an independent project. It is not affiliated with, endorsed by or supported by YouTube or Google. YouTube and YouTube Music are trademarks of their owners.