BASS_FX 2.4.12.1

Started by (: JOBnik! :),

Chris

Hi
how do you calculate The Stream len ??
Greest Chris

nadia

Quote from: ChrisHi
how do you calculate The Stream len ??
Greest Chris

Hi  ;D

looking further into the problem I can see that the problem is caused by the
BASS_FX_TempoGetRateRatio (hStream)
function that, instead of returning 1.00 after the call described above will return 0.99 (is this a bug  ???), causing the error.

Regards  ;D

Nadia

(: JOBnik! :)

Hi ;D

Quote from: nadiaI found a strange behaviour; I load a sound that has a duration of 3 minutes and 31 seconds; if I call:

BASS_FX_TempoSet (hStream, 0.0f, -1, -100.0f)

the loaded song duration grows to 3 minutes and 33 seconds: why? 0.0 shouldn't cause a change...  ???

It looks like you've somehow changed the Samplerate, please check it out...
I've tested this on C++ and VB and I always got 1.00 ;)

Have fun!

8) JOBnik! 8)

nadia

Quote from: (: JOBnik! :)Hi ;D

It looks like you've somehow changed the Samplerate, please check it out...
I've tested this on C++ and VB and I always got 1.00 ;)

Have fun!

8) JOBnik! 8)

Hi  ;D

you are right.... it was my fault  ::)

sorry  :-[

Regards  ;D

Nadia

HarryHar

Quote from: HarryHarOk, looks good, i'll give it a try. But what if my syncpos is at 50 ms from the end (which happens a lot with mix CD's), and the buffersize is 250? Any idea what would happen? Or would it mean I can't have sync points beyond Filelength-configbuffer?

gr. Harold

Chris,

I'm still waiting for an answer.

gr.  Harold

Chris

#180
Hi
so after many testings I will have find a very strange Bug in the BPM Modul of the Bass_FX.dll

Following ....

If I`m starting with this proceure the bpm callback all will working fine
BASS_FX_BPM_CallbackSet(chan, @GetBPM_Callback, 10, 0, 0, DWORD(self)) ;   

(tested with a long playlist of ~ 24 hours

NO PROBLEMS

but
if I`m using this
var
BPMMinMax1 : DWORD;

BPMMinMax1 := MakeLong(60, 180);

BASS_FX_BPM_CallbackSet(chan, @GetBPM_Callback, 10, BPMMINMAX1, 0, DWORD(self)) ;   

then it will crash from time to time (allways on a different time-difference )
and allways on different Songs....
(sometimes after 10 min sometimes after 20 min allways different Times

so i have try to build a DR-Watson log.....
it seams that from time to time  Bass_FX_BPMFree will crash...
(but absolute not logical because the crash is most Times in the Middle of a Song and there is no call of Bass_FX_BPM_Free)

@ Ian or  JOBnik!
would be nive if you can take a look on the Crashlog...

You can download it here
http://cst-development.de/bass_samples/bass_fx/drwtsn32.log

It will show 2 crashes....

if you will need the dmp File let me know i can upload it..

by the way this error will only occur if using a BPMMinMax Value

Greets Chris




HarryHar

Hi,

When create a loop while using Bass_FX_Tempo the second time I want to set the loop point, all crashes down on me. As soon as I stop using the Bass_FX_Temp all works well.

Anybody has the same problems, or a code snippet which works?

gr. Harold

Ian @ un4seen

Quote from: Chrisso i have try to build a DR-Watson log.....
it seams that from time to time  Bass_FX_BPMFree will crash...
(but absolute not logical because the crash is most Times in the Middle of a Song and there is no call of Bass_FX_BPM_Free)

@ Ian or  JOBnik!
would be nive if you can take a look on the Crashlog...

The crash is not actually in Bass_FX_BPMFree - that is just the nearest (preceding) exported symbol/function, so Dr Watson uses it as a reference point.

Jobby, I've sent an email :)

Fede

Anyone have tried to implement an automatic gain control (?) a stereo enhancer or other dsp effect typical of sound processing?

Where to find the algorithms?

Thnx, Fede.

Chris

#184
Hi
the bass_fx.dll will have a automatic gain control
and  many other DSP-Effects

about stereo enhancer I`m not shure if  JOBnik! have Plans to  build one  in the Bass_fx.dll
Greets Chris


Pixi.

Hi JOBnik!,

As many people starting in audio processing, I would be highly interested in the algorithms used in BASS_FX; as the sources for BASS_FX are not public, would you have some book to suggest? How do you coded these algorithms? Did you inspire from existing code, did you copy it? From where?

Particularily, I would like to know how do you perform BPM detection. Do you use a low pass filter and count peaks? Or do you use something more complex such as double FFT (I think having seen this on the web).

Please help... I have a feeling that audio coding is something very confidential, because you can't find so much snippets and general information about audio processing on the web.

(: JOBnik! :)

Hi ;D

Quote from: Pixi.Hi JOBnik!,

As many people starting in audio processing, I would be highly interested in the algorithms used in BASS_FX; as the sources for BASS_FX are not public, would you have some book to suggest? How do you coded these algorithms? Did you inspire from existing code, did you copy it? From where?

Particularily, I would like to know how do you perform BPM detection. Do you use a low pass filter and count peaks? Or do you use something more complex such as double FFT (I think having seen this on the web).

Please help... I have a feeling that audio coding is something very confidential, because you can't find so much snippets and general information about audio processing on the web.

It's not a secret that I'm using sources for BASS_FX that are not mine.
The info of that you could see in BASS_FX.TXT bottom Credits ;)

Tempo/BPM are used from SoundTouch Library, that could be freely downloaded here:
http://www.iki.fi/oparviai/soundtouch

You can use these sources for some more DSP programming info:
Free DSP electronic book: http://www.dspguide.com
A large collection of effects/filters: http://www.musicdsp.org
One more for filters: http://www.dspguru.com


Have fun!

8) JOBnik! 8)

Pixi

Alright, I stand corrected, everything is not so confidential ;)

Great thanks for this  :D

morbo

Hi,
I want to play a ebook with a single speaker. If i set the tempo with
BASS_FX_TempoSet under -50% the speaker begins "to stutter".

Is there a way to avoid this?

TIA

Chris

Quote from: morboHi,
I want to play a ebook with a single speaker. If i set the tempo with
BASS_FX_TempoSet under -50% the speaker begins "to stutter".

Is there a way to avoid this?

TIA

do you mean Tempo,Pitch or PitchShift ????

and by the way a little  bit more Info...
Compiler,OS,a little Code snip  and so on

Greets Chris

morbo

Quote from: Chrisdo you mean Tempo,Pitch or PitchShift ????

and by the way a little  bit more Info...
Compiler,OS,a little Code snip  and so on

Greets Chris

Hi,
sorry.
I mean tempo.

My OS is windows, i use the BASS FX 2.1 (.0.2) examples for C++ and Delphi.

In the tempo example i expanded the tempo values form +-30% to  +-100%.

cheers

Chris

Quote from: morboMy OS is windows
cheers


w2k?? xp ?? and which DirectX Version ??

by the way
Tempo is a Effect for Musik and not for voice !!!
Greets Chris

morbo

Quote from: Chrisw2k?? xp ?? and which DirectX Version ??

by the way
Tempo is a Effect for Musik and not for voice !!!
Greets Chris

My Windows OS's are
W2K, XP, XP2, DirectX8-9.

Speech or music doesn't matter.

The problem exist in all my OS's and in the 'SoundTouch Audio Processing Library v1.3.0' too.

Chris can you confirm my experience?

Gruß

Chris

Hi
It does Matter !

Pitch : will speedup/slowdown Musik AND Speech
PitchShift will Speedup/slowdown Speech
Tempo will Speedup/slowdown Musik !!!!!

Greets Chris

morbo

Quote from: ChrisHi
It does Matter !

Pitch : will speedup/slowdown Musik AND Speech
PitchShift will Speedup/slowdown Speech
Tempo will Speedup/slowdown Musik !!!!!

Greets Chris
Hi,
thank you for answer. How could I use pitchshift with the bass_fx.dll?

cheers

Chris

#195
Hi
function SetPitchShift(aValue: single): boolean;
begin
  Result := false;
  if  (Bass_ChannelIsActive(Channel) = 0) then
    exit;
  Result :=  Bass_FX_TempoSet(Channel, -100, 0, aValue);
end;

If you want to Test the different between the 3 Effects just compile the Tempo Example from the Bass_fx Packages
Greets Chris           

morbo

function SetPitchShift(aValue: single): boolean;
begin
  Result := false;
  if  (Bass_ChannelIsActive(Channel) = 0) then
    exit;
  Result :=  Bass_FX_TempoSet(Channel, -100, 0, aValue);
end;

Hi,
thank you for your help.

As i said before, i testet this demo.

And this function does not do what i want.

I want change the tempo, this means timestreching with pitchshifting. Not only pitchshifting.

Can you explain the why changing the tempo (timestreching with pitchshifting) is only for music and pitchshifting is for speech?

Cheers

Chris

Hi
TimeStretching AND PitchShifting together is Pitching...(Changing the SampleFreq)
so you will only need Pitching

Once again
TimeStretch will change the Speed on a Song (example  the Drums,Bass will speed up)
but the Music and Lyrics will have no change

PitchShift will change only the Lyrics (Bass,Drums will have no change)

if you want to speed up both try Pitch
(The Slider in the Tempo Example SampleFreq)
Greets Chris




Guest

Is the "tempo" function in FX based on the SoundTouch library?