Giter Club home page Giter Club logo

envelopforlive's People

Contributors

alessiomastrorillo avatar calebrau avatar gmolabs avatar mcslee avatar ramagottfried avatar roddylindsay avatar tuchella avatar willits avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

envelopforlive's Issues

Signal degradation

From @cameronangeli

No specific bugs, but we're having a degradation of signal. It's either a
clocking issue or the encoder can't handle the amount of info we're sending
and translating to our speaker arrangements. I'm leaning towards an encoder
issue, because we're seeing it regardless of whether we are on one or two
machines.

Here's the arrangement we used:

  1. Performance Machine (Macbook Pro) running Ableton Live 9 64 bit:
    We are using all 16 envelop audio sources: 1-4 = 2 stereo pairs that are
    used as the core, 4 corner virtual anchors placed at 0 elevation in the
    corners. Drums and bass piped to these anchors so you hear them from all
    ground level speakers; 5-8 = 2 stereo pairs that are used for send effects
    piped into static anchors placed in the roof in a square - Reaktor effects
    like a 4 ch rotate delay, or 8 ch random delay tap, or front to back
    reverb; 9-14 = 3 stereo pairs for individual stereo sounds that can be
    panned; 15 & 16 = mono sounds that can be panned.

This machine is networked using ethernet on a static IP address
(192.168.50.12 - or .13 or .14 depending on who is performing) to the
encoder machine, which also has a static IP address (192.168.50.20).

All envelop M4L plugins are set to connect to the IP address:
192.168.50.20.

We are using Dante Virtual Sound Card 32x32 48K to send audio from ableton
digitally over ethernet. So the UDP messages, and 16 channels of audio are
sent from the performance machine, to the:

  1. Encoding Machine (mac mini 2016 8GB Ram). We are also running Dante
    Virtual Sound Card, and Dante Controller on this machine. The channels from
    the performance machine are mapped to the input channels of the encoding
    machine. In order for the signal to work properly, we also had to initially
    use Dante Via to identify audio sources at Dante capable.

Max 7 is running on this machine, which is running our adapted version of
Envelop. We have changed the IP address for the client and server to be
192.168.50.20. We have created 11 speaker presets - which includes the
Savage arena arrangement.

That arrangement is 16 speakers = 4 JBL powered subs at 0 degrees in the
corners, 4 3-way Mackie stacks at 2 degrees in the corners, 4 JBL eon
515XTs at about 10 degrees in the corners, and 4 JBL eon 515xts that are
mounted at about 50 degrees, rotated 45 degrees from the corners to fill
the gaps and add height.

The Mac Mini is connected to a PreSonus 16ch audio interface. This only has
8 analog outs, so we have expanded using ADAT to a behringer 8+8 unit,
giving us the other 8 outs.

When it's working, the panning sounds amazing. however, at mostly random
times, the sounds will chunk up. It seems like there is channel bleed, and
effects propagating through the glitch. On my laptop, the degradation is
not too terrible, and lasts for a few seconds when it happens, then fixes
itself. But on my buddy's machine, it will progressively get worse to the
point where audio stops. We will restart Max on the encoding machine, and
all is solved. It also appears that the more we throw at the encoder, the
more we notice this random degradation. for example, using the send
effects, which will add audio to 4 channels all at once will instigate the
issue.

the encoder machine is running at about 15-20% DSP. and the laptops ableton
CPU usage never goes above 15%.

We have added a few other things to the Server to help us manage the setup:

  1. we added a master volume and meter that allows us to control the volume
    of all 16 tracks before they enter the encoder.
  2. We added sub groups to control the volume of each of our speaker types
    (like a fader for the subs, fader for the 3-ways, fader for the low eons,
    and fader for the roof eons)
  3. in order to deal with the speaker placement distance discrepancy, we
    added individual delays to each speaker. We never used this because it
    sounded fine, but technically, we should have delayed the eons on the room,
    since they were closer to the DJ than the corner speakers.
  4. we disabled the built in reverb because it uses up a bunch of the DSP,
    and really doesn't add too much to the experience. We prefer to have the
    effects routed as we did with Reaktor.

We also have two other small scale setups - one in my studio with 8
speakers in a cub arrangement, and one in my buddy's studio with 8
speakers, 4 in the corners and 4 up high rotated 45 degrees. The planning
seems to translate very well between all three setups and the binaural
option.

There are a few tests that we need to run to further identify why we might
be having this issue:

  1. we need to do a full analog routing (no dante). based on the gear I
    have, I could test up to 16 channels out of ableton, to an 8 channel
    speaker arrangement in my studio. to try the 16 channel setup would require
    me to find a big enough space.
  2. i'd like to get an external clock to sync everything to.

I know this is a lot, and i assume we have taken the envelop software to
places that you did not intend, but i thought you could use the feedback to
help make this next iteration as good as can be.

Small issues on testing of Version 2

  1. having used version 1, I was under the impression i could put the master project folder anywhere on my hard drive, but i learned that it needed to be placed in "Documents/Max 7/Packages". After re-reading documentation, I saw this is listed in bold. so my bad. but worth noting for anyone that was used to version 1.

  2. in the sample ableton project, the M4L Stereo device was turned "off" which lead me to believe that something wasn't working. turned it on, and was in business. you may want to re-save the project with it on to avoid confusion.

[Question] More than 16 physical output?

I am trying to figure out how to have more than 16 physical output with this. From the "custom" decoder side it's fine but i'm wondering how the master bus is handling this. Do I need to modify the master bus as well? Is this limited to 16 output?

Just as info I want to try EnvelopForLive in a 31 channel speaker dôme.

Add instructions for Windows

There is a way to make E4L work on Windows:

In short

  • Use JackAudio with an external sound card
  • Run EVERY software in 32-bits as Admin

Details

Required Hardware

  • External sound card (JackAudio seems to have trouble talking to the system output while using Asio4all)

Required Software

  • Ableton Live Suite 9 32-bits (with max for live)
  • Max 32-bits
  • JackAudio 32 bits
  • E4L

Setup

Follow this JackAudio tutorial for installation but instead of 64-bits, use the 32-bits version: https://www.youtube.com/watch?v=zzd7naKzRgw&index=41&list=WL
Here is some additionnal information for installation: http://www.jackaudio.org/faq/jack_on_windows.html

When setting up the Target of the shortcut (see tutorials), use your external sound card driver.
ex: C:\Program Files (x86)\Jack\jackd.exe" -R -S -d portaudio -d "ASIO::AudioBox ASIO Driver"

After that it is pretty much the same as the Guide

RUN EVERYTHING AS ADMIN!

--
I think i'm not missing anything. There you have it!

I'll be more than happy to answer questions if it is unclear
tested on a Windows 8.1 64-bits machine with a Presonus Audiobox usb sound card

Master Bus routing issue when switching to different decoder settings

This happened both times I played in the Envelop space recently. When switching between AmbiX and Binaural mode, the Master Bus doesn't seem to automatically route correctly. For example when switching back to Binaural mode with Monitor 1+2 button enabled, the Master Bus UI shows all of the outputs routings set to 1-2, but I don't hear any audio in my headphones. I have to re-select channels 1-2 from the drop-down menu in order to actually hear audio. Zak experienced this too, both times we thought our sessions were hosed before realizing we just had to manually re-route things to 1-2.

WAV files do not work with E4L Master Bus recording

Having some issues getting the B-format sampler up and running. I can record B-format .wavs from the E4L Master, but dragging the file from the folder I'm using as a repository isn't working. Any thoughts? Running Windows 10.

using a 360 ambi mic. in live 10.0.3

Hey

It says som tutorials I need som endocer or something to make it work with files from ambimic recording 4 tracks . Do I neeed to roll back to live 10.0.2 to make it work ?

Do I need some extra plug in or something to start working with 4 track ambi mic output files ?

Thank you
Nikolai

Audio strange towards centre

Using the binuaral encoder

there is a glitch when going from front and back towards the centre, the sound jumps from muffled to bright.

config file system

Working on the design for the new client/server effect rack system, and realizing that we may want a config file somewhere that defines the server IP address. This is desirable because then you can set the IP address just once and all M4L devices will be set correctly -- and that means that devices can more easily send a "I'm here" message to the server to enable the DSP processing for that effect.

The problem is that if the user doesn't have Max installed, we can't say "place the Envelope config file in your Max search path" -- so I'm considering an option where users would need to create a folder: ~/Documents/EnvelopeLive and put the config file in there.

I feel like this is probably the simplest solution, @roddylindsay @willits any thoughts on this?

Currently, each M4L device has its own textfield to enter the IP and Port number, but I think this is going to be annoying if you ever need to change the settings for a whole Live session.

Native live FX

Where in the chains do I put Abletons Native Audio fx for them to be rendered into the B-Format file ? Or is it only possible to use E4L fx?

Envelop for Live: envelop.maxproj - Errors in Max Console Window

Hello there,

I'm new to using Envelop for Live - I've followed the User and Developer Guide to the letter, but I keep coming up with the same error in the Max Console Window: "bind to port 4444 unsuccessful".

Any idea what might be causing this issue?

My system is: Macbook Pro 2.7GHz i7, OSX 10.10.5, Max 7.3.4, Live 9.7.3

Any help is appreciated!

Many thanks,

Kingsley

screen shot 2017-08-22 at 16 43 25

B Format Convolution Reverb Crashes Ableton when added

B Format Convolution Reverb Crashes Ableton when added as a single instance or more, regardless of whether there is a source panner or other device on the given track. Appeared randomly, no changes other than regular Windows/Java/GPU driver updates. Sometimes, we get a "a serious problem has occurred" message, in which case the project file becomes corrupted and will no longer open after crash.

JackRouter not an option for input/ouput device

Hi all! Trying to get set up. I have started Jack, but I am unable to see JackRouter in my input/output config in Max. Any ideas?

screen shot 2018-01-02 at 8 08 20 pm
screen shot 2018-01-02 at 8 05 52 pm

For what it's worth, I saw two errors when first trying to open the Max project, then they went away, and when I restarted my computer, I saw them again. I haven't detected a pattern that makes this error show up.

reg_object_new: no mobex for u134005725
reg_object_new: no mobex for u683005726

  • OS: OS X 10.11.6
  • E4L: f3286127d1470d33e37a5ba5e944702b8f9816b8 (master as of 1/2/2018)
  • Max: 7.3.4, 64-bit
  • Live: 9.7.5 Suite, but I haven't gotten to the point where I open Live w/ E4L yet
  • Jack (I tried both the "special" Jack mentioned in the Google doc and the Jack 2 binary found here):
    • JackOSX 0.9.1
    • Jackdmp 1.9.11
    • JackRouter 0.9.7
    • JackPilot 1.7.4

Laptop Output

Hey Guys, thanks for your patience but I'm doing a listening session for 25 people surrounded with 4 speakers and sub. Can I just do a stereo output from my laptop and how should I split between speakers. Could I add a USB sound card for 2 more signals so each speaker has it's own channel? Thanks again.

E4L Master Bus: Binaural decoder not working

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.

Problem with encoding scheme?

Hey @ramagottfried ,

Natasha Barrett and I (she says hello!) just spent a while trying to use envelop in the CCRMA listening room (24.4 system), and we may have uncovered issues in the envelop encoder. The listening room has no problem decoding ACN formatted encodings, so we know the channel orderings are fine. But it does not properly decode input from the envelop client.

CCRMA's listening room has its own ambisonic decoders running through OpenMixer, and we are using its ACN decoder. When we pass the inputs to that decoder, they are the untouched 16 channels being piped straight past the envelop decoder (16 ins -> 16 outs, untouched).

We put together some more targeted tests, and here are what the problems seem to be:

  1. The input levels from the encoder to the decoder appear to be inconsistent. Imagine panning a single source sound around the x-y plane, e.g. at points (x, y, z) = (1, 0, 0), (0, 1, 0), (-1, 0, 0), (0, -1, 0). Call the encoded amplitudes of the x and y channels N. Call the level of the encoded w channel W. If you then pan to (0, 0, 1), the encoded level of the z channel should also be N, but is roughly 3N, which is incorrect. It also explains what's going on perceptually: when panning around the x-y plane, it's hard to pinpoint the sound's location, which appears somewhat omnidirectional. but panning in the Z direction is more obvious, presumably because the input level is higher relative to W, so it's more directional.

  2. Also, the z-axis seems to be flipped. If we send x,y,z coordinates (0, 0, 1), we hear it in the floor, and we hear (0, 0, -1) in the ceiling.

In trying to figure out why this could be happening, we realized it's possible that there are some alterations you've done to the encoder for the particular envelop systems, but we don't understand why those alterations wouldn't be happening solely inside the decoder - it would be a portability problem if alterations were in the encoder.

Happy to send more logs or debug this with you online if you like. Let me know!

Doc notes: Jack seems fine, location for Envelop folder

Just started trying out Envelop. Here's a couple notes on the documentation:

The Google Doc states that I would need to use a special build of Jack. I thought this might be out of date, so I took one for the team and tried jackOSX Version 0.92_b3 from jackaudio.org. I am currently listening to audio from Live via the Envelop rendering patch in Max, so it seems to be working fine. You may want to update your docs.

It might be worth mentioning that the the Envelop folder needs to live in a special place. The first time I tried opening the Max project (from my ~/Downloads folder), I got a lot of errors. I moved the EnvelopForLive-2.1 folder into the ~/Documents/Max 7/Packages folder, and the project then opened fine.

Finally, here's a little gif that shows how to make connections in mac OS Jack Pilot that might be useful to your first-timers:
envelop_jack_cnxn_opt

Automation disengage error

when using midi clips to automate the location knobs on the maxforlive plugins, the automation becomes disengaged. this continues happening randomly. I cannot confirm what causes it to disengage (it's not just when it passes the -180 mark, to reset for full circles rotation, seems to be with random parameters, and random times).

would really like to get this solved in the next couple weeks, because we have a few people planning to perform with this at Bman. Thanks!

Delay8 / FX routing issue?

When i load the Delay8 FX M4L device, it appears to work for a short period, but eventually it stops. After a few tests, it appears that the setting the beat_delay knob too high may be triggering an overload of the buffer. setting a lower max might help this. It's also worth noting that not only does the Delay8 not work, but the Verb does not appear to have an effect. If i delete the Delay8, and use the standalone verb, then it works.

I continued testing: I have only one instrument in the whole session, playing on 1/2. the Delay8 placed on Channel 1/2. When i changed the output to 3/4, the effect started working. and same thing for 5/6, 7/8, so on....

Panner has multiple "Spread" parameters

The device "E4L Source Panner" has several number boxes with the short name of Spread. I noticed that the scripting name has a unique name, and perhaps that is what was intended.
The problem with this is that when you query for all the names of parameters in a patch ( that is, get name into live.object for each _id), it is the short name that is reported, not the scripting name. So if I'm trying to control the "E4L Source Panner" device from another Max device based on parameter name Spread, I can't actually set the value I want.

I've attached some images that help illustrate this.

get_names
spread ex1
spread ex2
Here's the M4L device that gets the parameters for a device.
Live.API_tester.amxd.zip

Missing instructions for JACK setup

  • should specify before starting JACK to disable the "auto-connect with physical ports" checkbox (it's enabled by default on OS X)
  • there are currently no instructions for how to get the jack routes set-up. these instructions need to happen after everything else is set up and Live is running.
    1. in JACK's send ports column, select the "Live" row, then double-click the MAX row in JACK's receive ports column
    2. in JACK's receive ports column, select the "MAX" row, then double-click the "system" row in JACK's "connections" column

it may also be worth mentioning that this JACK patch can be saved and then re-loaded as a final step of the loading process each time

Conflicts with previously installed odot library

Upon first installing and opening the E4L objects, I was unable to get any of the objects in Live to successfully connect to the Envelop server.

Removing previously installed odot objects from the Max folder and making sure only the ones that came packaged with the E4L folder were used successfully fixed the problem.

Ableton 10 crashing when EFL Audio Effects are added to Audio Channels

Hey,

Apologies if the answer to this is fairly obvious, I'm new to Ambisonics and E4L.

When I add any E4L Audio Effects (apart from the Source Panner, Meter and Master Bus) to an audio channel Ableton 10 crashes.

I'm using E4L 10.0.3 and Ableton 10.0.5

Would be great if any can offer any solutions to this.

Port to Bitwig?

This looks fantastic. Any plans to support Bitwig Studio as well?

why not windows 64-bit?

hi there!

thanks for this project! it looks really good.
i'm wondering what needs to be done to make it work with the 64-bit versions of ableton and max on windows...

cheers!

evaluate hoa.3d.map~ for proximity effects

hoa.3d.map~ spreads the source panning towards omni when < radius of 1 for flyby proximity effects.
this could also be achieved in the spherical harmonic domain after encoding which could be more flexible, but it may be worth using the built-in version for simplicity.

this needs to be evaluated for use with real speaker distances and hoa.3d.decode~...

hb1_to_binaural~ constantly prints ----------- to the Max window

This was from a fresh pull of master today, Nov 15 2017.

Max platform info if needed:
{
"version" : "Version 7.3.4 (de5a74a) (32-bit mac)",
"platform" : "mac",
"arch" : "x86",
"osversion" : "Mac OS X Version 10.11.6 x86_64",
"samplerate" : 44100,
"iovs" : 512,
"sigvs" : 512,
"scheduler_in_audio_interrupt" : "on",
"audio_drivername" : "Core Audio",
"audio_driver_subname" : "",
"license" : "permanent full",
"machine_id" : "31207185f88c821a5df9907007f923ee",
"eventinterval" : 2,
"overdrive" : "on",
"mixerparallel" : "off",
"mixercrossfade" : 0,
"mixerlatency" : 30.0,
"mixerramptime" : 10.0
}

Audio routing feedback if 3 E4L Meters in a row

When 3 E4L Meter devices are placed in a row with signal chaining, the 2nd one feeds back into the first one rather than forwarding to the 3rd device.

Possibly to do with naming collision?

hoalib or icst

I'm going to be re-patching the main DSP server and M4L devices, so really no problem to switch to ICST if we would rather use that?

AED Reset on Save/Reload

I'm seeing an issue with the stereo source device where azimuth, elevation, and distance settings don't persist between saves of a Live session.

Repro steps:

  1. Do the Max/Jack/Live setup with a fresh Live session
  2. Add an Envelop Stereo Source Panner to a track
  3. Change azimuth, elevation, and distance.
  4. Save and reload the session.

You should see that those settings go back to the defaults.

Mono output routing in Master Bus

Hi!

Thanks for a great set of softwares!

I work at two places with different loudspeaker setups, and one system is having a channel ordering based on film industry standards. i.e. L, R, C, LFE, etc..
This makes everything ambisonic a bit tiring, as one need to put some channel ordering and skipping in-between stuff. So as Ableton is so stereo focused I totally understand that you chose to do the output routing in stereo pairs. But it would be very nice if there was a possibility to use mono channels instead, or give an option to the user. It would solve a lot of problems in different setups.

Best regards,
Marcus

7.1 output cascade output order

Hi, amazing software, it really makes up for the very limited surround module with live 10. I have a few questions though, I am testing my setup (standard 7.1 array) and have noticed a few things when I do 7.1 decode.

The first question might solve a lot of things. Which output order do you use for 7.1? I have an ITU standard setup (L, R, C, LFE, Ls. Rs, Lms, Lrs). Mostly it seems ok, but I get strange behaviour when I pan the signal to the rear of the array (so Ls and Rs channels with a 7.1 decode). IF this is not the layout is there a way to change the layout to standard ITU - I am running a series of presentations that are using 7.1 and have so far just used the ITU channel order.

Also I saw a post referencing a sharp volume jump in the centre position (#26). I understand the logic behind the discussion. I would like to continue working in a standard 7.1 setup with Live and am wondering if there is a way to clamp the distance or limit it so it does not go to 0. I am not remaking your stuff, just dropping in the master bus and encoders (not that familiar with Max, or Live, but one of my students wanted to use Live in 7.1 and I am trying to support it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.