a 64-bit version of sigmund~

By vb, 29/06/2015

I’m slowly trying to replace all external objects in my performance system by 64-bit versions, so I can finally run MaxMSP in 64-bit mode. Most of the externals in my setup are from code that I wrote myself – so no big problem updating those. But one of the few externals from other people that i use is the famous sigmund~ object by Miller Puckette. Ted Apel did a port to MaxMSP which can be found here – but it’s a 32-bit only build. As far as I know there is no 64-bit version of sigmund~ for MaxMSP.

So, here is what I came up with, a rather simplistic port from the original PD sources. I only updated the code to reflect changes introduced with Max’ 6.1.4 SDK so it can now run in 64-bit mode. Internally the object is still processing with single precision. So it should behave more or less the same as the old sigmund~.

If you want to try it out, you can find the object and code on GitHub:
https://github.com/v7b1/sigmund_64bit-version/releases

 

I’m also working on a version with a true 64-bit signal path (which also includes a more recent FFT library), but that still takes some time.

 

 

2 Comments

  1. Victor BIGAND says:

    Hi, I’m using your 64bit version of sigmund~ for pitch tracking, and it is the best comparing to YIN in mubu, ircamdescriptors, retune and fzero.
    I was trying to make a max for live device using it, but I’m observing a bug when loading multiple instances of “sigmund~” on one Ableton Live session. I tried to find the issue in the source code and have noticed comments about “reentrancy” (l9 : reentrancy bug setting loud flag (other parameters too?)), so I thought you might enlighten me on this.

    Some details for debugging following.

    Situations with issues tested :
    – load one instance of a max audio effect that contains sigmund~ on track A and another instance on track B
    – load two instances of the same max audio effect on one track
    – load two different max audio effect containing sigmund~ on the same track
    – load two different max audio effect on two different tracks

    Bug observed : “jumps” and instability of the pitch tracking, while following the pitch envelope of the sound feeded into sigmund~.

    I tried replicating the bug by creating two distinct Max patchs with sigmund~ in Max standalone or one patch with two instances of sigmund~ but all worked well, so the bug seems to appear only in ableton.

    Oh, and the same bugs are observed with “fiddle~” object, but not with you vb.pitch~ patch that works well.

    Software and versions :
    – sigmund 64 bit version 1.1.3 for macos ARM
    – macOs Sonoma 14.6.1
    – Ableton live 12.0.5
    – Max 8.6.2

    Hope you will look into that !
    Regards,
    Victor BIGAND

    • vb says:

      Hi – thanks for the bug report. The comments section is maybe not the best option to discuss this – better get in touch via email or github – so just very briefly here:
      It seems to be a Max4Live bug and probably hard to track down without low level access to the way Max is integrated into Ableton Live. I will look into it at some point, but can’t promise anything as this is not very high on my priority list.

What do you think?

Leave a Reply

Your email address will not be published. Required fields are marked *