Jump to content
IGNORED

HQPlayer's Network Audio Adapter


Recommended Posts

I have just configured my linux NAA 3.0 on an intel DN2800MT board. I have an iFi iDSD micro so I'm trying to get to DSD512.

 

I've installed Ubuntu Server 14.04.1. Also libasound2. When I configure HQPlayer 3.6.0 (running on OS X 10.9) into non-DoP mode, it doesn't allow DSD. When I configure the NAA with DoP it allows DSD.

 

Is this a USB driver issue?

 

Did you also install my patched kernel (linux-image-lowlatency package) and libasound2 packages? Drivers are in the kernel and modified libasound2 is needed to add the new DSD sample formats to ALSA API.

 

You can find my modified packages for Ubuntu 14.04 here:

Index of /src/trusty

 

Essentially you need "libasound2", "libasound2-data", "linux-image-lowlatency" and possibly "linux-headers-xxx-lowlatency" packages for the architecture you are running on (i386 or amd64). You can install these packages using "sudo dpkg -i <package(s)>"

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
1) Mac mini with HQPlayer and NAA (Network Audio Daemon) installed

 

You can run both on the same machine, but there's no point in doing so. Only with two or more machines. You can have any mixture of OS between HQPlayer and NAA. If you have only one machine, you don't need NAA and you can just play locally as usual.

 

2) Mac mini sourcing data from QNAP or Synology NAS via wired ethernet

 

This should work, although I recommend testing it first with the trial version as there seems to be some performance issues using SMB/CIFS on OS X. You may have better performance with AFP or NFS, but I have not tested these.

 

3) Mac mini connected to one of the compatible DACs such as iFi or Marantz for non-DoP playback via USB

 

For non-DoP playback you need to have either Linux or Windows at the NAA side.

 

4) Controlling Mac mini on iPad using Safari browser using IP address/port for HQPlayer

 

This is not possible, but remote desktop clients should work.

 

I don't understand if NAA and HQPlayer have to be installed on separate devices.

 

It doesn't, but it is the only case that makes sense.

 

I also don't know if a basic Mac mini - 1.4GHz dual-core Intel Core i5 with 4GB of memory - is capable of converting the files to DSD128 without issues.

 

There's a free trial, I recommend trying it out to see! I think with the -2s filter variants it will work.

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
On, tried various buffer times, different modulators. Using poly-sinc-mp tried poly-sinc-mp-2s.

 

The stuttering isn't just once in a while, its continuous.

 

Hmmh, hard to say where the problem exactly could be. Every time output sampling rate is doubled, CPU load is doubled.

 

I just tested again, networkaudiod running on Linux PC and HQPlayer running on quad-core 3.2 GHz Core i5 27" iMac.

 

First period in the load plot is without pipeline SDM and there are occasional dropouts every now and then, later part in the plot after the no load period is with pipeline SDM and no dropouts at all:

Screen Shot 2015-01-21 at 10.32.24.png

 

Here are the settings (buffer time is set to "Default", this pre-release build has a bug on that part of the dialog):

Screen Shot 2015-01-21 at 10.34.05.png

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
I 'm still experimenting a dropout once in a while though I set buffer time to 50 ms and limit level by 3dB. you advised against pipeline (I have a quad core MBP) ; is it detrimental to the sound ?(my dropouts are brief, rare and not too disturbing)

 

General rule is to not use it if things work without (because it has some overhead). And that you need minimum quad-core when you enable it, otherwise it will just make things worse. So if you experience occasional dropouts and have a quad-core, you can try enabling it.

 

btw : what optimizations did you use to get down to 135 processes (i have even fewer but claimed optimization while you advised against).

 

Nothing at all, this is stock OS X 10.9 as it came pre-installed from Apple. I have added F-Secure anti-virus and exaSound & Mytek drivers (you can see related processes on the list).

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment

[*]Occasionally I have to restart the NAA v.3 daemon for it to show up in HQPlayer.

 

Which OS the NAA is on?

 

I have only one machine that is having some issues. My MacMini running Windows 8.1 tends to lose some of the discovery messages, so it is not always found. I updated the Broadcom NIC driver, but it didn't help much. It is also sometimes having issues finding SMB shares. I have not yet found root cause of this problem, but I will keep looking.

 

[*]I am upconverting everything to 2xDSD and every time a song starts or ends I hear a click, including the gaps between song. Is there a way for me to prevent that. The USB card in question is Amanero Combo384. I have tried both DSD7 and ASDM5.

 

What is the format of the two files where this transition problem between files happens?

 

[*]Is there a way to play everything in gapless mode?

 

Everything is gapless by default, except the special case when playing DSD files in playlist mode (as opposed to album mode). In this case, there's a bit of special processing performed to provide smooth transition between unrelated DSD tracks, but there may still be a slight click/pop on the transition depending on content.

 

[*]How do I play a playlist generated by JRiver?

 

You can save a playlist in m3u, m3u8 (recommended) or pls format and then open it in HQPlayer.

 

[*]Anyway to integrated Spotify/Tidal/Pandora with HQPlayer?

 

Here is one way described, not necessarily very easy one:

http://www.computeraudiophile.com/f11-software/hqplayer-friendly-way-and-stream-tidal-qobuz-spotify-23034/

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
Using your settings. Same problem. The stuttering happens multiple times/sec and seems to slow the tempo of the song down. There also seems to be some ringing. I've tried a few songs of different tempo to see if the tempo of the song interacts with the tempo of the stuttering. The stuttering mostly consists of gaps in playback (multiple x/sec) but the entire song seems to be played.

 

Now the only possibility I can think of is at the source side. Are you playing from a local HDD or from a NAS?

 

I have just released HQPlayer 3.6.1, so you could try with the updated version to see if it makes any difference. I've made some fixes and improvements here and there. First try setting buffer time to "Default" and then you can try different values starting from 100 ms if the default one doesn't behave.

 

What was the type of network interface at both sides? Some switch between? Ports are running at 1 Gbps at both ends?

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
The max rate I can get with PCM > SDM is 12288000 - even though I choose 22579200 in Preferences. In the main window of HQP, if I choose SDM, the drop down list for SDM sample rates only offers me 12288000 or less?

 

Is there something else I should have installed on the NAA side?

 

That limitation is due to DoP...

 

First I recommend switching over to Jessie (8.0). Fairly easy way to do it is to edit /etc/apt/sources.list and replace everywhere "wheezy" with "jessie". Then run "sudo apt-get update ; sudo apt-get upgrade" and you'll get quite many packages updated. You can then run "sudo apt-get autoremove" to remove old obsolete packages. Then just reboot, things should be now more recent.

 

Then get my custom kernel (linux-image, linux-headers) and libasound2 and libasound2-data packages from here:

Index of /src/jessie

 

Then you can disable "DoP" in the HQPlayer settings and you'll be able to play up to DSD512. Native DSD, no DoP involved.

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
I've created a 4 core 4gb RAM VMWare VM where I've installed Ubuntu Studio 14.04.1 and HQPlayer 3.6.1. Host is my OS X machine. This successfully outputs DSD512 -> NAA

 

So with the Linux under VM things work while the native OS X version doesn't? This is interesting... OS X has certain performance limitations, but it is interesting that the virtual machine would perform better than native. I'll have to look for approaches how to get around the certain OS X limitations with the native version.

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
It is interesting that when converting from PCM (under OS X) it does DSD512 successfully but stutters with DSD sources. I don't know the code paths but should narrow the issue down. I'll also try from my MBP which is running 10.10.1 -- are other folks trying to do this with OS X?

 

Performing DSP on DSD content is very resource intensive process. Is there notable CPU load increase in your machine with the DSD source case? If you enable the "DirectSDM" setting (default) then DSD sources go through unprocessed and there's only very minimal CPU load. "IIR" set as "Integrator" is usually also lighter on the CPU, but you can compare load and sound difference between IIR and FIR integrators.

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
Sigh ... it looks like all the times my system has "worked" with with DSD/DSF sources and DSD512 i.e. bitrate 22579200 that in fact "DirectSDM" has been checked and so the output has been ?DSD64. DSD512 does work with PCM sources. It doesn't appear that my CPU usage is higher with DSF sources (without DirectSDM). When source 24/192 and output 22579200, CPU% = 300% When source DSF(64) and output 22579200 (stutters) CPU = 220% :{

 

OK, so PCM sources work although total load is higher? I assume you have Pipeline SDM enabled?

 

Reason for this is that Pipeline SDM processing is not yet supported for DSD sources, it is only used for PCM sources. I believe it is time to add Pipeline SDM support also for DSD sources. I'll look into adding it to the next release (that would be probably 3.6.2).

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
Can't do XP as NAA if I'm not mistaken.

 

Yes, networkaudiod uses quite a bunch of Windows features that don't exist yet on XP.

 

As for VM with Ubuntu on Mac OS X, I tried this but I am getting "ALSA backend uninitialized' on launching networkaudiod. What am I doing wrong?

 

I don't think there's much point in running networkaudiod in a VM, because then you have load of two OS plus one extra layer of audio indirection.

 

One way is to install Ubuntu Trusty or Debian Jessie on a USB memory stick, then you don't need to modify anything on the Mac HDD.

 

There's a Mac specific Ubuntu 14.04.1 image here (amd64 is for the 64-bit Intel based Macs):

Ubuntu 14.04.1 LTS (Trusty Tahr)

 

For NAA, it is best to get started with the server image.

 

Mac hardware + Linux is not the easiest combination, but still possible.

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
  • 4 weeks later...
Do you have a debian arm package for v3 that I can download. I have all of my cubox setup and was running v2. I just need the v3 package now. I can't seem to find it in the download file structure.

 

I've been a bit busy and have not built it yet. First I need to patch the kernel I'm using on the Debian and also build updated alsa-lib... Some extra work to do which I haven't got to do yet. Fastest shortcut for CuBox-i is to use the full NAA OS image I provide.

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
  • 3 weeks later...
Is it possible to use custom ASIO drivers to make HIFACE EVO working in conjunction with NAA? i have the complete setup EVO+CLOCK+PSU connected I2s to AudioGD DAC...

 

M2Tech doesn't provide ASIO drivers for hiFace/Evo, but it should work with ASIO emulation using ASIO4ALL. Performance won't be as good as with a real ASIO driver, but at least should make things work.

 

hiFace/Evo should work fine with Linux-based NAA, because the driver is now officially part of Linux kernel.

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
I have noticed that NetworkAudiod.exe starts up conhost.exe.

What does conhost do? Does is it log?

Is it possible to start without console perhaps by adding a parameter?

 

It is a Windows component needed to handle console applications that don't have a GUI. If you modify Windows to run without GUI at all (same way as you can boot it to a command prompt mode) it is still possible to run the networkaudiod executable because it doesn't do any graphics. When Windows is in graphics mode, conhost is part of the system to handle text I/O of non-GUI application and turn it into graphics visible on the desktop. Windows cmd.exe is similar application.

 

Networkaudiod is not explicitly starting conhost, but it is automatically launched by Windows for console applications.

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
In WinServer core mode conhost.exe still runs.

 

Is it a problem? Can you shutdown the GUI altogether? That should make it go away.

 

Would it be possible, and perhaps convenient, to have networkaudiod as a Windows Service?

 

It would need some additional code to turn it into a service. It could also add some complications, but that's something that would become apparent only once it is tried out. One possible source of problems I can think of is that services are started before user is logged in.

 

On Linux it runs as a service, and on OS X it is also possible to launch it as a background service. So using networkaudiod with anything else than exaSound DAC (or others that simply don't work on Linux), I'd recommend going with Linux.

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
  • 2 weeks later...
Would love to know the time frame also.

 

Since it is a side project, it gets time allocation only when there's no pressing HQPlayer work going on. I have not yet decided balancing between performance expectations and complexity on some of the design areas. My older DCA1 AD/DA project ended up being 12x12" board with 1000+ components. I'm not sure I want to make DSC2 too bloated and leave some of the most fancy stuff to DSC3 or something like that...

 

Another question is will it work with Linux at higher resolution or should I be looking at windows.

 

Until Amanero provides drivers for other OS, Windows is needed for DSD256 and DSD512. The JLSounds board I plan to support as alternative is limited to DSD128. So this item is outside of my control.

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment

And I am able to ssh the NAA on my network (DHCP) and communicate remotely with it.

 

If you shutdown the background networkaudiod service ("sudo /etc/init.d/networkaudiod stop") and then just run "networkaudiod" from the command prompt, do you get any messages appearing when you start HQPlayer? It should print out information about discovery messages if it is able to receive those. If these don't appear, then the problem is network related.

 

sudo dpkg -i avahi-daemon

 

This is not needed, although it doesn't harm either.

 

I have looked for the logfile, which I expected here ~/.hqplayer

But this folder only contains desktop3-key.xml and HQPlayer.xml

 

You need to enable log file from HQPlayer Settings dialog and then restart HQPlayer to produce a full log. HQPlayer.log should then appear along with those files.

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
Miska, when this next occurred I took notice of the log file and NAA messages - it indicates that HQPlayer does not discover the NAA. But stopping and restarting the "networkaudiod" resolves it. Any ideas how can I resolve this please? Rob

 

There is probably some error happening at the NAA side. So running the networkaudiod from command line so that you get the trace output could help as it may spit out information about the error when it happens.

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
Miska, when HQPlayer does not detect my DAC, then running sudo networkaudiod causes HQPlayer to detect my DAC as soon as I enter Preferences. It seems that I must manually run the command sudo networkaudiod in order for messages to be output to the screen.

 

When running as a background service, networkaudiod output is suspended on purpose.

 

But I have found that every time I do run this command, then HQPlayer successfully detects my DAC with no intervention by me.

So how do I get to see the NAA messages without manually starting networkaudiod?

It leads me to think that the NAA is not automatically starting networkaudiod, and I must do it manually.

 

When you have first booted up the system, you can check with "ps xa | grep networkaudiod" if it is already running. If not, you can try to re-enable the background service with "sudo update-rc.d networkaudiod defaults".

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
Miska, this is what I have tried ...

 

Start Mac Mini, wait 2 minutes, then start NAA. Login to the NAA and enter …

music@naa:~$ ps xa | grep networkaudiod

2322 pts/0 S+ 0:00 grep networkaudiod

 

Then start HQPlayer - NAA not discovered …

music@naa:~$ ps xa | grep networkaudiod

2324 pts/0 S+ 0:00 grep networkaudiod

 

Here the networkaudiod is not running, process listing only shows the grep command looking for it...

 

2330 pts/0 S+ 0:00 sudo networkaudiod

2331 pts/0 S<+ 0:00 networkaudiod

 

Here it is running as being manually started...

 

Restarted the Mac Mini again, then restarted the NAA.

Then start HQPlayer - NAA not discovered …

music@naa:~$ ps xa | grep networkaudiod

2368 pts/0 S+ 0:00 grep networkaudiod

 

Only very occasionally is the NAA is detected without my intervention.

 

Again, it is not running for some reason... In Jessie, Debian has recently switched over from original init system to systemd which should be compatible with the original init scripts. But I probably have to look into making a systemd service file for networkaudiod instead of init script. Ubuntu is still using original init-compatible system (upstart).

 

You can manually launch it in the background with "sudo /etc/init.d/networkaudiod start". If it is not a problem, you could just leave the NAA machine running.

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...