Most active commenters
  • n0vella(11)
  • xnx(5)
  • freedomben(3)
  • noname120(3)

115 points n0vella | 44 comments | | HN request time: 3.078s | source | bottom

Show HN: Cardo - Open Source Desktop Podcast Client

Hi, I'm an amateur developer from Spain. I have released this desktop podcast client that works on Windows, Mac and Linux.

It's a modest project, but it might be useful for you, it has syncing capabilities with Antennapod, Kasts, Repod or other clients. You can manage your subscriptions, queue episodes and even download them to listen to later.

I look forward to hearing your thoughts.

1. Armazon ◴[] No.42196337[source]
Hi, as a Antennapod user this sounds great. Can I sync my current playback position? Last time I tried Gpodder sync it felt very buggy
replies(1): >>42202323 #
2. textadventure ◴[] No.42196369[source]
This looks nice and lightweight, it would be sweet to have the possibility to import an OPML file which is what most of the podcast services let you export.

EDIT: Noticed a little bug on Windows, you can't add a podcast while it's playing, at least not by pasting the address, it immediately wipes out the field. Had to pause playback in order to add another.

replies(1): >>42196862 #
3. sciencesama ◴[] No.42196384[source]
Need to transcribe and skip ads in the podcast ! That would be a killer feature !
replies(4): >>42196419 #>>42196449 #>>42196603 #>>42196840 #
4. Armazon ◴[] No.42196419[source]
Something like Sponsorblock for non youtube videos would be great. Another killer feature for me are automatic chapters if the podcast doesn't provide any
5. xnx ◴[] No.42196449[source]
I wrote something that does this (in R of all things)! I still need to polish it up a little in share it though. It goes: podcast mp3 -> whisper transcription -> Gemini Flash to identify ad blocks -> FFMPEG to replace ad blocks with skip sound.
replies(1): >>42197810 #
6. Contusion3532 ◴[] No.42196462[source]
Looks like exactly what I've been looking for! Great work!

Do you have any plans to distribute a flatpak version? Especially for single person projects, it can save time on packaging and testing.

replies(1): >>42196936 #
7. ivvve ◴[] No.42196599[source]
Would be cool to have a sync function that works similar to Gpodders.
replies(1): >>42196607 #
8. jdprgm ◴[] No.42196603[source]
I actually have a WIP cross platform app that does exactly this. It is more generic around processing any audio/video with whisper and integrating with openai or local llm's for summarization and other things but I also added a podcast specific ad skipping feature (it's not as perfect as something manual like sponsorblock for youtube yet but i'd say it's about 85% accuracy at the moment dependent on the models used)
replies(1): >>42197334 #
9. xnx ◴[] No.42196607[source]
It has Gpodder sync built in.
10. n0vella ◴[] No.42196840[source]
Hi, I have a task to check SponsorBlock API to see if this can work for podcasts. In the other hand I doubt a bit because I don't know if that could harm podcasters in any way. But I think something like SponsorBlock eventually will be a feature. PD, awesome idea other people are doing using Whisper.
replies(1): >>42196922 #
11. n0vella ◴[] No.42196862[source]
Thank you! two tasks more. Funny bug trying to add a podcast while playing. OPML is a good idea also.
12. WesleyLivesay ◴[] No.42196922{3}[source]
One of the challenges that are always going to be present when trying to skip podcast ads is that the vast majority (especially on larger shows) of ads are inserted dynamically even those that are read by the host. That means that not everybody gets them (geo targeted) and they may not be served to every listener at all times. Makes it a more challenging problem than the baked in sections of YT vids that Sponsorblock targets.
replies(2): >>42197007 #>>42197560 #
13. n0vella ◴[] No.42196936[source]
As I can see flatpak is popular, I could check it, but I can't promise it as I never used flatpak and I'm not using linux a lot.

Cardo bundles are automatically compiled using github actions, If there is a flatpak posibilitie that would be easy.

However, as I could see (I'm new releasing apps) the multiple Linux distros make that the github bundles (made with ubuntu 22.04 machines) don't work for all distros.

If you are on Arch Linux there is a package on AUR.

replies(1): >>42199267 #
14. xnx ◴[] No.42197007{4}[source]
Exactly. The SponsorBlock system would need to be updated to support marking ad block stop and start points by audio signature (much more complicated than simple timestamps) or transcription (compute intensive).
15. peppers-ghost ◴[] No.42197292[source]
Hey thanks for making this. I've been looking for something that would sync with Antennapod.
16. 3abiton ◴[] No.42197334{3}[source]
Not to hijack's OP great work, but when you say 85% you mean true positives? How about the false positives?
replies(1): >>42197872 #
17. n0vella ◴[] No.42197560{4}[source]
Uh, that could be a problem, I was thinking on sponsors made by the podcaster itself, but some plattforms do insert extra adds (I saw them at the beggining or end) and makes sense that they are country-specific and not the same every time.
replies(1): >>42197986 #
18. freedomben ◴[] No.42197810{3}[source]
That sounds really cool!

This is probably paranoid, but IIWM I'd be a little hesitant to use Gemini since this is a slightly gray area. If Google decides you're violating any ToS they might nuke your entire Google account and any "associated" accounts.

Depending on the podcast I would also worry that the podcast content might violate some safety guidelines they have that might also get you in hot water. For example, some of the podcasts I listened to in 2020/2021 timeframe had discussion about the Lab Leak theory of Covid back when that was a capital offense on Youtube and would get you taken down and sometimes banned. I'd be worried about Gemini seeing that content as a violation and triggering some sort of automated action against you. Also worth considering that even if stuff you listen to is fine now, it might not be the next time they decide to change the rules about what speech is allowed and what isn't.

19. freedomben ◴[] No.42197835[source]
Thank you for providing AppImages and RPMs! I'll definitely be giving this a roll :-)

As an Antenna Pod user this could be really great. I've been starting to use Audiobookshelf for Podcasts because I haven't had success with syncing in the past, but Antenna Pod is still a better UX so I'd like to be able to use that.

replies(1): >>42203730 #
20. blazeraven ◴[] No.42197850[source]
Unfamiliar with podcast file formats, but how does it differ from typical audio (mp3, wav, etc.) players?
replies(2): >>42198031 #>>42198353 #
21. jdprgm ◴[] No.42197872{4}[source]
My prompting is conservative to err on the side of playing an ad if there is a chance it might be part of the actual content, not really getting false positives at all yet. That being said while still in development I haven't reached the stage of running on a huge collection of podcasts to get more representative statistics.
replies(1): >>42199777 #
22. WesleyLivesay ◴[] No.42197986{5}[source]
Yeah, I would recommend this be VERY low on your priorities list because of all of the challenges involved.

There is a reason none of the major podcast apps have even attempted to do anything with ad blocking.

replies(1): >>42199987 #
23. ◴[] No.42198031[source]
24. Phrodo_00 ◴[] No.42198353[source]
A podcast is basically a list of files which are the episodes (together with episode metadata), so this would presumably fetch those and notify you when there's new ones / download them, and maybe keep track of how far along you're in each episode and provide playback speed controls.
replies(1): >>42202327 #
25. ladyanita22 ◴[] No.42199267{3}[source]
Flatpak permite que un único paquete sea compatible con prácticamente todas las distros Linux mainstream.

Translated (for the rest of the world): Flatpak would let a single package be compatible with practically all mainstream Linux distros.

26. pentagrama ◴[] No.42199594[source]
Good luck! What's the difference between MSI and EXE for the Windows installer?
replies(2): >>42202294 #>>42203734 #
27. ExtraRoulette ◴[] No.42199676[source]
I've been looking for a desktop Podcast Client! GPodder is okay but I was look for something a bit "crispier".
28. xnx ◴[] No.42199777{5}[source]
I think the accuracy of my prompt/llm is also ~85%. I've got a collection 2500+ podcast episode transcripts (English language) with ads I'm going to try and analyze shortly to find out if I'm missing any ads, or tagging some falsely.
29. xnx ◴[] No.42199987{6}[source]
My naive attempt at removing podcast ads with an LLM worked on my first attempt. LLMs make many seemingly impossible tasks easy.
30. n0vella ◴[] No.42202294[source]
In theory MSI is more secure due that only can contain a program (Cardo) and cannot execute code by itself. But there is no difference in this case because both are compiled from the same source. EXE is better known. Choose one and dont worry becasuse Cardo has autoupdate feature
31. n0vella ◴[] No.42202323[source]
Yes, it works pushing the button on titlebar's left corner. Playback position is saved after pause, podcast swith or close the app. There is a setting to sync automatically after closing the app. It works well for me at least.
32. n0vella ◴[] No.42202327{3}[source]
That's it
33. noname120 ◴[] No.42203730[source]
Could you expand on the aspects of UX of Antenna Pod that makes it a better fit for you compared to Audiobookshelf?
replies(1): >>42217893 #
34. noname120 ◴[] No.42203734[source]
Standardized deployment.
35. noname120 ◴[] No.42203745[source]
Are you aware of Audiobookshelf[1][2]? While Cardo is a very cool initiative, I wonder if considered joining forces with Audiobookshelf as it might save up some duplicated efforts :)

[1] https://www.audiobookshelf.org/showcase#:~:text=Podcast%20li...

[2] https://github.com/advplyr/audiobookshelf

replies(1): >>42208812 #
36. denysonique ◴[] No.42203793[source]
Electron App authors must stop overriding the native wm's window title bar, or when they do they should still offer the option of being able to switch to using the native title bar.
replies(1): >>42213225 #
37. 1317 ◴[] No.42208812[source]
audiobookshelf looks more like a media server for mostly audiobooks, a la plex or jellyfin -- + podcasts as an extra thing

whereas cardo seems to be a standalone desktop app just for podcasts

not really in the same category

38. z3ncyberpunk ◴[] No.42211651[source]
Does not have ompl import?
replies(1): >>42213228 #
39. n0vella ◴[] No.42213225[source]
I plan to add this option, it works well on Windows but shows uggly on mac and linux.
40. n0vella ◴[] No.42213228[source]
Not yet, already on tasks!
41. flntzr ◴[] No.42213623[source]
Cardo is a major manufacturer of bluetooth headsets which integrate into motorcycle helmets[1].

Since they are in the audio space as well, I hope they won't take issue with the name of this project.

[1] https://cardosystems.com/

replies(1): >>42224581 #
42. freedomben ◴[] No.42217893{3}[source]
The biggest things are the number of "clicks" required to get to a particular podcast, the long-ish loading times after those clicks, and some little papercuts like RSS feeds not updating unless you click the "search" button, then click "search" to force it to refresh. I also get a lot of server crashes as a result of various issues consuming RSS feeds. I can't use ABS for maybe 30% of the podcasts I listen to because of that. I do love having the podcast episodes downloaded automatically onto my host though. That's an absolutely killer feature and for that alone I have some podcasts I really care about still on there.

FTR, I absolutely love Aubiobookshelf. It's an amazing project and I recommend it without hesitation to everyone. I think some or all of those will be fixed eventually, but it may take a bit of time. I do wonder if the ideal UI for books may just not be a good fit for podcasts, though I would need to think on that quite a bit before coming to such a conclusion.

43. n0vella ◴[] No.42224581[source]
Cardo means thistle in Spanish. Some thistles are very likely a purple table microphone (the original icon was like that, then I simplified it to better integration with screens).