Crystal Resampler: Kudos PG

PG …

For a number of years I have been using what is often regarded as the top of the line, stand alone sample rate converter. In my jurisdiction, it costs about the same as WL so you can guess that I really care about SRC. Because I owned it, I never really experimented with WL’s Crystal Resampler.

Last week I had a rare unexplained systems crash and the We*ss just refused to start up.

Under pressure as usual, I loaded up the Crystal Resampler and configured it with its Ultra setting and a leveller to reduce the incoming signal the way the Wess does and flat TPDF dither. Basically, exactly he same as the Wess.

Wow! Your Crystal Resampler is really, really, really good. Basically impossible to discern from my usual SRC and so much easier as it can be integrated into my workflow within WL.

Thank you!

This would be the first time I have ever been grateful for a computer crash.

Has it been updated since v6?

Has it been updated since v6?

Minor updates. Even in upcoming 8.0.2 where 12 and 24 kHz support have been added.

Does that mean no change in the processing? I think I compared results from WL6 and WL7 and they were identical, but I might be misremembering. Don’t have WL8 yet.
I really like Crystal Resampler too, but I’ve always meant to ask, what is the difference between High and Ultra? Is it the steepness of the filter, and if so, is that the only difference?

Does that mean no change in the processing?

No. the algorithm is the same, no change in quality.

what is the difference between High and Ultra? Is it the steepness of the filter(…)difference?

In short, yes.

Wouldn’t the High setting (rather than the Ultra) in the Crystal Resampler be more equivalent to the gentler curve of the Wess? Or does the Wess allow you to adjust the steepness of the filter? I’ve only seen plots of the We*ss showing a rather gentle filter, so assumed that’s all it could do.

I don’t know the weiss, but by name, hence I can’t compare.

PG, They’re both on src.infinitewave.ca, if you have a chance to look at the passband and transition. I would assume Crystal “High” (rather than the steeper “Ultra”) is closer to how the weiss looks, correct?

Some very interesting charts there, that to me clearly suggest that Crystal is in need of an overhaul.

For SRC I now use the freeware Foobar 2000 media player and general Swiss Army knife along with the foo_dsp_resampler add-on component, that uses the excellent open source SoX engine.

As a Wavelab elements user this has the advantage that I can put a limiter plug in the mastering vst slot and than have an additional 4 slots further up the line which is usually ample for my needs.

I then stay exclusively in 24/96 in Wavelab and perform the SRC and dither to 16/44.1 in Foobar.

No doubt it is a bit of an amateurish DIY approach for most of you pros, but you can’t really argue with the results versus Crystal as described in those charts.

I haven’t visited src.infinitewave.ca in ages, but I’m not sure if this conclusion is entirely fair, since the highest version of WL I see there is 6 (we’re now on WL8). Also, Crystal is a real-time tool, and it measures better than the Weiss’ real-time SFC2 (even better than Saracon by some measures, Weiss’ software based non-realtime alternative). RX2 Advanced beats it’s clarity, but again, that app’s at least 2 years newer than WL6, so it’s not an entirely fair comparison. Let’s see WL8 with the same tests.

I tend to use RX2 Advanced batches when I have big jobs, but the measurements of the older version of WL make me wonder whether I’d do better relying on Crystal to work with sessions that have mixed native resolutions. Some plugs do a better job running at higher resolutions, while Crystal and WL8 make it pretty easy to get them all at same rate for outboard processing. Hmmmm…

Well, with respect, this is where charts sometimes do not tell the whole story. I am not in PG’s class when it comes to theory of digital audio, but I think it is the case that if you intentionally let a little aliasing through at very high frequencies it is possible to reduce other filter artifacts due to the gentler nature of the filter.

This shows worse aliasing performance on the graph, but it is in an area we are unlikely to hear. At the same time, it ‘improves’ on artifacts in ranges you are more likely to hear.

I believe it is the case that this is the intentional approach of both We*ss and WL: designed to sound better, not look better on a single graph.

Look, I primarily posted my earlier comments for the benefit of my fellow poor cousins in the Wavelab Elements camp, to share a workflow I find helpful in managing the limitations on available vst slots otherwise imposed by our platform.

I agree that the extent to which the aliasing artifacts left behind by Crystal are audible is debatable, especially without pressing Photoshop into service to eyedrop the shades of purple/blue versus the scale.

However, maybe I am being naive but the reason I got Wavelab Elements in the first place for my unashamedly amateur needs was to be able to produce the best results I possibly can. As such I find the attitude “yes, there is aliasing but you can’t really hear it” not good enough.

And although there may be SRC processing nuances and trade-offs I am unaware of, I am struck by the fact that several free, open source alternative such as SoX and Audacity seemingly provide much cleaner results than Wavelab. Objectively I don’t see how Phillipe can be happy with that, although I can easily understand why this may not have been a priority with all the other development stuff that has been going on.

Actually it sounds fine. I’d never use Audacity over WL7/8 in realtime (not sure those freebies can even do it realtime/on the fly, so may be apples/oranges), and I use WL7 to src non-realtime batches frequently even though I have RX2 advanced and other options. I trust my ears first and last.

I do agree that aliasing is bad - its an abstract audio tattoo best avoided entirely. ultimately audibility depends on s/n and range of final signal.

Purely for your academic interest, a clever guy with a Russian sounding name - who has authored some free vst stuff - has apparently successfully modified the SoX engine and shoehorned it into a standalone vst effect.

My programming aherm ‘expertise’ doesn’t get me past the second sentence but the flat pack assembly instructions are here for anybody with the interest and skillset: Using SoX resampler in VST plugins | vladg/sound

For the sake of good order I should say I have no interest/affiliation/etc in this stuff.

I thought VST plugins didn’t allow samplerate change. So he can make a plugin, but it wouldn’t work in any host? Or would it? I’m confused. (the title IS “Using SoX resampler in VST plugins”).

Sorry, I don’t know the answer to your questions.

The guy appears to be a reputable developer who clearly understands what he is doing, and I would be very surprised if his post is somehow wrong or an elaborate joke, particularly since he is giving away the source code to his existing plug-ins.

That said I was a little surprised he didn’t provide a final compiled version, but I assumed it was because he didn’t want any support hassle.

[quote=“plutoC”
As such I find the attitude “yes, there is aliasing but you can’t really hear it” not good enough.
[/quote]


I recommend a quick read of this nice and easy to read resource: http://www.amazon.ca/Principles-Digital-Audio-Ken-Pohlmann/dp/0071348190

It certainly helped me and was the catalyst for me to learn more about this digital stuff.

I thought VST plugins didn’t allow samplerate change. So he can make a plugin, but it wouldn’t work in any host? Or would it? I’m confused. (the title IS “Using SoX resampler in VST plugins”).

I think the guy did a upsampling module, eg. to detect true peak in his Limiter plugin. This is “internal”, the audio stream is not converted to another sample rate “at the output”. This is why this is possible (and rather common).

Thanks PG. I was just going to ask about that after noticing his reference to Limiter for vinyl. So he upsamples, which goes to the Limiter, then downsamples to the original rate, using the SRC as a “wrapper”, all in one plugin? Is that how it works? If so, I think that’s similar to something I found from 8 years ago:

Thanks Paul. I need something like that as well.

btw imo:
Crystal sounds great.
We*ss sounds great.
SOX sounds great. (and it’s very easy to use with Foobar) thanks pluto.

So he upsamples, which goes to the Limiter, then downsamples to the original rate, using the SRC as a “wrapper”, all in one plugin?

If he only uses upsampling for analysis, he does not need to downsample later.