Ability to skip ads in the podcast

What makes you say that? What history in particular? (I assume that with ‘this project’ you refer to PodcastIndex?)

Yet there’s no easy way in AntennaPod to quickly manually, or even automatically, do so. Users are lazy. If it’s not super easy to donate, you’ve got much lower chances people actually do so.

It’s important to remember that AntennaPod is a community project, driven by volunteers. That the ones driving the project aren’t interested in developing implementation doesn’t prevent others from submitting PRs :slight_smile: So far I’ve seen nobody say no categorically - just no interest, or preference to go about it differently.

On an individual user level I’d agree. Yet on a systemic level one could argue otherwise. Let’s say that virtually all podcatchers have support for this system. Do you think this would go unnoticed and advertisers would keep giving money to podcasters despite ads being skipped in 90% of the cases? 'course not - they would only advertise through proprietary apps like Spotify and the likes that prevent you from skipping. If that move drives podcasters into silos, that’s definitely harming the open podcasting ecosystem.
Again, that’s on a systemic, rather theoretical level. Still to be taken into consideration if you ask me.

7 Likes

As a user & developer contributor to AntennaPod

  • user: I do use the skip button to skip over intro and ads
  • user: I would not use an app which doesn’t allow allow me to skip an ad, I would paid for an app/subscription (Spotify)
  • developer: I will not work on adding auto skipping of ads because it’s not good for the ecosystem, especially the podcast hosts

I agree with @keunes that we have to think about the harm to the system.

I’m trying to write down why I am spending my time helping AntennaPod

  • The software gives me control, no tracking, focus and a great user experience to listen to my podcasts, I’ve spent 987.5 hours listening to podcast using AP
  • The software and the maintainer @ByteHamster and @keunes are trying to do the right thing for the ecosystem, while balancing the needs of the users. So we are serving both the listeners and the hosts
  • It’s the only ad free (banner ads) podcast player
  • It also serves as a counter force against Spotify’s wall garden
5 Likes

Better don’t make this behaviour public. It may be bad for the podcast ecosystem when advertisers catch on to that. /s

Idealism is a wonderful thing and pretty much the reason open source projects exist in the first place. So I’m not going to argue with those reasons.

But I do disagree that it would be harmful to podcasting itself. This is a fairly theoretical discussion, agreed, since AntennaPod is tiny compared to its competitors. And the fact that the biggest apps are made by Apple, Google and Spotify and those guys would never implement automatic ad skipping. So that’s most of the market you’re never going to change no matter what you do.

I assume that with ‘this project’ you refer to PodcastIndex?

I was talking about the microdonation cryptowallet thing. There are a lot of those services that never really caught on. Flattr, Drip, Blendle, Kachingle I’m sure there are a lot more. I don’t see why this time would be different.

I’m just saying I’d wait with putting work into this payment thing until this has become a somewhat established service. No need to be first on this one.

There might be some overlap with this project. Code is available at the website.

Ads detection algorithm
The filter combines machine learning and acoustic fingerprinting (Shazam-like) techniques. It is able to distinguish between music, talk and ads. It recognizes most new ads by itself.

2 Likes

This point is very important

1 Like

While that is a good point you can potentially avoid that if you implement it post download similar to this app

https://adskippro.com/

1 Like

I think it’s not neccesary to implement sponsorblock submission interface to the app.
I am sure if we can only implement autoskip, community would and could create a sponsorblock database using third party apps. It may be easier to mark sponsor segments on desktop.

3 Likes

This is also a good bit of friction, so that not absolutely every podcast will have this since not every listener will bother with it.

However, most podcasts are only listened to once and most ads are easily skippable. Also some platforms have ads in different sections for everyone, which makes it harder for the skips to apply for every case. So idk how worth it it is

1 Like

I think software should be agnostic to the business model of the podcasters. It’s not the job of the app to care about revenue for the producer. The questions should really just be the feasibility of the implementation, a better final product, and demand.

A sponsorblock would make more sense for a plugin than a native feature, but as far as I know Antennapod does not have a plugin platform.

If a sponsorblock feature were implemented, simply having it off by default, then have a toggle on a per podcast basis.

5 Likes

You can get much of the way towards blocking ads with just in-app processing. some methods:

  1. specify multiple proxies in different geographical locations, download podcast multiple times. strip out all non-overlapping audio. this will neutralize all the sneaky ad providers than inject audio ads based on where you are located.

  2. analyze all downloaded episodes for matching audio segments of length greater than n, strip them all out.

  3. use whisper.cpp to transcribe all downloaded podcasts (transcriptions w/ timestamps) and perform all analysis on text instead of audio. this also allows for the possibility of maintaining a sponsorblock-like online database efficiently.

2 Likes

I find it interesting that the argument in favor of not implementing a user desired feature to allow for ads to be skipped is that podcasts will move to the major platforms that include ads. This is a false choice because the vast majority of podcast listeners already listen on those platforms, and those platforms have been cannibalizing small podcast app users for years. That’s an established business model and apps like AntennaPod need to find ways of keeping niche users with better features as technology progresses.

The ads listened to on platforms like AntennaPod are not tracked and no podcast host or advertiser currently accesses any data that shows them who listens to which ads and which ads get skipped by the user manually. This small sliver of the podcast world isn’t going away by implementing features that users want. It will go away if it doesn’t. As long as what is being done is legal, it’s not on the developers to defend the interests of advertisers to ensure their ads are as intrusive as possible. It’s up to the developers to give their users what they want based on feedback. I can’t imagine that if polled the percentage of users that would want this feature would be less than 85%.

3 Likes

Another thing to keep in mind is that arguing about the morality of skipping sponsored segments is like arguing about the morality of fast forwarding a movie. It you are allowed to play the movie, you are allowed to fast forward it. If you are allowed to fast forward it, you are allowed to use a tool to trigger that feature intelligently, period.

2 Likes

What I don’t understand i this discussion is why yalls are so annoyed by ads? they’re in much less qnatity than say YouTube,they are easily manually skippable and for the most part they are kinda interesting plus they keep this awesome decentralised media form free. How else are podcasters gonna pay the bills if this idea (which isn’t really that hard to implement anyway)takes off as currently is the case with YouTube and other non audio forms of advertisements on the internet–and say companies Lower their prices drastically or force podcasts to go Spotify exclusive to keep the lights on?
Already podcasts are shutting down due to financial issue…

2 Likes

It’s not my problem how podcasters pay the bill and I’m not going to sign up to be annoyed and nagged by ads out of some misplaced morality that I have a moral duty to be irritated or the poor podcaster will be put out of business. Lol what do you mean “why are you annoyed by ads.” Ads are annoying period. Most content creators are recognizing there is no future for them in ad revenue anyway and rely primarily on patronage models. Ads are toxic to the ecosystem as they reward centralization and censorship bullies. If you are a podcaster who insists on annoying your listeners and get upset that they use tools to reduce their annoyance then you can solve the technical problems yourself.

1 Like

Nothing comes free my friend,either you pay for someone’s work by money orby ads,simple…we feel too entitled to streaming and content consumption. We don’t show such level of entitlement on physical products.

2 Likes

Not my problem. If they don’t want people to use them then stop publishing.

1 Like

I took a first look at how an ad skipping feature would be implemented and arrived at a few conclusions and ideas:

Item 1:
As previously mentioned, ads are inserted dynamically. In fact, I don’t think I have ever encountered ads not being inserted dynamically, unless they’re sponsored messages by the host. So, using a timestamp based solution like SponsorBlock is unfruitful and should be deprioritized.

Item 2:
There is a way to change the dynamically inserted ads by switching the browser user-agent and changing the media session GUID such that a new podcast file is generated with new (or mostly different) ads. By comparing the two files and extracting the common long sequences (over 1-2 min), we know what sections are produced by the host and what sections are produced by the ad platform.

In practice, this method, let’s call it differential ad identification, looks like this:

  1. First download the podcast once.
  2. Change the user-agent of the HTTP client and change the GUID of the media session portion of the URL. It would look like this: Untitled diff - Diff Checker
  3. With the previous step, a new file with mostly different ads will have been stitched together, and we download the new file.
  4. Now the idea is to find the common elements between these two files and will probably need to involve audio fingerprinting libraries such as https://echoprint.me/. This step will allow us to generate skipping timestamps for the audio file downloaded in step 1.

Pros:

  1. Not too much compute intensive
  2. Appears to be simple enough to implements

Cons:

  1. Relies on the assumption that different audio files can be consistently generated (I personally couldn’t make the new generation fail, it has worked for the provider shown in the diff).
  2. Consumes twice the normal bandwidth for a podcast

Item 3:

The final alternative would be to train a machine learning model to output ad timestamps.SponsorBlock annotations can be used for supervised learning.

Pros:

  1. Most modern phones have AI chips, making this solution relatively lightweight on hardware resources, provided the model is small enough and the device has AI capabilities.
  2. Is general enough that it might work for other use cases or applications in the future

Cons:

  1. The solution is complex as it requires finding the right deep learning archtecture with the right amount of parameters to fit in most modern phones
  2. Training is required for this solution
3 Likes

I just wish the adverts didn’t play louder than the podcast…that makes them jarring.

Maybe the advert volume could be lowered somehow?

2 Likes

The volume could be normalized to fix this issue: Audio normalization - Wikipedia

1 Like

@abelfodil Very cool proposal for ad blocking. Have you looked into whether we can detect volume, voice changes to remove dynamic ads? Since the hosts and guests are the majority of the episode, anything that are ads will not contain their voices and the volume could be drastically different

2 Likes