I'm not sure what do you mean? This is a C++ library which you should compile. It's mostly a templated library which does not require a "lib" file. You only need to compile a single "r8bbase.cpp" file.David Else wrote:This looks great. Sorry if i missed it, but is there a compiled version with basic manual?
Open source high-quality pro audio sample rate converter library released from Voxengo
- KVRAF
- Topic Starter
- 4030 posts since 7 Sep, 2002
- KVRAF
- Topic Starter
- 4030 posts since 7 Sep, 2002
The link to documentation is available at the project's page https://code.google.com/p/r8brain-free-src/
- KVRist
- 425 posts since 9 Nov, 2004
I mean a .exe command line version for non programmers to use, i guess not, no problem. Would be cool to update your free version on the Voxengo site?Aleksey Vaneev wrote:I'm not sure what do you mean? This is a C++ library which you should compile. It's mostly a templated library which does not require a "lib" file. You only need to compile a single "r8bbase.cpp" file.David Else wrote:This looks great. Sorry if i missed it, but is there a compiled version with basic manual?
-
- KVRer
- 25 posts since 27 Feb, 2005 from The Netherlands
Subscribing to this topic, super stuff! 
Peter Emanuel Roos
My Music - FaceBook - Samplicity Impulse Responses
My Music - FaceBook - Samplicity Impulse Responses
- KVRian
- 522 posts since 12 Apr, 2010 from The Netherlands
Hi Peter, nice to see you here.Peter Roos wrote:Subscribing to this topic, super stuff!
-
- KVRer
- 25 posts since 27 Feb, 2005 from The Netherlands
I have used the Pro version for my Samplicity IR libraries and also still prefer Pristine Space over newer convo plugins. Aleksey makes superb stuff!
Peter Emanuel Roos
My Music - FaceBook - Samplicity Impulse Responses
My Music - FaceBook - Samplicity Impulse Responses
-
- KVRer
- 25 posts since 27 Feb, 2005 from The Netherlands
Got it working
- deleted my question
Peter Emanuel Roos
My Music - FaceBook - Samplicity Impulse Responses
My Music - FaceBook - Samplicity Impulse Responses
-
- KVRer
- 25 posts since 27 Feb, 2005 from The Netherlands
I got the resampling working in my TrueStereoIrBuffer class - COOL! 
I process the four buffers (doubles) (currently in the range 2.3 seconds, 48 kHz downto 44.1 kHz) after each other, creating a resampler once, and clearing it between the buffer handling.
Without the GUI running (i.e. on loading and resampling the first default IR set, this takes around 0.8 sec. When switching the IR preset, this takes around 1.25 sec. Tried buffer sizes between 256 and 1024.
Some questions:
Should I initialize 4 resamplers and iterate over them, like in example.cpp? Will this be more efficient?
Should I change default parameters? I find it very difficult to understand how I could tweak the resampling for optimal quality and/or speed.
My IRs are in 32 bit float @ 48 kHz. I expect that downsampling to 44.1 kHz will be used most, followed by upsampling to 96 kHz. I guess 88.2 kHz is not used much.
I will make new libraries like this big set from Teldex Studio Berlin also in 48 kHz.
Thanks in advance for any comments!
Peter
I process the four buffers (doubles) (currently in the range 2.3 seconds, 48 kHz downto 44.1 kHz) after each other, creating a resampler once, and clearing it between the buffer handling.
Without the GUI running (i.e. on loading and resampling the first default IR set, this takes around 0.8 sec. When switching the IR preset, this takes around 1.25 sec. Tried buffer sizes between 256 and 1024.
Some questions:
Should I initialize 4 resamplers and iterate over them, like in example.cpp? Will this be more efficient?
Should I change default parameters? I find it very difficult to understand how I could tweak the resampling for optimal quality and/or speed.
My IRs are in 32 bit float @ 48 kHz. I expect that downsampling to 44.1 kHz will be used most, followed by upsampling to 96 kHz. I guess 88.2 kHz is not used much.
I will make new libraries like this big set from Teldex Studio Berlin also in 48 kHz.
Thanks in advance for any comments!
Peter
Peter Emanuel Roos
My Music - FaceBook - Samplicity Impulse Responses
My Music - FaceBook - Samplicity Impulse Responses
-
- KVRer
- 25 posts since 27 Feb, 2005 from The Netherlands
An alternative and dirty trick would be to resample the entire library with R8Brain Pro to 44.1 kHz and include them as well in the locked library file. This would mean I only have to support upsampling by a factor of two 
Peter Emanuel Roos
My Music - FaceBook - Samplicity Impulse Responses
My Music - FaceBook - Samplicity Impulse Responses
- KVRAF
- Topic Starter
- 4030 posts since 7 Sep, 2002
That "example.cpp" is a good usage example, I think. In your case, using 1 resampler in series or 4 resamplers in parallel won't make much difference, but you can make a multi-threaded code with 4 resamplers running in parallel. In single-threaded mode having 1 resampler with clearing between resampling is more memory-efficient. But when resampling huge on-disk files you have to use several resamplers in parallel, 1 for each channel.
I suggest you to use and study the predefined CDSPResampler24, CDSPResampler16, CDSPResampler16IR classes, they have parameters correctly set. The basic formula for ReqAtten is something close to 6.02*BitDepth+40. The ReqTransBand selection depends on how "greedy" you are for the highest frequencies. It's set to 2% by default, but in practice you can use 4 or 5, that still leaves a lot of frequency content (flat up to 21kHz for 44.1k audio).
0.8 seconds to resample four 2.3-sec IRs from 48k to 44.1k? Seems too much. I would expect something like 50 to 80 milliseconds.
I suggest you to use and study the predefined CDSPResampler24, CDSPResampler16, CDSPResampler16IR classes, they have parameters correctly set. The basic formula for ReqAtten is something close to 6.02*BitDepth+40. The ReqTransBand selection depends on how "greedy" you are for the highest frequencies. It's set to 2% by default, but in practice you can use 4 or 5, that still leaves a lot of frequency content (flat up to 21kHz for 44.1k audio).
0.8 seconds to resample four 2.3-sec IRs from 48k to 44.1k? Seems too much. I would expect something like 50 to 80 milliseconds.
Last edited by Aleksey Vaneev on Sun Sep 29, 2013 5:50 pm, edited 1 time in total.
-
- KVRer
- 25 posts since 27 Feb, 2005 from The Netherlands
Thanks very much for your reply, dear Aleksey!
I will dive into this deeper - lots of stuff to learn.
And maybe my timing results suffer from using debug mode.
Have you heard some of my new Berlin Teldex Studio IR's? Made of course again with your great Deconvolver!
https://soundcloud.com/peter-emanuel-ro ... -ir-reverb
https://soundcloud.com/peter-emanuel-ro ... emo-french
https://soundcloud.com/peter-emanuel-ro ... oid-demo-2
https://soundcloud.com/peter-emanuel-ro ... o-irs-demo
Thanks again,
Peter
I will dive into this deeper - lots of stuff to learn.
And maybe my timing results suffer from using debug mode.
Have you heard some of my new Berlin Teldex Studio IR's? Made of course again with your great Deconvolver!
https://soundcloud.com/peter-emanuel-ro ... -ir-reverb
https://soundcloud.com/peter-emanuel-ro ... emo-french
https://soundcloud.com/peter-emanuel-ro ... oid-demo-2
https://soundcloud.com/peter-emanuel-ro ... o-irs-demo
Thanks again,
Peter
Peter Emanuel Roos
My Music - FaceBook - Samplicity Impulse Responses
My Music - FaceBook - Samplicity Impulse Responses
-
very angry mobster very angry mobster https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=11047
- KVRian
- 611 posts since 15 Dec, 2003 from Melbourne, Australia
I don't know much about C++ so this may be an obvious Q. Would it be possible for this library to be compiled as a DLL and used in a Delphi application?
Shannon
Shannon
- KVRAF
- Topic Starter
- 4030 posts since 7 Sep, 2002
Currently no DLL is available. I'll offer a DLL in some future update, but DLL is quite a limiting format for this library, it won't implement all possible options.
It seems that I was able to add DLL support sooner, you may contact me via info@voxengo.com - I can send you a test version of the DLL together with the Delphi interface unit file.
It seems that I was able to add DLL support sooner, you may contact me via info@voxengo.com - I can send you a test version of the DLL together with the Delphi interface unit file.
- KVRAF
- Topic Starter
- 4030 posts since 7 Sep, 2002
- KVRAF
- 3846 posts since 15 Mar, 2002 from Underworld
Just
Thank you, Aleksey!
Hopefully, this will affect a few programs that I use... 
It is no measure of health to be well adjusted to a profoundly sick society. - Jiddu Krishnamurti

