BASS_FX 2.4.12.1

Started by (: JOBnik! :),

aplinkrobi

Is the BASS_FX_DSPDAMP usable to obtain AGC (Automatic Gain Control)?

For some reason, when I load the effect, very less change appears in the sound. I tried varying with all the parameters - still lacks working like a real AGC.

Chris

Quote from: aplinkrobiIs the BASS_FX_DSPDAMP usable to obtain AGC (Automatic Gain Control)?

For some reason, when I load the effect, very less change appears in the sound. I tried varying with all the parameters - still lacks working like a real AGC.

Hi
don`t mix up AGC with a Compressor/Limiter

The AGC from Jobnik! works fantastic....

By the way the most Real AGC is a Mix of AGC AND Compressor/Limiter

Use both Effects and the Result is perfekt..

Greets Chris

wok

Hi,

In bass_fx.pas the "lChannel" param is defined as DWORD. This is an unsigned type, so BASS_FX_DSP_CHANALL (-1) cannot be set. Changing it to a Integer type solves it.

(: JOBnik! :)

Hi ;D

Quote from: wokHi,

In bass_fx.pas the "lChannel" param is defined as DWORD. This is an unsigned type, so BASS_FX_DSP_CHANALL (-1) cannot be set. Changing it to a Integer type solves it.

Oops :) thank you!
BASS_FX.PAS updated and already uploaded :)

(: JOBnik! :)

Hi ;D

BASS_FX 2.3.0.1 released :)

2.3.0.1 - 08/06/2006
--------------------
* New in BASS_FX:
  * Added a valid parameters check for all functions.

* BPM:
  * A little improved Beat position trigger.
  * Changing buffer content won't affect the BPM/Beat detection anymore.
  * BASS_Stream/MusicFree will free the callback BPM/Beat as well.

* BASS_FX.CHM:
  * Added a very simple example to BPMBEATPROC callback, showing how to
    count the BPM with just 2 beats.

* DSP:
  * Fixed small bugs in BASS_FX_DSPFX_VOLUME effect.

(: JOBnik! :)

Hi ;D

It seems that there's some troubles for VB users, using BASS_FX_DSPFX_SWAP effect :)
Here's an example using it in VB:

'------------
' SET EFFECT (example with STEREO)
'----------------------------------
Dim info As BASS_CHANNELINFO        ' channel's info (we need number of chans)
Dim fxSwap As BASS_FX_DSPSWAP   ' swap/remap fx
Dim coar() As Long                 ' channels order array (it's dynamic. see below)

Call BASS_ChannelGetInfo(chan_handle, info) ' get number of channels (mono=1/stereo=2/...)

ReDim coar(info.chans) As Long      ' make it dynamic

' set swap effects (change priority as you wish)
Call BASS_FX_DSP_Set(chan_handle, BASS_FX_DSPFX_SWAP, 0)    ' by default it will swap left<=>right

'--------------------------------
' SWAP/REMAP CHANNELS ORDER
'--------------------------------
' left<=>right
coar(0) = 1        ' 0 = left, 1 = right (channels)
coar(1) = 0

' left & right = left
'coar(0) = 0        ' 0 = left, 1 = right (channels)
'coar(1) = 0

' left & right = right
'coar(0) = 1        ' 0 = left, 1 = right (channels)
'coar(1) = 1

fxSwap.lChansOrder = VarPtr(coar(0))        ' return array address (pointer) to BASS_FX
Call BASS_FX_DSP_SetParameters(chan_handle, BASS_FX_DSPFX_SWAP, fxSwap)

'----------------------
' GET CHANNELS ORDER
'----------------------
' make sure you have declared the memory api
Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (ByRef Destination As Any, ByRef Source As Any, ByVal length As Long)

' if you want to know the last array order (you have to user Windows API)
Call BASS_FX_DSP_GetParameters(chan_handle, BASS_FX_DSPFX_SWAP, fxSwap)

' copy info from given address (pointer) to our COAR array (info.chans * 4, coz it's Long)
Call CopyMemory(coar(0), ByVal fxSwap.lChansOrder, info.chans * 4)

' Then use COAR as a simple array to check the stored numbers in array :)

ric

BASS_PluginLoad("bass_fx.dll",0)

Gives me:

BASS_ERROR_FILEFORM

Any idea of why?

(: JOBnik! :)

Hi ;D

Quote from: ricBASS_PluginLoad("bass_fx.dll",0)

Gives me:

BASS_ERROR_FILEFORM

Any idea of why?

Yep... the answer is here :)

ric

Ok, i will try by this way. Im coding in PureBasic.

Thanks!!

yenerich

Ok, im doing well with BSS_FX

Just one problem with BASS_FX_TempoCreate

Im palying succesfully one song

Handle=BASS_StreamCreateFile(#False, FileName, 0, 0, #BASS_SAMPLE_3D)
BASS_ChannelPlay(Handle,0)

And then try to use TempoCreate to be able to change the tempo

EffHandle = BASS_FX_TempoCreate(Handle,#BASS_STREAM_AUTOFREE)

But get a 100 error return code (its not a valid constant!) and 0 return

I test with different flags and always get same problem.

If i try to use flanger, it does fine

BASS_FX_DSP_Set(Handle,#BASS_FX_DSPFX_FLANGER,FX_Priority)

Any advice?



yenerich

I try to follow the VB example, don't hear nothing and app freeze a while

BASS_Init(-1,44100,0,WindowID(0),#Null)

Handle=BASS_StreamCreateFile(#BASSFALSE, FileName, 0, 0, #BASS_STREAM_DECODE)
   EffHandle = BASS_FX_TempoCreate(Handle,#BASS_SAMPLE_LOOP | #BASS_FX_FREESOURCE)

BASS_ChannelSetAttributes(EffHandle,-1,100,-101)

BASS_ChannelPlay(EffHandle, #BASSFALSE)

BASS_FX_TempoSet(Handle,0,0,-100)


Every step gives me BASS_OK

But still don't work. I can't listen nothing and app freezes sometime.

Im missing something?

(: JOBnik! :)

Hi ;D

Your 2nd post looks fine.
Could you please check if playing a file with precompiled C examples (C\BIN) plays fine?

yenerich

#232
Thnaks for your reply:

Yes, C binary sounds fien and do the job.

I found that if i change the pitch from -100 to 0 it stops freezing, BUT i listen the music but no tempo effect

BASS_FX_TempoSet(Handle,100,0,0)

No matter which value i pass to tempo, i don't listen the change but if i get using BASS_FX_TempoGet i get the value i set (lets say 455) as tempo value but that dosen't menas that i listen any tempo change (like i listen using the C binary in your examples).

My code

Handle=BASS_StreamCreateFile(#BASSFALSE, FileName, 0, 0, #BASS_STREAM_DECODE)
   BASS_SetVolume(100)
   Handle = BASS_FX_TempoCreate(Handle,#BASS_SAMPLE_LOOP | #BASS_FX_FREESOURCE)
   
   BASS_ChannelSetAttributes(Handle,-1,100,-101)
   
   BASS_ChannelPlay(Handle, #BASSFALSE)

BASS_FX_TempoSet(Handle,500,sampled,pitchd)
Debug BASS_FX_TempoGet(Handle,@tempod,@sampled,@pitchd)
   Debug "Tempo: " + Str(tempod)
   Debug "SampleRate: " + Str(sampled)
   Debug "Pitch: " + Str(pitchd)

As i said, using debugger i saw that the tempo was set fine, and i also receive an "OK" from BASS_ErrorGetText(), buy i listen just a normal play.

*Im using PureBasic.

Thanks in advance!!


yenerich

Resolved... i was NOT passing values as floats!!

Working fine atm!!  :)

Cahyana

#234
I don't know why, but echo3 not work (VB6). Sorry 4 my bad English. I'm an Indonesian.
 ??? ??? ??? ??? ??? ??? ??? ??? ???

(: JOBnik! :)

#235
Hi ;D

Quote from: yenerichResolved... i was NOT passing values as floats!!

Working fine atm!!  :)

Goooooood :)

Quote from: CahyanaI don't know why, but echo3 not work (VB6). Sorry 4 my bad English. I'm an Indonesian.
 ??? ??? ??? ??? ??? ??? ??? ??? ???

Opps... just found a bug in BASS_FX_DSP_GetParameters that would return a wrong lChannel value if using BASS_FX_DSPFX_ECHO3.
Until the new release will be released, please set lChannel param before BASS_FX_DSP_SetParameters ;)

kujaness

please give me a software name, download link, or an application (preferrably open source) that reduces ambient noises and the like so that we can enhance speech to text accuracy. we will integrate this software for our thesis that involves speech to text. I need a real-time noise reducer, I don't need audacity since it only reduces noise from recorded speech. What i want is a software that reduces real-time noises so as to enhance speech to text. i also encountered some techniques on how to reduce noises like the spectral subtraction but i'm having a hard time understanding it. any other help you can offer?

yenerich

(: JOBnik! :)

Is there any filter in your dll that helps avoiding 'pops&clicks'?

When i set your feature for replay-gain it sounds fine BUT some pops and clicks becomes more audible or maybe was always there and could be nice to filter out.

Thanks in advance!

(: JOBnik! :)

Hi ;D

Quote from: kujanessplease give me a software name, download link, or an application (preferrably open source) that reduces ambient noises and the like so that we can enhance speech to text accuracy. we will integrate this software for our thesis that involves speech to text. I need a real-time noise reducer, I don't need audacity since it only reduces noise from recorded speech. What i want is a software that reduces real-time noises so as to enhance speech to text. i also encountered some techniques on how to reduce noises like the spectral subtraction but i'm having a hard time understanding it. any other help you can offer?

I didn't look into that noise reduction stuff yet, but an excellent software (not free) that I know that has a very good VST plug-in "DeNoiser" for this is "WaveLab" :)

Quote from: yenerich(: JOBnik! :)

Is there any filter in your dll that helps avoiding 'pops&clicks'?

When i set your feature for replay-gain it sounds fine BUT some pops and clicks becomes more audible or maybe was always there and could be nice to filter out.

Thanks in advance!

Which effect are we talking about? :)

yenerich

Quote from: (: JOBnik! :)Which effect are we talking about? :)

The one for rasing volume as replay gain. DSPDAM?