Skip to content

stephenmm/google-tidal-eversolo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Google Assistant → Tidal → Eversolo T8 Voice Control

A project to control Tidal music playback on an Eversolo T8 streamer via Google Assistant voice commands.

Overview

Voice Command → Google Assistant → Middleware Server → Tidal API → Eversolo T8

Say something like "Play [song] by [artist] on my streamer" and Google Assistant will find the track on Tidal and play it on your Eversolo T8.


Key Integration Points

1. Google Assistant (Input)

  • Google Actions SDK lets you build a custom voice assistant action with intents like "Play [song] by [artist] on my streamer"
  • Alternatively, IFTTT + Google Assistant is simpler but more limited (harder to extract dynamic song names cleanly)
  • The Action sends a webhook POST to your middleware server with the parsed song/artist

2. Middleware Server (The Brain)

A small Python or Node.js server that:

  • Receives the parsed intent from Google
  • Searches Tidal for the track via the Tidal API
  • Sends playback commands to the Eversolo T8

3. Tidal Playback

  • Tidal Developer API (developer.tidal.com) supports OAuth2 + search + playback control
  • If your Eversolo T8 supports Tidal Connect (very likely — most current Eversolo streamers do), you can transfer playback directly to it as a device target via the API. This is the cleanest path.

4. Eversolo T8 Control

Options depending on what the device exposes:

  • Tidal Connect (preferred): If supported, Tidal treats it as a playback device — no separate Eversolo API needed
  • UPnP/DLNA: The T8 almost certainly exposes a UPnP control point on your LAN. Libraries like python-upnpclient can control playback
  • Local HTTP API: Eversolo devices often expose undocumented REST endpoints on the local network (the companion app uses these — you can sniff traffic to find them)

Recommended Stack

Component Tool
Voice interface Google Actions SDK (Node.js or Python fulfillment)
Middleware Python (FastAPI or Flask) or Node.js (Express)
Music search/play Tidal API + Tidal Connect
Device targeting Tidal Connect device ID for the Eversolo T8
Hosting Local (Raspberry Pi / home server) or cloud (GCP Functions)

Implementation Steps

  1. Set up a Tidal developer account and register an app to get API credentials
  2. Identify the Eversolo as a Tidal Connect device — authenticate with Tidal and list available devices to get its device ID
  3. Build the middleware server — an endpoint that accepts {song, artist}, calls Tidal search, then calls Tidal's playback API targeting the Eversolo's device ID
  4. Build the Google Action — define an intent that extracts song/artist from speech, then calls the middleware endpoint as the fulfillment webhook
  5. Test and refine the NLU (natural language understanding) for edge cases

First Step

Check whether the Eversolo T8 shows up in the Tidal app under "Connect" when on the same network. If it does, the Tidal Connect path is the simplest — it removes the need to reverse-engineer any Eversolo-specific protocol.


Project Structure (Planned)

google-tidal-eversolo/
├── README.md
├── middleware/         # Python or Node.js fulfillment server
├── google-action/      # Google Actions SDK project
└── docs/               # Additional notes, API references, device findings

Resources

About

Voice control Tidal playback on Eversolo T8 via Google Assistant

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors