Tidal Connect is finally arrived. It works same way as Spotify Connect.
https://darko.audio/2020/10/tidal-connect-who-what-why/
When we can have Tidal Connect in HiFiberryOS? :)
Tidal Connect is finally arrived. It works same way as Spotify Connect.
https://darko.audio/2020/10/tidal-connect-who-what-why/
When we can have Tidal Connect in HiFiberryOS? :)
In the past, Tidal wasn't really supportive to open source environments. Let's see if this changes with Tidal connect...
I fully support this request. Just bought a Hifiberry DAC assuming this would be supported. - bummer....
So it would be highly appreciated. My fingers are crossed...! ;-) Cheers!
Contact Tidal and tell them that you want this. We still don't have access to their SDK. It's also possible that there won't be an open implementation for this - depending on their licensing terms.
The guys from VOLUMIO had access to the Tidal Connect SDK.
https://www.audiosciencereview.com/forum/index.php?threads/volumio-to-support-tidal-connect.18318/
HiFiBerry team - I did exactly what you proposed right after your post 29/11. Up to now no response.
However, as the VOLUMIO made made good progress here, perhaps a next attempt would succeed?
Hope it will. Keep up the good work!
Hi there,
I've stumbled upon this. It seems to be functional software to enable Tidal connect on a Raspberry. I can install it , and Tidal (on osx) recognises the new Tidal connect output. However it needs some tweaks and the correct config of the hifiberry card, in my case Digi Pro. Is it possible to incorporate this into the hifiberry os?
Here's the link to the Github project:
Allright. Thanks for checking. Here's another link which could shed some light as to its whereabouts and install.
https://www.raspberrypi.org/forums/viewtopic.php?f=38&t=297771&sid=67d76e434cebf3218e00b2a58cfced6f
Here is a much easier guide based on Volumio; last post
https://audiosciencereview.com/forum/index.php?threads/volumio-to-support-tidal-connect.18318/
logitech media server has a plugin for tidal and hifiberryos have squeezebox as source...
Sure. But low quality IMO
I have started my work based on https://github.com/shawaj/ifi-tidal-release .
As HifiberryOS has Docker installed, i am porting this project to a Docker image which you will then be able to run in HifiBerryOS. Will let you know how this comes along (now building on Hifiberry). Once the build is tested, i will also drop a pre-build image to docker.hub (so anyone can just download and run). Here is my work so far.
https://github.com/TonyTromp/ifi-tidal-connect-docker
Good luck, even though we do not officially support this.
One thing you need to be aware is the fact the in HiFiBerryOS a player has exclusive access to the sound card. Therefore, you need to find a way to to the following:
1. Stop running players (this is handled by the "/opt/hifiberry/bin/pause-all" script)
2. Make sure the player releases the sound card if it's not playing something
3. Make sure the container restarts as the pause-all script might just kill it if some other player wants to initiate music playback
We now have a working Tidal Connect in Hifiberry:
https://github.com/TonyTromp/tidal-connect-docker/
The exclusive permissions are not that interfering it seems. You will first need to stop a track from another player, but its less of a deal switching between apps as i thought.
Enjoy!
Works great! Thank you Tony
Hi Tony - I followed the installation instructions.
I get the followïng output:
Starting Tidal Connect..
STARTING TidalConnect services, version: 1.1.3
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.front
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround21
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround21
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround40
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround41
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround50
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround51
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround71
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm_dmix.c:1052:(snd_pcm_dmix_open) unable to open slave
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
Could not find a default playback device
Tidal Connect Container Stopped..
Any ideas what I did wrong?
Thanks!
By default it will try and use the first playback device found, but you can change it manually.
Can you list the devices found using the following command:
docker run -ti \
--device /dev/snd \
-v /var/run/dbus:/var/run/dbus \
-v /var/run/avahi-daemon/socket:/var/run/avahi-daemon/socket \
--entrypoint /app/ifi-tidal-release/bin/ifi-pa-devs-get edgecrush3r/tidal-connect
Hi Tony,
This is the output:
# docker run -ti \
> --device /dev/snd \
> -v /var/run/dbus:/var/run/dbus \
> -v /var/run/avahi-daemon/socket:/var/run/avahi-daemon/socket \
> --entrypoint /app/ifi-tidal-release/bin/ifi-pa-devs-get edgecrush3r/tidal-connect
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.front
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround21
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround21
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround40
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround41
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround50
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround51
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround71
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
device#0=snd_rpi_hifiberry_dacplus: HiFiBerry DAC+ Pro HiFi pcm512x-hifi-0 (hw:0,0)
device#1=sysdefault
device#2=default
device#3=dmix
Number of devices = 4
Thanks..
you can edit the entrypoint.sh and change the parameters to include your device
/app/ifi-tidal-release/bin/tidal_connect_application \
--tc-certificate-path "/app/ifi-tidal-release/id_certificate/IfiAudio_ZenStream.dat" \
-f "Hifiberry Tidal Connect" \
--codec-mpegh true \
--codec-mqa false \
--model-name "Hifiberry Tidal Connect" \
--disable-app-security false \
--disable-web-security false \
--enable-mqa-passthrough false \
--log-level 0 \
--playback-device "snd_rpi_hifiberry_dacplus: HiFiBerry DAC+ Pro HiFi pcm512x-hifi-0 (hw:0,0)" \
--enable-websocket-log "0" \
Can you also share your /boot/config.txt?
Tidal Connect is working! Tony - Thank YOU!
As requested:
# Please note that this is only a sample, we recommend you to change it to fit
# your needs.
# You should override this file using a post-build script.
# See http://buildroot.org/manual.html#rootfs-custom
# and http://elinux.org/RPiconfig for a description of config.txt syntax
# We always use the same names, the real used variant is selected by
# BR2_PACKAGE_RPI_FIRMWARE_{DEFAULT,X,CD} choice
start_file=start.elf
fixup_file=fixup.dat
kernel=zImage
# To use an external initramfs file
#initramfs rootfs.cpio.gz
# Disable overscan assuming the display supports displaying the full resolution
# If the text shown on the screen disappears off the edge, comment this out
disable_overscan=1
# How much memory in MB to assign to the GPU on Pi models having
# 256, 512 or 1024 MB total memory
gpu_mem_256=100
gpu_mem_512=100
gpu_mem_1024=100
# Enable I2C and SPI
dtparam=i2c=on
dtparam=spi=on
dtoverlay=i2c-gpio,i2c_gpio_sda=0,i2c_gpio_scl=1
dtoverlay=vc4-fkms-v3d,audio=off
Cool! ;) Happy that this works on the DAC+ Pro also.
For people who are using the DAC+DSP board (like myself), the Tidal Connect only works if you use 'dtoverlay=hifiberry-dac' and not using the 'dtoverlay=hifiberry-dacplusdsp' in the config.txt. Not sure why this is.
Tony this is awesome, many thanks.
Got it running in no time.
As a total docker noob, could you pint me in the right direction to get this to start up when the pi powers on?
Hi Ben,
No problem. By default it should be autostart (unless stopped manually).
If this is not the case, you can enforce this by adding 'restart: always' in the docker-compose.yml file (see below).
version: '2.2'
services:
tidal-connect:
image: edgecrush3r/tidal-connect:latest
tty: true
restart: always
network_mode: host
devices:
- /dev/snd
volumes:
- ./entrypoint.sh:/entrypoint.sh
- /var/run/dbus:/var/run/dbus
dns:
- 8.8.8.8
Sweet, thanks again Tony.
Hi Tony,
Thank you for all your work for the Hifiberry community.
I experienced the same problem as Szjoin.
Here's the output of the tidal-connect launch
# docker run -ti --network="host" --dns=8.8.8.8 --device /dev/snd -v /var/run/dbus:/var/run/dbus edgecrush3r/tidal-connect /bin/bash
Starting Tidal Connect..
STARTING TidalConnect services, version: 1.1.3
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.front
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround21
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround21
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround40
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround41
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround50
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround51
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround71
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
STARTED TidalConnect services.
Using the command you suggested for szjoin, I have found that my sound card device was : snd_rpi_hifiberry_amp: HifiBerry AMP HiFi tas5713.1-001b-0 (hw:0,0)
So I have edited and modified the entrypoint.sh as follows :
#!/bin/bash
echo "Starting Tidal Connect.."
/app/ifi-tidal-release/bin/tidal_connect_application \
--tc-certificate-path "/app/ifi-tidal-release/id_certificate/IfiAudio_ZenStream.dat" \
-f "Hifiberry Tidal Connect" \
--codec-mpegh true \
--codec-mqa false \
--model-name "Hifiberry Tidal Connect" \
--disable-app-security false \
--disable-web-security false \
--enable-mqa-passthrough false \
--log-level 3 \
--playback-device "snd_rpi_hifiberry_amp: HifiBerry AMP HiFi tas5713.1-001b-0 (hw:0,0)" \
--enable-websocket-log "0" \
echo "Tidal Connect Container Stopped.."
#
But the modification of entrypoint.sh did not work for me. Any idea or advice ?
Denis
Hi Denis,
I have no experience with the Hifiberry AMP unfortunately.
Can you share your /boot/config.txt?
Hi Tony!
Many thanks for this docker solution, works perfectly.
I have a Pi4 + Digi+ Pro hat, so i had to add the playback device in entrypoint.sh as you recommended above, in my case:
--playback-device "snd_rpi_hifiberry_digi: HiFiBerry Digi+ Pro HiFi wm8804-spdif-0 (hw:0,0)" \
The other nice finding in your github stuff is the HiFiBerry UI integration in the install-hifiberry folder. I found one issue where the install.sh script makes a symlink to the tidal folder. The two arguments needs to be swapped:
ln -s ${PWD}/beocreate/beo-extensions/tidal /opt/beocreate/beo-extensions/tidal
Also changed some typos in the menu.html to replace "Tidal Connect" with "TIDAL Connect". Now the sources list looks like this:
Many thanks again! :)
Bye,
Tamás
Hi Zef,
Great stuff. The beo-create UI part i am still working on. You can do a pull request, if you like and i can incorperate. Else i will just do it manually. My current focus is to get the controls working. (stop/start service i will check in later this week).
FYI: https://www.youtube.com/watch?v=j2zJHGbyWxU
I hinted to this thread hoping for even better Tidal Connect support. :-)
(and a honourable mention of Matt)
Nice ;-)
We would really like to integrate this officially, but still can't get anyone from TIDAL to even reply to our request :(
I share your feeling. Just filed a complaint/feature request (depending on they will read it) at Tidal. Let's urge anyone reading this to contact Tidal to request Tidal Connect support on HifiBerryOS.
Link: https://support.tidal.com/hc/en-us/requests/new
Spread the word!
In the meantime I shall enjoy the Docker solution with great pleasure!