madolfsson
Active member
Claude Code and I recently started "hacking" away on the Astrion remote, and I now have my own custom remote interface perfected for my needs. Last night I added Apple TV Siri capability using the remote's voice capabilities, and figured I could do a basic version for Kaleidescape.
“Play Inception” • “What movies do I have by Kubrick?” • “The one where the president fights terrorists on a plane”
Title matching happens locally against your Kaleidescape library, so it’s fast, private, and works without an internet connection. It’s also forgiving of common speech recognition mistakes. If a request matches multiple movies, nothing plays automatically. Instead, the integration presents a search results list where you pick the movie, For example, “James Bond” matches seventeen movies in my library, so it lets you choose instead of guessing.
If you configure a Claude API key, requests that aren’t exact titles are sent to Claude along with your library, allowing it to identify movies from descriptions like “the one where the president fights terrorists on a plane.”
One thing I wanted to get right was knowing when not to play anything. If you ask for “the one with the shark,” it’ll recognize that you mean Jaws. If Jaws isn’t in your library, it’ll tell you instead of confidently launching the closest shark-related movie it can find. It also distinguishes between intent: “Watch the one where the boy is left home alone in New York” starts playback, while “Which movie is about a child left alone in New York City?” simply shows the matching results.
Tested on a Strato E + Terra system. Standalone systems should also work, although I haven’t been able to test one. The playback command is reverse engineered, so future firmware updates could potentially break it. This project is not affiliated with or endorsed by Kaleidescape.
github.com
github.com
“Play Inception” • “What movies do I have by Kubrick?” • “The one where the president fights terrorists on a plane”
Title matching happens locally against your Kaleidescape library, so it’s fast, private, and works without an internet connection. It’s also forgiving of common speech recognition mistakes. If a request matches multiple movies, nothing plays automatically. Instead, the integration presents a search results list where you pick the movie, For example, “James Bond” matches seventeen movies in my library, so it lets you choose instead of guessing.
If you configure a Claude API key, requests that aren’t exact titles are sent to Claude along with your library, allowing it to identify movies from descriptions like “the one where the president fights terrorists on a plane.”
One thing I wanted to get right was knowing when not to play anything. If you ask for “the one with the shark,” it’ll recognize that you mean Jaws. If Jaws isn’t in your library, it’ll tell you instead of confidently launching the closest shark-related movie it can find. It also distinguishes between intent: “Watch the one where the boy is left home alone in New York” starts playback, while “Which movie is about a child left alone in New York City?” simply shows the matching results.
Tested on a Strato E + Terra system. Standalone systems should also work, although I haven’t been able to test one. The playback command is reverse engineered, so future firmware updates could potentially break it. This project is not affiliated with or endorsed by Kaleidescape.
GitHub - marcusadolfsson/kaleidescape-voice: Voice Control for Kaleidescape
Voice Control for Kaleidescape. Contribute to marcusadolfsson/kaleidescape-voice development by creating an account on GitHub.
GitHub - marcusadolfsson/astrion-custom
Contribute to marcusadolfsson/astrion-custom development by creating an account on GitHub.
