Voxengo Logo
On-line links: Products - Downloads - Purchase - Contacts - Forums
Impulse Modeler HELP

Impulse Modeler Screenshot



Contents

Introduction
Getting started
Vertices and walls
Wall's properties
Recepting walls
Grid
Emitters
Emitter's properties
Emitter groups
Materials
Material editor
Entering author information
Scale control
Generate button
File options
Options
Troubleshooting tips and additional information



Making rooms

Have you ever wondered when--JUST WHEN--a synthetic software or hardware reverb will sound like a real reverberating space? You may be wondering why it happens that even a "recorded-for-real" reverb impulse run through a convolving reverberator most of the time sounds duller than a real space it is aimed at reproducing? We do not know the answer for sure. BUT facing the same questions, we have tried to find SOMETHING that could please us. And we have FOUND THAT THING. It is the Impulse Modeler that imprints reverberation into a universal impulse response file that can be used with any convolution reverberator available. The most important thing is that the Impulse Modeler ACTUALLY WORKS, while being just a 2D tool. The created reverbs are so dense and convincing that they can even compete with recorded reverberant spaces. Software and hardware reverbs most of the time do not even come close. After you have applied a professionally designed Impulse Modeler reverb to any sound, you will not know for sure whether that sound was recorded in a real room or if its reverb was emulated. "Professionally designed" here does not mean it is hard to design good reverbs. Actually, designing a good reverb is easy after you get the feel of Impulse Modeler. Later, everything will depend only on your imagination; Impulse Modeler will embody your ideas precisely.

We want to emphasize that Impulse Modeler is an artistic tool. It was designed mainly for musicians, sound designers and sound engineers. If you are looking for reverbs not available anywhere that are maximally convincing and easily controllable, Impulse Modeler is the tool for you.

The program itself was designed in a fashion to provide all the necessary information while you are in the process of reverb design. Almost every controllable element has a brief description below it. This help file contains in-depth information on features of the Impulse Modeler.



Getting started

To get started with Impulse Modeler we suggest you to load any existing demo design bundled with the program. To do so you should press the "Load" button in the "File Options" box on the bottom left side of the user interface. Please note that designs are stored in the "designs" folder. The full default path to this folder is "\Program Files\Voxengo\Impulse Modeler\designs\".

After the design is loaded its geometry will be immediately displayed. You can examine the geometry screen to see how the design has been built. Please read this manual further to understand the various objects present on the geometry screen.

You should also understand that Impulse Modeler is not a plug-in which can be loaded in the audio host application. Impulse Modeler is a standalone Windows application that creates WAV file which can be loaded by any existing convolution program like SIR or Acoustic Mirror.

So, after the design is loaded you can generate a WAV file out of it. Simply press the "Generate" button and specify the folder and the name of the resulting WAV file. Later you should use this folder and the name when loading the generated WAV file in your reverb plug-in.



Vertices and walls

Vertices and walls

This image depicts vertices (black dots) and walls that represent building blocks of a room's geometry. The walls have different colors because they have different materials assigned to them.

You can create vertices by holding the CTRL key on the keyboard and pressing the left mouse button (LMB). Vertices can be deleted by first selecting and then pressing the right mouse button (RMB). A pop-up window will appear, allowing the selected vertex to be deleted. Any walls connected to the vertex being deleting will also be deleted.

Selection of any object on the geometry screen is accomplished by clicking on it with the left mouse button.

Walls can be created swiftly. After a new vertex is inserted, it will be automatically selected. When you add a next vertex without deselecting a previous one, a wall will be created between these two vertices. But before this starts to work, you must first select a material which you want to assign to all newly created walls. After that is accomplished, you can create wallforms of any complexity just by clicking your way on the geometry window while holding the CTRL key down.

Walls between existing vertices can be built the same way. First, you need to select the starting vertex and then hold the CTRL key click on the ending vertex.

When a wall is selected and you press the LMB, you will see a pop-up window allowing the deletion of a wall or adjustment of its properties. Double-clicking on a wall also brings up its properties window.



Wall's properties

Wall's properties



Recepting walls

Recepting walls

Here you can see two recepting walls. Recepting walls are shown with a dashed line style. You can make any wall recepting by entering its properties and checking the "Recepting" checkbox and then assigning the output channel and mix amount.



Grid button

Grid button

By pressing this button you can enable the grid on the geometry window. When the grid is shown, all coordinates and editing operations will be snapped to it.



Emitter

Emitter

This picture shows an emitter heading up. Its emitting cone has a span of roughly 120 degrees.

To create a new emitter, you have to hold the ALT key and press the left mouse button in the desired position in the geometry window. To adjust the emitter's heading and cone, you have to hold the SHIFT key and drag the emitter with the left mouse button. Horizontal mouse movement then will adjust the emitter's heading, while vertical movement will adjust its emitting cone.

If you press the right mouse button on an emitter, a pop-up window will appear allowing either the deletion of the selected emitter or adjustment of its properties. Double-clicking on an emitter will also bring up its properties.



Emitter's properties

Emitter's properties

Random emitting here means that all rays generated by this emitter will be emitted in random directions within the bounds of the emitting cone. Enabling or disabling this option can be used to get different spatialization results.

The Power setting allows you to specify the "significance" of an emitter. If you are using only a single emitter in the room design, the power setting is not really meaningful. But if you have several emitters with equal number of rays assigned to them, an emitter with greater power will affect the resulting impulse file more than the others.

The Group list allows you to select emitter group this emitter belongs to.



Emitter groups

Emitter groups

This list shows all defined emitter groups. Each emitter can be a part of any defined group. Groups allow Impulse Modeler to generate impulse with the emitters belonging to a single group. This feature can be used when creating several impulses with varying positions out of a single design.

You may check the emitter groups you want to be generated when you press the "Generate" button.



Materials

Materials window

This window on the main screen lists all materials available in the current design. The currently selected material (which will be assigned to all newly created walls) is highlighted with a blue bar. You can double-click a material's name to edit the properties of this material. Alternatively, you can select the desired material and press the "Edit" button.

The "Add" button is used to add a new material. After a new material has been added, it will have a name in the form of "unnamedX" assigned to it. You can edit this name later in the material editor. Material names must be unique.

The "Remove" button is enabled only if the currently selected material is not used anywhere in the room design. Before you can delete the selected material, you have to unassign it from all walls where it was used.

A special "** AIR **" material defines properties of the surrounding air. Frequency-dependant air damping and sustain parameters are defined `per 75 meters'.



Material editor

Material editor

This is a material editor window. The name edit box can be used rename a material. The Color box specifies the material's color as it is shown in the geometry window. The "Load" and "Save" buttons allow you to load and save the current material. Materials are stored in files with an ".imm" extension.

The sustain, reflection cone and frequency damping parameters specify how an emitted ray is affected by this material. During impulse file generation, every time a ray touches a wall with this material assigned to it, a ray's parameters will be adjusted according to the specified material settings.

Sustain affects the general power of a ray, without frequency dependance.

Reflection cone allows a ray to reflect from the wall's surface with a random deviation. This mainly affects spatialization structure and can be used for additional design tweaking. This setting has another meaning of 'surface roughness'. For example, to get a feeling of a carpet-like material, a value close to 90 degrees must be specified. To get some kind of metallic or glass material, a value close to 0 degrees must be specified.

Frequency damping is mostly the same as Sustain parameter, but it is defined for each spectral band. The numbers above the sliders are defined in Hertz.



Author info

Author info

Here you can enter your name and the name of the room design. This information will be also included within the generated impulse file. The "Notes" button will open a notepad where you can write a description of the room design. The notepad's buffer is limited to 4095 characters.



Scale slider

Scale slider

This control allows you to specify a general scale factor for the room design. For example, if your starting scale factor was 1.0, making it 2.0 will create a room with a volume of about eight times larger. If you set the scale factor to 0.5, the perceived room's volume will be eight times smaller compared to the original size.



Generate button

Generate button

Here you can enter an output filename for the generated impulse file. If you press the "generate" button while the filename edit box is clear, a "save as" dialog will be shown allowing you to select a path and a filename for the generated impulse file. If the edit box is not empty, impulse generation will start immediately, overwriting any existing file with the same name without any notice. The "Reset" button can be used to clear the filename edit box.

An unregistered version of the Impulse Modeler allows a limited number of impulse generations per program's session.



File options

File options

This block of buttons allows the loading and saving of room designs. Room designs are stored in files with an ".imd" extension. The "New" button allows you to start a new room design from scratch. Please note that pressing the "New" button will not bring any confirmation message, so use this button with caution.



Options

Options

A window size of 100-200 is adequate for sample rates up to 48 kHz. If the sample rate is higher, a higher window size is required to get good results. A larger window size must be used also if your design has materials with a high damping of low frequencies. Window Type is a rather experimental option, so you'll have to try different types to find the most suitable one. A generally acceptable window type is "cos^2".

Note on "Density" setting: even if this option can be used to make a resulting impulse response more dense, it performs this in a "fake" manner, inserting data in between actually calculated impulses, so density in some cases can decrease the overall realism of the impulse.

Minimal ray power control can be used to slightly boost the impulse calculation speed. Since every ray generated by an emitter is calculated until its power becomes less than this value, by adjusting this value you can make the Impulse Modeler skip any unnecessary calculation cycles.

Sync reverb tail is a rather useful option if you want to achieve the most convincing spatialization. This option is enabled by default. The Impulse Modeler calculates the shortest distances for all emitter-receptor pairs and uses the smallest found value as an offset. This option can be disabled if your room design is something very special, containing several rooms and many emitters and recepting walls. For normal rooms with a single emitter and a pair of recepting walls, enabling this option is useful. Without this option enabled, the calculated impulse will be trimmed to the time of the first spike appeared in the impulse, allowing to get rid of the unnecessary leading silence.

The "Direct Signal Level" option enables the generation of the direct (dry) impulse spikes. Please note that when this option is enabled "Sync reverb tail" option will be ignored and the impulse file would not be trimmed in any way.

The "Manual Normalize" option can be used if you do not want the auto-normalization to be performed on the generated impulses. Manual normalization is useful when generating several impulses using the same design that should preserve inter-impulse level relations.



Troubleshooting tips and additional information


Why does the Impulse Modeler create empty WAV files?

This in most cases means that you have not put any recepting walls (showed with dashed lines), or you have not put any emitters, or emitter's rays do not touch any recepting wall at all.


Does "geometry unit" refer to the actual numbers on the x-y axis or to each grid point between the numbers?

The numbers represent geometry units.


If the scaling is set to 1, do the numbers represent 1, 2, 3... meters or 4, 8, 12 meters.

If scaling is 1, numbers represent 1, 2, 3 meters, if scaling is 5, numbers represent 5, 10, 15 meters, etc.


Is there a way to specify the height of the room I'm designing?

It was determined that a room's height can be controlled with the Sustain parameter of the material. Exact height is a very hard thing to perceive in the real world, but the Sustain parameter works very close to some kind of a height controller. Of course, its setting will be relative to the overall room geometry and used scale.


Recepting walls are receivers and act as variable length microphones that collect the rays and mix them together on each selected channel to generate the impulse wave, right?

Yes, this is right. However, these recepting walls are not necessarily "microphones", because they do not try to emulate any properties specific to microphones.


How does 'Random Seed' work? How do I use it correctly?

There is no way to use it 'correctly'. Theoretically, all values are equal. This setting was added for additional tweaking. For example, you can try 3-4 random seed values and choose the one that sounds best. In fact, the general quality must not change at all, only spatialization and color changes with random seed.


The power field on the emitter page does not seem to affect the power of the pulses at all.

If you are using only a single emitter, 'power' field has no real sense. But if you have several emitters, you can balance power between them using this field.



Happy Impulse Designing!



Copyright © 2002-2005 Aleksey Vaneev

All trademarks belong to their respective owners.