BASS_FX 2.4.12.1

Started by (: JOBnik! :),

lqbe

Quote from: lqbe
Quote from: (: JOBnik! :)SoundTouch's Beat Position detection will be added later.
Exciting! Can't wait
Any news on this? PM if you need a tester, of course.

victor

Quote from: Cristian1980Hello,

Do you think we could have BASS FX for Mac built with SDK 10.9? This is a requirement in order to notarize applications for the latest MAC OS.
The latest BASS FX version seems to be using SDK 10.8.
https://developer.apple.com/documentation/security/notarizing_your_app_before_distribution?language=objc

Thank you for any help,
Cristian
one more vote for this.
Thanks

otherside

Hello. Can u please add x64 versions of the library? Google request to do it until August or the apps will not be able to update.

workoutDJ

 :D  I am a VB developer and really enjoyed the samples you have .. even though they are in VB6.  My desire is to have an interface like a DJ mixing board and found the BPM sample code GREAT!   My question is:  can I have like two instances of this functionality (like speeding up and slowing down the BPM and volume) and get one output (that I want to save as an MP3)?  I have been STRUGGLING with the mixer and have not located great VB samples of using the mixer.  Again, I am very happy with your work and web site !  Thanks
George

Ian @ un4seen

Do you want to adjust the tempo of 2 files and play/encode a mix of both? If so, you would indeed use a mixer for that, ie. plug both files into the mixer (with tempo adjustment enabled) and set an encoder on the mixer. I'm not a VB user myself, but the calls will be much the same in any language and could look something like this:

mixer = BASS_Mixer_StreamCreate(freq, chans, BASS_MIXER_END); // create a mixer
BASS_Encode_MP3_StartFile(mixer, options, BASS_ENCODE_AUTOFREE, outfilename); // set an MP3 encoder on it
source1 = BASS_StreamCreateFile(false, infilename1, 0, 0, BASS_STREAM_DECODE); // create decoder for 1st file
source1 = BASS_Tempo_StreamCreate(source1, BASS_FX_FREESOURCE); // enable tempo processing on it
BASS_Mixer_StreamAddChannel(mixer, source1, 0); // plug it into the mixer
source2 = BASS_StreamCreateFile(false, infilename2, 0, 0, BASS_STREAM_DECODE); // create decoder for 2nd file
source2 = BASS_Tempo_StreamCreate(source2, BASS_FX_FREESOURCE); // enable tempo processing on it
BASS_Mixer_StreamAddChannel(mixer, source2, 0); // plug it into the mixer
// set tempos/etc here
BASS_ChannelPlay(mixer, 0); // start the mixer

...

BASS_StreamFree(mixer); // free the mixer (and encoder due to AUTOFREE)
BASS_StreamFree(source1); // free the 1st file stuff
BASS_StreamFree(source2); // free the 2nd file stuff

Please see the documentation for details on the mentioned functions.

workoutDJ

You rock and are a very serious person with real answers.  I have been a fan for years of your product and contributions.  Thanks !
George

workoutDJ

I just cannot seem to get this all working . . . again.  I am using VB15 but I do have ver.6 around too if necessary.  Using the latest DLL files from your site.  I do a reference for Bass.net but the others do not load as references.  Here is my code and you will see the problems where VB just cannot find the libraries !  All of the BassMix pieces are not loading for me.  HELP        Thanks

        Dim intLength As Integer = 0
        Dim iStreamA As Integer = 0
        Dim iStreamB As Integer = 0
        Dim ioutputMixerStream As Integer = 0
        Dim sMP3_A As String
        Dim sMP3_B As String
        Dim iNumberOfSpeakers As Integer = 2

        sMP3_A = "U:\MUSIC\test.mp3"
        sMP3_B = "U:\MUSIC\TEST2.mp3"
        Bass.BASS_Init(-1, 44100, BASSInit.BASS_DEVICE_DEFAULT, IntPtr.Zero)
        BassNet.Registration("george@georgeeckenrode.com", "2X15232326152322")

        Dim mixer As Integer
        mixer = BassMix.BASS_Mixer_StreamCreate(44100, 2, BASSFlag.BASS_SAMPLE_FLOAT)

        'iStreamA = Bass.BASS_StreamCreateFile(sMP3_A, 0L, 0L, BASSFlag.BASS_STREAM_DECODE Or BASSFlag.BASS_SAMPLE_FLOAT)
        iStreamA = Bass.BASS_StreamCreateFile(sMP3_A, 0, 0, BASSFlag.BASS_DEFAULT)

        iStreamA = BASS_FX_TempoCreate(iStreamA, BASSFlag.BASS_FX_FREESOURCE Or BASSFlag.BASS_STREAM_DECODE)

        iStreamB = Bass.BASS_StreamCreateFile(sMP3_B, 0L, 0L, BASSFlag.BASS_STREAM_DECODE Or BASSFlag.BASS_SAMPLE_FLOAT)
        BASS_Mixer_StreamAddChannel(mixer, iStreamB, 0)   ' --- // plug it into the mixer

        Dim okA As Boolean = BASS_Mixer_StreamAddChannel(mixer, iStreamA, BASSFlag.BASS_DEFAULT)
        Dim okB As Boolean = BASS_Mixer_StreamAddChannel(mixer, iStreamB, BASSFlag.BASS_DEFAULT)

        Bass.BASS_ChannelPlay(mixer, False)

Ian @ un4seen

Do you mean it can't find the BASS/add-on DLLs? I think you just need to copy them to the output directory (where the EXE is).

workoutDJ

I have copied the DLL files to both the BIN folder and the DEBUG folder.  Which is the best version of VB for me to code with:  VB6 or VB15 ?    Having a lot of problems attempting to get the libraries referenced and available.  Thanks

Ian @ un4seen

VB6 doesn't support multithreading well (eg. callbacks) so I would suggest using VB.Net instead. I'm not a .Net user myself, but I think you only need to add a reference to BASS.Net, not the BASS/add-on DLLs. What is the exact error message that you are seeing?

workoutDJ

I get:  'BASS_Mixer_StreamCreate' is not a member of 'Un4Seen.BassMix     I have all of the DLL files using the latest versions, in both the BIN and DEBUG folders.   Funny thing is that this was working about four days ago.  I am having trouble with the Mixer code.   Thanks.

Ian @ un4seen

Strange, I'm not really sure what could be causing that. Are you only having the problem with that one function, and none of the other BASS/BASSmix/BASS_FX functions? I notice in the code you posted that you omitted the BassMix and BassFx prefixes in some of the calls.

workoutDJ

I will prefix all my calls.   ALSO, I am going to create a new, fresh, environment of code.  Again, thanks for your help.

teq

Hi there! I'am trying to make pitch shifting effect like in "Music Speed ​​Changer" (Android) with BASS, but the result is not even so good as if this app. "Music Speed ​​Changer" uses Superpowered, may be this lib just better, than BASS built-in? Or I should tweak settings and it's 100% possible to achieve the same quality ???

teq

Hi there! Are you going to update BASS_FX to the latest version?  ;)

artistXenon

may I please request for a x86_64 version compilation of BASS_FX on android?  It seems only arm64, arm, x86 are supported 😢

Ian @ un4seen

fmcoder

There appears to be a bug in the Peak EQ implementation in the 64-bit Windows version (does not happen on 32-bit). After running a while, sometimes a day, sometimes more, the right channel becomes silent. Does not happen always, but regular enough to be a problem.

The code that sets the DSP:
var   EQ: BASS_BFX_PEAKEQ;
...
        HFX := BASS_ChannelSetFX(Chan, BASS_FX_BFX_PEAKEQ, 49);
        with EQ do
        begin
          fBandwidth := 2.5;
          FQ := 0;
          fGain := 0;
          lChannel := BASS_BFX_CHANALL;
          for I := 0 to 10 - 1 do
          begin
            lBand := I;
            fCenter := PluginSettings.EqBands[I].CenterFreq; //values are in 31-16000Hz range
            BASS_FXSetParameters(HFX, @EQ);
          end;
        end;

And updating it the following way
  for I := 0 to 10 - 1 do
  begin
    EQ.lBand := I;
    BASS_FXGetParameters(HFX, @EQ);
    EQ.fGain := ...//actual gain value, -15...+15;
    BASS_FXSetParameters(HFX, @EQ);
  end;