Cycling '74 has released a remarkable new application that can be a major addition to your audio processing resources. Pluggo allows Mac users to convert

Cycling '74 has released a remarkable new application that can be a major addition to your audio processing resources. Pluggo allows Mac users to convert MSP patches into VST effects plug-ins, complete with attractive and versatile graphic interfaces. The initial release includes 74 Pluggo/VST effects, as well as instructions on how to make your own. This is among the most cost-effective audio solutions to come along in some time.

Cycling '74's MSP collection of audio processing plug-ins is legendary. Winner of the 1998 EM Editor's Choice Award for best DSP software (and reviewed in the October 1998 issue), MSP does for audio what Opcode's Max does for MIDI. Using a graphic, modular "toolkit," you build complex audio processing routines that can be applied to your sounds in real time. There are dozens of sound-generating and processing functions you can employ and numerous tutorials with examples to get you going. Though converting your own MSP patches to Pluggo plug-ins is not a trivial task, the process is clearly explained in the Pluggo documentation (see the sidebar "Roll Your Own").

You don't have to be an MSP user to take advantage of what Pluggo has to offer; simply install the included plug-ins and start experimenting right away. Then keep your eyes on the Cycling '74 Web site, where new Pluggo plug-ins can be submitted by the many existing MSP users.

SET UP AND INSTALLPluggo is one of a new breed of programs that can be downloaded directly from the developer's Web site. The download starts out in demo mode, in which the plug-in's output is periodically interrupted. To convert the demo to a fully running program, you need to purchase an authorization code from Cycling '74. If you buy the software on CD-ROM, all authorization and IDs are included in the box.

Pluggo installs easily into the home directory of any VST host software. Currently, this can be Steinberg's Cubase, Emagic's Logic Audio, Cakewalk's Metro, Opcode's Studio Vision Pro or Vision DSP, or TC Electronic's new Spark audio editor. Prosoniq has also announced VST support for a forthcoming version of its SonicWorx Studio audio editor. Depending on which host you are using, you may need to make multiple copies of the plug-ins. For example, Logic Audio can access them from anywhere on your drive, so it doesn't need to have its own copy. But Metro requires that all plug-ins be in its home directory. (Two small Lib files must be in the home folder of whatever host program you plan to use.)

You can install all or a limited number of plug-ins initially, and then use the included Plug-in Manager utility to specify which plug-ins appear when you run your host program. This allows you to keep different sets of plug-ins on hand for different projects. The Plug-in Manager can also keep track of any non-Pluggo VST plug-ins that you have.

Once you have Pluggo installed, you can access and use the Pluggo plug-ins like any other VST effects. Keep in mind that, depending upon where you apply a plug-in, the effect will either be mixed with the dry version or will replace it. Be sure you carefully consider where in the signal path you use the plug-in, so you get the effect you want.

INTERFACE ISSUESMany Pluggo plug-ins incorporate a screenful of sliders, though some use other interfaces that are better suited to their functions. In fact, Pluggo developers can choose from a wide range of elements-including number boxes, toggle boxes, envelope editors, and pop-up menus-to provide the most appropriate controls for the various parameters that their effects require. Because the 74 included effects were created by several developers, you'll find some variation among their interfaces, but the vast majority of the plug-ins share a consistent look and feel, and you'll quickly feel at home working with any of them.

At the top of a typical screen is a small menu for choosing among numerous view options and a real-time level meter that can be disabled if you want to eke out every drop of processing power for the effects themselves (see Fig. 1). The main work area of the plug-in displays sliders for each individual parameter value. The sliders are very responsive and have a large button (or "egg") to grab on to, making it easy to fine-tune a setting with the mouse. Unfortunately, there's no way to type in numeric values for parameters that employ sliders.

There are, however, various shortcuts for setting values. For example, if you Command-click on a slider, the Parameter Change menu appears, which offers options including randomizing all settings, "evolving" (shifting) all values a small amount, and importing the settings of one of the presets for the particular plug-in you're using. The menu also offers a single-level Undo command. I found the Parameter Change menu to be very handy for jump-starting effects settings, and ended up saving a vast number of settings that it produced. Because the menu is so well integrated, you'll no doubt find yourself turning to it time and time again.

When you move your mouse over the sliders and knobs, you see a concise pop-up description of what each parameter represents. This is only one of many helpful touches the program offers, and it shows the care and detail that went into its planning. To my mind, Pluggo is truly a marvel of modern interface design.

IN CONTROLPluggo offers a number of other ways to control, and in some cases even automate, parameter changes. In addition to moving sliders, you can use the PluggoBus to provide the values for a parameter. The PluggoBus is an audio route or "pathway" that exists inside the program, along which you can send input and output to any Pluggo plug-in. This gives you the ability, for example, to pass the output of one plug-in to another (that is, run effects in series), or to analyze some aspect of an audio signal and use the analysis data to control another plug-in. For example, you could track the amplitude of an audio signal on one track in your digital audio sequencer, and then use the amplitude levels to determine the LFO rate of another effect. The possibilities are endless, and as with other topics, the manual includes a thorough tutorial on how to use this feature.

Another tool for controlling effects parameters in real time is the Mouse Mod plug-in. Using Mouse Mod, you can assign up to four parameters of a plug-in to function under the control of mouse movements. You can determine whether the mouse's position will set, offset, or scale the values, and you can set the minimum and maximum range of the values that are sent. Using the Mouse Mod's Gate feature, you can assign a keystroke as a trigger that will enable or disable any of the four outputs in real time.

Because the Mouse Mod screen lists the parameters of every plug-in that is currently in use, you can change values in different effects simultaneously. For example, you might use the Mouse Mod as a channel insert, and then assign a granulator and a delay as master effects. Vertical movements of the mouse could control the range of the granulator's grain duration and wet/dry level, while horizontal movements might offset the delay's time and feedback amount. Of course, if you're short on desktop real estate, you might prefer to use the Key Triggers plug-in to assign parameter control to your Shift, Caps Lock, Option, Command, and Control keys.

Finally, you can use PluggoSync to provide timing references where you need them. PluggoSync has its own internal clock, which you could use to trigger a step sequencer, but it can also detect timing information coming from an audio signal, such as a click track. One way to employ this function would be to place the included audio click-track file on any track in your sequence, and set PluggoSync to use the audio as its clock source. Next, open the Synth plug-in and set its built-in step sequencer to trigger under the control of one of the five PluggoSync outputs. By the way, each of the outputs can be a different division of the audio pulse.

ABOVE AND BEYONDPluggo lets you use non-Pluggo VST plug-ins in new and unusual ways. To use a non-Pluggo plug-in, open the generic plug-in (simply called Pluggo), and then load any VST plug-in you have on your system. When you open the edit screen, you can switch between the plug-in's original interface and the standard Pluggo slider screen (see Fig. 2).

In addition to the alternate interface, there are other tricks you can perform with your existing VST plug-ins. For example, you can modulate the plug-ins' parameters using any of the Pluggo modulation options, including the Mouse Mod, the LFOs, or even envelopes you create with the Breakpoint editor. You can also use the Undo command, randomize parameter values, and import settings from an effect's presets, just as you would with native Pluggo plug-ins.

OUT OF THE BOXThe 74 effects included with Pluggo cover an enormous range of processing functions. You'll find nearly every type of modern audio processing tool included in the set, with the exception of spectral analysis and resynthesis. There are delays, filters, reverbs, granulators, distortion effects, compressors, panners, modulators, and vocoders, in addition to other effects that simply defy description. In nearly every case, the plug-ins include numerous useful presets, which means that you'll have a vast number of effects at your disposal right out of the box. I'll give a brief summary of several of the plug-ins; keep in mind, however, that a comprehensive review would take many more pages.

Filters. In the Filter category you'll find such gems as the Harmonic Filter, which is a set of 25 bandpass filters that can be placed under the control of an algorithmic function called Cellular Automata (CA). CA uses a set of rules to determine the current state of a collection of variables, which in this case might be controlling the frequencies of the 25 filters. It then constantly varies those values, producing a random quality to the parameters that it is controlling. The Harmonic Filter uses several types of interface elements to configure various aspects of the process, and an attractive, animated two-dimensional display shows the positions of the different frequencies (see Fig. 3).

Among the other interesting filter effects are a vocoder, available in both 10- and 16-band models; Moving Filter, which runs a signal through two parallel bandpass filters that can accept time-varying parameter changes; and Cyclotron, which employs a step sequencer to determine the filter's frequency and Q factor and provides settings to adjust tempo, glide rate, number of steps, and more.

Delays. The Delay category includes Flange-o-Tron, which provides two 16-step sequencers for controlling delay and feedback levels; and a little gem called Raindrops, written by master sound programmer Jhno. Raindrops provides a fascinating assortment of functions, including two random-number generators that control the center frequency of two bandpass filters, a gain/overdrive setting, resonance, decay, and density. The presets are particularly effective.

Granulators. Pluggo serves up a good number of splicing and dicing tools. There are no fewer than seven dedicated plug-ins for granulating audio files, as well as various other tools that can be made to produce similar results. Part of this bunch is Slice-n-Dice, which chops its audio source into 32 equal chunks and then provides a graphic interface that you use to specify the number of chunks that will play back and the order in which they will play. You can apply attack and decay times to each chunk, and sync the delay time to a PluggoSync output.

The Wheat tool also uses a graphic interface but includes a number of parameters not often associated with granulation, such as a graphic pitch envelope. Shuffler and Stutterer both provide ways to reorganize small chunks of looping audio, and Rye is a slider-based plug-in that includes controls for grain duration, grain period, feedback delay and amount, and grain crossfade.

Distortion. The distortion group is another robust category of effects. Among its numerous offerings are a waveshaper, a ring modulator, a feedback network, and a "cruncher." There's also a fuzz effect, a sampling-rate and bit-depth "degrader," and a plug-in that multiplies your audio with noise (with complete control over all of its parameters, of course). In fact, you'll probably find every type of grunge-producing effect you'll ever need within this group.

Reverbs. Only two dedicated reverb effects are included in the Pluggo package, but they provide a wide range of options. The first reverb, called Rough Reverb, is a stereo effect that has only three parameters: wet level, dry level, and reverb time. ChamberVerb, on the other hand, is far more versatile and includes 16 different parameters. The design of this effect is based on the allpass filter network described in Hal Chamberlin's seminal Musical Applications of Microprocessors but includes a few enhancements to the original. The sound, as they say, is silky smooth (or at least it can be).

Miscellaneous. A number of other effects simply defy categorizing. PlugLoop, adapted from an application written by Jhno, loops up to three audio inputs and gives you control over the length, speed, and direction of each one (in real time, of course). I took the advice of the manual and used the Randomizer modulator plug-in to control the speed and length of the loops; I easily filled up nearly an entire DAT tape of material that I expect to use in a future composition.

The Breakpoints plug-in lets you create your own multisegment envelope and apply it to most any effect you want. Doppler effects can be found in the excellent Dr. Dop plug-in, written by Zack Settel of McGill University, and an audio-rate panner is only one of several spatialization effects. Warble, Warpoon, Vibrato, Cauldron, and Frequency Shifter perform various types of pitch-altering effects, often with humorous consequences.

PROPS TO PLUGGOPluggo appears to be a remarkably efficient application. Using Steinberg's Cubase as the software host, I was able to run four effects as channel inserts and another four as master effects without choking my G3/266. Even with these eight effects running, I could use the Mouse Mod to make smooth changes to different parameters, and the MIDI data in my sequence played without a hitch.

The range of supporting documents is excellent for an application at this price. First, if you buy the CD-ROM version, you'll get a hard-copy manual that provides a thorough overview of the program's operations. (The same document is available from the Web site if you purchase online.) When you install the software from the CD-ROM or Web download, you also get a PDF file that details every plug-in, including a description of each parameter, suggestions for usage, and an indication of the amount of processing power the plug-in will require. Yet another PDF file offers instructions for creating your own plug-ins, and tutorial files are available to ease you through that process. Finally, information about each plug-in is available via online help as you work.

If you own a Mac and are serious about audio, you must get this program. At $74 for 74 effects (make that several hundred effects if you count all the presets!), this has got to be one of the best deals of the century. In fact, even if you don't own a host program that can use Pluggo, you should consider buying such a program just for that task. Moreover, Cycling '74 gives every MSP owner a free copy of Pluggo, so for only $295 you can get it as a bonus with the massively powerful MSP application. One way or another, it's time to get plugged in to Pluggo!

Associate editor Dennis Miller has been plugged in since the age of 11, when he purchased his first Silvertone electric guitar and amp.

Though creating patches in MSP and converting them to VST plug-ins requires an investment of time, the rewards-an unlimited number of customized audio effects-are well worth the effort. You need both MSP and Opcode's Max software on hand. (See the Cycling '74 Web site for a special offer on these programs.)

The first step in the process is to add audio inputs and outputs to your MSP patch. MSP's audio inputs and outputs are called adc~ and dac~ (analog-to-digital converter, digital-to-analog converter), respectively. Normally, these modules, or "objects" in Max terminology, are used to get audio in from a microphone or out to your speakers. To move audio through your VST plug-in, however, you'll use plugin~ and plugout~ (see Fig. A). If you insert a plugin~ after the adc~ and a plugout~ before the dac~, then the adc~/dac~ will be ignored when you use your patch with Pluggo, and the plugin~/plugout~ will be ignored when you run your patch in Max/MSP. This way you can easily switch back and forth between Max/MSP and your VST audio sequencer while designing and testing your plug-in.

With only these minor modifications, your patch will already function as a plug-in with Pluggo, but if you want to have control over any of the patch's parameters, you'll need to add a "pp" (plug-in parameter) object for every user-controllable value in your patch. Each pp object will correspond to a slider in Pluggo's default interface. Examples of functions you might want to control would be input gain, output gain, delay time, reverb time, or filter frequency. Naturally, these parameters will depend on the type of effect you have designed.

The example in Figure A, made especially for this article, is a loud noise-gate with distortion called "walkie-talkie." Its three parameters are background noise level, noise-gate volume threshold, and distortion level. The initial Max/MSP patch has three user-controllable number boxes, each of which is connected to a pp object (numbered 1, 2, and 3). These numbers define the top-to-bottom order of the sliders as they will appear in the VST plug-in's editing window (see Fig. B). Notice that the pp objects contain additional information about the parameter's name, the values that the sliders will be scaled to, and an optional additional label to describe the values (for example, distortion is expressed as a percentage).

Once you have a plugin~, a plugout~, and any number of pp objects in a Max/MSP patch, you can load it using the generic Pluggo plug-in and start tweaking the slider values. But at this point, you might want to convert your patch into a plug-in itself, so it can be selected directly from the list of plug-ins available within your VST host program. This is probably the easiest part of the process; just drag and drop your Max/MSP file onto the included Plugmaker application and, voila, you've made your first VST plug-in. Finally, be sure to remove the .pi suffix attached to your plug-in's name after you move the plug-in to your audio sequencer's VST PlugIns folder, or the sequencer may not be able to load the plug-in correctly.-Richard Dudas