Sonorous Codes has brought MetaSynth-like capabilities to the Windows desktop with the release of its atmogen “visual additive synthesizer.” The program gives you enormous sound-design potential, allowing you to use tools that are more closely associated with image editing in order to generate and process sound files.
FIG. 1: Atmogen''s project windows contain graphic images that control the generation of sound. Each row of pixels shows the frequency, amplitude, and stereo position of an individual oscillator.
Atmogen imports and exports bitmap and audio (WAV only) files. You can create an image from scratch using a large number of drawing tools. Individual pixels on the screen control the frequency, amplitude, and pan position of separate “global waveforms.” By default, the global waveform is a sine wave, but you can make your own complex waveforms for that purpose using up to 32 harmonically related partials. Images can be up to 1,024 pixels in height, and there are numerous ways to change how the waveforms evolve over time — suffice it to say, there's a massive amount of pixel power here to manipulate.
Atmogen is not a real-time instrument that responds to user input while it plays. Instead, you must render every new sound and all changes that you make before you'll hear anything. As a result, you need to have a very fast computer for working with the program. The manufacturer's minimum system requirements are Windows 2000 SP2 or Windows XP, a 1.4 GHz or faster processor, and 256 MB of RAM. You should also have a large hard drive, because you will generate lots of material in no time. You'll also need a free USB port for the copy-protection dongle.
I tested atmogen under Windows XP on a dual-processor Pentium 4/3.02 GHz with 2 GB of RAM and a single Pentium 4/2.2 GHz computer with 1 GB of RAM. There wasn't a single crash or any unexpected behavior during the test period.
Atmogen's interface combines one or more project windows and whichever Tool palettes you're currently displaying. The resizeable project windows contain the images that drive the oscillators which generate the waveforms (see Fig. 1). The program allows you to work on multiple projects at once, and you can freely copy and paste data from one project window to another. Though you can autoarrange or tile all open project windows, the Tool palettes can't be arranged automatically, and the screen can get cluttered quickly. There are, however, simple keyboard shortcuts to toggle the display of the Tool palettes.
Once you import a bitmap file, you can render it prior to any modification to hear what it sounds like. Atmogen uses the brightness of each pixel to control amplitude, color to control pan position (green is left, yellow is center, and red is right), and the vertical position of the pixel for frequency. The resolution of the sound rendering is completely user adjustable. For example, an image can be “quantized” to produce just a few sine waves, or it can control up to 1,024 complex waveforms simultaneously.
FIG. 2: When you import an audio file, atmogen does an FFT analysis and displays the resulting spectrograph. The image can be modified before it is used to resynthesize the sound.
When importing a WAV file, atmogen analyzes it based on analysis settings that you determine, and then displays a two-dimensional spectral plot ready for resynthesizing (see Fig. 2). You can improve the analysis by raising the FFT Length value, but that will add to the time the analysis takes. The other two settings are FFT Mode, which is the windowing type the analysis uses, and FFT Overlap, which determines how much the frequency ranges of the analysis bins overlap (see “Square One: Look Through Any Window” in the July 2004 EM for a good introduction to spectral analysis). The range of options, though limited, gives you enough flexibility to handle many types of audio.
Sounds can be as long as 60 seconds, and a project window can be as wide as 1,024 pixels. As a result, a very small window can represent a relatively long sound, and a very wide window can represent just a few seconds of time. In the latter case, you could draw a detailed curve or shape that lasts only a second, but then you could change the image's duration so that the sound it generated evolved over a 60-second time frame (see Web Clip 1). This capability, which is reminiscent of Xenakis's UPIC system, is quite powerful and can result in endless variations on the same basic material.
One of the keys to creating unique sounds is atmogen's Markers feature. Markers, like keyframes in a video editor, define settings for specific points in the project; they are assigned to a project by clicking along the timeline that appears at top of the project window. Atmogen interpolates between those settings, insuring smooth transitions from one segment of the project to another.
Markers determine the frequencies of the oscillators that are used to render an image into sound. Clicking on the timeline brings up a screen that contains a frequency table. This table has the same number of entries as the number of vertical lines (up to 1,024) in your project, and has a variety of controls that affect the frequency values in the table (see Fig. 3). If you have the time, you can alter the default values (an exponential distribution from 20 Hz to 20 kHz) individually, but no doubt you'll prefer to use some of the table modifiers that atmogen provides.
Among the available tools for altering a table are Randomize, which offsets values by as many as 96 and one-half (50 cents) semitones, and Harmonize, which converts all the table entries to frequencies that are harmonic to a user-defined fundamental. Harmonizer will generate frequencies as high as only 22.05 kHz, so if you type in 1,000 Hz as the base frequency and you have, say, 200 frequencies, each harmonic frequency (1,000 Hz, 2,000 Hz, 3,000 Hz, and so on) up to the limit will be repeated multiple times.
FIG. 3: The base frequency and waveshape of atmogen''s oscillators are determined in the Frequency Table. The table in this figure contains over 400 oscillators, though only the first 30 are showing.
In addition to altering the Frequency Table, Markers have another powerful feature: they let you set the duration of project segments, and can force the program to play through individual segments (or the entire project) in a nonlinear fashion. For example, if you enter a positive number in the Segment Acceleration field, playback will accelerate from one segment to the next. If you enter a negative number, playback slows down. Using this option changes just the individual segment you're editing, and not the total duration of the segment or of the entire project.
Some changes you make in one Marker can be applied to all Markers. For example, you can change the duration of all Markers simultaneously by specifying a duration in any open Marker and enabling the Imply All Markers setting. But you can't assign a set of random frequencies created in the Frequency Table to the table in other Markers. To do so, you'd have to save the Table to disk, then reload it in all the other Markers.
Tools of the Trade
Atmogen's workbench consists of 14 tools for editing project images. If you've worked with a program such as Photoshop, you'll be familiar with many of them. The Paint Brush, for example, is a nifty device that puts two colors at your disposal — one under the left mouse button and one under the right. You can choose from a variety of entry modes — adding to an existing image or overwriting, among others — and also set the opacity and pixel spacing for your drawings.
The Paint Brush is quite useful for creating granulated textures. By setting the opacity to High and using a large pixel spacing, I could draw multicolored “grains” all across the screen (see Web Clip 2). The Spray tool, which can deliver up to three colors simultaneously, adds a Density parameter to the mix. Like several other tools, Spray can use the program's global-envelope feature to determine some of its settings. As you'd expect, the envelope changes the value of a parameter as you're working with it. For example, if you assign the envelope to Density and draw a straight line, the line could become thicker or thinner as you draw it.
Other tools are meant to alter existing images. The Line Shift tool raises and lowers all the pixels in a defined area by a certain amount, effectively “transposing” the pitch of the resulting waveforms. It can also shift pixels left or right, changing their position in time. (The Move tool works in a similar fashion). The Pipette tool is used to capture the color value of any spot on the screen, and then assign it anywhere it might be needed. The Monitor tool lets you hear individual lines of pixels in real time as you move the tool over them.
Also on hand is the Filter tool, which selectively affects individual frequency regions by altering their color values. There are a large number of presets (Notch, LPF, Band Pass, and the like) that produce results comparable to their corollaries in other audio applications.
Lay It on Me
Atmogen supports layers, which can be used like “clips” in a sequencer. Once you define a layer using the Layer tool, you can move it freely around the project window horizontally and vertically. Using a layer, you can produce looping sounds that transpose with each repetition or build massively thick ambient textures. Many of the processing options that the program offers can be applied to a layer that is independent of the rest of the project, and a dedicated Layer menu adds even more ways to manipulate them.
The program won't automatically play just the layer you're working on, so when you make a change to a layer, you'd normally have to render the entire image to hear it. But if you switch to the Selection tool, you can play any part of the image, including a layer, separately. The Selection tool renders only the chosen part of the image.
Atmogen's Image menu gives you many ways to alter images and the sounds that they produce. Rotate, Flip, and Reverse produce the results that their names imply, and Dynamics is, in effect, a brightness control. The Transformation Matrix — which acts as a user-adjustable transfer function (think waveshaping) for the colors in your image, and serves as a good way to make dramatic changes to the spatial position of a sound — is also found here.
The Effects menu offers yet another set of options for tweaking images, some of which resemble common audio-processing features. EQ, for example, offers 100 adjustable bands, and Reverberation/Delay uses distance in pixels as the increment for its delay-time parameter. Rhythm/Gater and Rhythm/Shredder give you various chopping effects — as elsewhere, the duration for the step size is specified in number of pixels. Mosaic can turn a single sine wave into a set of closely spaced waveforms that beat in a variety of ways (see Web Clip 3), and Edges removes the center frequencies from an image and leaves only the outer frequencies intact (see Web Clip 4).
The three options under the Noise effect (Diffusion, Granulation, and Noise Generator) produce similar results on an image. Only Diffusion has any adjustable settings, and I had to use Granulation and Noise Generator several times in sequence to produce an impact on several images (your mileage will vary). Static Spectrum has four options for modifying a sound. All “freeze” the frequency content based on either the sound's most prominent frequency component (Frequency), the component with the highest amplitude (Amplitude), an average of all components (Average), or a frequency chosen at random (Hazard). The results are typically dramatic, though a sound with a frozen spectrum probably won't hold your attention for long (see Web Clip 5).
Though the number and range of the Effects is impressive, most are not well documented, and no usage tips are given as a rule. But with a little trial and error, you can figure out their functions and how they might be useful.
Atmogen's Undo command is called Snapshots, and it makes returning to any point in a session easy. Snapshots records up to 128 user actions, and displays them in a list format. At first, I thought Snapshots would be similar to Photoshop's Actions, in which you can record a series of user actions and the program will replay them as needed, for example, on a new image. But such an option isn't available in atmogen.
Atmogen is a deep program, with layers and layers of controls. It's hugely adaptable to experimentation and can provide endless raw material for your sonic explorations. It will take some time to get past the all-too-frequent, additive-synthesis “signature” sound that results from many of the more basic procedures, but before long, you'll be developing custom techniques to produce the types of sounds you want.
There are a lot of enhancements I'd like to see, some of which I've already mentioned. Most importantly, however, would be additional documentation and tutorials that are more thorough. The included manual is slim and doesn't give many usage tips, and the short tutorials, while useful, don't get you very far along. (You'll find more information at the company's Web site, along with several dozen example files to get you started.) Also be prepared to wait while long and dense images render — there's a lot of math involved with the complex calculations the program requires, so if you're after instant gratification, better look elsewhere.
Yet for anyone on the PC who is interested in exploring a wholly new approach to working with sound, atmogen is a great resource. There are a few other image-to-sound programs available (Rasmus Ekman's Coagula comes to mind), but atmogen has far more power. The program is so ripe for interactive experimentation that you just might want to put away the manual and spend a few hours (make that, a few days!) uncovering atmogen's many treasures.
EM Associate Editor Dennis Miller is active both as a composer and animator. His motto is “Music and pictures play well together.”
atmogen 1.02software synthesizer $306
OVERALL RATING [1 THROUGH 5]: 4.5
PROS: Massive toolset for generating and processing sounds. Unique approach to sound design. Ability to import and export bitmap and WAV files. Custom tools for image processing.
CONS: Sound-rendering time can be extensive. Manual and documentation not thorough.