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.
Functie
Android
Bibliotheekbeheer
Zoekt op titel, artiest, album en map
Grote bibliotheken
Vloeiend bij een miljoen nummers (gemeten)
Equalizer
10 banden, 11 voorinstellingen, waaronder een eigen
Geluidseffecten
Bass boost, Virtualizer, Spatial audio (als het apparaat dat ondersteunt)
Snelheid en toonhoogte
Snelheid 0,5×–2,0×, toonhoogte −12 tot +12 halve tonen, onafhankelijk van elkaar
Audio-uitvoer
Systeemuitvoer
DSD-weergave
Niet ondersteund
Songtekst
Songtekst op volledig scherm, karaoke-markering, vertaalregel, volgorde van de twee talen om te wisselen
Songtekst bewerken
Ingebouwde editor, hele tijdlijn verschuiven
Info bewerken
Wordt terug naar het audiobestand geschreven
Formaatconversie
Niet ondersteund
Afspeellijsten
Eigen pictogrammen, onafhankelijke afspeelmodus
Willekeurig afspelen
Gewogen op luistergewoonten; elk nummer precies één keer, gaat door na opnieuw starten
Thema’s
6 themakleuren + donkere modus
Interfacetalen
15 (waaronder Indonesisch en Vietnamees)
Slaaptimer
15/30/60 minuten, eigen waarde of einde van het huidige nummer
Afspelen op de achtergrond
Afspelen op de achtergrond, bediening op het vergrendelscherm, Bluetooth en autotoetsen
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 afgespeeldSongtekstEqualizer
Downloaden en installeren
Volledig gratis — geen advertenties, geen in-app-aankopen. Het installatiebestand komt van ons eigen CDN en een account is niet nodig.
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
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.
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.
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.
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.
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.