How we incorporate PACE’s cloud signing tools into our build pipeline for Free Suite

by Jonathan Hyde


Unlike our previous free plugin offerings, Free Suite is additionally available as AAX plugins, and this is made possible by the AAX Cloud Signing Tools and support provided to us by PACE.

Creating AAX plugins is a slightly more involved process compared to VST and AU formats. One of the obstacles is that AAX plugins need to be digitally code signed in a specific way with Avid developer credentials and metadata in order to be accepted and loadable in Pro Tools. Doing so has until recently required the use of a physical USB iLok plugged into the build machine to authorise the code signing process, which is problematic for continuous integration build pipelines, particularly if the pipeline build instance is on a remote machine or using a ‘cloud’ build service such as CircleCI, which we currently use for Free Suite.

Continuous Integration in the cloud for plugin development

We decided recently to switch from a manual and local build process to a continuous integration and continuous deployment (‘CI/CD’) system, which allows for automated rapid builds and deployments of our plugins in a consistent and transparent way; this is particularly useful during our Free Suite alpha period where there are frequent updates and features being added for testing. In our use case, instead of investing in dedicated Windows and MacOS servers to host our build infrastructure, we decided it made more sense to use a ‘cloud’ CI approach, whereby virtual instances of our MacOS or Windows setups could be rapidly deployed and scaled as needed only when a build of our plugins is running. We chose CircleCI as our cloud based CI tool as it was a cost effective solution that offered GitLab integration, and can instantly create Windows and MacOS build instances in parallel for rapid builds across our targeted systems and formats. The build pipeline can be configured by a simple YAML script that allows you to split the process into various stages or ‘jobs’ which helps for faster fault detection and isolation, and we configured the pipeline to trigger whenever a commit is made to the Free Suite master branch.

PACE’s solution for AAX deployment for Cloud CI/CD Pipelines


As we wanted to include AAX plugins as part of our mission for Free Suite to be widely supported on all platforms, we reached out to PACE to see if they were willing to assist us in this task and help us incorporate AAX signing into our cloud CI pipeline. PACE graciously offered to help support us and provided us with access to the tools we needed to make this possible. Fortunately PACE offers an alternative solution for AAX signing using their ‘AAX Cloud Signing Tools’ service. While producers may have used iLok cloud via the iLok license manager application GUI, developers may not be aware that PACE also offers a method to open a cloud session fully headless via the command line.

The way we incorporate the cloud tools into our pipeline is relatively straightforward. The first thing we need to do is prepare the build machine instance by installing iLok License Manager on it, this can be done headless on the command line as follows.

Mac:

curl -0 https://installers.ilok.com/iloklicensemanager/LicenseSupportInstallerMac.zip --output $zipName
unzip $zipName
hdiutil attach LicenseSupportInstallerMac*.dmg
mountedVol=$(ls /Volumes | grep License)
pkg="/Volumes/$mountedVol/License Support.pkg"
sudo installer -pkg "$pkg" -target LocalSystem

Windows:

Windows is slightly more complex; installing iLok License Manager first requires a one time generation of an installer ‘response file’, which can subsequently be used in future build jobs for headless installation by passing the response file as a parameter to the installer with the -s option; this requires one time remote desktop access to the machine in order to launch the installer gui and generate the file. CircleCI provides a guide on how to generate this response file and use it for headless installation, which can be found here.

Once the install is complete, build your plugin(s) as usual, including the AAX plugins. With the built plugins ready, next comes the actual code signing step. The signing requires a separate utility, ‘wraptool’, which is part of the Eden package that AAX developers will have access to. Unlike the iLok License Manager, the wraptool binary appears to be fully portable with no additional dependencies. Our pipeline pulls a package which includes the wraptool binary, response file mentioned above for windows and the a cert used for code signing from our own host. With everything now prepared, the actual AAX signing stage works as follows.

Mac:

iloktool cloud --open --account $ilokuksername --password $ilokpassword -v # Open an iLok cloud session
./wraptool sign --verbose --account $ilokuksername -p $ilokpassword --wcguid $wcguid --signid $signid --dsigharden --dsig1-compat off --in "path/to/plugin.aaxplugin" --allowsigningservice # Sign the plugin
iloktool cloud --close -v # Close the iLok cloud session

Windows (powershell):

.\iloktool.exe cloud --open --account $env:ilokuksername --password $env:ilokpassword -v # Open an iLok cloud session
.\wraptool.exe sign --verbose --account $env:ilokuksername -p $env:ilokpassword --keyfile $keyfile --keypassword $env:cert_pass --wcguid $env:wcguid --in "path\to\plugin.aaxplugin" --allowsigningservice # Sign the plugin
.\iloktool.exe cloud --close # Close the iLok cloud session

As you can see, it’s very simple to start and stop a cloud session using iloktool. Additionally, you only need to append --allowsigningservice to your wraptool command to enable it to work with an ilok cloud session.

With these simple steps, AAX plugins are now always automatically signed in our pipeline builds, which saves us a lot of headaches. We are grateful to PACE for their support ensuring each Free Suite plugin can be provided in AAX format.

Please note: as of Eden version 5.6.3 and iLokTools version 5.7.1, these are the command line options we found necessary. However, these may change in future updates – we recommend you consult the documentation for the most up to date workflows and commands for your pipeline.

To try out the Free Suite Alpha, visit our discord at: https://discord.gg/CfYArSdFjK

Dimmer Setup Guide – Logic Pro X

by Adam

If you want to get Dimmer working in Logic, you’ve come to the right place. A setup guide for Pro Tools is here. If you would like a setup guide for a different DAW/OS, please get in touch via the contact form.

I’ll be using a stripped-down recording session containing pretty much only what we need to demo the plugin. This example will be as if you are recording someone for a VO, but Dimmer can be used for other purposes too. You can get the session here.

The session contains the following tracks:

  • Talkback: The engineer’s mic input (aux track)
  • Talent: The mic input for recording (aux track)
  • Speaker Out: The submaster, which goes out to the speakers (aux track)
  • Record: Where the talent’s voice will be recorded to audio files (audio track)
  • Take tracks, where you might drop the recordings, ready to record the next take (audio tracks)
  • Stereo Out: the main output track to the speakers

I ran 2 different tones through the Talkback and Talent tracks so I could see what was going on.

Currently, if you have the talkback mic open, the talent will hear an echo of their voice coming out of the engineer’s speakers. So, let’s add Dimmer to Speaker Out in order to reduce that problem.

Dimmer opens up, with its four options (at the time of release), and the option for a Side Chain. This will be a bus from the talkback mic.

Next, we must make the sidechain. We open I/O Labels…

…and scroll down past inputs to see the buses available to us.

We’ll use Bus 4 for our Dimmer sidechain.

So, we make a send to our sidechain on our Talkback track.

So, our track layout looks like this. Logic has created an Aux track, which we do not need.

We delete the aux track and Logic prompts us that it is in use. Click ‘Delete anyway’.

Sends default to -inf dB so option-click the rotary fader to bring the send up to 0dB.

Reopen Dimmer so we can set its Side Chain input.

Select our nicely named bus in the Side Chain drop-down.

Now Dimmer is receiving the send from our Talkback track into its Side Chain input.

Once that is done, the indicator becomes functional and shows the amount of dimming happening – since we are running tone through our Talkback track, it is currently dimming, so the indicator is on.

To set the threshold of Dimmer, we can turn the tone off, open our talkback mic (don’t say anything yet!) and set the ‘Threshold’ to a little higher than the noise floor of the talkback mic.

The indicator will light up to show the Dimmer is being triggered, and the level of our main speakers will drop by the ‘dimming’ amount – 10dB shown above.

Once you’ve set that up, it’s probably useful to save a plugin preset that matches your talkback mic.

I use Dimmer to avoid echos and feedback loops, but you can use it whenever you want to duck any sound under another without the pumping effect of a compressor. For example, if you create podcasts or something with a similar ‘voice-over-music’ style, you can use Dimmer to duck the level of the music while you’re speaking.

And that’s it!

If you have any questions or comments, or want me to make a guide for your DAW, please get in touch via the contact form. If you want my Logic Pro X project, it’s here. If you want to try Dimmer, you can find it here.

Dimmer Setup Guide – Pro Tools

by Adam

If you want to get Dimmer working in Pro Tools, you’ve come to the right place. For the Logic Pro guide, look here. If you would like a setup guide for a different DAW/OS, please get in touch via the contact form.

I’ll be showing you the setup with Pro Tools on Mac, using a stripped-down recording session (also used for the video), containing pretty much only what we need to demo the plugin. This example will be as if you are recording someone for a VO, but Dimmer can be used for other purposes too. You can get the session here.

The session contains the following tracks:

  • Talkback: The engineer’s mic input
  • Talent Mic: The mic input for recording
  • Speaker Out: The master output to the speakers
  • Record: Where the talent’s voice will be recorded to audio files.
  • Take tracks, where you might drop the recordings, ready to record the next take.

Currently, if you have the talkback mic open, the talent will hear an echo of their voice coming out of the engineer’s speakers. So, let’s add Dimmer to Speaker Out in order to reduce that problem.

Dimmer opens up, with its four options (at the time of release), and the option for a ‘key input’. This will be a sidechain from the talkback mic.

Next, we must make the sidechain. We open I/O Setup and see our tidy bus layout containing just the three buses we are using.

We make a fourth bus for our sidechain.

And it appears in our list, currently unused.

We close the I/O Setup window and send our Talkback track to our new sidechain bus.

Unless you have changed your Pro Tools preferences, new sends default to silent.

So, we alt-click to set it to 0dB.

Then, we close the floating fader and our Pro Tools session looks like this.

We click on the ‘key input’ drop-down in the plugin window, and choose our sidechain bus as the ‘key input’ for Dimmer.

Once that is done, the indicator becomes functional and shows the amount of dimming happening – currently none, since our talkback mic is closed.

So, we open our talkback mic (don’t say anything yet!) and set the ‘Threshold’ to a little higher than the noise floor of the talkback mic.

The indicator will light up to show the Dimmer is being triggered, and the level of our main speakers will drop by the ‘dimming amount’ – 20dB here.

Once you’ve set that up, it’s probably useful to save a plugin preset that matches your talkback mic.

I use Dimmer to avoid echos and feedback loops, but you can use it whenever you want to duck any sound under another without the pumping effect of a compressor. For example, if you create podcasts or something with a similar ‘voice-over-music’ style, you can use Dimmer to duck the level of the music while you’re speaking.

And that’s it!

Here’s the whole process in a GIF:

If you have any questions or comments, or want me to make a guide for your DAW, please get in touch via the contact form. If you want my Pro Tools session, it’s here. If you want to try Dimmer, you can find it here.

Development updates

by Jonathan Hyde

Hey guys, it’s occurred to me that we’ve been rather opaque about what we’ve been working on the last couple of years, so in this post I want to give an overview on what has been happening behind the scenes at Venn Audio, and where we are at in terms of product development, the challenges we face and our plans for the near future.

Blobs

After V-Clip was released, and taking into account the many feature requests from our users, I wanted to focus on making the ‘ultimate’ dynamics plugin, one that could compete with the many other fully featured dynamics plugins out there. What I thought this meant was that we needed to support all kinds of complex workflows, such as multi-band processing, mid side processing, oversampling, multi channel processing and more. Combining all the possible workflow combinations into a standard plugin of buttons and knobs proved a challenging task. So what I decided to do instead was to create a product where users can define their own workflow and fully customise the UX to their needs, which resulted in work on a fully modular ‘everything’ plugin that we decided to call ‘Blobs’, so named because of the workflow of connecting various different ‘blobs’ or audio processing modules together to form the full processing chain.

Naturally such an ambitious project would require a huge amount of work, and what was initially thought of as a several months long project eventually morphed into a several years long project. Nevertheless, a significant amount of work was completed for this project – the basics of a fully modular and fully customisable processing chain was completed, where you could ‘connect anything to anything’, and define all kinds of complex workflows, such as an oversampled container with dry/wet processing connected to multi band splitting connected to mid side waveshaping and dynamics. And what’s more, any combination of blobs could be grouped, saved as a preset, and then simply re-added to the blob workspace as many times as you wanted, allowing for incredible levels of processing depth and modularity. Below is a screenshot demonstrating the plugin, essentially an audio operating system, complete with windows and even a start menu!

But such an ambitious project proved perhaps too ambitious, the work to truly add all the features I’d like to see for a release became increasingly complex, and it seems bad business at this point to deprive customers of more products for so long. In order to try and give back to those customers that have been patiently waiting, we’ve decided to make use of some of the work that has gone into Blobs so far, which brings us to:

Free Suite

Free Suite is a set of plugins based on the work done for blobs, providing some of the blobs as free standalone plugins. The idea is to create a completely free, performant, light weight, resizeable, zero fuss set of cross-platform plugins. And when I say free, I mean no nag screens, no registration, no ads and no analytics, just full freeware. My ultimate aim would be for this suite to become a reference or standard, a set of plugins one might load when in a new production environment or DAW and quickly need all the necessary tools to do a complete mix of a track. Or perhaps as a reference to compare a new plugin to, in terms of performance and sound. The aim for the GUI is to be maximally simple and fully resizeable, and to have the plugins support as many different platforms and formats as possible.

The current line up includes: gain, pan, EQ, clipping (yes Free Clip 2 is coming!!), compression, delay, convolution reverb, test tone and metering. The DSP/back-end is already complete, there’s just a bit more GUI polishing to do. I plan to release an alpha for testers as soon as possible, and I will create a discord server where I will push regular builds of the alpha and seek ongoing feedback, where anyone is welcome to join and give their thoughts.


Note: early alpha screenshots, GUI subject to change.

Free Suite will be our first offering out of the larger framework we have created when working on Blobs, with further commercial releases on the way based on this same framework, including a sequel to V-Clip, a commercial compressor, and oversampling and analysis tools. Stay tuned!

Thanks,
Jonny

Venn Audio featured on Integraudio!

by Adam

Integraudio is a music blog with plugin reviews, mixing and production tips, interviews and hardware reviews. Check them out to find the best free plugins and learn a new technique or two.

The guys at Integraudio featured both V-Clip and Freeclip in their article on clippers:
https://integraudio.com/7-best-clippers/

If you head over there, you can see how they stack up against the competition and see what other people think of their features.

Our new plugin – Viper!

by Adam

We have released our second paid plugin, and this one is for audio post production. To cue actors for voice recording and ADR, recordists traditionally use 3 beeps, then the actor speaks on the imaginary fourth beep. However, it is becoming more common now to use visual cues (‘wipes’ or ‘streamers’) on the screen, and the actors speaks when the two lines touch. Viper is a simple plugin that generates these wipes, triggered by a midi note.

If you are still using beeps to cue performers and you run your video on a second or third monitor (rather than a dedicated video device for your DAW), give Viper a try. Actors are getting used to having second or third cues to keep them in time during a long sentence with pauses, and it doesn’t have to be too expensive to make it easier and more comfortable for them.

If you are about to make an upgrade from an old Mavericks machine deep in the Foley cave that runs unsupported wipe software and you need something Catalina- or Big Sur-compatible, give Viper a try. Automatable choices of colors can make it easier for you to cue the Foley artist to the footstep or the cut.

If you are building a new studio and you are overwhelmed by the cost of hardware and software licenses, give Viper a try. It doesn’t have to cost hundreds of dollars to generate an onscreen wipe.

Viper sits in your template, ready to record when you are. Select and save your settings, automate your preferences and preview your wipe all from within your DAW.

See the demo here: https://youtu.be/ytcEt4OQLZc

Get the free trial here: https://www.vennaudio.com/product/Viper/