PS Audio Music Server In The Pipeline?

Elk said

My analysis is the same. Soul is a tag, Funk is a tag, Soul/Funk is a third discrete tag. Each can be searched either as an entire tag or as containing a given search string.


If Octave comes across a user tag “Soul/Funk”, you propose in effect parsing it using “/” to obtain two tags “Soul” and “Funk”, and then ‘honoring the user tag’ by creating “Soul/Funk” as a third tag. But then what about the user who has tagged his recording of Beethoven’s Triple Concerto with “Classical/Concerto/Violin/Cello/Piano” (which another poster on this forum has already indicated is his standard tagging approach)? I contend that the same treatment would not produce a satisfactory result.

More or less every scenario you want to consider throws up edge cases like this. Writing software is 10% dealing with the obvious, and 90% dealing with the edge cases.

Considerations like these make handling genres one of the toughest challenges :slight_smile:

For nerds having some sort of query language really helps with these cases tho SQL, foorbar2000’s query language and JRiver’s query languages are actually not very intuitive and we all know from experience that Google, Bing, etc. don’t think they have a right answer yet either, since they keep changing their query language rules.

A stupid thing at TIDAL is that you can not make fitting and copy and that means incredibly much for people who can not spell. I have complained to Tidal and they are looking at the problem for us who are handicapped with spelling.

jeffstarr said

What about a general category and a specific one?

Rock > Punk

Rock > Power Pop

Rock > British Invasion

Jazz > Bebop

Jazz > Vocal Standards

Jazz > Big Band

Yes, the hierarchical approach is one we like, if we can make it work in a self-consistent manner.
Richard Murison said
Geez, that could possibly keep a single Octave server busy for years!
Hi Richard,

Thanks for clarifying. You guys really are shooting for the moon on that feature and I like it!

Even if Octave itself, locally for each user, didn’t import the entire Tidal library and trawl the net for meta data (keeping it busy for years as you said), you could have your own central powerful server/s doing that ‘heavy lifting’ and have each Octave talk to that central server for this kind data, rather than each user’s unit doing this work. Still this is no easy task.

The Roon team works really closely with the Tidal team but one downside of that tight integration is we only have one lossless streaming option within Roon. Even if they added another streaming service they would need to add more man/woman power to work closely with the people of that new streaming service for quality integration and customisation, for a good end user experience. Good problems to have I guess if you need to increase your team size because of customer growth.

The other side is the AI side Paul mentioned, which is super super interesting. Still involves humans though to make sure it’s just doing smart metadata stuff, not trying to become the next SkyNet lol

I love how you guys are genuinely looking for a game changer rather than the “me too” approach.

Kudos

It seems to me Octave will need a common way of sorting that works for everyone, and if it is possible a built in search engine that that each user can use to search there own personal tags.

I think I understand you can’t have a bunch of odd tags that somehow replace the accepted ones, but you want users to be able to reference their own tags.

A question, are you going to just manage our collections, or are trying to offer a program that will make suggestions? So that people can better explore Tidal, or whatever service they subscribe to? Those, to me are two very different things. And may need to be dealt with separately. Maybe in settings that should be an option. One person will love the suggestions, while others will not want that extra data. I think what I am saying is if you want to be the the ultimate player, you will need to allow the user to configure it to their wants and needs. And yes, I do understand how that will be a programmers challenge.

8 years before I got my first PC, I qualified for a retraining program through DVR that was teaching programming. It was right around the time when cobalt was on it’s way out. They were teaching us cobalt. I dropped out, as we had to wear business clothes and I couldn’t imagine being happy in that environment. We had twelve students and I was usually ranked second. The fellow who was ahead of me got one of the promised internships. They didn’t use one thing he had learned. Anyway I do remember the if or else and I know we are way ahead of that. But it still seems applicable to your search engine. If rock then punk or else jazz. You just have to have the search engine know how to go deeper. And I would think that is easier done in 2017, then in 1990. It will just take a few very talented people. Finding those who know music as well as programming is going to be the trick. Good luck!

Richard Murison said If Octave comes across a user tag "Soul/Funk", you propose in effect parsing it using "/" to obtain two tags "Soul" and "Funk", and then 'honoring the user tag' by creating "Soul/Funk" as a third tag.
Actually, I am not proposing anything. :) I am still struggling to understand your original comment some posts back when you offered the hypothetical. I think I am simply not getting your point.
For example, if you have created a genre tag ‘soul & funk’, should Octave treat this as a single genre ‘soul & funk’ or should it treat it as two separate genres ‘soul’ and ‘funk’?
I believe I understand your first option, that Octave could treat "soul & funk" as a single genre, akin to "bubblegum pop," "jazz," "early Russian martial music."

But I am having troubling understanding the second option; i.e., “should it treat it as two separate genres ‘soul’ and ‘funk’?” If you would, please explicate this further. What exactly would Octave do if this were the chosen option and it came across a user’s metadata containing many files tagged “soul & funk?”

Than you for your patience.

Hi @adminpaul

Is it planned for Octave to support MQA via it’s I2S output, going direct into the Directstream DAC?

Or is that still in discussions with the MQA folk?

Cheers!

Elk, Richard almost always can write more clearly than I, but to me (assuming genre is a multi entry field) the thing is the ambiguity between saying:

genre is exactly “soul”

one entry of genre is “soul”

genre contains word “soul”

one entry of genre contains word “soul” and word “funk”

one entry of genre contains word “soul” and another entry of genre contains word “funk”

one entry of genre contains phrase “soul & funk”

one entry of genre contains word “soul” but not word “funk”

one entry of genre contains word “soul” but not phrase “soul & funk”

replace “contains” with “is” where it makes sense in above examples

replace “one entry” with “is exactly” …

I don’t think one person is likely to want to be able to do all of these, but which subsets should a simple syntax implement? I’ll bet you have multiple camps with strong opinions…

I’m also fond of user defined fields, some with the ability to contain multiple entries and I also like full word indexing with queries across a set of fields… Supporting all of these kinds of things in an intuitive way is non-trivial and IMO requires (at least the option of) a formal grammar.

Thanks, Ted! I believe you got me past my mental roadblock.

I was stuck, thinking the issue was what should Octave do when importing user data and it comes across the data string “soul & funk.” It seemed obvious to me that Octave should simply leave the string alone and accept the string as entered by the user, no matter how misguided. :slight_smile:

But, instead, the actual issue Richard was raising is how should Octave search the genre field after the field is populated with the user’s data.

To this point, I like the ability to use any string (including recognition of a universal character such as !), with connectors such as And, Or, But Not (%).

This may be because my experience is computers do merely what you tell them to, not necessarily what you want. I thus prefer making explicit decisions rather than making assumptions as to what the software may do.

My guess is the average user who tags something “soul & funk,” or “soul/funk” would like the piece to show up when searching on “soul,” “funk,” or using both terms. If he wants the most narrow result, he searches on both.

I was so happy to learn that PSA is working on a music server that I read the whole thread.

One question for you experts that may help my understanding. Paul doesn’t like Roon Server’s sound. Here’s what I don’t get: The server sends the music file data via ethernet as packets to the Bridge which passes it to the Direct Stream DAC. In this process there is the “digital lens” processing. If packet data is reconstructed and then passed through the rest of the processing, how can the server make any difference? If the Bridge gets the data from server A or server B, what’s the difference?

Forgive my ignorance. I could understand it if it’s USB transfer, but the Bridge (thankfully) takes that out.

nmacjr said Forgive my ignorance. I could understand it if it's USB transfer, but the Bridge (thankfully) takes that out.
Nothing is perfect - USB is perfect by the same logic that the Bridge is perfect - The DS DAC also has the equivalent of a lens for all inputs and very carefully reclocks the data out of the buffer too. Still other (not perfect) things in the system allow interference to your audio system, often in vary non-obvious ways. The noise from the player running in the computer may be reaching your system thru the power lines or RFI more than thru the bridge and DAC (I actually doubt that that's the path in question, but you get the idea.) Any reclocker (whether PLL, FLL, VCXO, ... based) with a buffer is at best a jitter filter (even when implemented perfectly in an ideal world.) Things like parasitic capacitance on the transformers on each end of the Ethernet cable allow RFI to travel from the PC to the bridge and hence into the DAC. Filtering this kind of interference out can be extremely difficult.

Thanks for the late night response!

I think I understand the various sources of noise and interference that can affect the sound.

Assume a given network set up to the Bridge/DSD. Nothing changes except the server which is connected to the network. On the same Windows PC, you run JRiver and send unprocessed CD music to the Bridge. Then you switch over to Roon server. Again, no DSP or other processing. Shouldn’t they sound the same?

If you changed the hardware running the server, or used a dedicated, audio-only server (like Auralic, e.g.), then there could be differences arising from noise created by the hardware.

Ted Smith said Things like parasitic capacitance on the transformers on each end of the Ethernet cable allow RFI to travel from the PC to the bridge and hence into the DAC. Filtering this kind of interference out can be extremely difficult.
Hi Ted,

Just on this, my previous understanding was that the DS does filter out this interference.

But I may have misunderstood your previously reply on this here: http://www.psaudio.com/forum/directstream-all-about-it/ds-and-rf/#p72464

Apologies if I misunderstood but kindly appreciate if you can clarify.

Cheers!

nmacjr said Assume a given network set up to the Bridge/DSD. Nothing changes except the server which is connected to the network. On the same Windows PC, you run JRiver and send unprocessed CD music to the Bridge. Then you switch over to Roon server. Again, no DSP or other processing. Shouldn’t they sound the same?
Have you ever put a mistuned radio next to a PC and listened? You can hear that different programs sound different. Heck people have actually used cell phones to listen to the noise coming out of the fan port on a laptop to crack passwords just by listening and computers programs monitoring the power in another outlet in the house can also notice the difference in power draw/noise from a computer and get enough info to crack passwords - it takes a lot of time but there's a lot of information in the leaking noise about what's going on inside. In the case of audio systems those different programs can have a fairly direct effect by the timing of the reads to the disk or the timing of the preparation of low level buffers... Any of a host of things a program might do might have unfortunate timing or just hash on the power supply and inject interference that turns out to be audible in an audio system.
Mi2016 said Just on this, my previous understanding was that the DS does filter out this interference.
Filters are never perfect... Filtering the jitter will always leave jitter of a frequency that's lower than the cutoff frequency of the control loop filter in a PLL even in an ideal world. Filtering noise lowers the level of the noise that gets thru it doesn't eliminate it. ... The DS does filter jitter down to sub Hz levels and you can call what's left wander, but there are still other ways that jitter becomes noise that bypasses reclockers and then becomes jitter again. The best you can do is play whack-a-mole and try to get the biggest sources each time.
Ted Smith said The best you can do is play whack-a-mole and try to get the biggest sources each time.
Very true. Sometimes all the reading about the shortfalls of USB and ethernet (especially on the Computer Audiophile forum) make me want to go back to an ultrashort Toslink cable and let your DS's FPGA take care of the jitter - then there's no RF/EMI and cable shielding to worry about - from personal experience I think those are the biggest factors as to why cables can annoyingly sound different (assuming bit perfect playback)

So the best solution is a dedicated hardware/software box that is optimized for music playback, eliminating all these nasty sources of noise and audio degradation . . . PS Audio’s new music server!

If you guys can solve the classical tagging problem (with which I have struggled from Foobar to JRiver to Roon, with many hours of metadata tweaking), I will be a customer for yet another one of your products!

BTW Ted Huron sounds great.

nmacjr said

Assume a given network set up to the Bridge/DSD. Nothing changes except the server which is connected to the network.

I've had Roon on a Linux based operating system (sonicOrbiter OS) powered by a linear PSU where the operating system is doing nothing else other than running Roon.

And I’ve had Roon on a Windows 10 PC where the Windows PC is obviously doing a lot of things. Both computers with an i7 with 8gb RAM.

And Roon sounded different, both cases over the network.

The dedicated Linux Roon Server sounded far better. Roon are going with this approach with their Linux based ROCK OS now too, where the entire computer is dedicated to nothing other than Roon.

Hi Ted, I realize we are going a little off topic, from the operating system to the hardware, but my question is player related.

With Tidal, or any streaming service can the sound quality change based on the number of users? I would think that their servers would be more stressed or using a higher percentage of their operating system at times of peak use. Is that a correct assumption, and do you think it can have an effect on the SQ of the signal[?] or stream we are receiving?

I find Tidal to sound much better late at night, like now, it is 2:15am locally, so on the East coast 3:15am, and just after midnight on the West coast. With my JRiver files, I can turn off the Wi-Fi if I want, and as it all on my PC the SQ is not time dependent. I guess it could also be more activity over my Spectrum cable service provider.

I directed this to Ted, as he is one of our computer Gurus, but what about the rest of you reading this? Do any of you also notice SQ differences at different times of the day with Tidal? And for those of you have gone from a computer to a dedicated player, is the player less sensitive to time of day?

If this is something that others experience, it will need to be addressed in Octave’s hardware, if it can be. It may be something that is beyond a players control. I should mention that Spectrum provides me with 60Mbps, and it rare for Tidal to have any interruptions for buffering. So I don’t think that is the issue, not quantity but quality.