Author Topic: Differences between BASS versions  (Read 401 times)

vcali

  • Guest
Differences between BASS versions
« on: 12 Jan '18 - 16:09 »
Hi all,

Have anyone already noticed any difference using different BASS versions and across different platforms?

I'm having a divergence (using the same source code) between platforms when processing the data BASS provides after opening an audio file and I suspect it may be related to BASS.

Right now I'm having divergences between Linux and OSX, both using the same BASS version, but specific for each OS.

Ian @ un4seen

  • Administrator
  • Posts: 21017
Re: Differences between BASS versions
« Reply #1 on: 12 Jan '18 - 16:37 »
Please give some information on the differences that you are seeing, and between which BASS versions.

vcali

  • Posts: 6
Re: Differences between BASS versions
« Reply #2 on: 15 Jan '18 - 10:51 »
I'll run some tests probably today and send you the results with proper information.

vcali

  • Posts: 6
Re: Differences between BASS versions
« Reply #3 on: 15 Jan '18 - 16:14 »
I'm getting these results when trying to invoke the GetVersion function on the different platforms I'm using:

Win: 33817345 
Linux: 33819136
OSX: 33819392

A quick conversion to hex gives me this:

Win: 2040301
Linux: 2040A00
OSX: 2040B00

Windows's version is fine, but I'm confused with the Linux and OSX ones.
Does it mean I'm using 2.4.10.0 for Linux and 2.4.11.0 for OSX?

Thank you.

Ian @ un4seen

  • Administrator
  • Posts: 21017
Re: Differences between BASS versions
« Reply #4 on: 15 Jan '18 - 17:04 »
Yes, that would mean you're using 2.4.10.0 on Linux, 2.4.11.0 on OSX, 2.4.3.1 on Windows. Are they the BASS versions that you are actually comparing? If so, please try upgrading to the latest version (2.4.13) on all 3 platforms and see if you notice any differences then.

vcali

  • Posts: 6
Re: Differences between BASS versions
« Reply #5 on: 16 Jan '18 - 16:28 »
Hi Ian,

Yes, they were the BASS versions.
As you said, we updated all of them to the 2040d02 (2.4.13) version and ran new tests.
- We opened an audio file and we saved the first 100k examples;
- Linux and Mac, except for 20 samples, are the same - you can find a screenshot with the differences on the link below;
- Windows is radically different.

Also on the link are two data files, one from Linux, and the other from Windows, which contains the audio data straight from the BASS lib.

Files are a bit big to attach, so I've uploaded them on my Dropbox: https://www.dropbox.com/sh/wh357s343mebl38/AAAFsBfiBanysWd4hCPKkjiLa?dl=0

Please let me know if you can't download them.

This is the method we're using to get the data from BASS:
int c=BASS_ChannelGetData(chan, audioData, pos*2|BASS_DATA_FLOAT);


saga

  • Posts: 2251
Re: Differences between BASS versions
« Reply #6 on: 16 Jan '18 - 16:43 »
Which file format(s) are you decoding? In particular lossy formats (MP3, AAC, etc) are not guaranteed to produce bit-identical output by each decoder, and BASS can make use of platform-specific decoders for some of those formats. However, there are certain standardized tolerances (signal-to-noise ratios) for those formats that mustn't be exceeded, so as long as that's not the case, there is nothing to worry about. Does the decoded output sound significantly different?
« Last Edit: 16 Jan '18 - 16:54 by saga »

vcali

  • Posts: 6
Re: Differences between BASS versions
« Reply #7 on: 16 Jan '18 - 16:57 »
We're using MP3 format.
Between Linux and OSX, the difference is not so huge and is probably within the tolerances that you mentioned, but the Windows one is very different when comparing to Linux or OSX.

Ian @ un4seen

  • Administrator
  • Posts: 21017
Re: Differences between BASS versions
« Reply #8 on: 16 Jan '18 - 17:41 »
I did some quick MP3 decoding comparisons between the Windows and Linux version just now, using the WRITEWAV example included in the BASS package, and the output was identical to within 1 bit, ie. the only difference was in the rounding of the floating-point result to 16-bit. If you are seeing bigger differences, please upload the MP3 file in question, and confirm whether you are using the standard or "mp3-free" BASS version on each platform.

vcali

  • Posts: 6
Re: Differences between BASS versions
« Reply #9 on: 17 Jan '18 - 17:17 »
About the problem across platforms, we figured out that our difference was only in the decimals as you mentioned, so thank you.

Another thing that were facing is were having some differences between versions 2.4.10.0 and 2.4.13.2 when we just try to open a MP3 file. The libs that were using are not the mp3-free ones.
The difference in this scenario is bigger then only decimals. This seems to affect the audio processing we then do to the data and, based on some quick testing, the old version data seems to work a bit better.

Im wondering if there was some significant change from version 2.4.10.0 and 2.4.13.2 that could explain this behaviour or if this may be a known issue.

I can send you some detailed informations if you need.
« Last Edit: 17 Jan '18 - 17:31 by vcali »

Ian @ un4seen

  • Administrator
  • Posts: 21017
Re: Differences between BASS versions
« Reply #10 on: 18 Jan '18 - 13:25 »
Is the difference that there is less gap (529 samples less to be exact) at the start with the later BASS version? If so, there was indeed a change regarding that between those 2 versions. That 529 samples is the MP3 decoder delay. Some MP3 decoders will remove it, some won't. Prior to 2.4.12, BASS would only remove it if the MP3 file contained encoder delay/gap info (in a LAME/Xing/VBRI header). Since 2.4.12, it is always removed. That change was prompted by the fact that the OSX/iOS/Android MP3 decoders (used by the "mp3-free" BASS version) remove it. For the same result on all platforms.

vcali

  • Posts: 6
Re: Differences between BASS versions
« Reply #11 on: 19 Jan '18 - 17:02 »
Hi Ian,

The differences we were seeing was exactly what you said, so mystery solved.
Thank you so much.