Podcast Player is an OpenHome community ability for finding and playing podcast episodes by voice. It uses Listen Notes to browse popular shows, search podcasts, find specific episodes, and stream playable episode audio.Documentation Index
Fetch the complete documentation index at: https://docs.openhome.com/llms.txt
Use this file to discover all available pages before exploring further.
What It Does
- Browses popular podcast picks and reads three playable episode options
- Plays the latest episode from a named podcast
- Searches for a podcast by name and lets the user choose from recent episodes
- Finds specific episodes by guest, topic, or episode title
- Plays a random popular episode immediately for requests like
surprise me - Resolves follow-up references like
the second oneorthe one with Jensen - Streams playable episode audio in music mode
- Handles vague requests with a helpful prompt or a popular-picks flow
- Asks whether the user wants another episode after playback
Supported Requests
| Request type | Example | What happens |
|---|---|---|
| Popular picks | What's trending right now? | Reads three popular playable episodes and asks the user to choose |
| Random episode | Surprise me | Picks a popular playable episode and starts playback |
| Latest episode | Play the latest Lex Fridman episode | Finds the podcast and plays its newest playable episode |
| Podcast search | Play Huberman Lab | Finds the show and reads recent episodes to choose from |
| Episode search | Find the Lex Fridman episode with Jensen Huang | Searches for the matching episode |
| Follow-up choice | The second one | Resolves against the latest spoken options and plays that episode |
| New request | Actually, find me Acquired | Re-enters search from the new request |
| Exit | Stop | Ends the session cleanly |
Example Prompts
- “What’s trending right now?”
- “Play the latest Lex Fridman episode.”
- “Find me the Lex Fridman episode with Jensen Huang.”
- “Play Huberman Lab.”
- “Show me recent episodes from Acquired.”
- “Surprise me.”
- “The second one.”
- “The one with Jensen.”
Example Conversation
User: Play the latest Lex Fridman episode. AI: Let me search for that right now. AI: Here’s number 496, FFmpeg: The Incredible Technology Behind Video on the Internet, from the Lex Fridman Podcast. [plays audio] AI: Want me to find you something else, or are you good for now? User: Stop. AI: Alright, happy listening.
Trigger Phrases
- “podcast player”
- “play a podcast”
- “find a podcast”
- “open podcast player”
- “play the latest [podcast name]“
Data Source
| Source | OpenHome API key name | Role |
|---|---|---|
| Listen Notes Podcast API v2 | listen_notes_api_key | Podcast search, episode search, popular picks, recent episodes, and audio playback URLs |
Setup
This ability calls the Listen Notes Podcast API (v2). You need a free account and an API key.Getting a Listen Notes API Key
- Open the Listen Notes API page.
- Click Get free API key.
- Sign in with Google or create an email account.
- Open the Listen Notes API dashboard.
- Copy the value shown as API Key.
- The free plan includes a monthly request allowance that is enough for light personal use.
Adding the key to OpenHome
In OpenHome Settings -> API Keys, add a new key namedlisten_notes_api_key. Paste your Listen Notes key as the value and save.
Do not hardcode the key in main.py or store it in any prefs/config file.
Follow-up Resolution
After the ability speaks a list of options, you can reply with:- Ordinal — “the first”, “second one”, “third one”
- Descriptor — “the one with Jensen”, “the longer one”, “the new one”
- Re-route — “actually, find me Huberman” → re-enters intent classification
- Exit — “none of those”, “stop”
Listen Notes Endpoints Used
| Endpoint | Used for |
|---|---|
GET /best_podcasts | Trending pool (browse + random) |
GET /search?type=podcast | Resolving a named podcast |
GET /search?type=episode | Episode lookup by title / guest / topic |
GET /podcasts/{id}/episodes | Recent episodes of a selected podcast |
audio URL returned by Listen Notes. If an episode has no playable audio, the ability tells the user and asks for another pick.
Developer Credit
Developed by @Kaushal-205.View on GitHub
Source code for the
podcast-player community ability.
