Pi 的 onboard 音效咭實在太差了,所以我決定用 FiiO K1 USB 音效咭代替它

  1. 先更新 Pi kernel, 使用 “rpi-update” 指令即可

  2. 安裝 pulseaudio 和相關的套件

     apt-get install pulseaudio gstreamer1.0-pulseaudio gstreamer1.0-plugins-ugly gstreamer1.0-plugins-bad
    
  3. 在 /etc/modprobe.d/ 中加一個 conf 檔案,把 snd_bcm2835 (RPi 的 onboard 音效咭) 例如 /etc/modprobe.d/alsa.conf

     blacklist snd_bcm2835
    
  4. /etc/pulse/default.pa 加入 TCP 支援

     load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;auth-anonymous=1
    
  5. /etc/pulse/system.pa 加入 TCP 支援

     load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;auth-anonymous=1
    
     load-module module-zeroconf-publish
    
  6. 設定 pulseaudio 為開機服務

     systemctl enable pulseaudio
    
  7. 重新開機,應該會偵測到 FiiO K1

     usb 1-1.2: Product: FiiO USB DAC K1
    
     usb 1-1.2: Manufacturer: FiiO
    
     input: FiiO FiiO USB DAC K1 as /devices/platform/soc/20980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/0003:262A:100C.0001/input/input0
    
     hid-generic 0003:262A:100C.0001: input,hidraw0: USB HID v1.00 Device [FiiO FiiO USB DAC K1] on usb-20980000.usb-1.2/input0
    
  8. 安裝 mopidy 和一些有用的 plugins

     sudo pip install Mopidy-SoundCloud
    
     sudo pip install Mopidy-Youtube
    
     sudo pip install Mopidy-Tunein
    
     sudo pip install mopidy-musicbox-webclient
    
  9. 修改 /etc/mopidy/mopidy.conf 把聲音輸出指向 127.0.0.1 和打開 HTTP 服務

    [audio] 段落

    output = pulsesink server=127.0.0.1

    [http] 段落

    enabled = true

    hostname = ::

    port = 6680

  10. 打開 mopidy 服務,然後可以在 http://raspberry-pi-ip:6680/ 看到 Mopidy 界面