Meeting Topic: Building an Audio Plug-in: From Concept to Release Date
Speaker Name: Jeremy Todd - iZotope, Inc.
Meeting Location: Devlin Hall, Boston College Campus, Chestnut Hill MA
Building an Audio Plug-in: From Concept to Release Date (QuickTime Movie - 60.5 MB - Length: 1:20:59)
AES Boston Section
May 2009 Meeting
with Jeremy Todd
On Tuesday, May 12th, 2009 the Boston Section of the Audio Engineering Society hosted a presentation by Jeremy Todd titled Building an Audio Plug-in: From Concept to Release Date. His objective was to outline what happens behind the scenes of an audio plug-in project.
He began by outlining the different skills required when creating an audio plug-in; DSP, Software Engineering (understanding the different platforms), Product Management, User Interface Design and Quality Assurance. Building an audio plug-in goes through several stages starting with concept, DSP algorithm development (creating a prototype), testing, Beta testing (being tested by outside users for product feedback), UI Design after first beta (starts to take shape) and then a sprint to the finish.
Jeremy used iZotopes' Ozone 4 application as his presentation example. Ozone 4 is a Mastering plug-in made up of six main processing modules that brings several things together into one plug-in; Loudness Maximizer, Paragraphic EQ, Multiband Dynamics, Multiband Stereo Imaging, Harmonic Exciter, Dithering and Mastering Reverb.
He described the process of moving from Ozone 3 to Ozone 4, showing the visual changes that occurred from one version to another and described how differences can be made while retaining a similar "look" to keep it fresh. The updated UI design is first "mocked up" in Photoshop. At first, the concern is about the overall look and not details. This stage is very subjective and comments have to be taken a little lightly, making sure the new look is not too "fluffy".
He explained Mid-Side processing—how the mid and side information can be treated separately and gave examples of Stereo to Mid-side EQing. Taking the side channel information and making it louder will create a perception of a wider field. This gives the ability to do frequency dependant stereo widening instead of just simply stereo widening, which applies broadband to the entire signal.
Using a non-released stand-alone version of Ozone, tools can be implemented for testing the plug-in. System delay is a major concern for anything that is processing audio. Making a compressor with "look ahead" requires a certain amount of system delay, which creates silence at output before audio signal reaches it. This delay needs to be continually reported to the host so that all the other tracks can be delayed appropriately.
Other concerns are "Bypass" transitions that create a crossfade to avoid the click that occurs, and mix control in the dynamics module between wet/dry signal. There are other transparent things to be considered such as lock-free processing—clicking on UI buttons while processing is active.
Setting the correct buffer size for a particular system also enhances the plug-ins performance.
During Beta testing, the feature set is frozen and the focus is on smaller improvements and fixing bugs. At this point, you need to be disciplined in order to get the product released, and a list begins for new features for the next release. Forums are important to get immediate feedback from the users to help plan for future updates. He concluded the presentation by addressing many questions from the audience including software piracy issues, real-time online software and CPU load restrictions in Ozone.
iZotope, Inc. is a Boston-based audio signal processing company. Jeremy Todd directs the research and development of iZotope's signal processing algorithms and products. Mr. Todd holds degrees in Electrical Engineering and Computer Science from the Massachusetts Institute of Technology and is a member of the AES.