Closed hagay321 closed 3 years ago
One way to tell whether you have successfully defined HAVE_LIBSAMPLERATE is to observe whether the program links successfully without the samplerate library listed in the link libraries. If you define HAVE_LIBSAMPLERATE but don't add samplerate to the set of libraries used when linking, then the compile should succeed but the link should fail. If the link succeeds without this library, then something went wrong!
Once you have the rubberband command line executable built, if you run it with debug enabled (-d 1
flag) it will print out which resampler it's using at the start.
The expected behaviour of the current default branch of Rubber Band when changing pitch during processing is:
The rest assumes realtime mode:
OptionPitchHighConsistency
specified when constructing the stretcher, otherwise you will get glitches whenever that happensThank you for the answer !! Really appreciate :) !
It took me a while but I realized it in the end. The ticks indeed occurred only in transitions from high pitch to low and vice versa. I truly ended up using libsamplerate and raising the OptionPitchHighConsistency flag and no more tics.
Thank you again.
I have another question if it's ok, I noticed that when I change RubberBandStretcher::Impl::m_defaultFftSize to 8192 (from default 2048) the sound sounds cleaner but accompanied with an echo. Is there another specific variable that I can might change to avoid this echo?
thanks, Hagay
Is there another specific variable that I can might change to avoid this echo?
Not that I can think of offhand.
Longer windows will tend to have this effect - even the OptionWindowLong
setting, which creates a smoother mushier sound, only doubles the default fft size to 4096, not 8192. Generally speaking, if I know a combination of parameters works well for something, then it will likely be exposed as an option already - although of course you might still get interesting effects from other changes.
Hi to you all, I'm really appreciate your help with this issue, I'm not sure if I doing all as I should cause I saw this issue already solved in, https://github.com/breakfastquay/rubberband/issues/30 https://todo.sr.ht/~breakfastquay/rubberband/6
Vary thanks for your time..
When I'm trying to change the pitchshift (dynamically) constantly there is a lot of ticking along the all output.
What have I done:
downloaded the repo from git.
opened it in visual studio 2015
added libsamplerate from https://github.com/libsndfile/libsamplerate.
than, in the main.cpp and Resampler.cpp I add
define HAVE_LIBSAMPLERATE"
define DUSE_SPEEX
run main.cpp in debug mode with the flags -t 1 -p 5 -R
In the RT loop I change the pitchshift scale in each iteration like you can see in the script below,
Maybe I didn't add libsamplerate properly or I need to configure something else? Please tell me if you need anything to help you help me..
Thank you ! Hagay