Support

If you have a problem or need to report a bug please email : support@dsprobotics.com

There are 3 sections to this support area:

DOWNLOADS: access to product manuals, support files and drivers

HELP & INFORMATION: tutorials and example files for learning or finding pre-made modules for your projects

USER FORUMS: meet with other users and exchange ideas, you can also get help and assistance here

NEW REGISTRATIONS - please contact us if you wish to register on the forum

Users are reminded of the forum rules they sign up to which prohibits any activity that violates any laws including posting material covered by copyright

In the mood 4 sharing. My 4 VST as OSM's 4 U :)

Post any examples or modules that you want to share here

Re: In the mood 4 sharing. My 4 VST as OSM's 4 U :)

Postby tester » Thu Sep 12, 2013 4:23 pm

Thanks for that option tor.

Hmm... I think I will keep for a while the first, unoptimized version. I see two reasons. First - looks like it works... a little bit faster? And second - I totally lost my track on redesigning that 2-pass approach I keep there. :mrgreen:

OR

It's time for MyCo to come in with his magic. ;-)
Somehow I have an impression that this whole multi-oversampling thing could be done much more simpler.

*

Now it's time to test oversampling rates on external sounds. Attaching OS16x.
Attachments
test-filters-pack-16xOS-unoptimized.fsm
(74.64 KiB) Downloaded 1421 times
Need to take a break? I have something right for you.
Feel free to donate. Thank you for your contribution.
tester
 
Posts: 1786
Joined: Wed Jan 18, 2012 10:52 pm
Location: Poland, internet

Re: In the mood 4 sharing. My 4 VST as OSM's 4 U :)

Postby tester » Thu Sep 12, 2013 4:38 pm

I remember now what I did wanted to ask.

Are there some other approaches for getting better quality on filtered sound? Some sort of combining things and paralel mixing? I don't know - maybe 1x db-precision with 1x OS x2 or x4? Or something else?

As an example. I can imagine a situation in which the spectra is split (via butterworth) into two bands. Lower band is processed by double precision (no artifacts from oversampling), second/higher band ("= stream - filtered") is processed by oversampling, and then both parts are mixed. Then the question would be. What type of filter to use (I guess lowpass?), where to set the split point (around 200-300Hz?) and how sharp slope of that split should be, to avoid artifacts in crossmixing (OS + DB). Does it makes a sense?
Need to take a break? I have something right for you.
Feel free to donate. Thank you for your contribution.
tester
 
Posts: 1786
Joined: Wed Jan 18, 2012 10:52 pm
Location: Poland, internet

Re: In the mood 4 sharing. My 4 VST as OSM's 4 U :)

Postby tor » Thu Sep 12, 2013 5:20 pm

If you use a crossover split to do paralell processing double precision in the lows and OS in the highs the cross section from start to end should be before (lower in frequency) than the frequency where the OS filter start to alter the phase. Otherwise you get phase issues in form of a comb filter.
tor
 
Posts: 114
Joined: Fri Sep 24, 2010 5:54 pm

Re: In the mood 4 sharing. My 4 VST as OSM's 4 U :)

Postby tester » Thu Sep 12, 2013 7:01 pm

I think I understand what you wrote, but still not sure how deep it will affect this little project.

I just realized another possible correction in my thinking. I noticed that with OS filter, setting the frequency to low values produces - dirty artifacts. I guess this is what you was talking about. So....

A mixing with gain control. If these filters do the same job in terms of filtering, and share the same phase control in some area, then at some point there could be something driven by input frequency value, like this:

From point A to point B:
- gain of db-prec filter goes down from (refers to scaling) 1 to 0,
- and gain of OS filter goes from 0 to 1 (symmetrically I guess).
Both are mixed.

I think about paralel gain control, because I suspect that the artifacts are related to input frequency, not input signal, thus - they pop out across the higher spectra.

Anyway this one should be easy to check. Maybe it would not be transparent but it might be interesting in terms of nuances within the range of positive/pleasant subtlenesses. Need to check it.
Need to take a break? I have something right for you.
Feel free to donate. Thank you for your contribution.
tester
 
Posts: 1786
Joined: Wed Jan 18, 2012 10:52 pm
Location: Poland, internet

Re: In the mood 4 sharing. My 4 VST as OSM's 4 U :)

Postby tor » Thu Sep 12, 2013 7:07 pm

I think that sounds like a good idea and so much simple compared to the other thing you mentioned. :)
tor
 
Posts: 114
Joined: Fri Sep 24, 2010 5:54 pm

Re: In the mood 4 sharing. My 4 VST as OSM's 4 U :)

Postby tor » Thu Sep 12, 2013 7:18 pm

I just did a check in VST analyzer and it is just not possible without phase/combfilter issues. Atleast with the polynominal upsampler. Phase start to change way down in the deep frequencies. So low it is not worth it.
tor
 
Posts: 114
Joined: Fri Sep 24, 2010 5:54 pm

Re: In the mood 4 sharing. My 4 VST as OSM's 4 U :)

Postby tor » Thu Sep 12, 2013 7:25 pm

Rounding errors is shit and in an IIR filter it builds up. In an eight times oversampled IIR filter you feed 8 times the amount of rounding errors to the stream. Theese rounding errors is most perciveable when filter work in low frequencies and higher Q's. Thats why I want full 64bit support yesterday ;)

128 or 256bit processing would not hurt either :P
tor
 
Posts: 114
Joined: Fri Sep 24, 2010 5:54 pm

Re: In the mood 4 sharing. My 4 VST as OSM's 4 U :)

Postby tor » Thu Sep 12, 2013 7:31 pm

If we had native 64 bit support for all processing now done in 32 it would be a breeze to combine it with OS :)

Maybe one just have to learn C++ :?
tor
 
Posts: 114
Joined: Fri Sep 24, 2010 5:54 pm

Re: In the mood 4 sharing. My 4 VST as OSM's 4 U :)

Postby tester » Thu Sep 12, 2013 7:39 pm

These phase things? How deep down? It's below 200Hz, below 100Hz? I would use probably at least 8x oversamping from what I can say. 4x is the threshold.

Me on the other hand I have no idea whether I need 64-bit support. I mean - 64-bit machines, not 64-bit internal accuracy (which would be rather a good thing). Right now I'm rather looking for proper transition between developed design and past references, that why I'm pushing the borderlines.

What do you think about this?
http://www.rossbencina.com/static/junk/00634131.pdf
"the ARMAdillo coefficient encoding scheme"
Useful for current 32-bit implementations and better quality?

I have no idea what it is, but maybe there are different approaches, that could be developed in order to get better sound quality (and it's good to use ear to check it too...)

//edit:

Maybe explained a little further here (attachement)
Attachments
The ARMAdillo coefficient encoding2.zip
(449.54 KiB) Downloaded 1440 times
Need to take a break? I have something right for you.
Feel free to donate. Thank you for your contribution.
tester
 
Posts: 1786
Joined: Wed Jan 18, 2012 10:52 pm
Location: Poland, internet

Re: In the mood 4 sharing. My 4 VST as OSM's 4 U :)

Postby trogluddite » Thu Sep 12, 2013 8:23 pm

tester wrote:As for dithering and noise shaping in mixing/resampling, I noticed, that some apps just put these two terms into one box.

Without dithering, the switching of the lowest bits in the signal can become noticable - its spectrum is highly concentrated on products of the sample frequency (or aliases thereof) - the kind of intermodulation 'grit' you get with 'bit-crusher' FX. By adding a small amount of wide-band noise, the transfer curve becomes a "fuzzy" straight line, rather than stepped - so effectively more linear.

The shaping is applied only to the dithering noise - the idea being that the frequency response of the noise is changed so that its power is concentrated in areas of the spectrum where it is less easily perceived - distributed somewhat like the 'equal loudness' curves that you were investigating a little while ago. So the total dB of noise can remain the same, while being less intrusive to the listener.

So these two factors are inextricably linked; possibly implemented as a single "biased probability" noise-generator algorithm - hence they often appear together in the options for word-length reduction.

I really should get out more! :lol: :ugeek:

tester wrote:What do you think about this?
http://www.rossbencina.com/static/junk/00634131.pdf
"the ARMAdillo coefficient encoding scheme"
Useful for current 32-bit implementations and better quality?


That's an interesting find.
Not sure that there would be much impact on baseline filter quality - that has more to do with roundings in the filter feedback loop and Nyquist effects, and from what I can make out they are talking about only the co-efficient generation side of things rather than the inner workings of the Biquad itself. (Though I haven't read the bigger zipped file yet).
However, the stuff about better interpolation sounds worth investigating - quite possibly a way to get more 'natural' sounding transitions between different filter characteristics when modulating/morphing. Looks a bit challenging mathematically, but possibly some equations could be coded without necessarily understanding them in too much depth.
All schematics/modules I post are free for all to use - but a credit is always polite!
Don't stagnate, mutate to create!
User avatar
trogluddite
 
Posts: 1730
Joined: Fri Oct 22, 2010 12:46 am
Location: Yorkshire, UK

Previous

Return to User Examples

Who is online

Users browsing this forum: No registered users and 4 guests