Group Admins

ToscA with Logic Pro X

Hi,
I’m trying to get ToscA to send messages from Logic Pro X to maxmsp and spat but the polling rate is really low. The problem seems to be related to Logic since trying the same procedure with Digital Perfomer works as expected, resulting in smooth movement of parameter values in the spat operator interface. Any ideas as to what might be the problem?
Kind Regards,
Erik

Hi,
Thanks for the reply, but I do have audio in the track.
Still, the “economy mode” issue might be the cause.
The slow polling is more pronounced when having small deviations in the automation data (see attached image).

Attachments:

Then I’m afraid that this is a Logic issue.
It is the DAW responsibility to communicate the automation “fast” enough (i.e. with a fine temporal resolution) to the (ToscA) plugin.
Some DAWs (e.g. Protools, Reaper) tends to provide a pretty good sampling of the automation curves, while other DAW are more “slow/sparse”.
I’m afraid there is nothing I can do to improve that.
Maybe check if there is a magic setting somewhere in Logic that could improve the rate.

Hi,
Yes, you’re probably right that this is a Logic issue, and that there’s not much to do about it.
Neverthelees I’ll report some findings for future reference:
It seems to be a matter of automation resolution (within Logic) rather than polling speed:
I only get a new message in Max when the automation value in the small box next to the Logic track changes.
Unfortunately the automation value seems to be truncated to 1/100ths (only having two decimals), see attached Logic screendump.
So in Max I’ll only get a new azimuth reading approx. every 3.6 degrees (360/100), see attached Max screendump.
It would be great to be able to use Logic with this amazing plug-in, if anyone has succeeded to get high res/smooth automation, please chime in!
Kind Regards,
Erik

Thanks for the report.
This was indeed helpful :
your report revealed that the issue is not really a “polling rate” issue but rather a quantization issue.
I have enabled an option which will allow “high resolution” automation. This should avoid the 1/100 quantization step.
NB: This only affects Audio Units (not VST or AAX, which have no issues with quantization).

There is however a major drawback: enabling this new option will break compatibility with existing automation. (the existing automation will be scaled down by approx 0.8).
Again, all this sounds like a stupid Logic issue, and I dont see any workaround.

Hi,
Thanks, the new AU works great in Logic!
I now have an automation value with 4 decimals in Logic (1/10000ths).
So in max i will get a new azimuth reading every 0.036 degrees (360/10000).
This is more than enough for the spat.oper interface which expresses azimuth in 1/10ths of degrees.
Also, there seems to be no need for having audio in the track for automation to work.

Within Digital Performer I get an automation value of 6 decimals.
Would it be possible to have 6 decimals in Logic as well?
It would be useful for spat.oper parameters like omni freqs (20-20000 Hz) or for general purpose use of ToscA where more than 10000 steps is called for.
Kind Regards,
Erik

Ok, I see, thanks anyway for the updated AU version, now my students will have the option to use Logic with spat if they prefer.
The ToscA software in combination with Jack will be perfect for this.
All the best,
Erik

I was wondering if it would be possible to rename other parameters such as prer, aperture, warmth etc within the xml file. I have been trying changing it but looks like Reaper and Pro Tools 10 don’t accept these other terms.

1) Make sure you’re using the latest version of ToscA
2) Make sure you reload the mapping file after editing it.
3) Also, quoting section 3 of the user manual:
“many DAWs have difficulties to dynamically update the parameters’ names. As a workaround, ToscA will automatically search for a mapping file in a specific location, namely: “∼/Documents/Ircam/tosca/startup_mapping.xml”.
If your host exhibits difficulties with dynamic loading of mapping file, then create “∼/Documents/Ircam/tosca/startup_mapping.xml” (create the folder if it does not exist), and restart the DAW. Upon instantiation of ToscA, the plugin will load this mapping file and the parameters’ names should all be correct.”

What you’re doing seems correct.
So, my guess is that something is wrong with your mapping file. Probably some text encoding issue. (in your video, i’m not sure, but there might be a problem with the quotation marks)
I would recommend:
– delete the current mapping file
– make a new one, by copying the sample xml file provided with the tosca package
– when editing this xml file, use e.g. TextWrangler (not TextEdit) and make sure the file is saved with UTF-8 encoding.

Quick question. If I have to send OSC from Spat to Reaper and vice versa using ToscA, do you advice using the parameters X Y Z to automate in Reaper and format from/to AED before and after or just always using AED? I had some troubles while using AED and I tried to create a system by formatting to/from X Y Z but it doesn’t look that right.

it was ages ago, after I gave up. I wanted just to record azim, dist and elev as automations with Tosca, but the problem are the messages sent from Spat, that are just in aed.

My whole point was to do as less steps as possible during AED to azim, dist, elev and viceversa, to make the whole system lighter, as I am running everything from a laptop and when I start having lots of sources working at the same time it gets heavy.

I didn’t ask before because I understood of the limitation of Spat’s output parameters.

And if you have time, what would be the best way to save parameters that don’t need to be saved as automations in the DAW such as sources perceptual factors (source brilliance etc) or reverbs. You may have an advice, as I noticed after closing the patch this parameters values get lost. I found the object – preset – it is working but if you have any better suggestion it would be great. cheers

Yes, for parameters that are not automated, you can use the “preset” object.
Or store the spat oper status in a dictionary (see e.g. the spat.oper help patch, “working with dict” tab).
Or just “dump” the state of spat oper and keep it in a Max message.
I usually prefer the dictionary technique; but whatever works…

The “dump” message dumps all the attributes of the object, and room size is not an attribute.
Why? mainly because it is a meta-parameter (a parameter controlling several others) and it would be difficult to handle that with attributes.