🎵

spotifydで音が出ない問題を解決する

2024/07/06に公開

使用環境

  • Ubuntu 24.04
  • Raspberry Pi 5 8GB
  • spotifyd 0.3.5
  • USB にオーディオインターフェースを接続している
  • pulseaudio は使っていない

spotifyd の設定は以下の通り。

cat ~/.config/spotifyd/spotifyd.conf
[global]
#ログインに必要な情報
username = "トークン"
password = "パスワード"

#音声出力の設定
backend = "alsa"
#device = "default"
#mixer = "PCM"
#volume-control = "alsa"

#Spotifyの設定
device_name = "koneko-rasp"
bitrate = 320
volume-normalisation = false
normalisation-pregain = -10

#キャッシュの設定
cache_path = "/home/koneko/.cache/spotifyd"
no_audio_cache = false

問題

spotifyd を使って音楽を再生しようとしたところ、音が出ない問題が発生した。

journalctl -n 50

でデーモンのログを確認したところ、以下のエラーメッセージが表示されていた。

Jul 06 11:04:10 koneko-rasp spotifyd[7190]: ALSA lib confmisc.c:855:(parse_card) cannot find card '0'
Jul 06 11:04:10 koneko-rasp spotifyd[7190]: ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_card_inum returned error: No such file or directory
Jul 06 11:04:10 koneko-rasp spotifyd[7190]: ALSA lib confmisc.c:422:(snd_func_concat) error evaluating strings
Jul 06 11:04:10 koneko-rasp spotifyd[7190]: ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
Jul 06 11:04:10 koneko-rasp spotifyd[7190]: ALSA lib confmisc.c:1342:(snd_func_refer) error evaluating name
Jul 06 11:04:10 koneko-rasp spotifyd[7190]: ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
Jul 06 11:04:10 koneko-rasp spotifyd[7190]: ALSA lib conf.c:5727:(snd_config_expand) Evaluate error: No such file or directory
Jul 06 11:04:10 koneko-rasp spotifyd[7190]: ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM sysdefault
Jul 06 11:04:10 koneko-rasp spotifyd[7190]: Audio Sink Error Connection Refused: <AlsaSink> Device default May be Invalid, Busy, or Already in Use, ALSA functi>
Jul 06 11:04:10 koneko-rasp systemd[1]: spotifyd.service: Main process exited, code=exited, status=1/FAILURE
Jul 06 11:04:10 koneko-rasp systemd[1]: spotifyd.service: Failed with result 'exit-code'.

aplay -l でオーディオデバイスを確認したところ、以下のように表示された。一番上のデバイスが USB オーディオインターフェースなので、ラズパイに認識はされているようである。

sudo aplay -l
[sudo] password for koneko:
**** List of PLAYBACK Hardware Devices ****
card 0: Device [USB Audio Device], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: vc4hdmi0 [vc4-hdmi-0], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 3: vc4hdmi1 [vc4-hdmi-1], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

機器を再起動したり、シャットダウンしてからしばらく置いて起動したりしてみても、音が出ない問題は解決しなかった。また、spotifyd の再起動(systemctl restart spotifyd.service)をしても解決しなかった。

解決方法

sudo aplay -D plughw:0,0 /usr/share/sounds/alsa/Front_Center.wav

で試しに音を鳴らしてみたところ、音がでた。その後、Spotify のクライアント側から音楽を再生すると、音が出るようになった。原因は謎。

Discussion