07-24-2016, 02:15 PM | #1 |
Human being with feelings
Join Date: Jul 2011
Location: Bergen, Norway
Posts: 123
|
Ambisonic Toolkit for Reaper - 1.0.0.b9
ATK for Reaper v.1.0.0.b9 is now available. Some key changes:
- Binaural decoders at all sample rates - New encoders and decoders for bridging between FuMa and AmbiX (useful for VR authoring) And two changes that breaks backwards compatibility: - Azimuth is now positive in counter-clockwise direction - Quad decoder now has 4 channels out only More details can be found here: http://www.ambisonictoolkit.net/publ...r-1.0.0b9.html |
07-24-2016, 02:47 PM | #2 |
Human being with feelings
Join Date: Jun 2011
Location: Belgium
Posts: 5,246
|
Thank you, Trond!
__________________
In a time of deceit telling the truth is a revolutionary act. George Orwell |
07-24-2016, 06:53 PM | #3 |
Human being with feelings
Join Date: Mar 2010
Location: Adelaide, South Australia (originally from Geelong)
Posts: 5,598
|
Wonderful stuff Trond! Another big thank you.
I've literally just finished setting up and testing my first 3D cube using mostly Auratone 5C cubes and have been using your ATK (and the Periphonic 3D decoder) for testing and listening. I made another post about that and just replied to it with some details about the cube array. I'm planning on starting some Ambisonic mixes of my own in the next few weeks so your updates are perfect timing, particularly given the azimuth fix. Given I haven't done any B format mixes just yet, I don't have to worry about backwards compatibility. A quick question about the periphonic decoder... Is the elevation angle the angle between the horizontal listening plane (midway between the upper and lower ring in my current setup) and the top and bottom speaker rings?
__________________
|
07-24-2016, 11:59 PM | #4 | ||
Human being with feelings
Join Date: Jul 2011
Location: Bergen, Norway
Posts: 123
|
Quote:
Quote:
There is a small visualisation in the GUI of the elevation angle, in between the two circles and a little to the right. I should mention that the Periphonic 3D decoder does work correctly yet. When porting the code from the SuperCollider version of ATK I failed to realise that the matrixes used are to be "pseudo-inversed". I have tried and used the Periphonic 3D decoder in it's current state myself, and get quite good results, but according to Joseph Anderson it will sound better (and be more correct with respect to Gerzon's ideas about ambisonics) when I have added the pseudo-inverse. This is tracked in relation to #2, #4 and #5 in the issue tracker: https://github.com/ambisonictoolkit/atk-reaper/issues I hope that it won't take to long before I get around to address this, as it's one of the main tasks left before ATK can be properly released, but I have a pretty packed schedule thought September. |
||
07-25-2016, 10:46 AM | #5 |
Human being with feelings
Join Date: Mar 2010
Location: Adelaide, South Australia (originally from Geelong)
Posts: 5,598
|
Thanks again Trond. Much appreciated. What you mentioned about the elevation control is pretty much what I figured it was for.
Regarding the pseudo inverse situation, do you have any information about what that does and how not including it will affect my listening tests? I didn't see much of a description about that in the tracker. I have been directly comparing your cube decoder with Bruce Wiggins one and, from the limited time I've had so far and my less than optimal current speaker configuration, I prefer the sound of yours. It seems to provide better rear localization. I did have to reverse the polarity of the two lower rear speakers though for the sound localization to work well enough. As I mentioned in my other thread though, that could be either an amplifier issue (I'm running those speakers from a different amplifier) or it could be because those two speakers are not Auratones and I've had to EQ them to get them timbrally similar. Or perhaps this is related to the pseudo inverse thing you're speaking of?
__________________
|
07-25-2016, 01:47 PM | #6 | |
Human being with feelings
Join Date: Jul 2011
Location: Bergen, Norway
Posts: 123
|
Quote:
The idea with ambisonics decoding is that it is very straight forward when all speakers are positioned at equal angular distance. In 3D this only happens if the speakers are laid out according to one of the platonic solids. My guess is that Brice Wiggins Cube decoder is using one of these shapes, and if so, the vertical distance between upper and lower ring has to be the exact same as the distance between front and back speakers in order for the decoder to work properly. This might be why you are not getting satisfactory results from it. If you need to decode to irregular speaker layouts, some kind of "best fit" solution need to be applied. The PseudoInverse trick is that it asks what it would sound like if you had sound sources coming from the direction of each of your speaker. It then inverts this so that what started out as an encoder of a number of planewaves instead becomes a decoder. I´m not sure exactly how that will sound and how it will differ fro the current implementation, but I trust Joseph when he says that it will improve the decoder. But that being said, I agree with you that it works fairly well already, I have been surprised by how good it sounds when trying out with two rings of 8 speakers at LABRI in Bordeaux in May. And I'm looking forward to test with proper PseudoInverse implementation as well. |
|
07-26-2016, 07:06 AM | #7 |
Human being with feelings
Join Date: Nov 2009
Location: UK
Posts: 669
|
Great stuff. I am going to remix one of my songs in ambisonics to learn more about this.
I am confused about how to go about mastering on it though. Wouldn't typical mastering techniques affect the differences & relationships between channels that are used to decode? Last edited by mrlimbic; 07-26-2016 at 09:50 AM. |
07-26-2016, 09:48 AM | #8 |
Human being with feelings
Join Date: Mar 2010
Location: Adelaide, South Australia (originally from Geelong)
Posts: 5,598
|
Thanks again for the detailed reply Trond. I'm still not sure exactly what the PseudoInverse stuff is all about but I'll take your word for it!!
I think you might be spot on regarding Bruce's cube decoding. There's no elevation control there and my current setup is about 35 degrees which is from memory, your default setting. I have all speakers equidistant in each ring but the distance from the bottom to top ring is slightly smaller, hence the less than 45 degree elevation. I do plan to put together a frame to hold each speaker and that frame will be 45 degrees elevation giving me perfect cube dimensions on all sides.
__________________
|
07-26-2016, 09:51 AM | #9 | |
Human being with feelings
Join Date: Mar 2010
Location: Adelaide, South Australia (originally from Geelong)
Posts: 5,598
|
Quote:
__________________
|
|
07-26-2016, 02:21 PM | #10 | |
Human being with feelings
Join Date: Nov 2009
Location: UK
Posts: 669
|
Quote:
|
|
07-27-2016, 03:49 AM | #11 | |
Human being with feelings
Join Date: Jul 2011
Location: Bergen, Norway
Posts: 123
|
Quote:
If you use a non-linear effect on the B-format signal, the spatial image will get distorted. The trick when using these kinds of plugins is to first decode from B-format to A-format using the BtoA plugin with Decorrelated weight, apply your processing to the resulting A-format signal, and then re-encode back into B-format using the AtoB plugin. This will maintain the spatial image to a much higher degree. This technique is discussed in the the 2014 paper "ATK Reaper: The Ambisonic Toolkit as JSFX plugins", that can be downloaded here: http://www.ambisonictoolkit.net/publications/ The paper was recently translated into Spanish and published in Ideas Sónicas/Sonic Ideas, vol 8, no. 16., by CMMAS, Morelia, Mexico. I have started developing a series of 4-channel JS plugins for my own use exactly towards this kind of workflow. They are not in any releasable form, and are subject to whimsical changes and alternations depending on my own needs and experiences, but with these caveats, if you want to take a look, they are available here: https://github.com/lossius/js-plugins Eventually they may get a more fixed and mature shape, but I'd like to keep them open-ended for quite a while yet in order to experiment with and gradually develop sensible designs through practical use. The plugins make use of CookDSP, so that need to be installed as well. |
|
07-28-2016, 11:40 AM | #12 |
Human being with feelings
Join Date: Mar 2010
Location: Adelaide, South Australia (originally from Geelong)
Posts: 5,598
|
Trond, I'm not sure why but since installing b9, I'm noticing considerable lag when opening previous projects which I created with the b7 versions of the ATK.
I'm going to try creating a new project with the b9 plugins and see if that lags upon loading too. This is with REAPER 5.23 pre4 64 bit on Windows 10 64 bit.
__________________
|
07-28-2016, 11:44 AM | #13 |
Human being with feelings
Join Date: Mar 2010
Location: Adelaide, South Australia (originally from Geelong)
Posts: 5,598
|
Hmm... I created a new, blank project and am getting the lag when inserting any of the new encode/decode ATK b9 plugins. It isn't a huge lag but it is noticeable and seems to be cumulative the more ATK plugins I have per project. The lag for inserting a single plugin is about five seconds whereas before, it was pretty much instant.
__________________
|
07-28-2016, 01:25 PM | #14 |
Human being with feelings
Join Date: Mar 2010
Location: Adelaide, South Australia (originally from Geelong)
Posts: 5,598
|
I just reverted back to the b7 ATK and everything loads instantly again.
One thing I forgot to mention too is that there seems to be something odd going on with the pin connections in some of the plugins too. For instance, when I click the pin configuration tab on the 5 channel encoder, the plugin stops passing audio and I have to delete it and reinsert it to get it working again. This also happens with the Binaural decoder and some others too. If I take it offline and back online it doesn't fix things. I have to remove and reinsert it. This happens with all versions so far on my PC.
__________________
|
07-28-2016, 08:13 PM | #15 | |
Human being with feelings
Join Date: May 2006
Location: Saskatoon, Canada
Posts: 2,113
|
Quote:
As for the mastering question, I think one of the big differences between ambisonics and straight pan-pot mono mixing is that it creates a mix that can be decoded many ways for delivery. When mastering it's best to consider any changes made to the ambisonic signal (4 channel b-format or what have you) as being generic adjustments that are checked over a couple different decodes for coherence and then any final tweaks be made to the specific decode for delivery (or on site as the case may be).
__________________
mymusic http://music.darylpierce.com mywork http://production.darylpierce.com mypodcast https://youtube.com/@ultimatesoundtest |
|
07-29-2016, 12:44 AM | #16 | |
Human being with feelings
Join Date: Jul 2011
Location: Bergen, Norway
Posts: 123
|
Quote:
<start of example> Steps to reproduce: 1. Install v. 1.0.0.b9 2. Start Reaper (32-bit version) 3. Make a new project 4. Create a new track in project and make it 4 channels 5. Add a 4-channel B-format sound file to the track 6. Add <name of plugin> Result: Takes ages for the plugin to load </end of example> Also it will be useful to know: - What Windows version do you use? - What version of Reaper (32-bit or 64-bit)? - Does behaviour change if you do this in the other version of Reaper? - Do you boot of an SSD disk or a regular disk? - Do this happen the first time around only, or will it happen again if you then quit Reaper and repeat all of the steps except for the re-installing of ATK? (I see that you've provided some of this info already) The only thing that I can imagine that cause plugins to take longer to load is the introduction of dependency on CookDSP. This of course means that there are more header files, and if Reaper/system takes longer to locate, load and interpret those files, it might lead to lags. I won't have the time to test out on Windows myself until sometime tomorrow. On OSX I have not noticed any particular lag myself, and certainly not in the many-seconds range. I have a 4-year old laptop with an SSD so if disk read is the issue here, I might have gotten away with it... Thanks! |
|
07-29-2016, 12:46 AM | #17 |
Human being with feelings
Join Date: Jul 2011
Location: Bergen, Norway
Posts: 123
|
|
07-29-2016, 12:49 AM | #18 | |
Human being with feelings
Join Date: Jul 2011
Location: Bergen, Norway
Posts: 123
|
Quote:
I'm gonna make tickects in the issue tracker for both of these. |
|
07-29-2016, 12:55 AM | #19 |
Human being with feelings
Join Date: Jul 2011
Location: Bergen, Norway
Posts: 123
|
Slow loading issue is now tracked here:
https://github.com/ambisonictoolkit/...aper/issues/46 and the pin connector issue is here: https://github.com/ambisonictoolkit/...aper/issues/45 |
07-29-2016, 12:46 PM | #20 |
Human being with feelings
Join Date: Mar 2010
Location: Adelaide, South Australia (originally from Geelong)
Posts: 5,598
|
I've just made a short video showing the difference between the b7 and b9 versions of the ATK loading times. This issue occurs no matter what I do to load the plugins, whether it be from a blank track with two, four, eight or any other number of channels. It happens every load whether from a new project or an existing project.
In the video, first is beta 7 behaviour, second is beta 9, third is loading an existing project with multiple ATK b9 plugins. Computer specifics are: REAPER version 5.23 (64 bit) running on Windows 10 (64 bit). i5 3317 CPU, 4GB RAM, Samsung 850 EVO SSD, RME Fireface UFX. https://www.youtube.com/watch?v=FQhGM5qttPA I'll put together a video of the plugin pin audio muting issue shortly. Hope this helps you find the cause.
__________________
|
07-29-2016, 12:58 PM | #21 |
Human being with feelings
Join Date: May 2006
Location: Saskatoon, Canada
Posts: 2,113
|
5.23 pre5 on Windows 10 64 bit. Thanks for getting on this so quick.
__________________
mymusic http://music.darylpierce.com mywork http://production.darylpierce.com mypodcast https://youtube.com/@ultimatesoundtest |
07-29-2016, 03:09 PM | #22 | |
Human being with feelings
Join Date: Mar 2010
Location: Adelaide, South Australia (originally from Geelong)
Posts: 5,598
|
Quote:
I've noticed it when inserting a Waves UM226 (stereo to 5.1 upmixer) and an ATK 5 channel encoder on the same track. If I click on the ATK encoder pin button, the audio stops. If I then go back in the undo history and then forwards again, I can usually get it the audio to start again. If I insert the UM226 on one track and the ATK 5 channel encoder on another track and buss the first track to the second one, it works fine. I can post an example project with this all configured how I have it if you want. You'd need to have the Waves UM226 installed though.
__________________
|
|
09-11-2016, 04:28 AM | #23 |
Human being with feelings
Join Date: Jul 2011
Location: Bergen, Norway
Posts: 123
|
Hi, I'm currently preparing a new beta version, and I have addressed most of the issues raised here, as well as a few additional ones that I discovered myself. I have been able to do some testing on Windows myself finally, and that quickly confirmed the issue with slow loading in b9. However I am not able to reproduce the pin connector issue that you report, ReaDave.
I have gotten myself a 7 day demo of the Waves UM226 plugin, but regardless of how I add, delete, and re-add plugins in Reaper projects, I am unable to reproduce this issue. Would you be able to provide me with further details on how to reproduce this issue? It would also be useful to know if you use Reaper as 64-bit or 32-bit application, and whether you are loading UM266 as a VST2 or VST3 plugin. And finally: Was this a new issue appearing in beta 9, or have you seen this issue earlier on as well? If I hear back from you, I'll hold of a new release so that I hopefully can include this fix as well. I have received suggestions for not defining the pins of my plugins, but I find this very useful myself,and I believe that some critical information regarding how many (and what) channels of audio the plugins receive and return will get lost if the pin information is commented out. So if at all possible I'd like to keep pin info in. Thanks! |
09-11-2016, 05:24 AM | #24 |
Human being with feelings
Join Date: Jul 2011
Location: Bergen, Norway
Posts: 123
|
And on a different note, I get the impression that you are using an effect chain for stereo to B-format encoding that looks like:
stereo sound file => UM266 upmix to 5.1 => 5_0 encoder => B-format I guess that when doing so you have not been satisfied with the results you get by just using stereo sound file => stereo encoder => B-format Did you try the SuperStereo encoder? This encoder in my opinion gives a result that sounds much more natural and realistic, sounding like a scene unfolding in front of you rather than as two sound sources coning from left and right: stereo sound file => SuperStereo encoder => Bformat Eventually you van afterwards use the FocusPressPushZoom plugin to shape how wide the reslting scene should be, or the RotateTiltTumble for rotating it toward the left, right or back: stereo sound file => SuperStereo encoder => Bformat => FocusPressPushZoom transform => RotateTiltTumble transform Might be worth trying out! |
09-11-2016, 06:19 PM | #25 | |
Human being with feelings
Join Date: May 2006
Location: Saskatoon, Canada
Posts: 2,113
|
Quote:
I would say that if they are addressing it then the problem is probably not with your code.
__________________
mymusic http://music.darylpierce.com mywork http://production.darylpierce.com mypodcast https://youtube.com/@ultimatesoundtest |
|
09-12-2016, 02:26 AM | #26 |
Human being with feelings
Join Date: Jul 2011
Location: Bergen, Norway
Posts: 123
|
Thanks Plush, looking at forthcoming changes for Reaper v.5.25 I notice that they know add pin info to many of the stock plug-ins:
+ JSFX: update many stock plug-ins to define their I/O I'll keep the pin info in for the time being, and hope to release a new beta later today. |
09-12-2016, 09:27 AM | #27 |
Human being with feelings
Join Date: May 2006
Location: Saskatoon, Canada
Posts: 2,113
|
Excellent, looking forward to testing the new build.
__________________
mymusic http://music.darylpierce.com mywork http://production.darylpierce.com mypodcast https://youtube.com/@ultimatesoundtest Last edited by plush2; 09-12-2016 at 09:27 AM. Reason: redundancy |
09-13-2016, 02:25 AM | #28 |
Human being with feelings
Join Date: Mar 2010
Location: Adelaide, South Australia (originally from Geelong)
Posts: 5,598
|
Sorry Trond. I've only just seen your replies now. I haven't been on the forum for a few days.
I have recently started some new mixes in Ambisonic format and have noticed the audio issues with plugins other than Waves when using the ATK doing the same thing. I also sometimes get garbled audio rather than it cutting out completely and when that happens, the only solution is to separate the ATK plugins by bussing them to new tracks. I'm using 64 bit REAPER on Win 10 64 bit and all plugins are VST2. From memory, I think I was actually getting this garbled audio issue when I was using the JS multiband splitter with a few instances of ReaComp and the JS multiband combiner. I'm not 100 percent sure of that though because I'm not at my computer right now. Regarding the 5.1 stuff, your plugin chain is exactly what I am doing. I have used the stereo encode method and I do like that quite a lot but the 5.1 upmixes are mainly for dedicated 5.1 projects where the final mix is for 5.1. I'm using Ambisonics to create a virtual 5.1 monitoring situation. In future though, I plan on doing pretty much everything in Ambisonic format and creating the necessary downmixes (whether 5.1, stereo, mono or anything else) by using decoders from the B format. I did briefly play around with the super stereo encoder but didn't get convincing results. Looking at your plugin chain though, I now see why. I was placing the super stereo plugin after the B format conversion (oops!! Silly mistake!) I'll definitely give that another shot now though.
__________________
|
09-13-2016, 05:51 AM | #29 |
Human being with feelings
Join Date: Jul 2011
Location: Bergen, Norway
Posts: 123
|
Let's await the next incremental version of Reaper and see if that helps, if not the best we can do is probably to provide a precise bug reaper to the Reaper developers. In the worst care I'll have to comment out the pin information, but I believe that is less than ideal with respect to the user-friendliness of the plugins.
I've just uploaded one more tutorial, for encoding stereo sources. They are both at the "ATK for Reaper - Tutorials" page on the ATK website. I've also made the Reaper projects I used for these screencasts available. They can be downloaded from the same place. |
09-14-2016, 01:59 AM | #30 |
Human being with feelings
Join Date: Mar 2010
Location: Adelaide, South Australia (originally from Geelong)
Posts: 5,598
|
That sounds like a fair suggestion regarding REAPER and pin connections.
On that topic, I do recall one more thing that may be relevant in reproducing the bug I am seeing. When I'm using the other multichannel VSTs, I do change around the pin assignments. I'm using a 3D cube monitoring array but I still have center and LFE, channel assignments in my setup so I repatch everything to skip pins 2 and 3 (which are C and LFE).
__________________
|
09-14-2016, 02:03 AM | #31 |
Human being with feelings
Join Date: Mar 2010
Location: Adelaide, South Australia (originally from Geelong)
Posts: 5,598
|
One more thing, my speaker array isn't in the order of the standard pin assignments either (at least not at present but I may change that soon). That means that I also change around the pin assignments on the ATK plugins and also on other VSTs.
Also, Waves has a different channel order for its 5.1 assignments than I use so I also change around its output pins and have that saved as a preset.
__________________
|
09-14-2016, 02:06 AM | #32 |
Human being with feelings
Join Date: Jul 2011
Location: Bergen, Norway
Posts: 123
|
Thanks, ReaDave. I feel that this is one of the reasons why it is useful to keep the PIN info in if possible, it makes it much more clear what signals are passed to each of the channels. I often do tweek PIN routings myself as well, but on OSX I have not experienced any problems. Crossing fingers for next version!
|
09-14-2016, 02:12 AM | #33 |
Human being with feelings
Join Date: Mar 2010
Location: Adelaide, South Australia (originally from Geelong)
Posts: 5,598
|
I'm with you on the pin info. I find it very useful.
__________________
|
10-23-2017, 08:09 AM | #34 |
Human being with feelings
Join Date: Oct 2017
Posts: 23
|
Ambisonic 4.0 render template
Hello all, I just need a template for making 4 mono tracks/wavs encode to an ambisonic 4 channel wav file. I have the ambisonic toolkit, but cant get the sounds mapped correctly. Please help.
|
10-23-2017, 08:16 AM | #35 |
Human being with feelings
Join Date: Nov 2009
Location: UK
Posts: 669
|
Do you mean you have 4 mono signals you want to place in 3D space? Or are these mono signals together already ambisonic encoded and just want to combine them into a single 4 channel track?
|
02-21-2018, 05:25 AM | #36 |
Human being with feelings
Join Date: Jan 2008
Location: Berlin
Posts: 290
|
Hello,
ATK helped me learn ambisonics a TON. Thank you lossius! I especially love the transforms! The ATK is the only tool I know so far that allows this kind of manipulation. Unfortunately - 1st order ambisonics only. Are there plans for higher order ambisonics? Thanks!
__________________
Thank you and have a nice day! :) |
Thread Tools | |
Display Modes | |
|
|