ovos-media-provider-tunein
July 31, 2026 ยท View on GitHub
OVOS MediaProvider plugin for TuneIn. Replaces the
deprecated OCP search skill ovos-skill-tunein.
It wraps the tunein client, which
emits mediavocab.Release objects
directly, and exposes TuneIn's public radio/podcast/IPTV station search to the
OCP pipeline.
Routing
| Axis | Value |
|---|---|
media | {MediaType.RADIO} |
playback_type | {PlaybackType.AUDIO} |
The pipeline gates this provider out of non-radio queries before paying for a network search.
Install
pip install ovos-media-provider-tunein
The plugin is registered under the opm.media.provider entry-point group as
tunein. The OCP pipeline loads it in-process. There is nothing to configure.
Configuration
| Key | Default | Description |
|---|---|---|
enrich | false | Issue a per-station Describe.ashx call to populate genre, language, country, call-sign and slogan. Off by default to keep search cheap. |
How it works
TuneInMediaProvider.search(signals, lang) builds a query from signals.title,
calls tunein.TuneIn.search(...), and returns the mediavocab.Release produced
by each station's to_release().
Per mediavocab axiom 8 (station identity), a TuneIn channel is a Work with
MediaType.RADIO. The playable stream URL is a Release with
StreamMode.CONTINUOUS (live linear broadcast). A station may expose several
stream URLs (bitrates/protocols), each yielding its own Release. The OCP
pipeline filters and ranks across providers.
Related projects
- OpenVoiceOS/ovos-plugin-manager: loads this plugin through the
opm.media.providerentry-point group. - TigreGotico/tunein: the TuneIn client this plugin wraps.
- TigreGotico/mediavocab: the
Work/Releasevocabulary this plugin returns.
License
Apache-2.0