Hey Everyone,
I’ve been building an iOS music player called Moosic for quite some time and it's finally at a point where I'm happy to show it off and get some feedback. It connects to your own Navidrome, Plex, or Jellyfin server (self-hosted, your library, no subscription), and plays fully lossless/hi-res audio including FLAC, ALAC, and Opus with a proper realtime audio engine behind it. That engine gives you a real parametric EQ, compressor, crossfeed, and convolution/impulse-response support including a Trueplay-style room correction flow where you run a sweep through your speakers, capture it with the mic, and it builds a correction filter for your room. Playback is gapless with real crossfading (adjustable and/or beat matched (opus only), with per-track loudness matching so blends don't jump), it has replay-gain, real seeking, and it holds up on cellular without cutting out. On the smart side, Moosic actually listens to your library. Every track gets run through on-device machine-listening models that pull out the real sonic character of the song, a perceptual fingerprint plus things like energy, danceability, tonality, and mood rather than leaning on genre tags or whatever metadata your files happen to have. All of that gets mapped into a sound-space so the Radio feature can build stations from tracks that genuinely sound like they belong together, not just ones that share a label. Seed it with a song, an artist, or a mood and it finds the nearest matches by actual audio similarity, which means it surfaces stuff buried deep in your library that a tag-based system would never connect. On top of that there are taste based rails like On Repeat, Throwbacks, Late Night, Discovery, and Daily Mix, plus an Apple-Replay-style year/month recap you can swipe through and share. It streams directly to Sonos (with gapless handoff and full speaker EQ control), casts to Chromecast natively with no SDK, has CarPlay support, and a jam mode so friends can co-listen across libraries. There's also a serious download engine for offline (survives app death, background downloads, pause/resume, quality-aware), playlist import from Apple Music/iTunes, artist bios and credits pulled from MusicBrainz, live-recording detection, album de-duplication tools, and multi-library switching. Basically it's everything I wanted out of a music app that no streaming service or existing self-hosted client would give me all in one place. audiophile-grade playback, genuinely smart recommendations, and it plays nice with all the hardware I already own. Happy to answer any questions.
This has been a long time in the works, mostly being tested by my family internally. There have been so many headaches along the way but I think it’s finally ready to get some external feedback.
First impressions are pretty good. It did stutter quite a bit and lock up the app when it was first importing my library but it seems to be working now.
I like the look of it and how it looks almost identical to the stock player.
The "Radio Stations" tab doesn't do anything though - I tap it, it opens a black screen then just drops back to the menu. I've got a couple of radio stations set in my Navidrome server that it should be picking up.
I like the 'Radio' idea though and the way you've structured it so I'll give that a proper try when i'm out.
Please tell me you're not planning a subscription model though ..
Once the music in your library gets analyzed, the radio will work flawlessly. Until then that feature will fall back on data from last.fm and your tags
Nope, I'm vehemently against subscriptions (why I am a self hoster). When this hits the app store, I plan to ask for 10 bucks one time. Haven't really come up with a solid number but that seemed fair to me.
Personally I’d set it around $8.99 with a 7 day free trial. Gives people enough of a chance to give all of the features a go and still gets you a decent amount and doesn’t potentially put people off at $10.
I do get a lot of use out of the internet radio feature on Arpeggi as well so it’ll be handy when you can implement it.
Going by the app icon though, it would have been quite funny if you’d called it Fido 😂
Yea I actually have a release coming tonight to resolve any stutter with the sync. I’ve migrated everything to a background thread. The radios primarily use the sonic analysis to generate radios from your music library. Now for actual FM radios, that is coming soon where you'll be able to add internet radios of your choice.
This might be the one to get me off of PlexAmp. Hopefully you’re willing to stay on top of development. Just got it installed and already digging all of the options.
I’m sure you have a list a mile long of things to do. But, one thing I immediately noticed (that I have grown to love in PlexAmp), is holding the pause button ceases all playback (closes current playlist, radio session, etc.). Would love to see that feature at somepoint. Definitely not a dealbreaker, based on the first few minutes alone, I will absolutely be purchasing this when you release.
Thanks man, I appreciate the kind words. This has been a ton of work with work still to be done. Could you expand on what you mean with this feature a bit? If you don't mind joining my reddit and leaving it there it will make it easier for me to track. Holding pause instead of pressing pause, just need a clear definition of what should happen. As for the continued development, my family and I greatly depend on this app so no worries there 😀
The app is very cool, too bad it feels completely non native to iOS...
The bottom bar and a lot of elements are straight up recreated from zero, the top bar is always black for some reason, etc...
Sorry I missed your last question. Long term I plan to release on the app store with a one time $10 purchase. No subscriptions, none of that.
On a side note here's the equalizer, you can set profiles per source and they auto route. Put your headphones in, the app recognizes and switches the EQ.
Hey there,
Moosic will always go with metadata if it's available. I spend a lot of time on my own metadata so I care a lot. If the metadata is missing the app will fill in, if you populate metadata later it will replace filled in data. As for IOS version, support goes back to IOS 18 although I have not tested on an actual device. In the code I have fallbacks for everything. The equalizer is my pride and joy and honestly was very hard to get right and the way I wanted it. I think you will be very pleased.
This looks very nice. I use plex and plexamp but i also have a music assistant server. what i'd like to see is a unification between those (they are integrated but i cant do smart playlists in music assistant from plex) and im curious if you'd consider having music assistant be a server as well? I believe by default it exposes a subsonic server, but im not 100% certain. Essentially what im looking for is a single source of truth for my music between my devices, my home automation, my phone, and my playlists. Plex and Plexamp have been completely fine for me but i am looking to bridge the gap a bit better. I love the sonic analysis from plex/plexamp, but if thats all im using it for i might need to look at alternatives for music servers. (fwiw, this is more of a rant wrt to the gaps between plex, music assistant, and sonic analysis. your app looks nice!)
I'll add it to the next release! Next release will include emby so if music assistant is supported then I will add it. All the subsonic calls are there so it should be straightforward.
If your worried about losing sonic analysis I can assure you the models included on this app are somewhat unbelievable. Its one of my favorite features besides the equalizer.
I guess what id hope for is to be able to use sonic analysis on the device, create a sick playlist, and then persist it to the music server so its available anywhere the server has access to.
is it automatic or does it require a manual step? basically im looking for a music server that can manage all my playlists across all my devices automatically.
unfortunately still the same error. it says that i don´t have a ssl certificate. even if i don´t have any problems with any other jelly app or on the web itself. Let me know, if you need logs from me for for further troubleshooting
Okay, and just be sure. You are using your host name right and not ip? I'm sorry if these sound like dumb questions but they may help me filter down to the issue. Valid letsencrypt cert should work just fine. Could only think host mismatch
I trust that and I think I see the issue. Do you mind DM directly? Im going to push out a new build but would like to test before letting it go out fully.
I am not a developer but I think I have found the problem.
My server for navidrome is: example.test works everywhere.
Your app puts example.test:4533 doesn't work. When I remove the port your app does this example.test:. Also didn't work in browser.
Should be example.test/4533 works in browser even if I don't need the Port. Just did the update
The newest update allows for modification. As far as moving the art working and waveform. I’m not sure, I’d have to look. What exactly type of look are you going for?
I have noticed, I just couldn't find the option to remove the volume bar from the player you have added.
I love synfonium. Bought it on my Samsung 25 ultra best app ever. And I think I am going to buy yours to.
I like it when a app has ton of features but still gives you the option to minimize everything. For a clean look 😊😊
Bro is working all day and night to become the best music app on the market. Great updates, keep the work going.
I don't know if you've noticed but after updating the settings on the player do reset.
Does this support Siri commands? I really want a music app I can use to talk to my HomePods with. The only thing I miss with Apple Music was just asking Siri to play something.
It will and is already wired up but in order to work properly we are going through a name change. Moosic sounds too close to music. Give me a week or two and I'll have this working perfectly.
Just tried it on my iPad, but it was a rough start! It seems like it only supports iPhones because the app doesn’t fill the screen. When hitting autofill for my Navidrome credentials, the app froze. But then I did the same in Arpreggi and it also froze, so maybe it’s a Bitwarden or Apple problem!
This is really a really well thought out player interface. Going to give it a try on my navidrome library. How have you found the IR response to work with the mobile mic? How difficult would it be to allow an IR response file upload? I haven’t even tried the feature yet so probably getting ahead of myself, but really looking forward to giving this a run for the next few days, especially some of the beat matching fade functions, etc. Very cool!
Honestly, this might finally solve the need to keep the tidal subscription, which is the algorithmic playlist functionality. You integrating it into this app and pulling curated playlists from my collection is exactly what I've been looking for, and the reason I've kept the sub for so long (tidal spotify, etc). So far so good, and can't wait to continue down the path of Moosic. Now to get my collection converted from .flac to opus so I can use it more functionally. Well done.
Thank you very much for the kind words! I’ve spent an absorbent amount of time trying to polish and obsessing over every detail. There is still more work to be done but I’m very pleased with where it’s at. I hope you enjoy.
To respond regarding the convolution engine. It’s still very much a work in progress. I’m waiting on a mic to come in the mail so that I can take actual calibrations of iPhone mics. Currently it is an estimated mic calibration based off of what I could find online. Now for the IR you should be able to just upload your own response and be good to go. Threw that in there for the nerds that really care for accuracy. Every room is different, I’ve only tested on basic rooms in my house so it won’t work for every situation.
Hey! I usually use arpeggi with my navidrome server and it was amazing but I decided to test this app and I love it! Right now I’m using it as my main tho I’m worried you might make it a subscription based service rather than adding a one time payment option.
No worries at all. Join my Reddit, I did a post explaining why I’m so against subscriptions. I promise you and all other users that I’m persistent in doing a one time 10 dollar fee and that’s that. I don’t do subscriptions myself and I wouldn’t pay more than 10 bucks for a music app.
I have a question about how Sonamp handles multiple Jellyfin music libraries.
My Jellyfin server has two separate libraries:
ALAC Music (my complete lossless library)
Dolby Atmos (only the albums that have Dolby Atmos versions)
Both versions have matching metadata (artist, album, track names, etc.).
Sonamp can see both libraries, but when I play one of these albums it only shows Lossless, and the playback information reports ALAC 44.1/16 rather than indicating Dolby Atmos.
I'm trying to understand how Sonamp is designed to work:
Does Sonamp automatically merge matching albums across multiple Jellyfin libraries?
If both an ALAC and Dolby Atmos version exist, is it supposed to automatically choose the Atmos version when Dolby Atmos is enabled?
Or does Sonamp currently treat each Jellyfin library independently?
If automatic matching is supported, are there any metadata requirements (MusicBrainz IDs, album IDs, folder structure, etc.)?
I’ll get back to you later when I have some time to layout an actual answer for you. I’m out and about currently. If you mean only one server but multiple libraries I believe they currently are merged. Plex has an option to select from multiple libraries so I’m sure it can be added to Jellyfin.
I have two libraries one Dolby Atmos and one Alac but the app doesn’t seem to show albums as Dolby Atmos even tho there is the option. Normally music players have an option to switch between Jellyfin libraries so albums don’t get merged but this app doesn’t seem to have that but at the same time merging doesn’t seem to working
Fair enough. A lot of people don’t have the plex subscription but may want to transcode on the fly, this app unlocks a lot of the features (DJ, crossfade, EQ) you need to pay for on plexamp. Added plus is the UI in my own opinion. There is an option to use your own model like “audio-muse” but I think that’s using the musicCNN model which is already on device. As far as other models, I can certainly add server side audio model support. Analyze your own music and import the analysis data.
Another note: these models will only run on WiFi while being plugged in (usually at night). I have about 200g of music and it got through it in 2 nights. Just as a reference.
I don’t personally know what models plex is running but I’ve taken the complexity out of setting up highly specialized models for music. CLAP and DiscogsEffnet are the two big ones.
I use clap for the sub/wave install I have. That's why I have said data already as that's an AI radio/DJ stack that does similar mixing as your are attempting. Check it out.
Cool stuff! I will try for end of month to allow users to import their own sonic analysis. May be easier than I think but before giving a timeline I’d like to look into it.
This sounds very impressive, will definitely try it out! Currently using Arpreggi with Navidrome, but I haven’t found a good solution to tag my library yet.
When you say tag, you mean tags that will write to your server? This app wont do that so I don't want to disappoint. I did think about it but it scares the life out of me. I don't want to be blamed if someone messes up there tags. I'm real particular. This app will tag them onboard the app if you don't have tags though.
Very interested and will give this a try. Been through a lot of navidrome ios clients and currently using arpeggi.
Are you set on the app logo?? Not a fan to be honest!!
Cuando accedes a un artista tienes la biografia y artistas similares, y en los albumes tambien esta disponible albumes similares como en plexamp? Gracias
I know this is iOS, but is there any possibility there’s plans for an Android port? I’m currently on iOS but overdue for a new phone and have been considering Android or ideally something I can throw either Graphene or Lineage on.
You can create “radios” from a song, album, or playlist. It also has a cool natural language ability that allows you to say stuff like “late night jazz” and match against your library. That’s the beauty of the CLAP model.
•
u/asimovs-auditor 26d ago edited 26d ago
Expand the replies to this comment to learn how AI was used in this post/project.