Jouw muziek, op je eigen telefoon

Geen netwerk, geen account, geen onderbrekingen. CX's Music is een lokale muziekspeler voor Android — gratis en open source.

  • Offline
  • Geen account
  • Geen advertenties
  • Open source
Afspeelscherm van CX's Music: bovenaan een vierkante hoes, daaronder de titel, de artiest, drie regels songtekst met de huidige in wit vet, een voortgangsbalk op 0:56 van 2:38 en vijf knoppen: herhalen, vorige, pauze, volgende en toevoegen
Nu afgespeeld

Waarom deze spelers

Echt offline

Geen netwerk, geen account, niets wordt geüpload. Je muziekbestanden blijven op je eigen apparaat; de speler speelt ze alleen af.

Geluid serieus genomen

Een 10-bands equalizer en het ruimtelijke geluid van het systeem, en elke map of afspeellijst kan eigen instellingen hebben.

Songteksten goed gedaan

Regel-voor-regel synchronisatie, karaoke-markering en tweetalige teksten waarvan je de volgorde kunt omdraaien. Leest zowel ingesloten teksten als externe LRC-bestanden, en laat je de tijdlijn zelf bewerken.

Functievergelijking

Beschrijft de op dit moment gepubliceerde versie van elke app. Eerdere wijzigingen staan in de versiegeschiedenis.

FunctieAndroid
BibliotheekbeheerZoekt op titel, artiest, album en map
Grote bibliothekenVloeiend bij een miljoen nummers (gemeten)
Equalizer10 banden, 11 voorinstellingen, waaronder een eigen
GeluidseffectenBass boost, Virtualizer, Spatial audio (als het apparaat dat ondersteunt)
Snelheid en toonhoogteSnelheid 0,5×–2,0×, toonhoogte −12 tot +12 halve tonen, onafhankelijk van elkaar
Audio-uitvoerSysteemuitvoer
DSD-weergaveNiet ondersteund
SongtekstSongtekst op volledig scherm, karaoke-markering, vertaalregel, volgorde van de twee talen om te wisselen
Songtekst bewerkenIngebouwde editor, hele tijdlijn verschuiven
Info bewerkenWordt terug naar het audiobestand geschreven
FormaatconversieNiet ondersteund
AfspeellijstenEigen pictogrammen, onafhankelijke afspeelmodus
Willekeurig afspelenGewogen op luistergewoonten; elk nummer precies één keer, gaat door na opnieuw starten
Thema’s6 themakleuren + donkere modus
Interfacetalen15 (waaronder Indonesisch en Vietnamees)
Slaaptimer15/30/60 minuten, eigen waarde of einde van het huidige nummer
Afspelen op de achtergrondAfspelen op de achtergrond, bediening op het vergrendelscherm, Bluetooth en autotoetsen

De volledige talenlijst staat hieronder bij de technische details.

Ondersteunde formaten

MP3 · M4A · FLAC · WAV · OGG · Opus

Alle zes zijn codecs die de Android-compatibiliteitsregels voor elk apparaat verplicht stellen, dus «dit toestel mist een onderdeel» kan hier niet gebeuren.

Schermafbeeldingen

Nu afgespeeld
Afspeelscherm van CX's Music: bovenaan een vierkante hoes, daaronder de titel, de artiest, drie regels songtekst met de huidige in wit vet, een voortgangsbalk op 0:56 van 2:38 en vijf knoppen: herhalen, vorige, pauze, volgende en toevoegen
Songtekst
Songtekstscherm: de hele tekst regel voor regel, de huidige regel in vet blauw midden op het scherm en de andere steeds vager naarmate ze verder weg staan, met bovenaan de titel en de artiest
Equalizer
Equalizerscherm: bovenaan de hoofdschakelaar en «Voorinstelling: Folk», daaronder een horizontaal scrollende rij bandregelaars, vervolgens schuifregelaars voor bass boost en virtualizer, een ingeschakelde schakelaar voor spatial audio met de melding dat de spatial audio van het systeem is uitgeschakeld in de systeeminstellingen, en de toonhoogteregeling

Downloaden en installeren

Volledig gratis — geen advertenties, geen in-app-aankopen. Het installatiebestand komt van ons eigen CDN en een account is niet nodig.

CX's Music for Android

Versie
v1.1.1
Uitgebracht
Bestandsgrootte
5.1 MB
Systeemvereisten
Android 8.0 of nieuwer
APK downloaden

Installatiebestanden worden geleverd via ons eigen domein dl.cxapps.app, dat draait op Cloudflare R2; bij het downloaden geldt het privacybeleid van Cloudflare voor die verbinding. Privacy

SHA-256-controlesom

1c444606490909eabf5b7003fb6e48c9ba20577366122ae11640c5edd2e8236c

Dit is een APK, dus het installeren kost één stap extra

De app staat niet in Google Play, dus je installeert de APK rechtstreeks. De eerste keer vraagt Android of je installeren vanaf deze bron — je browser of bestandsbeheerder — wilt toestaan. Ga akkoord.

Daarna kan het systeem of Play Protect melden dat het de ontwikkelaar niet herkent; kies om door te gaan. De bewoording en het aantal stappen verschillen per fabrikant, maar er wordt hetzelfde gevraagd.

Wil je het bestand liever eerst controleren, vergelijk het dan met de SHA-256-controlesom hierboven via een bestandsbeheerder of een controlesomprogramma.

Op jouw systeem kunnen deze knoppen anders heten; plaats en functie zijn hetzelfde.

Dit bestand zelf controleren

De SHA-256 hierboven beantwoordt één vraag: of het bestand dat je hebt hetzelfde is als wat wij hebben gepubliceerd.

Komt het niet overeen, dan is jouw bestand niet het bestand dat wij hebben gepubliceerd. Installeer het niet en download het opnieuw. Blijft het verschil, laat het ons dan weten via het kanaal in de voettekst — de fout kan net zo goed aan onze kant liggen.

Twee andere vragen beantwoordt hij niet: of het bestand dat wij publiceren op zichzelf te vertrouwen is, en of het gebouwd is uit de broncode die op deze pagina staat.

Ook deze versie is geen reproduceerbare build, en het verschil is groter: releasebuilds gaan door R8-verkleining en de ondertekeningssleutel zit niet in de broncode (ondertekeningssleutels horen niet gepubliceerd te worden). Een zelfgebouwde APK verschilt daarom altijd van de onze — dat het niet overeenkomt is verwacht. Je kunt nog steeds je eigen kopie bouwen, maar ken eerst de prijs: jouw handtekening is niet de onze, dus installeren over een bestaande installatie kan niet. Je moet eerst verwijderen, en verwijderen wist alles wat de app op je apparaat bewaart — het aantal keren afgespeeld, afspeellijsten en favorietmarkeringen inbegrepen.

Geen automatische updates

Apps uit Google Play werken zichzelf bij; een rechtstreeks geïnstalleerde APK niet. Je krijgt geen melding als er een nieuwe versie is.

Wijzigingslogboek bekijken

Broncode

Broncode downloaden

a73733d.zip

0.5 MB ·

470d71847942209212ea9530a1b7dc5fe07c665df5cece968374f44a0b5d997d

De bestandsnaam is de korte hash van de commit, geen versienummer — broncode en uitgaven lopen niet altijd gelijk. Het archief wordt met git archive uit die commit gemaakt.

Openbare broncode betekent dat je regel voor regel kunt nalezen wat hij doet. Het betekent niet dat de download hierboven daar noodzakelijk uit gebouwd is — die verificatie hebben we niet gedaan, en dat zijn twee losse dingen. Dit bestand zelf controleren

Oorspronkelijke repository

github.com/hnshysglxfsccx-hub/cxmusic-android

De inhoud op dit adres is niet gewijzigd en niet verloren, maar het account is door GitHub beperkt, niemand kan het openen, en we rekenen niet meer op herstel.

Ook voor Windows →

Veelgestelde vragen

Is het gratis? Zijn er in-app-aankopen of advertenties?

Volledig gratis: geen advertenties, geen in-app-aankopen, geen abonnementen. De broncode is gepubliceerd onder de MIT-licentie.

Moet ik een account aanmaken?

Nee. Geen van beide apps heeft een accountsysteem.

Worden mijn muziek of gebruiksgegevens geüpload?

Nee. De apps maken geen verbinding met het netwerk en hebben geen enkele statistiek- of meldfunctie. Je muziekbestanden en afspeelgeschiedenis blijven alleen op je eigen apparaat.

Waarom verschijnt er een beveiligingswaarschuwing bij het installeren?

Omdat er voor het installatiepakket geen certificaat voor codeondertekening is gekocht en Android waarschuwt bij pakketten waarvan de herkomst niet is bevestigd. Hierboven staan de stappen; je kunt het bestand ook zelf controleren met de SHA-256-som.

Welke audioformaten worden ondersteund?

De volledige lijst staat hierboven bij «Ondersteunde formaten». Die zes spelen op elk Android-apparaat, zonder dat er een onderdeel kan ontbreken.

Is er een iPhone-versie?

Voorlopig niet. Voor het ontwikkelen van een iOS-app zijn een Mac en een Apple-ontwikkelaarsaccount nodig, en dat is op dit moment niet mogelijk.

Zijn de desktop- en de mobiele versie dezelfde app?

Nee. Het zijn twee losse apps die apart zijn ontwikkeld. De functies overlappen maar zijn niet gelijk, en instellingen en gegevens worden niet gedeeld.

Hoe meld ik een probleem of stel ik een functie voor?

Bij een melding helpt het enorm om de versie van de app en die van het systeem erbij te vermelden.

Open gerust een issue op Codeberg.

Technische details

CX’Music (desktop)

C# · .NET 8 · WinUI 3 · NAudio · SQLite + FTS5

  • De audioketen bestaat uit eigen ISampleProviders (een zelfgebouwde DSP-keten boven op NAudio): decoderen → 18-bands equalizer → effecten → snelheid en toonhoogte wijzigen → volume → WASAPI-uitvoer
  • De afspeelpositie gebruikt alleen het aantal door WASAPI werkelijk verbruikte samples als tijdbron en omzeilt zo de onbetrouwbare zoekposities van de hardware
  • Het inlezen van DSF en de conversie DSD → PCM zijn in puur C# geschreven
  • Paginavirtualisatie en keyset-paginering. Scrollen en zoeken zijn gemeten op een synthetische bibliotheek van een miljoen nummers en er trad geen haperen op; die bibliotheek heeft geen hoezen en geen grote bestanden, dus wat gemeten is, zijn de lijst en de zoekopdracht zelf.

CX’s Music (mobiel)

Kotlin · Jetpack Compose · Media3 (ExoPlayer) · Room · Hilt

  • Willekeurig afspelen gebruikt gewogen trekking zonder teruglegging volgens Efraimidis–Spirakis, waardoor elk nummer in het bereik precies één keer speelt
  • De volgorde wordt in de database bewaard en gaat door als het systeem het proces beëindigt
  • Een virtueel wachtrijvenster houdt maar 50 nummers in de speler en bedient toch een bibliotheek van een miljoen
  • Ingesloten songteksten worden gelezen uit ID3 SYLT/USLT, Vorbis Comment en MP4 atom

Volledige lijsten met interfacetalen

CX’Music (desktop)
繁體中文 · 简体中文 · English · 日本語 · 한국어 · Español · Français · Deutsch · Português · Русский · Italiano · Nederlands · Ελληνικά · العربية · हिन्दी
CX’s Music (mobiel)
繁體中文 · 简体中文 · English · 日本語 · 한국어 · Español · Français · Deutsch · Português · Русский · Bahasa Indonesia · Tiếng Việt · Ελληνικά · العربية · हिन्दी

Ze verschillen op precies twee plaatsen: de desktopversie heeft Italiaans en Nederlands, de mobiele versie Indonesisch en Vietnamees. De website zelf biedt 17 talen — de vereniging van beide lijsten.