Jump to content
IGNORED

HQplayer the friendly way (and stream Tidal, Qobuz, Spotify...)


hifi25nl

Recommended Posts

There's the search entry at top, although it needs virtual keyboard for using it. Scroll-bar is probably doable in couple of different ways, I will check it out. Challenge with alphabet jump list is that it is hard to implement sensible and consistent way with Unicode. Large part of world is using other than Latin characters and many people have albums with metadata in various different languages.

 

 

 

Now it's two taps, one tap selects the album and returns to the play view and second tap on the play-button begins playback.

 

This last point is an issue because the screen changes to play view and it is difficult to get it back to album cover view on a mobile device. For Fullscreen view to be easy to use on a mobile device you need to be able to operate stop and play from the album cover screen.

 

Many thanks for looking into changes in Fullscreen view.

Regards

Carl

Link to comment
2.3 is old spec, what I pasted was from 2.4 spec:

id3v2.4.0-frames - ID3.org

 

I think it is. So how would you map the tags defined by ID3 into two fields Artist and Performer?

 

So again, the logic in pseudocode is:

 

if TCOM exists then TCOM is Artist

else TPE1 is Artist

 

if TCOM exists then TPE1 is Performer

else if TPE2 exists then TPE2 is Performer

else TPE3 is Performer

 

What part here is the problem?

 

I don't know why they choose so, because I don't have concept of "Album artist" and not planning to, because none of the supported metadata specifications have such.

 

Remember that in case of HQPlayer you have just too items to express people involved: Artist and Performer. What ever is in the files, needs to be mapped to these two. One way or the other.

 

Maybe not-compliant is not the correct word as long as you don't modify the track tags in any way. I was mostly referring at the way that the info is used to group the albums and displaying them with the correct info.

Why you consider TCOM in your logic? TCOM is clearly defined to store the Composer information. For most of the genres is not used at all (not that should not be) very often you could not find this info in the Album coverart when you buy a record (CD, LP...) of other genres than classical. It is relevant only for the classical music. I use it regularly for my classical albums.

Grouping the tracks in albums based (as per the first part of your pseudocode) on this it will be wrong. For instance all the album of classical music composed by Ludwig van Beethoven will become an album or listed under his name? Anyhow HQP is not doing that as I have a lot of albums with Composer tag filled and they were not grouped together.

I mentioned before that I don't know why the Album artist is used as it is. I do not know even if all the other media players, tag editor, ripping tools, metadata providers are mapping this internally to TPE2. I only suppose that they do because of the info available everywhere (some links I've provided already but could be easy,y "googled") and because using it for really long time was working flawlessly with different software. I used Winamp, Foobar, MP3tag, WMP, Audirvana, KID3 (tag editor for MAC), Musicbrainz, Handbrake and Max (CD rippers for MAC). Switching betwen players was never a problem, the library was always displayed consistently correctly. Of course I'm speaking about the cases were the Album artist is different from the artist that perform the track. I will try to give some examples:

1. Santana - Guitar Heaven: The Greatest Guitar Classics of All Time

is an Santana album where each track is performed by Santana and another artist. First track is a by Santana & Chris Cornell.

The album artist as listed anywhere is SANTANA now in other software is displayed as Santana album, in HQP is grouped under Santana & Chris Cornell. Not a big problem as long as the artist list in HQP is alphabetical so will be in the vicinity of Santana albums but still not correct.

2. Any compilation album doesn't have actually an Artist attributed to the album being a collection of different artists tracks. Normally the practice is to have it as VA or Various Artists or Various as Album artist. I use VA. In all other software these albums are easily found under VA "artist" in HQP they are spreader along the library as the album will be listed under the first track Artist. Very difficult to locate as not many people have will remember who is performing the first track.

3. There are Classical albums shared by 2 artists each performing a concert. Both are credited as Album Artist and I use accordingly in tags. In all other players will the album is correctly listed/displayed as both artist's album in HQP will be attributed to the artist that is performing the first track.

I didn't make these rules or practice and I didn't say that is correct or not. I only say that it is how things are for many years, how all the other programs are using it and I must say that the result is CORRECT! All the albums are correctly grouped and displayed.

If will be to make a logical assumption in a very simplistic way I think that the base logic that all these programs are using looks like:

If TPE2 exist USE TPE2 as ALBUM Artist Else If TPE1 exist Use TPE1 Else Use TPE3.

As TPE1 always exit and is widely use as Track Artist HQP is always using it to group the albums under same TPE1 name.

What I was saying until now is that the general practice is to use TPE2 first and if missing then using TPE1. If you don't like the Album Artist name you can call it however you want but, at least according to the links that I already provided, all other major software are doing like that and the result is that along the years users organized their libraries in that way. They did not know what are the specs of ID3V2 or Vorbis comments or other conventions. They just use the ALBUM ARTIST field that was provided in all mentioned software and probably more. (If you don't believe check and you will see that all have Album Artist field.)

If you want or not to use it in this way of course is your choice but this will not change the way that for years the tag were used and Music libraries organized.

 

For the rest I'm sorry that you didn't catch my point but I must to admit that I'm far from having any skills in written and anyhow here is for sure not the place to do it. I was just trying to be friendly and maybe helpful providing a POV from the other side.

Link to comment
Why you consider TCOM in your logic? TCOM is clearly defined to store the Composer information. For most of the genres is not used at all (not that should not be) very often you could not find this info in the Album coverart when you buy a record (CD, LP...) of other genres than classical. It is relevant only for the classical music. I use it regularly for my classical albums.

 

Precisely because it is vital information for classical music. That's why there's the check for it's existence as first thing and if it exists, then it is used accordingly.

 

Grouping the tracks in albums based (as per the first part of your pseudocode) on this it will be wrong. For instance all the album of classical music composed by Ludwig van Beethoven will become an album or listed under his name?

 

Since the tree is 3-layer, at top level grouped under composer (artist) and at second level under orchestra/conductor (performer) and then the work (album).

 

I do not know even if all the other media players, tag editor, ripping tools, metadata providers are mapping this internally to TPE2.

 

I don't really care what other media players do, I don't like any of the other players and that's why I created my own. HQPlayer is not trying to be "yet another media player". If it would be, nobody would be using it, if it was just like every other player.

 

The album artist as listed anywhere is SANTANA now in other software is displayed as Santana album, in HQP is grouped under Santana & Chris Cornell. Not a big problem as long as the artist list in HQP is alphabetical so will be in the vicinity of Santana albums but still not correct.

 

Sounds correct to me. Remember that you can non-destructively edit this data in the library dialog if you like. The source files won't be modified and the changes are only stored in HQPlayer.

 

2. Any compilation album doesn't have actually an Artist attributed to the album being a collection of different artists tracks. Normally the practice is to have it as VA or Various Artists or Various as Album artist. I use VA. In all other software these albums are easily found under VA "artist" in HQP they are spreader along the library as the album will be listed under the first track Artist. Very difficult to locate as not many people have will remember who is performing the first track.

 

For me it works like this, since the ARTIST tag in FLAC is set to "Various".

 

3. There are Classical albums shared by 2 artists each performing a concert. Both are credited as Album Artist and I use accordingly in tags. In all other players will the album is correctly listed/displayed as both artist's album in HQP will be attributed to the artist that is performing the first track.

 

These are better split into two directories, or then you can edit the data in Library view if you prefer to show something else than the default info from the first track.

 

If TPE2 exist USE TPE2 as ALBUM Artist Else If TPE1 exist Use TPE1 Else Use TPE3.

 

Again, there is no "album artist" in HQPlayer. Only Artist and Performer.

 

As TPE1 always exit and is widely use as Track Artist HQP is always using it to group the albums under same TPE1 name.

What I was saying until now is that the general practice is to use TPE2 first and if missing then using TPE1.

 

And what is supposed to go to Performer in your opinion?

 

They did not know what are the specs of ID3V2 or Vorbis comments or other conventions.

 

They should learn...

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
This last point is an issue because the screen changes to play view and it is difficult to get it back to album cover view on a mobile device. For Fullscreen view to be easy to use on a mobile device you need to be able to operate stop and play from the album cover screen.

 

It is supposed to be easy, given that gestures are handled correctly. The problem is that you are not running HQPlayer on a mobile device as it has been designed, and the remote control system you are using is not passing gestures through correctly. The way to switch between views is exactly the same as on iOS and Android home screens, with horizontal swipe. If you would be remote controlling iOS or Android device through the same system you would be having exact same difficulties.

 

If someone is willing to spend time doing stuff, the entire full screen mode GUI can be redone without any changes to HQPlayer itself (it is possible to load alternative full screen mode GUI implementation).

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment

I don't know if my explanations or my English is too bad but it seem that you understand in your particular way what I'm saying:

Precisely because it is vital information for classical music. That's why there's the check for it's existence as first thing and if it exists, then it is used accordingly.

 

Since the tree is 3-layer, at top level grouped under composer (artist) and at second level under orchestra/conductor (performer) and then the work (album).

 

I have already said that I am using and I consider important. My point is that must not be the leading criteria to arrange your library. Fortunately for most of the tracks nobody is use it. Think about if the Pop, Rock, Soul etc will have the compositor name stored. All the albums will be broken in your view. Even for classical Music the Composer is not the Artist! there are hundreds or thousands of Artist having records of let say a Beethoven Concert many times on the same album there are works of other composers. The most correct (in my opinion) is to preserve the structure of the Album by the artist name credited for the alum and not by composer.

 

I don't really care what other media players do, I don't like any of the other players and that's why I created my own. HQPlayer is not trying to be "yet another media player". If it would be, nobody would be using it, if it was just like every other player.

 

I didn't ask you to like another player or that HQP to be "another media player" even if I don't see what else could be :). Finally it is another media player. I was just mentioning that is a consistency in how the tag information is used. This, in time, was modeling how the users are organizing their libraries. If you just disregard all this just for the sake of doing differently and you don't care of the users existing libraries organization what could I say. Nothing of course.

 

Sounds correct to me. Remember that you can non-destructively edit this data in the library dialog if you like. The source files won't be modified and the changes are only stored in HQPlayer.

 

I said already, functionally is not a big problem since the result is being close to other listings of the original artist but I don't know how it looks correct to you that the album is credited officialy to one artist and in HQP is listed to the other also just for the fact that happens that this second artist if performing on the first track !?

 

For me it works like this, since the ARTIST tag in FLAC is set to "Various".

 

??? The Artist tag is set to the actual artist name performing the Track on a multi artist performing album! The Various is for the Album Artist that you refuse to take into account! You suggest to change the Artist tag on all the tracks of compilation albums to "Various" ?

I must admit that I don't understand your reply. At least here I thought that clearer than how I've explained is not possible but...

 

 

These are better split into two directories, or then you can edit the data in Library view if you prefer to show something else than the default info from the first track.

??? Why to split an album in two? The album was produced like that, many times following an artistic goal. Why on earth to do this?

 

Again, there is no "album artist" in HQPlayer. Only Artist and Performer.

 

And what is supposed to go to Performer in your opinion?

 

It seems that you have a problem with Album Artist" as a text string.:). This is why I've tried to avoid as much as possible the term using the ID3V2 terms and using the "AA" only to highlight the final purpose (I even said that you can call it however you want). Thinking in compliance what do you mean by performer: the TPE1 or TPE3? they have different purposes. First is the equivalent of the main/lead Artist and currently is used for the Artist performing the track (software or hardware media players) the TPE3 is defined as being for the Conductor/or accompanying performer. This is widely unused. As I said already several times I don't know why but is like that.

By the way why you are jumping from TPE1 to TPE3 totally disregarding TPE2, despite the fact that TPE2 is also widely used as opposed to TPE3?

 

No matter what if you really have the intention to understand what I was willing to say in all my posts please keep your mind open, read it carefully (I take all possible apologies for my writing) and if you discover at least one of many good intentions that I've tried to transmit it will be still a good thing.

 

They should learn...

 

Maybe Yes... But then they will need to learn also about the IEC Standards if they want to turn on the light, Screw, nuts, or other mechanical parts ISO or DIN or whatever standards exists if they want to ride their bike, then learn about the International rules and regulations dealing with the ship safety and stability in case if they want cruising and if they want to drive their cars to study in detail the functioning principles of the internal combustion engines and ......so on. I suppose that you know already all of these and even more.

Letting the joke aside they were just using a Media player. I don't suppose that if they need to play a movie they need to learn about the all the standards, convention and algorithms that make these possible! For all those, developers like you and others, engineers like me and others and any other kind of professional exist. Me personally I wish I could do it but frankly speaking the life is finally too short in order to learn all that I wish.

I must say in the end that your last reply was more than clear (with all the above question marks included that beg to be ignored and treated as rhetorical ones). It was a really long time spent without o conceivable result.

 

Other than that and despite of all what was discussed, your software is sounding good and the NAA is, for the moment, a unique feature.

Link to comment
Even for classical Music the Composer is not the Artist!

 

Of course they are, they are the artist who created the work. Rest are just performing it.

 

there are hundreds or thousands of Artist having records of let say a Beethoven Concert many times on the same album there are works of other composers.

 

They are the performers.

 

The most correct (in my opinion) is to preserve the structure of the Album by the artist name credited for the alum and not by composer.

 

That may be the part we don't agree about. If I want to hear Mahler, it is secondary in importance who played (performed) it.

 

I said already, functionally is not a big problem since the result is being close to other listings of the original artist but I don't know how it looks correct to you that the album is credited officialy to one artist and in HQP is listed to the other also just for the fact that happens that this second artist if performing on the first track !?

 

They should be categorized as performers anyway. But overall, there is no shortcut for representing albums that are more or less random collection of stuff.

 

??? The Artist tag is set to the actual artist name performing the Track on a multi artist performing album!

 

In album view there can be only one "artist" item and one "performer" item visible.

 

The Various is for the Album Artist that you refuse to take into account!

 

Because there is no such thing in the specs in first place. I don't have any problems with my FLACs, and yeah they don't have any ID3 tags at all. Internal representation in HQPlayer matches the minimum default set specified in Vorbis comments spec.

 

You suggest to change the Artist tag on all the tracks of compilation albums to "Various" ?

 

Yes, or alternatively you can just edit the info in HQPlayer, no need to change the tags in files.

 

??? Why to split an album in two? The album was produced like that, many times following an artistic goal. Why on earth to do this?

 

It all depends on how you want to structure it. At least what I've been in live performances there's even typically 30 minute break between the different works. So splitting would make sense. The orchestra rarely plays two different works in row gaplessly.

 

It seems that you have a problem with Album Artist" as a text string.:). This is why I've tried to avoid as much as possible the term using the ID3V2 terms and using the "AA" only to highlight the final purpose (I even said that you can call it however you want). Thinking in compliance what do you mean by performer: the TPE1 or TPE3? they have different purposes. First is the equivalent of the main/lead Artist and currently is used for the Artist performing the track (software or hardware media players) the TPE3 is defined as being for the Conductor/or accompanying performer. This is widely unused.

 

Yeah, so I find my mapping completely logical:

TPE1 -> Artist

TPE2 -> Performer (and if TPE2 doesn't exist, then TPE3 becomes performer)

 

Only exception to this rule is when TCOM exists, then TCOM -> Artist and TPE1 -> Performer. Still sounds logical to me.

 

 

As I said already several times I don't know why but is like that.

By the way why you are jumping from TPE1 to TPE3 totally disregarding TPE2, despite the fact that TPE2 is also widely used as opposed to TPE3?

 

I am not, TPE2 is primary mapping to Performer as long as TCOM doesn't exist. TPE3 is secondary mapping to Performer in case neither TCOM nor TPE2 exists.

 

Since the spec says (emphasis is mine)

TPE2

The 'Band/Orchestra/Accompaniment' frame is used for additional

information about the performers in the recording.

I think it is pretty clear to map this to Performer.

 

In case TCOM exists (emphasis is mine)

TPE1

The 'Lead artist/Lead performer/Soloist/Performing group' is

used for the main artist.

I think it is clear to map this to Performer in such case and otherwise to Artist.

 

This is the arrangement I ended up with after earlier discussions with people listening to classical music. And this has been working fine with the downloads I have purchased too. Although most of my downloads are FLACs and thus use Vorbis comments instead of ID3 tags.

 

So far I've been hearing that other players do wrong stuff with classical music.

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
  • 1 month later...

I almost have hqplayer embedded fully working.

 

on my ubuntu16 linux NUC, i followed the beginning of the thead and opened two windows, ran 'hqplayerd' in one and 'rygel' in the other.

i select hqplayer as my renderer in bubble upnp on my android phone, and select my minimserver for the library.

 

the only problem is that the playback goes to my ALSA on the NUC, not to the NAA residing on my microRendu.

 

if i run the hqplayer desktop on the NUC, i can select either ALSA or NAA and it works fine.

i copied the configuration from hqplayer desktop into the hqplayerd config.

 

is there a way to make NAA the preferred default instead of ALSA?

do i delete the ALSA information so there is no other place for the renderer to point to?

 

feel like i'm very close now...........

Link to comment

 

is there a way to make NAA the preferred default instead of ALSA?

do i delete the ALSA information so there is no other place for the renderer to point to?

 

feel like i'm very close now...........

 

You should use something like this as hqplayerd.xml in HQPlayer configuration folder.

 

<?xml version="1.0" encoding="UTF-8"?>
<xml>
<output type="network"/>
<engine cd_drive="/dev/sr0" channels="2" direct_sdm="0" fft_size="512" type="network" volume_limit="0" volume_min="-60">
	<alsa channel_offset="0" dac_bits="0" device="hw:0,0" dualwire="0" pack_sdm="0" period_time="100"/>
	<network address="default" dac_bits="0" device="hw:0,0" dualwire="0" pack_sdm="0" period_time="100"/>
	<transport dsd_6db="1" pdm_conv="5" pdm_filt="0"/>
</engine>
<pcm filter="9" dither="2" samplerate="96000"/>
<sdm oversampling="3" modulator="2" bitrate="11289600"/>
<mode value="pcm"/>
<title value="NET"/>
<log enabled="1" file="/tmp/hqplayerd.log"/>
<mime>
	<type value="audio/ogg"/>
	<type value="audio/vnd.wave"/>
	<type value="audio/L24"/>
</mime>
</xml>

AudioLinux --> https://www.audio-linux.com

developer of AudioLinux realtime OS

Link to comment
You should use something like this as hqplayerd.xml in HQPlayer configuration folder.

 

<?xml version="1.0" encoding="UTF-8"?>
<xml>
<output type="network"/>
<engine cd_drive="/dev/sr0" channels="2" direct_sdm="0" fft_size="512" type="network" volume_limit="0" volume_min="-60">
	<alsa channel_offset="0" dac_bits="0" device="hw:0,0" dualwire="0" pack_sdm="0" period_time="100"/>
	<network address="default" dac_bits="0" device="hw:0,0" dualwire="0" pack_sdm="0" period_time="100"/>
	<transport dsd_6db="1" pdm_conv="5" pdm_filt="0"/>
</engine>
<pcm filter="9" dither="2" samplerate="96000"/>
<sdm oversampling="3" modulator="2" bitrate="11289600"/>
<mode value="pcm"/>
<title value="NET"/>
<log enabled="1" file="/tmp/hqplayerd.log"/>
<mime>
	<type value="audio/ogg"/>
	<type value="audio/vnd.wave"/>
	<type value="audio/L24"/>
</mime>
</xml>

 

thank you.

i will copy your <engine> part and see if that works.

Link to comment
thank you.

i will copy your <engine> part and see if that works.

 

 

i found that once you edit the CORRECT xml file, good things are possible.

i tried your xml file, and when it didn't work (bad) and i couldn't find any sign of a log file (a clue, as blue would say), I realized i had been editing the wrong xml file. as some instructions point out, there is a hierarchy of xml file locations that will be searched. i was not editing the right one.

 

hopefully i can wrap it up in the morning.

 

thanks!

Link to comment
  • 2 weeks later...
You should use something like this as hqplayerd.xml in HQPlayer configuration folder.

 

<?xml version="1.0" encoding="UTF-8"?>
<xml>
<output type="network"/>
<engine cd_drive="/dev/sr0" channels="2" direct_sdm="0" fft_size="512" type="network" volume_limit="0" volume_min="-60">
	<alsa channel_offset="0" dac_bits="0" device="hw:0,0" dualwire="0" pack_sdm="0" period_time="100"/>
	<network address="default" dac_bits="0" device="hw:0,0" dualwire="0" pack_sdm="0" period_time="100"/>
	<transport dsd_6db="1" pdm_conv="5" pdm_filt="0"/>
</engine>
<pcm filter="9" dither="2" samplerate="96000"/>
<sdm oversampling="3" modulator="2" bitrate="11289600"/>
<mode value="pcm"/>
<title value="NET"/>
<log enabled="1" file="/tmp/hqplayerd.log"/>
<mime>
	<type value="audio/ogg"/>
	<type value="audio/vnd.wave"/>
	<type value="audio/L24"/>
</mime>
</xml>

 

i see you have

 

device="hw:0,0"

 

for both the alsa and network devices. mine are hw:1,0 and hw:0,0 respectively.

 

i still get hqplayer desktop working fine to my mRendu but with hqplayerd, i only get sound from the alsa speaker output on my nuc.

 

i am using the exact same xml config file, copied from HQPlayer.xml to hqplayerd.xml in ~/.hqplayer/ directory

 

<xml><engine auto_family="0" cd_drive="/dev/sr0" channels="2" cuda="0" direct_sdm="1" fft_size="512" pipeline_sdm="0" sdm_integrator="0" type="network" volume_limit="0" volume_min="-60">
<alsa channel_offset="0" dac_bits="0" device="hw:1,0" dualwire="0" pack_sdm="0" period_time="0"/><defaults bitrate="2822400" dither="0" filter="0" modulator="6" oversampling="6" samplerate="192000"/>
<network address="default" dac_bits="0" device="hw:0,0" dualwire="0" ipv6="0" pack_sdm="0" period_time="0"/><speakers enabled="0"><speaker channel="0" distance="0" level="0"/><speaker channel="1" distance="0" level="0"/><speaker channel="2" distance="0" level="0"/><speaker channel="3" distance="0" level="0"/><speaker channel="4" distance="0" level="0"/><speaker channel="5" distance="0" level="0"/><speaker channel="6" distance="0" level="0"/><speaker channel="7" distance="0" level="0"/></speakers><transport dsd_6db="0" pdm_conv="5" pdm_filt="0"><directory album="WAV" artist="Music" path="/home/m/Music/WAV" performer=""/></transport></engine><interface full_screen="0"/><log enabled="1" file="/tmp/hqplayerd.log"/></xml>

 

another clue:

when i run hqplayerd, my log file shows NO network discovery, even though engine type="network" in the xml config file

compare these two log files (hqplayerd vs. hqpalyer desktop). with hqplayer desktop, i see a network discovery which returns the mRendu parameters from the network.

 

so why would network discovery not run under hqplayerd but run ok under desktop?

it seems that hqplayer desktop is setting engine to 'network' while hqplayerd is setting it to 'alsa' for some reason, using the same xml config file.

 

(hqplayerd.log)

2016/08/30 11:23:08 Engine starting...

2016/08/30 11:23:08 libDSP version 17.1.0

2016/08/30 11:23:08 Audio engine: alsa

2016/08/30 11:23:08 asoundlib version: 1.1.0

- 2016/08/30 11:23:08 ALSA backend uninitialized

2016/08/30 11:23:08 Set channels: 2 (2)

2016/08/30 11:23:08 ALSA device: hw:1,0

2016/08/30 11:23:08 ALSA access mode: 3

2016/08/30 11:23:08 ALSA PCM format: S32_LE

2016/08/30 11:23:08 ALSA PCM bits: 32

2016/08/30 11:23:08 ALSA PCM physical width: 32

2016/08/30 11:23:08 ALSA PCM rates: 44100 - 192000

2016/08/30 11:23:08 ALSA DSD not supported

2016/08/30 11:23:08 ALSA rate available: 44100

2016/08/30 11:23:08 ALSA rate available: 48000

2016/08/30 11:23:08 ALSA rate available: 96000

2016/08/30 11:23:08 ALSA rate available: 192000

+ 2016/08/30 11:23:08 ALSA backend initialized

2016/08/30 11:23:08 Volume limit: 0

2016/08/30 11:23:08 Automatic rate family disabled

2016/08/30 11:23:08 DirectSDM enabled

2016/08/30 11:23:08 Pipeline SDM disabled

2016/08/30 11:23:08 SDM conversion parameters (5, 0)

2016/08/30 11:23:08 DSD 6 dB gain disabled

2016/08/30 11:23:08 Initial parallel threads: 4

2016/08/30 11:23:08 Number of logical cores: 4

& 2016/08/30 11:23:08 Set transport (240):

2016/08/30 11:23:08 Set filter: 0

2016/08/30 11:23:08 Set dither: 0

2016/08/30 11:23:08 Set oversampling: 6

2016/08/30 11:23:08 Set modulator: 6

2016/08/30 11:23:08 Requested output rate: 192000

2016/08/30 11:23:08 Set sampling rate: 192000 (192000)

+ 2016/08/30 11:23:08 Engine running

& 2016/08/30 11:27:40 Play next URI: http://192.168.1.99:9790/minimserver/*/Music/Music2-flac/Music/Broadway/Wicked/1*20-*2001*20-*20No*20One*20Mourns*20the*20Wicked.flac/$!transcode.wav

& 2016/08/30 11:27:40 Play

+ 2016/08/30 11:27:40 Playback engine running

2016/08/30 11:27:40 Set sampling rate: 44100 (44100)

2016/08/30 11:27:40 Rate or blocksize change triggered

2016/08/30 11:27:40 Rate: 44100, block size: 4704, frame size: 588

2016/08/30 11:27:40 Block size: 4704 (sample: 4)

2016/08/30 11:27:40 Playback engine ratio: 1

2016/08/30 11:27:40 Dither: none for 32-bit

2016/08/30 11:27:40 Channel 0 delay 0 samples, gain 1

2016/08/30 11:27:40 Channel 1 delay 0 samples, gain 1

2016/08/30 11:27:40 Multichannel speaker processing disabled

2016/08/30 11:27:40 Initialization complete, starting audio engine

+ 2016/08/30 11:27:40 ALSA engine starting...

2016/08/30 11:27:40 ALSA channels: 2 - 2

2016/08/30 11:27:40 ALSA active channels: 2

2016/08/30 11:27:40 ALSA number of periods: 2

2016/08/30 11:27:40 ALSA period times: 362 - 92880

2016/08/30 11:27:40 ALSA period sizes: 16 - 4096

2016/08/30 11:27:40 ALSA period time: 10000

2016/08/30 11:27:40 ALSA period size: 441

+ 2016/08/30 11:27:40 ALSA engine started at: 44100 (44100)

2016/08/30 11:27:40 Parallel threads: 4

2016/08/30 11:27:40 Nested parallelism: 0

2016/08/30 11:27:40 Parallel pipelines: 2

# 2016/08/30 11:27:40 Failed to set scheduling parameters: (1) Operation not permitted

+ 2016/08/30 11:27:40 ALSA engine running...

Link to comment
when i run hqplayerd, my log file shows NO network discovery, even though engine type="network" in the xml config file

 

Try putting the "output" element to the config file, as @hifi25nl also seems to have:

<output type="network"/>

 

2016/08/30 11:23:08 Audio engine: alsa

 

Here it is directly visible, ALSA backend is the active one.

 

 

Hint: You can make the edits to the HQPlayer.xml, it shouldn't get upset by the extra stuff and it shouldn't loose those either. This makes it easier to modify the configuration later using HQPlayer...

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment
Try putting the "output" element to the config file, as @hifi25nl also seems to have:

<output type="network"/>

 

 

Here it is directly visible, ALSA backend is the active one.

 

 

Hint: You can make the edits to the HQPlayer.xml, it shouldn't get upset by the extra stuff and it shouldn't loose those either. This makes it easier to modify the configuration later using HQPlayer...

 

 

Eureka! That did it, I just needed to add the line

<output type="network"/>

 

Beautiful music is now pouring out of my system and I'm not doing anything except moving the renderer off of the mRendu.

 

Thank you for your help (and patience) Miska!

Link to comment
  • 1 month later...

system here:

hqplayerd + rygel running on ubuntu (renderer)

bubbleupnp on android (control point)

uRendu in NAA mode

minimserver on Netgear NAS

 

i'm wondering what a reasonable expectation is for response time.

it seems there is a couple of second delay before a track that is playing stops

 

with the uRendu in upnp/dlna renderer mode, the bubbleupnp-minimserve-uRendu combination is much faster, so it appears that adding hqplayerd/rygel PC link slows the system response.

 

any idea why or if i can do anything to make the response snappier?

Link to comment

one more thing that may be related.

when i select an album/folder to play, when the songs change bubbleupnp has a pop-up notification "701 transition not available".

the next song does play, but the 701 message happens each time.

from a brief search, it seems that 701 message may be related to sending a stop message to the renderer while the queue is empty.

Link to comment
  • 1 month later...
You were right. Starting from the HQPlayer Desktop config file I got it working.

 

Still, in my Debian Stretch system after following the instructions in Signalyst - Installing HQPlayer Embedded I did not get it to work because rygel and hqplayerd did not start properly, I have no idea why. It is working now but I have to execute "manually" hqplayerd and rygel after the OS starts up. It does not bother me at all because I do it using "Cluster snippets"/"JuiceSSH" apps from Android which is very convenient.

 

hi @victor

i am also manually starting hqplayerd and rygel.

can you explain/walk me through/share your technique with JuiceSSH/ClusterSnippets?

do you have a couple of specific scripts written to shut down/start up the two processes?

thanks

Link to comment
hi @victor

i am also manually starting hqplayerd and rygel

can you explain/walk me through/share your technique with JuiceSSH/ClusterSnippets?

do you have a couple of specific scripts written to shut down/start up the two processes?

thanks

 

Hi,

 

First of all you need to add a user and server (HQPlayer PC) to JuiceSSH.

 

Then you create snippets in "Cluster snippets" and you just run them selecting the HQPlayer PC server. Example of snippets that I use (you need to remove the " character but keep the empty line at the end of each snippet):

 

- Start hqplayerd&rygel:

"/etc/session.d/user-session &

exit

"

 

- Re-start hqplayerd (I need to do it from time to time):

"ps -ef | grep hqplayerd | grep -v grep | awk '{print $2}' | xargs -r kill -9

ps -ef | grep rygel | grep -v grep | awk '{print $2}' | xargs -r kill -9

/etc/session.d/user-session &

exit

"

 

- Change to specific hqplayer configuration (using a new hqplayerd.xml file and then stopping hqplayerd&rygel and re-starting them)

"cd /etc/hqplayer

cp hqplayerd.xml.PCM.polysincminshort hqplayerd.xml

ps -ef | grep hqplayerd | grep -v grep | awk '{print $2}' | xargs -r kill -9

ps -ef | grep rygel | grep -v grep | awk '{print $2}' | xargs -r kill -9

/etc/session.d/user-session &

exit

"

 

Cheers

Link to comment
  • 2 weeks later...

thanks victor.

i have juice running on my android phone now.

i particularly like the snippet to change hqplayer configurations.

 

by the way, you can replace the long line to stop hqplayerd with "pkill -f hqplayerd"

 

also, i've recently installed upplay on my linux laptop as a substitute for bubbleupnp on my android phone.

for some reason i have yet to determine, bubble will sometimes lose connection to the hqplayerd renderer and change to the local renderer on the phone, sometimes in the middle of playing music...........when i go in and re-select the hqplayer renderer, it again works.

have you ever seen this?

Link to comment

You may end up in problems if you "kill -9" the hqplayerd process. It listens to INT and TERM signals. So you could "kill -TERM" it instead to get it down nicely and clean up itself. Same goes for Rygel.

 

Btw, why don't you guys use tlm and systemctl for dealing with these things like in my example?

 

It is then simpler to "systemctl stop tlm" to stop the entire thing and "systemctl start tlm" to start it again. And of course with "systemctl enable tlm" everything comes up nicely at boot and shuts down properly at shutdown. My headless machine works this way, I just press power button to boot it up, it takes about 3 seconds. And short-press power button again to trigger ACPI event to bring it down, which takes 1 second. No need to SSH there or anything.

 

P.S. And if something doesn't start properly, "journalctl -a" is your friend to see why, or alternatively just for example "systemctl status tlm".

Signalyst - Developer of HQPlayer

Pulse & Fidelity - Software Defined Amplifiers

Link to comment

new observation:

running hqplayerd/rygel on intel5i7 NUC, gigabit lan to microRendu to TotalDAC D1-dual, music from minimserver on QNAP, all files WAV

 

with bubbleupnp controller on android phone, not quite gapless (~1sec gaps).

with upplay controller on linux laptop, perfectly gapless.

Link to comment
  • 1 month later...
Btw, why don't you guys use tlm and systemctl for dealing with these things like in my example?

 

I tried it but I didn't succeed: http://www.computeraudiophile.com/f11-software/hqplayer-friendly-way-and-stream-tidal-qobuz-spotify-23034/index2.html#post547973

 

 

 

Thanks for the tips, I'll try them as soon as I manage to fix the current issue: With the intention to try native DSD (as oposed to DOP) I upgraded all SW components in my system. Now I have:

- HQPlayer version: 3.4.2 (in micro Rendu)

- hqplayerd version 4.0.0a8-8

- tlm version 1.2.0-1

- rygel version 0.32.1-1

 

After the updates I cannot keep hqplayerd running anymore. The hqplayerd log seems OK (see log at the end of the post) but the process stops automatically after it starts.

 

Could you please give me some directions to find out where the root of the issue might be? Is there a way to run hqplayerd with extra log information to see what can be wrong?

 

Cheers,

 

Victor.

 

log.png

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...