Spotify Connect Plugin (old-volumio login with winscp)

which device do you use (RPI B, RPI2, RPI3)
could you past the content of /data/plugins/music_service/volspotconnect/spotify-connect-web/startconnect.sh ( replace your credentials by XXX) ?

I am using a RPI 3.

volumio@volumio:~$ /data/plugins/music_service/volspotconnect/spotify-connect-web/startconnect.sh Loading Spotify library... Traceback (most recent call last): File "loader.py", line 3, in <module> File "runpy.py", line 180, in run_module File "runpy.py", line 72, in _run_code File "/data/plugins/music_service/volspotconnect/spotify-connect-web/main.py", line 14, in <module> from connect import Connect File "/data/plugins/music_service/volspotconnect/spotify-connect-web/connect.py", line 9, in <module> from console_callbacks import audio_arg_parser, mixer, error_callback, connection_callbacks, debug_callbacks, playback_callbacks, playback_setup File "/data/plugins/music_service/volspotconnect/spotify-connect-web/console_callbacks.py", line 104, in <module> mixer = alsa.Mixer(args.mixer, **mixer_card_arg) alsaaudio.ALSAAudioError: Unable to find mixer control Digital,0 [hw:5] Failed to execute script loader Established under name 'Volumio'

Using Volume without any problems with the STU Output (airplay, web radio working)

thank you but I need the content of startconnect.sh do

cat startconnect.sh please (remove credentials)

I am sorry that I have to ask, what do you mean with

The output is

The content of start connect.sh is

do you use the very last version of volumio ? 2.001 ? If yes, try to remove "mixer_device_index 5 " from startconnect.sh and enter

systemctl restart volspotconnect to see what happens…
If not the last version of volumio please upgrade (go in system and check for update)

I am using the latest Volumio Version.

I did the suggested change. Output are as followed

/data/plugins/music_service/volspotconnect/spotify-connect-web/startconnect.sh Loading Spotify library... Traceback (most recent call last): File "loader.py", line 3, in <module> File "runpy.py", line 180, in run_module File "runpy.py", line 72, in _run_code File "/data/plugins/music_service/volspotconnect/spotify-connect-web/main.py", line 14, in <module> from connect import Connect File "/data/plugins/music_service/volspotconnect/spotify-connect-web/connect.py", line 9, in <module> from console_callbacks import audio_arg_parser, mixer, error_callback, connection_callbacks, debug_callbacks, playback_callbacks, playback_setup File "/data/plugins/music_service/volspotconnect/spotify-connect-web/console_callbacks.py", line 104, in <module> mixer = alsa.Mixer(args.mixer, **mixer_card_arg) alsaaudio.ALSAAudioError: Unable to find mixer control Digital,0 [default] Failed to execute script loader Established under name 'Volumio'

On thing I stumbled upon is, that the only mixer I can chose is “Hardware”

and you see a “digital” mixer, don’t you ? If it works in Volumio, I can’t see why it failed here… I tested it with a USB dac and it works with no problem (mixer is called PCM) with hw:5 as output… Of cours I guess you saved output and mixer serveral times…

In alsamixer, do you see a mixer called Digital for your DAC ?
Just a idea : save mixer, go in startconnect.sh and remplace “Digital” by “PCM” and systemctl restart volspotconnect…

No, I can only select Hardware as a Mixer. There is no option for a software mixer

Ok, after editing startconnect.sh VOLUMIO shows up as a Spotify connect device. Unfortunately no sound output yet. I guess we are getting closer to the problem :slight_smile:

/data/plugins/music_service/volspotconnect/spotify-connect-web ./spotify-connect-web --username 'XXXXX' --password 'XXXX' --bitrate 320 --name 'Volumio' --playback_device hw:5 --mixer PCM # & avahi-publish-service 'Volumio' _spotify-connect._tcp 4000 VERSION=1.0 CPath=/login/_zeroconf

running /data/plugins/music_service/volspotconnect/spotify-connect-web/startconnect.sh

volumio@volumio:~$ /data/plugins/music_service/volspotconnect/spotify-connect-web/startconnect.sh Loading Spotify library... min_volume_range: 0.0 Using libspotify_embedded version: release-esdk-1.20.0-v1.20.0-g594175d4 SpInit: 0 playback_volume: 56360 corected_playback_volume: 85 public key: XXXXX device id: XXXXX remote name: Volumio account req: PREMIUM device type: AUDIODONGLE Traceback (most recent call last): File "loader.py", line 3, in <module> File "runpy.py", line 180, in run_module File "runpy.py", line 72, in _run_code File "/data/plugins/music_service/volspotconnect/spotify-connect-web/main.py", line 259, in <module> http_server.serve_forever() File "gevent/baseserver.py", line 347, in serve_forever File "gevent/baseserver.py", line 291, in start File "gevent/pywsgi.py", line 1222, in init_socket File "gevent/server.py", line 80, in init_socket File "gevent/server.py", line 91, in get_listener File "gevent/server.py", line 177, in _tcp_listener File "<string>", line 1, in bind socket.error: [Errno 98] Address already in use: ('', 4000) Failed to execute script loader Established under name 'Volumio'

Ok no problem with hardware mixer. But what is its name in volumio? Master digital pcm or something else. And in alasmixer ?

In Volumio the name is PCM.
In AlsaMixer Xonar Essence STU, Chip USB Mixer, Item PCM

But somehow right now there is no sound at all :frowning:

Sorry for this late answer… there is something that can’t be for me : having a pcm mixer and digital in the plugin as it use the value returns by volumio… So are you sure you saved the mixer setting in volumio ?

Yep, I saved it at least a couple of times. I restarted Volumio, I changed the /data/plugins/music_service/volspotconnect/spotify-connect-web
./spotify-connect-web.sh file. Although it seems to be overwritten by some other file because the --mixer_device_index 5 line has been added a couple of times again. With it deleted Volumio shows up in Spotify as a connected device.

The plugin add the --mixer_device_index because with other dac it does not work… I have to make a sort of exception for this case…
So, could you fill or correct the following ( even if you already answers, please fill it if you want I try to make it work…)
your device rpi 3
your dac : usb model model xxx
mixer shown in volumio :
the content of startconnect.sh :
and if when removing --mixer_device_index :
the result : working but no sound
paste the result of amixer -c5 controls
and anything that may help…

Thank you so much for your help!

your device rpi 3
your dac : usb model model xxx

volumio@volumio:~$ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA] Subdevices: 8/8 Subdevice #0: subdevice #0 Subdevice #1: subdevice #1 Subdevice #2: subdevice #2 Subdevice #3: subdevice #3 Subdevice #4: subdevice #4 Subdevice #5: subdevice #5 Subdevice #6: subdevice #6 Subdevice #7: subdevice #7 card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI] Subdevices: 1/1 Subdevice #0: subdevice #0 card 5: STU [Xonar Essence STU], device 0: USB Audio [USB Audio] Subdevices: 0/1 Subdevice #0: subdevice #0

mixer shown in volumio : Mixer type: Hardware; Mixer Control Name: PCM

the content of startconnect.sh before removing mixer_device_index 5 :

cd /data/plugins/music_service/volspotconnect/spotify-connect-web ./spotify-connect-web --username 'XXXX' --password 'XXXX' --bitrate 320 --name 'Volumio' --playback_device hw:5 --mixer PCM --mixer_device_index 5 # & avahi-publish-service 'Volumio' _spotify-connect._tcp 4000 VERSION=1.0 CPath=/login/_zeroconf

running /data/plugins/music_service/volspotconnect/spotify-connect-web/startconnect.sh

volumio@volumio:~$ /data/plugins/music_service/volspotconnect/spotify-connect-web/startconnect.sh Loading Spotify library... min_volume_range: 0.0 Using libspotify_embedded version: release-esdk-1.20.0-v1.20.0-g594175d4 SpInit: 0 Traceback (most recent call last): File "loader.py", line 3, in <module> File "runpy.py", line 180, in run_module File "runpy.py", line 72, in _run_code File "/data/plugins/music_service/volspotconnect/spotify-connect-web/main.py", line 56, in <module> connect_app = Connect(web_error_callback, web_arg_parser) File "/data/plugins/music_service/volspotconnect/spotify-connect-web/connect.py", line 87, in __init__ lib.SpPlaybackUpdateVolume(mixer_volume) OverflowError: integer 66190 does not fit '16-bit unsigned int' Failed to execute script loader Established under name 'Volumio'

and after removing --mixer_device_index :

cd /data/plugins/music_service/volspotconnect/spotify-connect-web ./spotify-connect-web --username 'XXXX' --password 'XXXX' --bitrate 320 --name 'Volumio' --playback_device hw:5 --mixer PCM # & avahi-publish-service 'Volumio' _spotify-connect._tcp 4000 VERSION=1.0 CPath=/login/_zeroconf

running /data/plugins/music_service/volspotconnect/spotify-connect-web/startconnect.sh

volumio@volumio:~$ /data/plugins/music_service/volspotconnect/spotify-connect-web/startconnect.sh Loading Spotify library... min_volume_range: 0.0 Using libspotify_embedded version: release-esdk-1.20.0-v1.20.0-g594175d4 SpInit: 0 playback_volume: 65535 corected_playback_volume: 100 public key: XXXXX device id: XXXXX remote name: Volumio account req: PREMIUM device type: AUDIODONGLE Traceback (most recent call last): File "loader.py", line 3, in <module> File "runpy.py", line 180, in run_module File "runpy.py", line 72, in _run_code File "/data/plugins/music_service/volspotconnect/spotify-connect-web/main.py", line 259, in <module> http_server.serve_forever() File "gevent/baseserver.py", line 347, in serve_forever File "gevent/baseserver.py", line 291, in start File "gevent/pywsgi.py", line 1222, in init_socket File "gevent/server.py", line 80, in init_socket File "gevent/server.py", line 91, in get_listener File "gevent/server.py", line 177, in _tcp_listener File "<string>", line 1, in bind socket.error: [Errno 98] Address already in use: ('', 4000) Failed to execute script loader Established under name 'Volumio'

the result : working but no sound

paste the result of amixer -c5 controls

volumio@volumio:~$ amixer -c5 Simple mixer control 'PCM',0 Capabilities: pswitch pswitch-joined Playback channels: Mono Mono: Playback [on]

Have you noticed that amixer -c5 shows a mono setting ?

I did notice. To make sure I did a new set-up and installed the plug in Version from 01.10.16. It is working flawlessly. The output of a mixer -c5 hasn’t changed. It shows mono but it is playing stereo. Unfortunately my linux knowledge is not as good as it should be to solve this kind of problem :frowning:

@balbuze: thanks for the plugin, finally working Spotify Connect with Volumio! Even with the Raspberry 1 it works.

However (you saw that coming?) startup of the connect service fails with elaborate passwords (containing special characters).

If I might suggest, you could change in the file /data/plugins/music_service/volspotconnect/volspotconnect.tmpl the following passage:

… --password ‘${password}’ … to … --password ‘’${password}’’

(enclosing escaped backslashes…)

Hope that helps further,
sincerely,

Chris

Hi,
Thank you for the tip even if I thought it was solved. … you are the first to report using it on a RPI 1! I have prepared a new package (the big one downloaded during install) because there is some problem to remove it… How long was install? What is your dac?