From 111afdfbf11ec53059257930396869d679c877a4 Mon Sep 17 00:00:00 2001 From: Aaron Shaw Date: Fri, 1 Jan 2021 21:38:15 +0000 Subject: [PATCH 1/5] docs: various updates to documentation - update the unicode quotes to ascii so copy and paste works - add link to dac2 hd debugging issue - add link to issue where debugging for dac2 hd occured and was subsequently fixed - add screenshot and description of alternative dt overlay option Connects-to: #377 Change-type: patch Signed-off-by: Aaron Shaw --- docs/05-audio-interfaces.md | 15 +++++++++++---- docs/images/dac-vars-2.png | Bin 0 -> 23119 bytes 2 files changed, 11 insertions(+), 4 deletions(-) create mode 100644 docs/images/dac-vars-2.png diff --git a/docs/05-audio-interfaces.md b/docs/05-audio-interfaces.md index 52e45d57..0bc23a6c 100644 --- a/docs/05-audio-interfaces.md +++ b/docs/05-audio-interfaces.md @@ -28,6 +28,12 @@ In the balenaCloud dashboard: ![DAC Configuration](https://raw.githubusercontent.com/balenalabs/balena-sound/master/docs/images/dac-vars.png) +Alternatively, you can set this configuration variable in the `Define DT overlays` section under the `Device configuration` menu item: + +![DAC Configuration Option 2](https://raw.githubusercontent.com/balenalabs/balena-sound/master/docs/images/dac-vars-2.png) + +As per the above steps, after adding this power cycling your device will then pull in the new overlay. + If you're using multiple devices with multiple DACs for multi-room audio, you'll want to do this process per unique device that is using a DAC. Do not set this variable fleet-wide as it will affect every device within your application. ### dtoverlay values @@ -65,11 +71,11 @@ These are the DACs that are known to work with balenaSound. If your DAC is not o | [Hifiberry Beocreate][22] | hifiberry-dac | Yes | [Hifiberry DAC+ DSP][23] | hifiberry-dac | Yes | [Hifiberry MiniAmp][24] | hifiberry-dac | Yes -| [Hifiberry DAC2 HD][27] | hifiberry-dacplushd | Yes +| [Hifiberry DAC2 HD][27] | hifiberry-dacplushd | [Yes][41] | [Adafruit I2S Audio Bonnet][26]| "hifiberry-dac","i2s-mmap" | Yes -| [Adafruit MAX98357 I2S Class-D Mono Amp][28]| "hifiberry-dac”,"i2s-mmap" | Yes -| [RasPiAudio Audio+ DAC][37] | hifiberry-dac | Yes[38] -| [AUDIOPHONICS I-Sabre DAC ES9023][39]| hifiberry-dac | Yes[40] +| [Adafruit MAX98357 I2S Class-D Mono Amp][28]| "hifiberry-dac","i2s-mmap" | Yes +| [RasPiAudio Audio+ DAC][37] | hifiberry-dac | [Yes][38] +| [AUDIOPHONICS I-Sabre DAC ES9023][39]| hifiberry-dac | [Yes][40] [1]: http://www.suptronics.com/Xseries/x400.html [2]: https://shop.pimoroni.com/products/phat-dac @@ -111,3 +117,4 @@ These are the DACs that are known to work with balenaSound. If your DAC is not o [38]: https://github.com/balenalabs/balena-sound/issues/355 [39]: https://www.audiophonics.fr/fr/dac-et-interfaces-pour-raspberry-pi/audiophonics-i-sabre-dac-es9023-tcxo-raspberry-pi-a-b-20-i2s-p-9978.html [40]: https://github.com/balenalabs/balena-sound/issues/345 +[41]: https://github.com/balenalabs/balena-sound/issues/377 diff --git a/docs/images/dac-vars-2.png b/docs/images/dac-vars-2.png new file mode 100644 index 0000000000000000000000000000000000000000..8b04e2a6cadfda5c314ed3e3f89492d9e5c44f59 GIT binary patch literal 23119 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 Date: Sun, 3 Jan 2021 21:33:37 +0000 Subject: [PATCH 2/5] [WIP]: first attempt at tidal support --- docker-compose.yml | 6 ++++ plugins/tidal/Dockerfile.template | 24 ++++++++++++++++ plugins/tidal/start.sh | 48 +++++++++++++++++++++++++++++++ 3 files changed, 78 insertions(+) create mode 100644 plugins/tidal/Dockerfile.template create mode 100644 plugins/tidal/start.sh diff --git a/docker-compose.yml b/docker-compose.yml index 5f0bc933..d9155352 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -66,3 +66,9 @@ services: network_mode: host ports: - 49494:49494 + + tidal: + build: ./plugins/tidal + restart: on-failure + privileged: true + network_mode: host diff --git a/plugins/tidal/Dockerfile.template b/plugins/tidal/Dockerfile.template new file mode 100644 index 00000000..1b32f4dc --- /dev/null +++ b/plugins/tidal/Dockerfile.template @@ -0,0 +1,24 @@ +FROM balenalib/%%BALENA_MACHINE_NAME%%-debian:buster + +RUN install_packages git curl libportaudio2* libflac++6v5* libavahi-common3 libavahi-client3 \ + && echo "deb http://archive.raspbian.org/raspbian stretch main" >> /etc/apt/sources.list \ + && apt update \ + && apt install libavformat57 \ + && mkdir /usr/ifi \ + && cd /usr/ifi \ + && curl -k -O -L http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u12_armhf.deb \ + && apt install ./libssl1.0.0_1.0.1t-1+deb8u12_armhf.deb \ + && curl -k -O -L http://security.debian.org/debian-security/pool/updates/main/c/curl/libcurl3_7.38.0-4+deb8u16_armhf.deb \ + && apt install ./libcurl3_7.38.0-4+deb8u16_armhf.deb \ + && git clone https://github.com/seniorgod/ifi-tidal-release \ + && chmod +x /usr/ifi/ifi-tidal-release/play \ + && chmod +x /usr/ifi/ifi-tidal-release/bin/tidal_connect_application \ + && chmod +x /usr/ifi/ifi-tidal-release/pa_devs/run.sh + +# Audio block setup +ENV PULSE_SERVER=tcp:localhost:4317 +RUN curl -sL https://raw.githubusercontent.com/balenablocks/audio/master/scripts/alsa-bridge/debian-setup.sh | sh + +COPY start.sh /usr/src/ + +CMD [ "/bin/bash", "/usr/src/start.sh" ] diff --git a/plugins/tidal/start.sh b/plugins/tidal/start.sh new file mode 100644 index 00000000..b027afed --- /dev/null +++ b/plugins/tidal/start.sh @@ -0,0 +1,48 @@ +#!/usr/bin/env bash + +if [[ -n "$SOUND_DISABLE_TIDAL" ]]; then + echo "Tidal is disabled, exiting..." + exit 0 +fi + +# --- ENV VARS --- +# SOUND_DEVICE_NAME: Set the device broadcast name for Spotify +# SOUND_SPOTIFY_BITRATE: Set the playback bitrate +# SOUND_DEVICE_NAME=${SOUND_DEVICE_NAME:-"balenaSound Spotify $(hostname | cut -c -4)"} +# SOUND_SPOTIFY_BITRATE=${SOUND_SPOTIFY_BITRATE:-160} + +# SOUND_SPOTIFY_DISABLE_NORMALISATION: Disable volume normalisation +# if [[ -z "$SOUND_SPOTIFY_DISABLE_NORMALISATION" ]]; then +# set -- "$@" \ +# --enable-volume-normalisation +# fi + +# SOUND_SPOTIFY_USERNAME: Login username for Spotify +# SOUND_SPOTIFY_PASSWORD: Login password for Spotify +# if [[ -n "$SOUND_SPOTIFY_USERNAME" ]] && [[ -n "$SOUND_SPOTIFY_PASSWORD" ]]; then +# set -- "$@" \ +# --username "$SOUND_SPOTIFY_USERNAME" \ +# --password "$SOUND_SPOTIFY_PASSWORD" +# fi + +# Start librespot +# We use set/$@ because librespot for some reason does not like env vars and quote escapes +echo "Starting Tidal plugin..." +# echo "Device name: $SOUND_DEVICE_NAME" +# [[ -n "$SOUND_SPOTIFY_USERNAME" ]] && [[ -n "$SOUND_SPOTIFY_PASSWORD" ]] && echo "Using provided credentials for Spotify login." +# [[ -z "$SOUND_SPOTIFY_DISABLE_NORMALISATION" ]] && echo "Volume normalization enabled." + +set -- /usr/ifi/ifi-tidal-release/bin/tidal_connect_application \ + --tc-certificate-path "/usr/ifi/ifi-tidal-release/id_certificate/IfiAudio_ZenStream.dat" \ + --netif-for-deviceid wlan0 \ + -f "balenaSound stream to project" \ + --codec-mpegh true \ + --codec-mqa false \ + --model-name "balenaSound Streamer" \ + --disable-app-security false \ + --disable-web-security false \ + --enable-mqa-passthrough false \ + --log-level 3 + "$@" + +exec "$@" From 9cbdc527df81e91e82eafb19ebe292cd10162372 Mon Sep 17 00:00:00 2001 From: Aaron Shaw Date: Sun, 3 Jan 2021 23:42:53 +0000 Subject: [PATCH 3/5] fix and tidy some things --- plugins/tidal/Dockerfile.template | 13 ++++++------- plugins/tidal/start.sh | 8 ++++---- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/plugins/tidal/Dockerfile.template b/plugins/tidal/Dockerfile.template index 1b32f4dc..0fb8585b 100644 --- a/plugins/tidal/Dockerfile.template +++ b/plugins/tidal/Dockerfile.template @@ -1,9 +1,12 @@ FROM balenalib/%%BALENA_MACHINE_NAME%%-debian:buster -RUN install_packages git curl libportaudio2* libflac++6v5* libavahi-common3 libavahi-client3 \ - && echo "deb http://archive.raspbian.org/raspbian stretch main" >> /etc/apt/sources.list \ +# Audio block setup +ENV PULSE_SERVER=tcp:localhost:4317 +RUN curl -sL https://raw.githubusercontent.com/balenablocks/audio/master/scripts/alsa-bridge/debian-setup.sh | sh + +RUN echo "deb http://archive.raspbian.org/raspbian stretch main" >> /etc/apt/sources.list \ && apt update \ - && apt install libavformat57 \ + && install_packages multiarch-support libavformat57 git libportaudio2* libflac++6v5* libavahi-common3 libavahi-client3 \ && mkdir /usr/ifi \ && cd /usr/ifi \ && curl -k -O -L http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u12_armhf.deb \ @@ -15,10 +18,6 @@ RUN install_packages git curl libportaudio2* libflac++6v5* libavahi-common3 liba && chmod +x /usr/ifi/ifi-tidal-release/bin/tidal_connect_application \ && chmod +x /usr/ifi/ifi-tidal-release/pa_devs/run.sh -# Audio block setup -ENV PULSE_SERVER=tcp:localhost:4317 -RUN curl -sL https://raw.githubusercontent.com/balenablocks/audio/master/scripts/alsa-bridge/debian-setup.sh | sh - COPY start.sh /usr/src/ CMD [ "/bin/bash", "/usr/src/start.sh" ] diff --git a/plugins/tidal/start.sh b/plugins/tidal/start.sh index b027afed..1bc9224d 100644 --- a/plugins/tidal/start.sh +++ b/plugins/tidal/start.sh @@ -39,10 +39,10 @@ set -- /usr/ifi/ifi-tidal-release/bin/tidal_connect_application \ --codec-mpegh true \ --codec-mqa false \ --model-name "balenaSound Streamer" \ - --disable-app-security false \ - --disable-web-security false \ - --enable-mqa-passthrough false \ - --log-level 3 + --disable-app-security false \ + --disable-web-security false \ + --enable-mqa-passthrough false \ + --log-level 3 "$@" exec "$@" From 224611889ba0670a1a0359d2ba050cb580fbfaca Mon Sep 17 00:00:00 2001 From: Aaron Shaw Date: Mon, 4 Jan 2021 00:07:06 +0000 Subject: [PATCH 4/5] add dbus stuff --- docker-compose.yml | 2 ++ plugins/tidal/Dockerfile.template | 1 + 2 files changed, 3 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index d9155352..1357b33c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -72,3 +72,5 @@ services: restart: on-failure privileged: true network_mode: host + labels: + io.balena.features.dbus: 1 diff --git a/plugins/tidal/Dockerfile.template b/plugins/tidal/Dockerfile.template index 0fb8585b..26b400a8 100644 --- a/plugins/tidal/Dockerfile.template +++ b/plugins/tidal/Dockerfile.template @@ -2,6 +2,7 @@ FROM balenalib/%%BALENA_MACHINE_NAME%%-debian:buster # Audio block setup ENV PULSE_SERVER=tcp:localhost:4317 +ENV DBUS_SYSTEM_BUS_ADDRESS=unix:path=/host/run/dbus/system_bus_socket RUN curl -sL https://raw.githubusercontent.com/balenablocks/audio/master/scripts/alsa-bridge/debian-setup.sh | sh RUN echo "deb http://archive.raspbian.org/raspbian stretch main" >> /etc/apt/sources.list \ From cdc9593eab4e5e7947ff08e42b289f4e47992aec Mon Sep 17 00:00:00 2001 From: Aaron Shaw Date: Mon, 4 Jan 2021 02:22:40 +0000 Subject: [PATCH 5/5] add some more environment variable options --- plugins/tidal/Dockerfile.template | 2 +- plugins/tidal/start.sh | 41 ++++++++++++++++++------------- 2 files changed, 25 insertions(+), 18 deletions(-) diff --git a/plugins/tidal/Dockerfile.template b/plugins/tidal/Dockerfile.template index 26b400a8..026039af 100644 --- a/plugins/tidal/Dockerfile.template +++ b/plugins/tidal/Dockerfile.template @@ -7,7 +7,7 @@ RUN curl -sL https://raw.githubusercontent.com/balenablocks/audio/master/scripts RUN echo "deb http://archive.raspbian.org/raspbian stretch main" >> /etc/apt/sources.list \ && apt update \ - && install_packages multiarch-support libavformat57 git libportaudio2* libflac++6v5* libavahi-common3 libavahi-client3 \ + && install_packages multiarch-support libavformat57 git libportaudio2* libflac++6v5* libavahi-common3 libavahi-client3 alsa-utils \ && mkdir /usr/ifi \ && cd /usr/ifi \ && curl -k -O -L http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u12_armhf.deb \ diff --git a/plugins/tidal/start.sh b/plugins/tidal/start.sh index 1bc9224d..f1c2906f 100644 --- a/plugins/tidal/start.sh +++ b/plugins/tidal/start.sh @@ -1,17 +1,21 @@ #!/usr/bin/env bash if [[ -n "$SOUND_DISABLE_TIDAL" ]]; then - echo "Tidal is disabled, exiting..." + echo "TIDAL is disabled, exiting..." exit 0 fi # --- ENV VARS --- -# SOUND_DEVICE_NAME: Set the device broadcast name for Spotify -# SOUND_SPOTIFY_BITRATE: Set the playback bitrate -# SOUND_DEVICE_NAME=${SOUND_DEVICE_NAME:-"balenaSound Spotify $(hostname | cut -c -4)"} -# SOUND_SPOTIFY_BITRATE=${SOUND_SPOTIFY_BITRATE:-160} +# SOUND_DEVICE_NAME: Set the device broadcast name for TIDAL +# SOUND_TIDAL_LOGLEVEL: Set the log-level flag between 0 and 6 +# SOUND_TIDAL_WEBSOCKLOG: Set the web socket log level between 0 and 3 -# SOUND_SPOTIFY_DISABLE_NORMALISATION: Disable volume normalisation +SOUND_DEVICE_NAME=${SOUND_DEVICE_NAME:-"balenaSound TIDAL $(hostname | cut -c -4)"} +SOUND_TIDAL_LOGLEVEL=${SOUND_TIDAL_LOGLEVEL:-3} +SOUND_TIDAL_WEBSOCKLOG=${SOUND_TIDAL_WEBSOCKLOG:-0} + +# removed flag --netif-for-deviceid wlan0 \ +# SOUND_TIDAL_ENABLE_MQA_PASSTHROUGH: Disable volume normalisation # if [[ -z "$SOUND_SPOTIFY_DISABLE_NORMALISATION" ]]; then # set -- "$@" \ # --enable-volume-normalisation @@ -25,24 +29,27 @@ fi # --password "$SOUND_SPOTIFY_PASSWORD" # fi -# Start librespot -# We use set/$@ because librespot for some reason does not like env vars and quote escapes -echo "Starting Tidal plugin..." -# echo "Device name: $SOUND_DEVICE_NAME" +# Start TIDAL Connect Application +# We use set/$@ because application for some reason does not like env vars and quote escapes +# Full list of flags for tidal_connect_application are at https://github.com/balenalabs/balena-sound/pull/399#issuecomment-753691047 + +echo "Starting TIDAL plugin..." +echo "Device name: $SOUND_DEVICE_NAME" + # [[ -n "$SOUND_SPOTIFY_USERNAME" ]] && [[ -n "$SOUND_SPOTIFY_PASSWORD" ]] && echo "Using provided credentials for Spotify login." # [[ -z "$SOUND_SPOTIFY_DISABLE_NORMALISATION" ]] && echo "Volume normalization enabled." set -- /usr/ifi/ifi-tidal-release/bin/tidal_connect_application \ --tc-certificate-path "/usr/ifi/ifi-tidal-release/id_certificate/IfiAudio_ZenStream.dat" \ - --netif-for-deviceid wlan0 \ - -f "balenaSound stream to project" \ + -f "$SOUND_DEVICE_NAME" \ --codec-mpegh true \ --codec-mqa false \ - --model-name "balenaSound Streamer" \ - --disable-app-security false \ - --disable-web-security false \ - --enable-mqa-passthrough false \ - --log-level 3 + --model-name "$SOUND_DEVICE_NAME" \ + --disable-app-security false \ + --disable-web-security false \ + --enable-mqa-passthrough false \ + --log-level "$SOUND_TIDAL_LOGLEVEL" \ + --enable-websocket-log "$SOUND_TIDAL_WEBSOCKLOG" "$@" exec "$@"