Using any audio source with HQPlayer - Spotify, Amazon, Apple Music, YouTube Music, Deezer, Soundcloud [2023]

I have several iPads (iPad Air 4, iPad minis 6 and 7), all have USB-C ports.
I also do have a RPi 4, but I haven’t used it for a while, and I’m not good at handling Linux either. :confused:

Yeah, it doesn’t seem available yet.

So, I guess connecting one of my iPads to the HQPe machine through USB would do the job.
I’ll find a relatively long USB cable and try it later.

HQPlayer Client? That is the official way…

No, not at the moment…

You’d need to use RPi4 as input NAA. Since normal PC’s don’t have device side ports. It is pretty straightforward to setup with NAA OS though, just need to edit the config.txt a bit before plugging in the microSD card and booting it up.

1 Like

Okay.
I’ll search within this thread how to do it.
Thank you! :slight_smile:

There is a way to add any sound source to HQPlayer and that is to use a virtual audio connection. I emulates a hardware connection from eg Spotify, Cobuz or any streaming audio source to the input of HQP and on same computer. I use the software Virtual Audio Cabel free version by Eugene Muzychenko. It allows only for one virtual connection in free edition, but that is enough for my use, I set the VAC to the O/S audio system output. Then by just selecting system audio output default in each streaming software app and setting the HQP input to same virtual cable software, you stream anything to HQP. There is a little bit of hazzle (of course). You must decide when activating input and start playing to HQP as eg 16/48, or 24/192, or … It would have been good with some sort of auto detect. Perhaps there is, but I have not found it, because I have never needed it so far. I use it for Spotify on rarae occasions, wheb music is not available in my library or on Qobuz.

1 Like

After reading some of this thread, I was inspired to try out an input configuration that would suit my needs. I don’t stream much from online services, I mostly rely on my local library, but I do like the ability to cast Airplay from my phone. I was able to setup Airplay support for HQplayer embedded by using ALSA loopback device configured with shairport-sync. Fairly simple, I can share the basics if anyone is interested.

Yeh nobody has shared such and I’ve never tried. I do the same on macOS with Blackhole

Would be helpful for others

This is a rough outline of how to get Airplay input to HQplayer embedded running on Ubuntu server 24.04. Requires you be fluent in Linux command line administration, google anything you aren’t comfortable with doing, answers are out there.

First, setting up a loopback device with ALSA

sudo modprobe snd-aloop

This won’t survive a reboot, lookup /etc/modules-load.d to do that. Add your user to the audio group if needed.

aplay -l

Should show you the Loopback device setup now.

**** List of PLAYBACK Hardware Devices ****
card 0: Loopback [Loopback], device 0: Loopback PCM [Loopback PCM]
  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: Loopback [Loopback], device 1: Loopback PCM [Loopback PCM]
  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

Build and install Shairport-Sync fork here: shairport-sync/BUILD.md at master · mikebrady/shairport-sync · GitHub
I built mine with the following arguments:

./configure --with-airplay-2 --with-alsa --with-soxr --sysconfdir=/etc --with-systemd --with-ssl=openssl --with-avahi

Read and edit the /etc/shairport-sync.conf file using the sample configuration. Here is my ALSA section:

alsa =
{
        output_device = "hw:Loopback";
        output_rate = 44100;
        output_format = "S32"; 
}

It uses SoXr to resample everything it will send to 44100 which is convenient.

Finally, in HQplayer config I have:

<alsa any_dsd="0" channel_offset="0" dac_bits="24" device="hw:CARD=Loopback,DEV=1" dualwire="0" friendly_name="Loopback: Loopback PCM" pack_sdm="0" period_time="100" volume_element="Master"/>
<input channels="2" device="hw:CARD=Loopback,DEV=1" format="pcm" name="Shairport-sync ALSA" period_time="100" samplerate="44100"/>

Then, choose the Shairport-sync ALSA device in Input, play to activate. A connected iOS device should have playback to HQplayer.

2 Likes

I’m running moodeaudio ( https://moodeaudio.org/ )on a Rpi4 and I’m wondering if I use its HDMI audio output and a HDMI to USB-C audio/video capture card I can send a the audio output to another Rpi4 with NAA ?

Moodeaudio offers Airplay rendering and also can connect a cd :cd: player, so I wonder if it would work

HQPlayer can play CD’s on it’s own, or you can use HifiBerry Digi+I/O hat on RPi4 if you like to use external spinner.

1 Like

I have an Apple SuperDrive USB CD/DVD player. So guess I need other options instead right? I think also some roon extensions support it.

I’ve tested Apple SuperDrive on macOS, been working fine for me. Since it doesn’t have eject button, disc needs to be ejected through software from macOS.

1 Like

So I just open HQplayer on my Mac and the CD player will be ready available. On source do I need to write any path? I think I tried drag and drop before and it didn’t work.

Will try this:

I tried using the browse for the CD, but HQplayer does not seem to be able to read it, also not able to read AIFF files, If I convert them to FLAC, is able to drop or browse and play.

Not really important as all my CD’s have been ripped

In settings you need to specify the CD drive’s device node, instructions are in the manual.

From source drop list you select “cd:” URI and hit enter to load it on playlist which loads contents of the disc. You can then start playback when the tracks appear.

AIFF files should work fine, at least they do for me. Log file would tell why HQPlayer doesn’t like those. (HQPlayer is pretty pedantic checking correctness of the header data against the actual file)

1 Like

My wired Apple keyboard has eject button. Not sure about newer keyboards

2 Likes

Talking about the online streaming services send to HQPlayer… here’s my solutions:

The main reason I choose HDMI device for streaming media is audio with Dolby Atmos becomes mainstream. But unfortunately those contents are not provided thru web. So the best platform is HDMI devices like Apple TV 4K, nVidia Shield Pro or HTPC.

Core of the idea is 1. using a Dolby Atmos (DD+ and TrueHD) decoder with AES67 output and 2. fully implementing AES67 AoIP.

The Dolby Atmos contents decoded as MCH LPCM then send to HQPlayer via AES67. You can do DRC using FIR or PEQ in HQPlayer, upsampling to DSD, then send to your preferred DACs (you can aggregate several 2ch USB DACs as one multichannel DAC over HQP-NAA structure).

Other option for DRC is send the decoded audio stream to computer-based Dirac Live first via AES67, then output to HQPlayer via AES67 as well. :wink:

4 Likes

Playing awesome!
I suggest these screenshots in the next manual :stuck_out_tongue_closed_eyes:

Thanks!!


3 Likes

Hi all,

Could use some help getting this working with my iPhone. This is my setup for testing purposes:

iPhone → USB C-to-C → RPi4 w/ Pi2AES HAT (as input NAA) → Ethernet → HQPlayer Desktop → Ethernet → RPi4 w/ Pi2AES HAT (as output NAA) → USB A-to-C → DAC

I’ve followed the instructions in this topic and everything works fine if I use my PC as the source (feeding the input NAA). But when I try using my iPhone it doesn’t work. It seems that the iPhone doesn’t “see” the input NAA as an output device. When I connect the iPhone to the input NAA and start playback, the music comes out of the phone speakers.

Any ideas what the problem could be? As mentioned above it works if I substitute the iPhone with a Windows PC (on the PC the input NAA appears as “Speakers HQPlayer”). I tried rebooting the iPhone but that didn’t help. It is a recent model (16 Pro Max) with the latest iOS installed.

Does iPhone output enough power to power RPi4?

I know my iPad does

Or are you powering iPhone + RPi4 via a powered hub ?