Volumio Streamer Configuration Tips

Discussion in 'Computer Audiophile: Software, Configs, Tools' started by Woland, May 19, 2021.

Tags:
?

Help prioritise the tip writeups.. which would you value most?

  1. Securing Volumio

    11.5%
  2. Binaural (headphone) add-in

    13.1%
  3. DSP add-in

    21.3%
  4. Room Correction / REW add-in

    16.4%
  5. Optimizing pi hardware for audio

    52.5%
  6. Comparison of pi vs PC

    21.3%
  7. Amplifier auto power-on, power-off

    3.3%
  8. LastFM integration

    3.3%
  9. Spotify

    14.8%
  10. Streaming from PC/Mac to Volumio

    41.0%
  11. Streaming from Android to volumio

    16.4%
  12. Streaming Tidal / Qobuz

    36.1%
  13. API

    6.6%
Multiple votes are allowed.
  1. Woland

    Woland Friend

    Pyrate
    Joined:
    Jan 13, 2021
    Likes Received:
    1,322
    Trophy Points:
    93
    Location:
    a friendly land
    Tip in progress

    Switchbot is a little robot.. that flips switches. It's just $1 now + $10 postage. I set it up to switch audio sources on the gungnir.. so I might use it to switch to the optical (TV) input for a few hours, and then back to the regular Pi (BNC) input.

    Password: SG


    It's a Bluetooth LE device, so there are lots of ways to connect & control it .


    Here's what I did on the Volumio Pi to get a script that talks to the bot and presses the button.

    Code:
    sudo apt-get update
    sudo apt-get install python-pexpect
    sudo apt-get install libusb-dev libdbus-1-dev libglib2.0-dev
    sudo apt-get install libudev-dev libical-dev libreadline-devsudo
    
    # install pip to use subsequent command
    apt-get install python-pip
    
    sudo pip install bluepy
    
    # dependencies done - get the main script
    git clone https://github.com/OpenWonderLabs/python-host.git
    cd python-host
    
    And here's the switching command.
    Code:
    python switchbot.py D7:52:4F:13:1B:2F Press
    
     
    • Epic Epic x 4
    • Like Like x 2
    • List
    Last edited: Jun 3, 2021
  2. Metro

    Metro Friend

    Pyrate
    Joined:
    Dec 27, 2016
    Likes Received:
    1,597
    Trophy Points:
    93
    Location:
    San Francisco
    Disable Bluetooth

    If you don't use bluetooth, you can disable it.

    On Volumio, edit userconfig.txt (might be config.txt on other systems such as MoOde).
    Code:
    nano /boot/userconfig.txt
    Add this line:
    Code:
    dtoverlay=disable-bt
    Also run this on the command line:
    Code:
    sudo systemctl disable hciuart
    Then reboot the system.

    Reference: https://github.com/raspberrypi/firmware/blob/master/boot/overlays/README

    Name: disable-bt
    Info: Disable onboard Bluetooth on Pi 3B, 3B+, 3A+, 4B and Zero W, restoring
    UART0/ttyAMA0 over GPIOs 14 & 15.
    N.B. To disable the systemd service that initialises the modem so it
    doesn't use the UART, use 'sudo systemctl disable hciuart'.
    Load: dtoverlay=disable-bt
    Params: <None>

     
  3. Pancakes

    Pancakes Friend

    Pyrate Contributor
    Joined:
    Aug 13, 2020
    Likes Received:
    1,426
    Trophy Points:
    93
    Location:
    Atl
    On Volumio you can shut it off via the browser in the Sources menu.
     
  4. Woland

    Woland Friend

    Pyrate
    Joined:
    Jan 13, 2021
    Likes Received:
    1,322
    Trophy Points:
    93
    Location:
    a friendly land
    I think it's disabled by default, and only usable as a source with a paid Volumio plan.
     
  5. Metro

    Metro Friend

    Pyrate
    Joined:
    Dec 27, 2016
    Likes Received:
    1,597
    Trophy Points:
    93
    Location:
    San Francisco
    I happened to see my Pi2AES when my phone scanned for Bluetooth devices, but I don't recall turning on Bluetooth in Volumio. I hadn't noticed it before, and I see it now in Volumio settings. I do have a MyVolumio paid plan.
     
  6. Woland

    Woland Friend

    Pyrate
    Joined:
    Jan 13, 2021
    Likes Received:
    1,322
    Trophy Points:
    93
    Location:
    a friendly land
    Interesting!

    Which MyVolumio plan do you have? Can you review any features?

    I'm really curious about some of the 'Superstar' functionality, and will do a trial to test them when I have time..
     
  7. Pancakes

    Pancakes Friend

    Pyrate Contributor
    Joined:
    Aug 13, 2020
    Likes Received:
    1,426
    Trophy Points:
    93
    Location:
    Atl
    I don't have MyVolumio and have no memory of what that setting was by default. After installing, I go in and shut off everything I won't be using and then forget about it.

    It's possible that bare bones Volumio has it off to begin with and MyVolumio turns it on since it's a paid product and the expectation is that all the bells and whistles are ready to go.
     
  8. Louisiana

    Louisiana New

    Joined:
    Dec 11, 2020
    Likes Received:
    17
    Trophy Points:
    3
    Location:
    New Orleans
    I have MyVolumio, and the problem is, if you switch off Wifi and BT in the software, you can no longer access Volumio via the web interface - I don't know why that is, but it only helps to re-flash Volumio on the SD Card.

    If I switch off Wifi and BT directly via raspi-blacklist.conf, so that the drivers are not even loaded, everything works fine.
    The Wifi option will not be displayed in Volumio web interface.

    Code:
    sudo nano /etc/modprobe.d/raspi-blacklist.conf
    And then:

    Code:
    # WLAN disable
    blacklist brcmfmac
    blacklist brcmutil
    #blacklist cfg80211
    #blacklist rfkill
    Code:
    # Bluetooth disable
    blacklist btbcm
    blacklist hci_uart
    Last but not least:
    Code:
    sudo systemctl disable hciuart
    This is important, because Volumio try to use BT on Startup.

    As if you can see, no Wifi option available in Volumio:
    [​IMG]
     
  9. Biodegraded

    Biodegraded Friend

    Pyrate Contributor
    Joined:
    May 28, 2017
    Likes Received:
    8,089
    Trophy Points:
    113
    Location:
    Vancouver BC
    There might be some version-by-version differences going on here, as well as differences with/without a MyVolumio account. The Github link @Metro gave earlier matches 2017 advice, but BT might not be active by default in later versions - I'm running 2x 2.6 from late 2019, and my phone doesn't see BT on either Pi.

    Also I don't have a Sources menu on the web interface (although there's a Sources Visibility area under the My Music menu tab) and no BT control under Network. No MyVolumio account.

    So best procedure would seem to be: before editing the config file or disabling anything with the command line, first check with a phone or something to see if BT is active. Then check through the Volumio web interface to see if you can control it from there.
     
  10. Louisiana

    Louisiana New

    Joined:
    Dec 11, 2020
    Likes Received:
    17
    Trophy Points:
    3
    Location:
    New Orleans
    Absolutely!
    For me it was the case that when I switched off BT in the web interface, Raspberry was still displayed on my phone.
    And after disbaled Wifi in the web interface, Volumio dont work, testet on Pi3B+, 4B and Tinkerboard.
    After disabled with command line, all is fine :)
     
  11. Metro

    Metro Friend

    Pyrate
    Joined:
    Dec 27, 2016
    Likes Received:
    1,597
    Trophy Points:
    93
    Location:
    San Francisco
    I have the Virtuoso plan (€30, about $36 USD/year). Here's the background behind it (sorry if a bit off-topic for this thread).

    A year ago, I had no experience with streamers or Raspberry Pi. My primary music source is streaming services (Spotify, Qobuz, Tidal) which ran on my laptop and output over USB to the DAC. I learned about Pi2AES on this forum (and indirectly about RPi streamers) and liked that I would be able to move around with my laptop (untethered from the DAC). Pi2AES interface might improve the audio and I could also control the music from a phone or tablet.

    I followed Marv's Pi2AES guide (based on Volumio) found that Qobuz and Tidal support would require a MyVolumio subscription, but $36/year is very reasonable. Volumio's Qobuz/Tidal integration is plug and play, and I wouldn't have to mess with learning RPi to get it going.

    The Qobuz/Tidal integration works, but the Volumio interface is primitive compared to the Qobuz/Tidal apps on computer or mobile. The functionality on Volumio is basic but usable. You can access your favorites, playlists, and the service's prebuilt lists, and play anything on the entire catalog by searching. It works if you know what you want to play, but music discovery is painful. I would go on my laptop to explore music, and if I find something interesting I would favorite it so I could easily pick it up again on Volumio. Quite simply, I couldn't use Volumio exclusively for my music because the user experience is too awkward and limiting. I would still need to use native Qobuz/Tidal apps on computer and mobile, in combination with Volumio.

    Then I tried Roon through a 3 month trial offer on Black Friday, and it was a revelation. Roon allows me to use Pi2AES/RPi with a great user interface. Since Roon integrates Qobuz/Tidal, a MyVolumio subscription becomes unnecessary.

    However, there is a twist to this. Volumio already supports Spotify Connect (with free plugin) and recently added Tidal Connect support (requires a MyVolumio plan). Qobuz says they are actively working on their own Connect feature. If Qobuz Connect became available on Volumio, I could happily use the three services with good UI through their Connect features, without the expense of Roon. Roon would still be valuable if I had a large online local library, but this is not the case for me.
     
  12. Woland

    Woland Friend

    Pyrate
    Joined:
    Jan 13, 2021
    Likes Received:
    1,322
    Trophy Points:
    93
    Location:
    a friendly land
    This is good.

    One of the main areas of interest for this thread (see the survey) is in connecting Volumio to other devices. I've hesitated to address the topic because there are just so many options - streaming controlled by Tidal, Spotify, Audirvana, Roon, Airplay, VLC, Bubble uPNP etc.. streaming controlled by Volumio itself.. that might be played off internal file system, or NAS, or uPNP. Then there are Volumio plug-ins that give Roonbridge, Squeezelite and Logitech Media Server support..

    I've also hesitated because my own playback has changed a lot since I ditched Tidal over the MQA deception. I used to use Audirvana to stream Tidal, but with Tidal gone and Audirvana's mis-step with a new subscription model.. I'm still experimenting to find a new stable setup. Other people posting their preferred setups is helpful.
     
    Last edited: Jun 13, 2021
  13. Woland

    Woland Friend

    Pyrate
    Joined:
    Jan 13, 2021
    Likes Received:
    1,322
    Trophy Points:
    93
    Location:
    a friendly land
    I replicated your problem. I found the easiest way to fix it was a Volumio reset.

    Code:
    volumio updater userdata
    
    This leaves the changes to system settings (power adjustments etc), but deletes user data including downloads, OS updates and Volumio settings.
     
  14. Pancakes

    Pancakes Friend

    Pyrate Contributor
    Joined:
    Aug 13, 2020
    Likes Received:
    1,426
    Trophy Points:
    93
    Location:
    Atl
    Awesome! I'll try that out.
     
  15. Woland

    Woland Friend

    Pyrate
    Joined:
    Jan 13, 2021
    Likes Received:
    1,322
    Trophy Points:
    93
    Location:
    a friendly land
    Tip: CD ripping

    My old trove of CD's has been uncovered, so I thought I'd see what Volumio can do.

    I plugged in my old Apple SmartDrive, and re-enabled USB on the Pi4, because one of the earlier tips disabled USB using uhubctl.

    Code:
    sudo uhubctl -a on -l 2
    
    Then I used the Volumio web interface to install NanoSound CD plug-in. After installing, it adds a new Nanosound CD tab to the web interface.

    [​IMG]

    This seems to work great for CD playback. But to rip CDs, there's a paid upgrade required.

    Edit: removed section on abcde for ripping as it does not require the above install.
     
    Last edited: Jun 17, 2021
  16. Metro

    Metro Friend

    Pyrate
    Joined:
    Dec 27, 2016
    Likes Received:
    1,597
    Trophy Points:
    93
    Location:
    San Francisco
    It gets CD metadata? That's great!
     
  17. Woland

    Woland Friend

    Pyrate
    Joined:
    Jan 13, 2021
    Likes Received:
    1,322
    Trophy Points:
    93
    Location:
    a friendly land
    Yes, it is! I am very tempted to pay for the full version right away because it is quite awesome. I can't imagine a dedicated CD transport has better hardware than the Pi4+Pi2AES the CD data is flowing through.

    It looks like Nanomesher was a Volumio partner - they have a badge saying so the Nanomesher site. Volumio did a very positive writeup of their products. However, Volumio doesn't sell their products anymore (streamer, dac) and Volumio now have a competing CD player /ripper included as part of the top myVolumio plan.
     
    Last edited: Jun 15, 2021
  18. Woland

    Woland Friend

    Pyrate
    Joined:
    Jan 13, 2021
    Likes Received:
    1,322
    Trophy Points:
    93
    Location:
    a friendly land
    Nanosound CD is a nice front end to Python Audio Tools, command line tools for CD extraction, track conversion from one audio format to another, track renaming and retagging, track identification, CD burning from tracks, and more. They're installed for command line use when you install Nanomixer CD.

    Edit: There is a problem with the latest version of Volumio (2.882) The fix is here.

    If the commands below don't work, you can do this to complete the Python Audio Tools install
    Code:
    cd ~/python-audio tools
    sudo make install
    

    After experimenting here's how I did a one-off rip of a CD into FLAC files in the current directory. There's a cdrom read offset specific to my cd-rom model (Apple Superdrive). Getting that offset correct matters if you want verification of the rip with the online AccurateRip database.

    Code:
    cdda2track --freedb-server=gnudb.gnudb.org -t flac --cdrom-read-offset 6
    
    Having figured out the right settings, it's easy to setup audiotools for frequent use. To make those arguments about the metadata server, FLAC format and offset into defaults:

    Code:
    audiotools-config --freedb-server=gnudb.gnudb.org -t flac --cdrom-read-offset 6
    
    After setting those defaults, ripping can be started like this

    Code:
    cdda2track
    
     
    Last edited: Jun 17, 2021
  19. Woland

    Woland Friend

    Pyrate
    Joined:
    Jan 13, 2021
    Likes Received:
    1,322
    Trophy Points:
    93
    Location:
    a friendly land
    TIP: More on the command line: Python Audio Tools & SOX

    Python Audio Tools has some excellent interactive command line tools, and I'm using them to control music playback while I work.


    To get that interactive interface, there's one more install required:

    Code:
    apt-get install python-urwid
    

    After that install we can, for example, play a directory of audio files like this:

    Code:
    trackplay -I *.flac
    
    [​IMG]


    similarly, there are interactive tools for CD Ripping

    Code:
    cdda2track -I
    
    and CD playing.

    Code:
    cddaplay -I
    

    SOX "Sound eXchange, the Swiss Army knife of audio manipulation" provides DSP functionality.

    Some initial experiments...

    Play & Upsample 8x
    Code:
    play -V3 1.Ave_Maria.flac upsample 8
    
    Earwax makes audio easier to listen to on headphones. It adds ‘cues’ to 44.1kHz stereo (i.e. audio CD format) audio so that when listened to on headphones the stereo image is moved from inside your head (standard for headphones) to outside and in front of the listener (standard for speakers).

    earwax requires a 44k sample rate, so the below has resampling before earwax..

    Code:
    play -V3  01\ -\ So\ What.flac rate 44100 earwax
    
    Googling suggests earwax is an antique bit of code.. if you like what it does, the VolBinaural plugin to Volumio is relatively recent and likely to be better. I'll cover that in the next tip.
     
  20. Louisiana

    Louisiana New

    Joined:
    Dec 11, 2020
    Likes Received:
    17
    Trophy Points:
    3
    Location:
    New Orleans
    Hi,
    I wanted to install uhubctl on my Raspberry Pi 3B + with Volumio v 2.88.2, and deactivate my USB ports because I don't need them.
    That was easier said than done, and in the end it cost me 4 days of work, in which I searched and tried, and kept looking and trying ...

    In the newer Volumio versions, some important packages are missing, which cannot simply be installed, that seems to be a bug, and will hopefully be fixed in the following versions.

    If someone had the same problem as me, I'll write here how I solved it!

    First at all, you have to install the Build Essential.

    Code:
    sudo nano /etc/apt/sources.list
    Insert a new source:

    Code:
    deb http://raspbian.raspberrypi.org/raspbian/ stretch main contrib non-free rpi
    Save with CTRL + X

    Then update your package list:
    Code:
    sudo apt-get update
    And then:
    Code:
    sudo apt-get install binutils
    sudo apt-get install libstdc++-4.9-dev
    sudo apt-get install gcc-4.9 gcc g++-4.9 g++ dpkg-dev
    
    After this, remove the source which we insert above:
    Code:
    sudo nano /etc/apt/sources.list
    Save with CTRL + X

    Then update package list again!
    Code:
    sudo apt-get update
    Now, we need libusb:
    Code:
    sudo apt-get install libusb-1.0
    And now, we can install uhubctl:
    Code:
    git clone git://github.com/mvp/uhubctl
    cd uhubctl
    make
    sudo make install
    So you can try with
    Code:
    sudo uhubctl
    - if everything is well, you should get a list of your USB Ports.

    To disable USB:
    Code:
    sudo uhubctl -l 1-1 -p 2 -a off
    Now, USB is off, but RJ45 still works.

    After a reboot USB will work again, so we have to do a cron job, cause this:
    Code:
    /etc/rc.local
    dont work with newer Volumio versions!

    Install cron:
    Code:
    sudo apt-get install cron
    And we need to change user permissions, otherwise sudo commands won´t work in a cron job!

    In my case, the user is "Volumio", so the example is based on User Volumio:
    Code:
    su
    adduser volumio sudo
    sudo visudo
    Then add this:
    Code:
    #volumio ALL=(ALL) NOPASSWD: /bin/hciconfig
    %sudo   ALL=(ALL) NOPASSWD:ALL
    Now add cron job:
    Code:
    crontab -e
    Insert this line:
    Code:
    @reboot sudo uhubctl -l 1-1 -p 2 -a off
    Press CTRL + O
    Then CTRL + X

    Thats all.
    Now do a reboot, and your USB should be deactivated.

    For those who wont to disable the HDMI Port, open cron job again:
    Code:
    crontab -e
    and insert:
    Code:
    @reboot sudo /opt/vc/bin/tvservice -o
    
    Then do a reboot :)

    After reboot, try

    Code:
    sudo uhubctl
    and also try:

    Code:
    sudo /opt/vc/bin/tvservice -s
    After this, i make a image from the hole sd card, with Diskimage V1.6

    So now, i have a perfect streamer, with no Wifi, BT, USB and HDMI out, i fedd my DAC with I2S, and its awsome!
    Had some good luck, and found a used Audiophonics Streamer in as new condition.

    [​IMG]

    [​IMG]

    [​IMG]
     

Share This Page