New DirectStream software work

Howdy

Happy New Year all.

Feel free to skip reading this if you get bored.

The short version: let’s brainstorm about possible FPGA related DS improvements and new features.

The (very) long version:

As Dennis mentioned on another thread there’s a new release of the DS firmware coming and tho the exact feature released are always subject to change, the FPGA changes are minimal, tho important to the people they affect:

In the design of the DS I made a decision to keep the clock jitter as low as possible but still deal with inputs with clock rates that were up to 100 parts per million off of nominal. I chose 100ppm because that’s the Redbook spec and I expected that any quality transport/player/audio card would have a clock that’s at least that accurate. Well the Oppo BDP-103, 105 and related universal players have clocks that often start up a little out side that range but after warming up (maybe three or four hours depending on the ambient room temperature) they drift to within 100ppm of nominal. There are also other players out there that seem to use the Oppo transport/support boards so this may well affect some others. The DS’s symptom of the input clock being too far away from the nominal sample rate is a small ffft every minute (or longer.) The ffft is actually a small mute of about 6 ms (FIFO overflow or underflow) and actually some listeners never seem to hear it and others are driven nuts by it.

The next release of software will accept clocks off by at least 10,000 ppm (way wider than the sloppiest clocks) without any ffts. The further away from 100ppm (actually 100ppm up to about 140ppm depending on manufacturing tolerances) the input clock is, the theoretically worse the input jitter rejection but I doubt that people will hear anything since the DS is fairly input jitter insensitive. Users that have clocks that are within 100ppm won’t be affected at all.

The other FPGA change is direct support for 22.05k and 32k sample rates. There are internet radio stations out there that use sample rates slower than 44.1k. Some users are disappointed that they need to set their players/renderers (or whatever) to do sample rate conversation of sample rates below 44.1k. I don’t blame them because some players are fairly non-intuitive to set up to only upsample some sample rates while leaving others alone. 22.05k and 32k aren’t the only rates out there for internet radio stations, but they should cover the vast majority of feeds out there.

Now to the subject of this post:

In a few weeks I’ll start having some time to work on the DirectStream software for a while and wouldn’t mind some input from you all.

Obviously the first thing on my mind is trying to get even better sound quality. 1.2.1 may have set unrealistic expectations for the next SQ increment :slight_smile: The 1.2.1 difference was mostly due to two things: a tuning parameter whose value was left over from a prototype board and lower jitter in the FPGA. The lower jitter was achieved by freeing resources that were needlessly being used because I was conservative when I set other parameters. Using my new scope allowed me to measure the results of some parameter changes and to pick better trade offs that didn’t result in sound quality compromises. We’ve made enough progress over the last year both in sound quality and critical listening that we can hear changes now that didn’t seem to be there in the past.

I say “tuning parameter”, but a lot of these type of changes are simply choosing how many “extra” bits are used in the math. Tho I aim for at least a 144dB S/N ratio everywhere in the FPGA code, in some places, for example, the noise from too few bits seems to be very non-white and gets magnified down stream. Without the new oscilloscope I at times was quite conservative with my number of extra bits selection. With it I could chop bits back off until things were audible and then add some back. This freed up a lot of “wasted” FPGA resources. This allowed cleaner FPGA layouts and routing which achieved a bigger sound quality improvement than any of us expected.

Anyway there are some other alternative pieces of FPGA code I’ve written over the years. Tho I always listened critically to each algo choice, over time we’ve improved sound quality enough (and our listening experience enough) that we may find some hidden jewels in the heap of rejects.

Still, now would be a good time to entertain ideas for other new features, etc. I don’t know how much time PS Audio will have to work on features that require significant user interface changes, but you never know until you look what’s unexpectedly simple and what’s unexpectedly complicated.

Anyway I invite you all to brainstorm with me on this thread about improvements and/or (small) new features.

I warn you all that I’m usually quite prickly when people suggest things that I missed or prematurely rejected but I’ll try to be on my best behavior. In reality tho I may not appear to be listening, most of the good changes in the DS over the last year are the (sometimes very remotely related) results of being prodded or poked with feature requests that I initially rejected out of hand.

-Ted

Happy New Year Ted.

Ted,

Any chance of eliminating that slight click heard between tracks when playing DoP files from the PWT?

Oy. I had such problems with the last update I’m going to skip this thread and try to pretend there will be no more. :) Happy new year all.

Great post, Ted. I enjoy learning more of the history and your philosophy/goals.

st50maint said Ted,

Any chance of eliminating that slight click heard between tracks when playing DoP files from the PWT?

Actually I did make some clicks like that better. I don't know about that particular one (it also depends on how the DoP files were prepared.) The Oppo had some bad clicks and pops going between PCM and SACDs and I got rid of most of them while working on the code to accept sloppier clocks.

Most of that fix was changing how the DS dealt with clocks that were too far off. The old code had two different places it detected clocks out of range, when the two detectors differed by more than a few milliseconds the automatic mute didn’t last long enough (or came on too early). I nuked one of them, it’s always great when you can fix bugs by deleting code :)

Ted,

You can say that again.

Dennis

Thanks Ted! This is great. Happy new year.

If any of you are going to CES Ted will be taking part in a seminar on high resolution audio at 11 AM, Wednesday, in the Venetian’s Bellini Ballroom. The seminar’s hosted by Robert Harley.

Personally I think the last software update was a homerun. I love my vinyl but the improved SQ of digital playback the last couple of years has been simply amazing. In the past, I would listen to digital for new music & because it was convenient. I can sit back in my Lazy Boy with a mouse and volume control & listen for hours without having to get up but lately I am listening because it simply sounds good. Thanks PS Audio for showing an old timer that there is more then one way to thoroughly enjoy music playback !

Happy new year ted and all,of the ps audio extended family.

First off are you looking for any beta firmware testers I am open to it .

next what to improve . Below is my list

first off is firmware rolling on one chip and picking them from front screen loading and playing. ( and please do not look at this as dig it’s not. ).

Next sound changes to look for. The DS seams a bit warm of neutral any chance of crewtimg a firmware to make it more neutral . Meaning more details and perhaps a closer presentation.

Next up up a firmware as in the past with filters to choose from , a spinoff of firmware rolling. The pwd mkii had some kind of filters although I never liked them it’s still some hands on choices to pick from.

Lastly more bite in pcm as the latest firmware now approaches great DSd for me I feel it softened the pcm a bit so to speak. As the previous firmware did . this new one pushed DSd to new heights but slipped a little on pcm. Again I am very happy with the ds sound overall. But as you suggest a try to improve this is my short list.

Again in thanks for all,you do ted .

Al

Happy New Year Ted!

I wrote this in the DS firmware improvement topic a few weeks ago…

First of all, I'm really enjoying the audible difference the DS makes in my system. Standard redbook quality is outstanding and hi rez downloads are intoxicating. Problem is it reveals poor quality recordings with no mercy, probably because the good recordings come out so great.

Thank you Paul, Ted, the engineering dept, as well as the entire staff at PS Audio for ending my 2+ year old DAC quest. It was getting expensive and frustrating.

Don’t know if this is the right topic to ask for suggestions to the firmware, but I have one that involves the display. Once I set up for listening, I never change any settings on the DAC, but I am often curious of the sample and bit rate of the selection playing. Since I don’t have the eagle eyes to see the rates displayed 10 feet away, would it be feasible to add a display option that projects, in large font, just the rate and bits? Maybe toggle the display using the input selector button on the remote or on the display itself? Just a thought.

Thanks again,

Dave

davek said
but I am often curious of the sample and bit rate of the selection playing. Since I don't have the eagle eyes to see the rates displayed 10 feet away, would it be feasible to add a display option that projects, in large font, just the rate and bits? Maybe toggle the display using the input selector button on the remote or on the display itself?
I've definitely had the same wish myself. We can see if Dennis can find a clean way of doing it.
Next sound changes to look for. The DS seams a bit warm of neutral any chance of crewtimg a firmware to make it more neutral . Meaning more details and perhaps a closer presentation.

Lastly more bite in pcm as the latest firmware now approaches great DSd for me I feel it softened the pcm a bit so to speak. As the previous firmware did . this new one pushed DSd to new heights but slipped a little on pcm. Again I am very happy with the ds sound overall. But as you suggest a try to improve this is my short list.

I'm in the exact opposite camp.

Nice to hear from you al.

alrainbow said first off is firmware rolling on one chip and picking them from front screen loading and playing.
We don't have the extra memory for multiple FPGA images at the moment. We like the idea too, it sure would make A/Bing FPGA code easier.
Next up up a firmware as in the past with filters to choose from
I'm always trying to walk the balance between extra features and simple design. A lot of chips provide multiple filter selections, but often they are choices between different poorly (or at least not excellently) implemented filters. The place where different filters would be most useful/audible would be selecting the rolloff for the 44.1/48k upsampling filter. Some definitely prefer a softer rolloff which can remove digititus from small groups, female voice, jazz trio's etc. and conversely, IMO, only a full frequency range (solid brick wall) filter lets orchestral or complicated music shine.

There’s also the current rage of apodizing filters vs, say minimum phase, vs, minimum delay, etc.

I’d like to experiment (once again since the differences are easier to hear now) with different filters and perhaps get some beta feedback about whether a filter selection option would be useful. There’s not room for a huge list of filters (I use many coefficients with lots of bits for each filter) but there is certainly room for a few more.

I have a little harder time with the more nebulous definitions of “PCM like”, “DSD like”, “warm”, “neutral”, etc. From release to release there’s no way we could provide continuity of the essence of the differences that people get used to in a given release. The last thing we want is supporting all possible FPGA images with all possible PIC images because people have their favorite version of the FPGA code (or UI code for that matter) and don’t want to use newer versions.

Should we discover a systematic way of distinguishing these different flavors of sound, I’m not entirely against providing them as options, but at this point all we control is how much jitter is left in the output, I believe that more jitter => more PCM like, less jitter => more DSD like. I hate to give people a technically inferior product just to colorize the sound.

I don’t think the software itself causes differences along the “warm”/“neutral” scale. That’s probably more to do with the selection of the output transformers, output connectors, choice of solder, choice of resistors, etc. In these areas I’ve tried to use the best technical options within the budget and, for the most part, think we’re pretty neutral (but in a good way.) That’s not to say that we couldn’t add explicit distortions to warm up or “cool off” the sound , I just don’t want to :)

I should add that I’ll keep listening for correlations between FPGA choices and feedback on the sound of the different releases - we’ve made some progress along this spectrum, but not as much as any of us would like.

Happy new year :)

  • Polarity independent LVDS.
woot said
Next sound changes to look for. The DS seams a bit warm of neutral any chance of crewtimg a firmware to make it more neutral . Meaning more details and perhaps a closer presentation.
I'm in the exact opposite camp.
I would agree with woot.
Frode said Polarity independent LVDS.
We could walk the user thru the eight combinations and let him select the one he likes best :)

I sure wanted to do that automatically for I2S inputs - automatic selection for raw DSD is problematic as far as I can tell.

I’m reasonably sure I could detect (or just not care about) the clock polarity. Paying attention to counts of samples of all ones vs samples of all zeros would probably give an accurate indication of the data bit polarity. Perhaps we could get a reliable indicator of the left/right channel input with an auto correlation between channels to do sample accurate alignment.

I think you can guess why I didn’t implement this in the past - if we had anything else in the system that might mess with left vs right or absolute polarity, etc. the chance for interacting bugs causing confusion for users was too high. For that matter it would cause too much doubt in our minds when debugging user problems.

Still it is on my list to experiment with. Perhaps a user interface option to do explicit polarity selections for each I2S input and also an auto detect setup button might be a good compromise.

rogerdn said
woot said
Next sound changes to look for. The DS seams a bit warm of neutral any chance of crewtimg a firmware to make it more neutral . Meaning more details and perhaps a closer presentation.

Lastly more bite in pcm as the latest firmware now approaches great DSd for me I feel it softened the pcm a bit so to speak. As the previous firmware did . this new one pushed DSd to new heights but slipped a little on pcm. Again I am very happy with the ds sound overall. But as you suggest a try to improve this is my short list.

I’m in the exact opposite camp.

I would agree with woot.


Me too actually.

Ted Smith said Nice to hear from you al.

<snip of great Ted post>


As always ted another great reply filed with info for new understanding. Filters for low resolutions is a great idea . But keep in mind in pcm there is some oretty shabby hinrez too. Although the DS does make so much more music just great to listen too.

The DSd pcm thing info not want to harp on as its a sore spot for some and just kinda lights things up in debate away from the topic at hand.

For me it’s what like and to explain it I fall on my face. But if we were together I could point to exactly what I mean. I also think coloring of the sound is very true and it could be what it is. Again great explanations. In an simple comparison you must be right as I only hear and you see by instruments and hear so hands down you win.

Again thanks all ps audio buds and happy new year. I am going out to party with me and some very old Scotch.

Al

I believe that the lower the S/N the better if possible.

I have a very " asymmetric ’ listening space.

So I use the balance control at " 0 " separately for each channel when making adjustments and taking measurements.

If I adjust the level of the channel that is not at 0, sometimes the balance control will lock up and I have to reboot.

Not a deal breaker for me, I’ve learned that I have to remember to make both channels equal before adjusting the level of the channel that was not at zero, then run the other channel back down to zero.

The subject of gain has come up from time to time.

With my horns I was able to adjust for gain with my amps so that I listen to the DS between 80 and 90 depending on the source material. I have removed my pre from the loop.

The lower gain setting of the DS was a bit to low for my set up.

Might it be possible to do away with having a low and high setting on the same software?

And instead offer high, medium and low gain software?