package icon

LatentJam

Local music player with an on-device recommender. No account, no network.
New in version 0.6.0
SMART now knows 350,000 artists, their language and era, and keeps big jumps in energy out of the queue. Search understands twenty languages, and a year or decade in the query filters by the tags' year. The models take 50 MB instead of 87. Albums play in track order, a collaboration is listed under every artist it names, and The Beatles sort under B. Pressing Back while a sheet closes no longer freezes the app, and a request from outside the app no longer wipes the queue.
LatentJam is a music player for the files on your phone that understands what your library sounds like. A small neural model runs on the device, listens to your tracks in the background and learns what follows what, so SMART mode can queue the next song from your own collection. There is no account, no catalogue and no network permission: nothing about your listening leaves the phone.


  • SMART queue: the next track picked from your library by sound and by how you actually listen.

  • For You: rows for this time of day, the phase you are in, one wildcard, and a sonic journey across the library.

  • A map of your library: clusters are your genres as the model hears them.

  • A player built for touch: the cover flips to the track's facts, holds for actions and swipes between tracks; a live seek bar with fine scrubbing and the lyric line under the handle; pause and resume fade instead of cutting.

  • Lyrics: timed lyrics follow the song, and search finds tracks by the words embedded in their files.

  • Every tag the file carries: all genres, credited artists and the original release year, read from FLAC, Opus and mp3.

  • A real player underneath: playlists with M3U import and export, album, artist, genre and folder browsing behind an A–Z rail, crossfade and volume normalization, a duplicate finder that says which copy to keep, statistics, tag editing, local backup and restore.

  • Your pages, your order: show, hide and reorder the browsing pages.



SMART gets good once a chunk of your library has been analysed in the background; leaving the phone charging overnight speeds that up.

Versions

Although APK downloads are available below to give you the choice, you should be aware that by installing that way you will not receive update notifications and it's a less secure way to download. We recommend that you install the F-Droid client and use that.

Download F-Droid
  • Version 0.6.0 (10) suggested Added on Sep 28, 2026

    arm64-v8a armeabi-v7a x86 x86_64

    This version requires Android 7.0 or newer.

    It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.

    Permissions
    • run foreground service
      Allows the app to make use of foreground services.
    • run foreground service with the type "dataSync"
      Allows the app to make use of foreground services with the type "dataSync"
    • run foreground service with the type "mediaPlayback"
      Allows the app to make use of foreground services with the type "mediaPlayback"
    • change your audio settings
      Allows the app to modify global audio settings such as volume and which speaker is used for output.
    • show notifications
      Allows the app to show notifications
    • read the contents of your shared storage
      Allows the app to read the contents of your shared storage.
    • read audio files from shared storage
      Allows the app to read audio files from your shared storage.
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • modify or delete the contents of your shared storage
      Allows the app to write the contents of your shared storage.
    • io.github.nikitasud.latentjam.kmp.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 83 MiB PGP Signature | Build Log

  • New in version 0.5.1
    Resume now lands exactly where you paused instead of up to ten seconds earlier, and a queue you cleared no longer comes back on the next launch. Shuffle starts at the song you picked and keeps every row it was given, duplicates included, through appends, reorders and restores. Queue edits on Android can no longer land on a queue that was still being replaced. New screenshots show the current design.
  • Version 0.5.1 (9) - Added on Sep 25, 2026

    arm64-v8a armeabi-v7a x86 x86_64

    This version requires Android 7.0 or newer.

    It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.

    Permissions
    • run foreground service
      Allows the app to make use of foreground services.
    • run foreground service with the type "dataSync"
      Allows the app to make use of foreground services with the type "dataSync"
    • run foreground service with the type "mediaPlayback"
      Allows the app to make use of foreground services with the type "mediaPlayback"
    • change your audio settings
      Allows the app to modify global audio settings such as volume and which speaker is used for output.
    • show notifications
      Allows the app to show notifications
    • read the contents of your shared storage
      Allows the app to read the contents of your shared storage.
    • read audio files from shared storage
      Allows the app to read audio files from your shared storage.
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • modify or delete the contents of your shared storage
      Allows the app to write the contents of your shared storage.
    • io.github.nikitasud.latentjam.kmp.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 109 MiB PGP Signature | Build Log

  • New in version 0.4.1
    SMART no longer stops. When the recommender cannot answer — while the library is still being analysed, or after a hiccup it used to hide — playback continues with tracks you have not heard, labelled in the queue as what they are, and real recommendations resume the moment it can. Several silences behind that are fixed outright, so a fully analysed library keeps its queue filled. Deleting a track now works on every supported Android version instead of failing silently below Android 11, and says s
  • Version 0.4.1 (7) - Added on Sep 23, 2026

    arm64-v8a armeabi-v7a x86 x86_64

    This version requires Android 7.0 or newer.

    It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.

    Permissions
    • run foreground service
      Allows the app to make use of foreground services.
    • run foreground service with the type "dataSync"
      Allows the app to make use of foreground services with the type "dataSync"
    • run foreground service with the type "mediaPlayback"
      Allows the app to make use of foreground services with the type "mediaPlayback"
    • change your audio settings
      Allows the app to modify global audio settings such as volume and which speaker is used for output.
    • show notifications
      Allows the app to show notifications
    • read the contents of your shared storage
      Allows the app to read the contents of your shared storage.
    • read audio files from shared storage
      Allows the app to read audio files from your shared storage.
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • modify or delete the contents of your shared storage
      Allows the app to write the contents of your shared storage.
    • io.github.nikitasud.latentjam.kmp.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 109 MiB PGP Signature | Build Log