Tidal Connect in djay

I’d very much appreciate it if devs could make it possible to use Tidal Connect rather than AirPlay with djay. I’d really like to be able to use the higher resolution files for playback from my iPad with djay.

I’m working on a balenasound instance (with HiFiBerry DAC for 24bit-192kHz capability) to connect to the PA system so that I can be portable within the wifi bubble…the wireless latency isn’t an issue in my use case…so I’m also working with the balena devs to make this come together.

is this better addressed on GitHub?

I’m not so sure what you are trying to do, but if I understood correctly you are not using any kind of controller or ?

How I see is when you using iPad or iPhone with Tidal Connect is that your device is just a remote controller and remote device has it’s own DAC.

But if you are using djPro as dj app => iPad is downloading the song in digital file and iPad “processors” are used to

  • mix 2 tracks
  • handle the effects like mid/treble/base controls
  • calculate the pitch changes etc

When 2 tracks are then mixed, the audio processing with effects in digital format is done by iPad processors and then the result is converted by iPAD DAC to analog format and the analog audio is then routed to selected output.

If you are using controller which has internal DAC and analog RCA (XLR etc) output, the iPAD just transfers the digital files to the controller and the controller does the signal handling (mixing, effects, pitch etc). And the DAC in the controller converts the audio to analog which is then routed to RCA output.

I quickly looked up the balenaSound project. I hope that I found the correct one github.com/balenalabs/balena-sound

As how I see it, the Audio source plugins like the spotify connects to the spotify servers and downloads the wanted file to the device. So your iPad is just an expensive remote controller and in your use case your raspberry with HiFiBerry does the DAC things.

So if you want that your raspberry works as djController/djApp which is capable to do effects, pitch changes… then DjPro needs to be run in your raspberry as “an app”.

That’s the correct github.
Yes, the digital data gets manipulated/wrangled/massaged on my ipad (my controller) in djay and that gets squirted out over wifi to my balena box where the 1’s and 0’s get converted to an analog waveform.
I want that analog waveform to be at the highest quality, which for the converter set I’m using in my Pi is 24b@192k.
I’m not sure AirPlay can handle it, but I’m betting that TidalConnect can - or should. And if I’m right, that would mean the bitstream being sent over wifi might be FLAC-formatted, which TidalConnect should conveniently decode for my DAC to turn into glorious analog at as high a bit depth and sample rate that the DAC can handle.
This is how I believe it SHOULD work. Is that how it actually works? That’s why I’m here asking

No… it doesn’t work that way…
With TidalConnect you are commanding speaker “play song XXXX” => speaker will connect to tidal server and download the wanted song and play it.

With AirPlay you are sending the analog “mixed, pitch corrected, bpm synced” analog audio to the speaker.
In this case your ipad has connected to tidal server and downloaded the file which is then manipulated according to pitch, bpm etc.

AirPlay is the problematic as I’m not sure what happens. As djapp is putting audio out as analog format, then it’s again modified to digital format so that it can be send over wifi to the speaker… So it will loose quality as might be converted several times digital-analog and vice versa

That’s unfortunate, and probably the cause of not insignificant latency. There has to be a digital transmission protocol to help minimize latency to network + converter numbers. I mean, in the djay software, all the manipulation is done in the digital domain and THEN they convert to analog…let us end users choose where to do that, whether it be bluetooth headphones or over wifi to a remote streaming box.
Basically what you’re telling me is I need to interface with and express my desires to the Tidal Connect devs. Then algoriddim people can re-work the djay coding to fit.
Thank you.

One of the way to improve is to have high quality controller, which have high quality DAC.
But then… I haven’t seen a controller which has digital output.
So even though you your controller is doing digital to audio converting.
You could connect high quality DAC to convert audio to digital again and send it through wifi, but can’t figure out how you could have only one digital to analog conversion. Maybe in the future.

One of the thing is… that ipad, mac’s doesn’t have physical digital audio output. All outputs are analog, so I’m just guessing how audio routing is done.

I.e the airplay is physically routed on same “hardware” line as your headphone, jackoutput so that you won’t hear significant delay when listening on headphones and switching to airplay.

But on most modern pc motherboards there is digital output and that is the only way to avoid too many digital to analog conversions. But on this case you need to have wire between the pc and speakers.

Hi @heysoundude and @dj_romy_fi,

Thank you for collaborating together on this topic! It makes us happy to see our community working together in a positive manner!

We’ve thoroughly notated this thread and have passed it along to our dev team for further review and will be updating this thread with any new info that comes our way.

Looking forward to your next great suggestions!

1 Like

Thank you. I’m glad some have found it useful.

I’ve switched from balena-sound to hifiberry OS for the streamer box I’ve built. They’ve worked out the Tidal Connect integration…but that’s not surprising since it seems they (HiFiBerry) are affiliated with boutique/audiophile company Bang & Olufsen, so there’s gravitas and experience there with high-end audio.

my suggestions for the devs are ipv6 and wireguard. Tidal is all about high quality audio, but they also have concerns with DRM to protect copywrite on behalf of their artists - IPv6 and a tunnel based on it (especially kernel-embedded solutions) will ensure only devices that are authorized to use a service will have access to the content, to minimize the piracy potential. (djay and Tidal are both subscription services).

anyway, my intended use wont be feasible for every user due to current wifi latency…but software and hardware and technology are always improving, and if I can use it now, I will because it’s going to get to where I think it’s going eventually and probably sooner than later, so let’s get started!!

what’s most frustrating for me is the android version doesn’t have a simple button in the interface like airplay in iOS to be able to choose a source to cast/stream audio to. and maybe I’m a dolt when it comes to android, but they make it not so simple to configure in the OS settings, either.

but I may have (possibly) found something to make the pipe I’m looking for:

Seems possible to send 24b/192kHz FLAC between my Android tablet running djay and my HiFiBerry RasPi streamer box for D/A at the OS level of both…
djay datastream to remote, wifi-connected DAC interface with audio system.

Seems possible. devs should comment please.

For anyone following along here, I was able to use AirPlay to send audio from the free demo of djay on my iphone to my hifiberry streaming box. it works for iOS - Android needs to catch up.


Any word from the devs on any progress here?

Hi @heysoundude,

While I cannot speak on the current progress of this feature request I can safely say that our dev team is aware of this suggestion for implementation into future iterations of djay.

Have a wonderful day!

Impatiently staying tuned…

you’re misunderstanding, I think.
What I have is a ubiquitous commodity controller running powerful emulation software and a customizable DAC, but what I’m looking for, what I need, what I believe is possible (and would be glorious and take the art/tech/software to the next level) is a bridge between the output bitstream of the software and the ultimate playback audio chain… keeping what I do as an artist/performer on the iPad as close to the original resolution of the source files I use all the way up to amplifiers/speakers - that’s my goal. The FLAC (“Tidal HiFi”) file can be decoded at the HiFiBerry/Balena “streamer box” after transmission over TidalConnect wireless tunnelling, keeping everything in native file format on the iPad. djay as digital mixer, with wireless/WiFi output routing capabilities.

You’ll like it when the devs have it worked out/implemented.

1 Like