Bongiovi DPS

New updates and features!

Forums Insider Announcements New updates and features!

Tagged: ,

Viewing 15 posts - 16 through 30 (of 79 total)
  • Author
    Posts
  • #64867
    hans
    Participant

    The “attack” and “release” values for given “attackTime” and “releaseTime” are different from earlier versions. Is this a bug or intended?

    #64869
    paulcarissimo
    Participant

    This place is really quite.

    #64870
    xaqmusic
    Keymaster

    paulcarissimo,

    Turn the music up louder ๐Ÿ˜‰

    hans,

    What two profiles are you comparing? The formats have changed greatly from 1.x to 2.0 so almost none of the numbers you see between those versions will be the same. Also, we are working to bring consistency between Mac and Windows so you may see some changes in the new format as we work toward that goal.

    #64871
    hans
    Participant

    The log says:

    attackTime = 33
    releaseTime = 240

    attack = 0.998627
    release = 0.999811

    Annapolis music profiles 2.0 and 1.x say:

    attackTime = 33
    releaseTime = 240

    attack = 0.998667
    release = 0.999815

    #64872
    xaqmusic
    Keymaster

    Those are most likely rounding differences due to the processor the coefficients were generated on. I see these difference between Mac and Windows computers all the time. It’s very possible the bgva profile (which contains pre-calculated coefficients) was created on a Mac while the log on a Windows computer is displaying the result of coefficients calculated at runtime from bgvx parameters.

    I can assure you, those differences you see (especially for attack and release time) have an EXTREMELY tiny effect in the audible result.

    If you are curious about the actual difference in sound you can perform a null test.

    #64873
    hans
    Participant

    OK, let’s do some math.

    The Massberg compressor uses coef = e^(-1/(Fs*time)). Rearrange it as time = -1/(Fs*log(coef)). Applying it gives us (att, rel) = (16.5041, 119.966) for Mac and (att, rel) = (16.9997, 122.56) for Win. The values seem to be about half the given attack and release times, so let’s multiply by 2, i.e. go from a 63% to a 86% timings definition. After rounding to integers we now have (att, rel) = (33, 240) for Mac and (att, rel) = (34, 245) for Win. In other words we found the definitions mac_coef = e^(-2/(Fs*time)) and win_coef = e^(-2/(Fs*(time + shift))) with shift_att = 1 and shift_rel = 5.

    My inital question can then be rephrased:

    Are these different formulas intended or a bug?

    With the win_coef formula bgvw, bgva and bgvx are consistent regarding timings, so I guess mac_coef is wrong.

    #64874
    xaqmusic
    Keymaster

    hans,

    You are making some interesting assumptions about our algorithm ๐Ÿ˜‰ If our compressors all of the sudden started performing with 1/2 or double speed attack/release you better believe we would hear that!

    However, we are wandering into our dsp programmer’s territory. The Bongiovi audio engineering team relies on the null test (and ears) to verify the integrity of the algorithm when we do ports to new platforms and refactoring of the code.

    A serious refactor did occur between 1.x and 2.0. However, the effects are more accurate or similar enough with the benefits of the refactor taken into account. To understand our legacy:

    iTunes plugin and OSX plugin 1.x = oldest locked to 44.1. 32bit float
    Windows 1.x = some refactors for windows locked to 44.1. 32bit float
    Android and iOS 1.x = a few more refactors but mostly platform specific for performance still locked to 44.1. 32bit float or 16bit fixed.
    2.0 = all platforms use same core code where coefficients are calculated at runtime to accommodate any sample rate. All math is 32bit float.

    We can hear subtle differences between these versions and applicable profiles have been updated. Also, 2.0 introduces many new features (stereo enhancement, limiter etc) so the sound will always be a little different.

    #64875
    hans
    Participant

    OK, I give up.

    If our compressors all of the sudden started performing with 1/2 or double speed attack/release you better believe we would hear that!

    I didn’t say anything like that. I compared the Massberg compressor with the Bongiovi one and assumed the latter is twice as fast. Different timing definitions are common so there’s no problem here. I never suggested the speed of the Bongiovi compressor had changed.

    Those are most likely rounding differences due to the processor the coefficients were generated on. I see these difference between Mac and Windows computers all the time.

    Yes, they’re different, that’s my point. However that’s unlikely due to rounding errors. The formulas for coefficient computation have the nice math property to give results with higher precision than the input had. So one should expect each and every one of the 6 digits of the coefficients in the log to be correct when using 32bit floats. Note that the above formulas give all coefficient digits correctly as written in the log. So the log cannot have any rounding errors.

    #64877
    xaqmusic
    Keymaster

    hans,

    Sorry to sound dismissive before, I really do enjoy these discussions!

    I concur there are differences in the numbers. However, these seemed to be within acceptable parameters when we did the refactor and subsequent QA. It is entirely possible the 2.0 code is actually more accurate now hence the discrepancies in older bgva profiles. I’m just glad we are using a single core processing codebase so we have total consistency moving forward.

    More importantly, if ever you find an older profile sounds better than a new one, please let us know! We will do whatever is necessary with the newer tools to duplicate the original effect.

    Thanks for the helpful feedback.

    #64878
    hans
    Participant

    No, your not dismissive, your actually very accommodating and patient.

    Please, how do I make a windows log?

    I just became aware of the kidsafe values. 23dB lower thresholds, that’s massive! No idea how you prevent pumping with such extreme settings.

    #64879
    paulcarissimo
    Participant

    I had posted this earlier;
    This is the error I get when running the latest 2.X.19 version; Mavericks 1.9;

    Media-Mac:MacOS media$ ./Bongiovi\ DPS 
    2016-07-16 15:55:58.843 Bongiovi DPS[4615:507] Invalid color System, labelColor (warning given only once)
    Cannot connect to server socket err = No such file or directory
    Cannot connect to server request channel
    jack server is not running or cannot be started
    --- normal debug info removed by xaqmusic for length ---
    2016-07-16 15:55:58.983 Bongiovi DPS[4615:507] An uncaught exception was raised
    2016-07-16 15:55:58.983 Bongiovi DPS[4615:507] [<DraggableImageView 0x7fd152d0e690> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key accessibilityElement.
    2016-07-16 15:55:58.984 Bongiovi DPS[4615:507] (
    	0   CoreFoundation                      0x00007fff9935e25c __exceptionPreprocess + 172
    	1   libobjc.A.dylib                     0x00007fff8fffae75 objc_exception_throw + 43
    	2   CoreFoundation                      0x00007fff9935de09 -[NSException raise] + 9
    	3   Foundation                          0x00007fff8dd7cd4e -[NSObject(NSKeyValueCoding) setValue:forKey:] + 389
    	4   Foundation                          0x00007fff8ddb07f4 -[NSObject(NSKeyValueCoding) setValue:forKeyPath:] + 343
    	5   AppKit                              0x00007fff94a925a1 -[NSView setValue:forKeyPath:] + 392
    	6   AppKit                              0x00007fff94b87d60 -[NSIBUserDefinedRuntimeAttributesConnector establishConnection] + 325
    	7   AppKit                              0x00007fff9489ca64 -[NSIBObjectData nibInstantiateWithOwner:topLevelObjects:] + 1004
    	8   AppKit                              0x00007fff948915ce loadNib + 327
    	9   AppKit                              0x00007fff94890b6c +[NSBundle(NSNibLoading) _loadNibFile:nameTable:withZone:ownerBundle:] + 288
    	10  AppKit                              0x00007fff9489095c -[NSBundle(NSNibLoading) loadNibNamed:owner:topLevelObjects:] + 197
    	11  AppKit                              0x00007fff9489074b +[NSBundle(NSNibLoading) loadNibNamed:owner:] + 357
    	12  AppKit                              0x00007fff9488c597 NSApplicationMain + 448
    	13  Bongiovi DPS                        0x0000000104bce9c4 start + 52
    )
    2016-07-16 15:55:58.984 Bongiovi DPS[4615:507] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<DraggableImageView 0x7fd152d0e690> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key accessibilityElement.'
    *** First throw call stack:
    (
    	0   CoreFoundation                      0x00007fff9935e25c __exceptionPreprocess + 172
    	1   libobjc.A.dylib                     0x00007fff8fffae75 objc_exception_throw + 43
    	2   CoreFoundation                      0x00007fff9935de09 -[NSException raise] + 9
    	3   Foundation                          0x00007fff8dd7cd4e -[NSObject(NSKeyValueCoding) setValue:forKey:] + 389
    	4   Foundation                          0x00007fff8ddb07f4 -[NSObject(NSKeyValueCoding) setValue:forKeyPath:] + 343
    	5   AppKit                              0x00007fff94a925a1 -[NSView setValue:forKeyPath:] + 392
    	6   AppKit                              0x00007fff94b87d60 -[NSIBUserDefinedRuntimeAttributesConnector establishConnection] + 325
    	7   AppKit                              0x00007fff9489ca64 -[NSIBObjectData nibInstantiateWithOwner:topLevelObjects:] + 1004
    	8   AppKit                              0x00007fff948915ce loadNib + 327
    	9   AppKit                              0x00007fff94890b6c +[NSBundle(NSNibLoading) _loadNibFile:nameTable:withZone:ownerBundle:] + 288
    	10  AppKit                              0x00007fff9489095c -[NSBundle(NSNibLoading) loadNibNamed:owner:topLevelObjects:] + 197
    	11  AppKit                              0x00007fff9489074b +[NSBundle(NSNibLoading) loadNibNamed:owner:] + 357
    	12  AppKit                              0x00007fff9488c597 NSApplicationMain + 448
    	13  Bongiovi DPS                        0x0000000104bce9c4 start + 52
    )
    libc++abi.dylib: terminating with uncaught exception of type NSException
    Abort trap: 6
    
    
    #64880
    Dan Rice
    Keymaster

    Hi Paul Carissimo,

    You are running Mavericks 10.9? That sounds like it is the problem. DPS 2.0 for Mac is compatible with MacOS 10.10 and up.

    https://bongiovidps.com/support/mac-faq/

    Thanks,

    Dan R.
    DPS Support

    #64881
    xaqmusic
    Keymaster

    To elaborate on Mavericks compatibility;

    Some of you may recall the headaches we encountered when Mavericks was release a few years ago. For whatever reason, Apple decided to make a lot of undocumented low-level changes to OSX that caused major issues for a lot of different developers. We struggled for months to get DPS 1.x to work properly in Mavericks and still glitches occurred. Then, with the release of Yosemite, all of the problems were magically resolved! We did not have to change anything.

    Thus, with the development of 2.0, we decided to look 10.10 and beyond as that seems to be the path Apple is taking. DPS 2.0 is working well in the pre-release versions of OSX 10.12 (Sierra).

    #64882
    paulcarissimo
    Participant

    I’m upgrading to El Captain then.

    #64883
    xaqmusic
    Keymaster

    hans,

    “Please, how do I make a windows log?”

    Actually we do not report log info to the Event Monitor at this time. However, you can get logcat info from Android if you use our SDK demo player.

    “I just became aware of the kidsafe values. 23dB lower thresholds, thatโ€™s massive! No idea how you prevent pumping with such extreme settings.”

    That’s what makes DPS special! The Bongiovi AGC component can “ride in compression” without audible side effects. Keep in mind Tony Bongiovi invented this algorithm so he could listen to music in his private airplane (a very noisy environment). 20dB of gain modulation is necessary to keep all audible elements of the music above the environmental noise floor.

Viewing 15 posts - 16 through 30 (of 79 total)
  • You must be logged in to reply to this topic.