EnvelopSound / EnvelopForLive

Free, open-source tools for Ambisonic 3D panning within Max for Live 10+
http://www.envelop.us/
GNU General Public License v2.0
478 stars 59 forks source link

E4L Master Bus: Binaural Faust decoder not working #52

Open micheljarre opened 5 years ago

micheljarre commented 5 years ago

While other decoders work, the default selected decoder "Binaural" does not produce any sound. Opening in Max reveals the message "newobj: hb1_to_binaural~: No such object" in the Max console.

Daxmatic commented 5 years ago

plus 1

Clmprice commented 5 years ago

same here

mcslee commented 5 years ago

Unfortunately we don't have a solution for that issue at this time. It seems to appear on some, but not all, systems. For some users, the E4L AuraVerb device also does not work, presumably for similar reason.

Are you on Windows? If you're getting the "No such object" message, that is likely from running on windows, where there is not a 64-bit version of the hb1_to_binaural~ external available.

MythicsIRL commented 5 years ago

Same here. Binaural not working. Getting the newobj: hb1_to_binaural~: No such object message. Ableton Live Suite 10.1 on Windows 10 1809 (OS Build 17763.592) (x64)

vredalertv commented 4 years ago

I'm on windows, same problem, can we get an updatre?

Same bug:

newobj: hb1_to_binaural~: No such object

What can we do to help fix this???

mcslee commented 4 years ago

Unfortunately we still have no update on this issue, it is unclear to us why it occurs on some systems and not others. I know this is an extremely unsatisfying and frustrating response.

On other windows systems we were able to collect some crash reports which we did relay to the Ableton/Max bug report team, but we were still not able to get a clear diagnosis on this. We're continuing to support the Mac release and will post here if we make any headway on Windows improvements.

Our apologies again for this.

vredalertv commented 4 years ago

If it helps, I do believe it DID work the very first time. Very odd I know.mm but then every time after it has not.

Let me know if I can help troubleshoot, and great work on this amazing project so far! Keep it up, it's a godsend to find any solutions for Windows and Ableton for immersive audio.

Cheers,

V


From: Mark Slee notifications@github.com Sent: Thursday, March 12, 2020 3:17:28 AM To: EnvelopSound/EnvelopForLive EnvelopForLive@noreply.github.com Cc: vredalertv valkolton@outlook.com; Comment comment@noreply.github.com Subject: Re: [EnvelopSound/EnvelopForLive] E4L Master Bus: Binaural decoder not working (#52)

Unfortunately we still have no update on this issue, it is unclear to us why it occurs on some systems and not others. I know this is an extremely unsatisfying and frustrating response.

On other windows systems we were able to collect some crash reports which we did relay to the Ableton/Max bug report team, but we were still not able to get a clear diagnosis on this. We're continuing to support the Mac release and will post here if we make any headway on Windows improvements.

Our apologies again for this.

— You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://github.com/EnvelopSound/EnvelopForLive/issues/52#issuecomment-598109299, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOZV3MIYLPDURQAMCBRLXZLRHCZDRANCNFSM4G44SBPQ.

mcslee commented 4 years ago

If it helps, I do believe it DID work the very first time.

Yes, this is part of what's so peculiar. This has been the case for other people as well. It seems to work fine... until it doesn't. It's not clear what's triggering the underlying problem, doesn't seem to relate to a change in system configuration.

vredalertv commented 4 years ago

Mcslee, since the Binaural 3rd order decoder does work, is this giving me the same effect using headphones or how does it differ than the Binaural that does not function?

Maybe it isn't the worse thing if the Binaural 3rd order is giving me similar results.... Let me know!

Thanks for the hard work.

Val

mcslee commented 4 years ago

They are just two alternate decoders with slightly different algorithms for converting the ambisonics signal to a stereo binaural mix. They have slightly different sounds, but one is not clearly better than the other. It is a matter of taste and preference, some listeners will find that one sounds more accurate than another. These algorithms do take into account the shape of the listeners head, so everyone’s experience is slightly different.

On Wed, Apr 8, 2020 at 2:27 AM vredalertv notifications@github.com wrote:

Mcslee, since the Binaural 3rd order decoder does work, is this giving me the same effect using headphones or how does it differ than the Binaural that does not function?

Maybe it isn't the worse thing if the Binaural 3rd order is giving me similar results.... Let me know!

Thanks for the hard work.

Val

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/EnvelopSound/EnvelopForLive/issues/52#issuecomment-610775771, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAER6WTRSYHAA25TYCTRISDRLQKNDANCNFSM4G44SBPQ .

f1oat commented 4 years ago

May be one clue. In the github file tree, I can find "hb1_to_binaural~.mxe" but not "hb1_to_binaural~.mxe64" For other "mxe" files, we have "mxe64" also. I am not very familiar with MAX internals: is it related to 32bit or 64bit code ? I am running Live 10.1.9 under Win10 x64

mcslee commented 4 years ago

Yes - that is why the default Binaural decoder does not work on 64-bit Windows systems, we do not have a built Windows extension for that component. This is one of the reasons we do not officially support E4L on Windows, though much of the functionality should still work.

On Fri, Apr 10, 2020 at 1:13 PM f1oat notifications@github.com wrote:

May be one clue. In the github file tree, I can find "hb1_to_binaural~.mxe" but not "hb1_to_binaural~.mxe64" For other "mxe" files, we have "mxe64" also. I am not very familiar with MAX internals: is it related to 32bit or 64bit code ? I am running Live 10.1.9 under Win10 x64

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/EnvelopSound/EnvelopForLive/issues/52#issuecomment-612197804, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAER6WVVTON42QTBCBE22PLRL54XDANCNFSM4G44SBPQ .

f1oat commented 4 years ago

If someone can show me where to start, may be I can contribute by compiling this component for 64bit. I am googling for the toolchain I need for that.

mcslee commented 4 years ago

I believe these were compiled from a Faust project, part of the Ambisonic Decoder Toolbox: https://bitbucket.org/ambidecodertoolbox/adt/src/d89e446fb44f3d5f3846d4113f0228eee4d7eae9/faust/hb1_to_binaural.dsp?at=master

I am not 100% sure on the toolchain required to build this, there may be some information about building in that associated bitbucket project. That could be a good place to start looking - let us know if you figure anything out. Much appreciated!

On Fri, Apr 10, 2020 at 1:29 PM f1oat notifications@github.com wrote:

If someone can show me where to start, may be I can contribute by compiling this component for 64bit. I am googling for the toolchain I need for that.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/EnvelopSound/EnvelopForLive/issues/52#issuecomment-612203545, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAER6WVS3L7DSIHRADQM5HDRL56T3ANCNFSM4G44SBPQ .

f1oat commented 4 years ago

Ok, thank you. I can find hb1_to_binaural.dsp file is in the E4L github tree. Looks like there is a tool here: https://github.com/grame-cncm/faust/tree/master-dev/architecture/max-msp I am now installing Max/MSP SDK and will try soon!

f1oat commented 4 years ago

Done! Actually, you do not need to install a toolchain. There is an online compiler: https://faust.grame.fr/tools/editor/index.html After uploading the dsp file, you only need to click on the little van: image Here is the mxe64 file hb1_to_binaural~64.zip I have managed to run it by copying it in C:\Users\f1oat\Documents\Max 8\Max for Live Devices\E4L Master Bus Project\externals

mcslee commented 4 years ago

Thanks very much - amazing that this it turned out to be so simple! Glad it is now working for you. I will include this with the next release of the E4L package. Much appreciated!

mcslee commented 4 years ago

https://github.com/EnvelopSound/EnvelopForLive/commit/66796d478744ba78fabf3e27bc8a845379932aa5

vredalertv commented 4 years ago

Great! Thanks float and mcslee

TristanMorelle commented 3 years ago

hi, i managed to do the fix of f1oat as well, just to be disappointed at the result fidelity. while having the bug i just put it on AmbiX monitoring giving you the side and mid info in 2 channels, i simply flipped the phase on the side channel (right) converting it to stereo with higher fidelity it seems ... if anyone cares here is the setup. left channel gets summed to mono

maybe you can implement this as a stereo output choise

auraverb still broken ty

image

image

k5123 commented 1 year ago

With 11.2.5 this isn't working unless I open the master bus plugin in Max. Binaural 3rd order works, but normal Binaural doesn't. Windows (64bit of course, what else is there at this point).

dnlfbr commented 1 year ago

With 11.2.5 this isn't working unless I open the master bus plugin in Max. Binaural 3rd order works, but normal Binaural doesn't. Windows (64bit of course, what else is there at this point).

Similar problem here. The hb1_to_binaural~ (used for Binaural mode) is not working on Mac M1. I've tried to recompile the .mxo file on the Faust IDE, but still It doesn't work (error: hb1_to_binaural~: could not load due to incorrect architecture). Any support is appreciated!

mcslee commented 2 months ago

I can confirm that the online Faust IDE doesn't seem to export an Apple Silicon compatible .mxo object, which is annoying. I'm going to look into installing the toolchain on my Apple Silicon machine to see if I can built it myself.

There's an alternate approach which is to use faustgen~ which dynamically runs the faust .dsp file.

There's an implementation of that here: https://github.com/EnvelopSound/EnvelopForLive/blob/master/patchers/decoder/e4l.decoder.binaural.faustgen.maxpat

You'll need to install the faustgen~ package from here: https://github.com/grame-cncm/faust/releases

You need to pick the correct arm64 faustgen package from the release assets. I may resort to bundling that with the E4L release, but it adds a fair bit of heft to the package (and I'd rather statically than dynamically compile the faust code, we really don't need the dynamic compilation that fautgen~ provides in this use case).

Hoping I can just find a way to get the hb1_to_binaural~.mxo compiled properly, in the meantime hope some of this may be helpful.

mcslee commented 2 months ago

I believe I've got this properly rebuilt as a universal binary. https://github.com/EnvelopSound/EnvelopForLive/commit/ea9603f732d8a0a9b0f1ae71b675ac2884c66d75

Should be working on Apple Silicon in the 12.0.5 release: https://github.com/envelopsound/EnvelopForLive/releases/12.0.5