Sound insight

Viz is a complete toolset to probe and visualize multichannel signals anywhere in the audio chain. It features VU-meters, a spectrum analyzer/spectrogram, a correlation meter and an oscilloscope, all adapting to your channel configuration. From a bird's eye view down to sample accurate measurements, Viz is a visual insight into sound.

GRM Tools Atelier Chladni 10Fully multichannel signal analyzer, with zoomable and pausable views

GRM Tools Atelier Chladni 02Full-featured oscilloscope with large, freely-explorable buffer

GRM Tools Atelier Chladni 06Precise spectrum analyzer and spectrogram

GRM Tools Atelier Chladni 09Unique multichannel correlation meter

Introduction

Viz was originally conceived as an internal tool for development and debugging, but quickly turned out to be a valuable asset for audio signal processing education, patch troubleshooting... or simply for the good looks. So here it is!

It consists of four analysis tools: a VU-meter, a spectrum analyzer, a correlation meter, and an oscilloscope. The window is split accordingly into four zones that can be freely resized.

Controls and VU-meters

  • Pause: Pauses input when toggled on, freezing all displays. Views can be explored (zoomed etc.) during pause.
  • Channel mute: Clicking toggles channel muting; -click solos a channel. Dragging toggles several channels at once.

 

The VU-Meters show, in each channel's color:

  • the RMS loudness as a gradient in the channel's color,
  • its peak value as a solid bar,
  • a clipping indicator (peak values above 0 dBFS) as a red square

 

Underlaid in white is the sum of all channels. Hover over a VU-Meter to see a numerical readout in the info area. Click to reset clipping indicator.

Spectrum analyzer

 

The spectrum analyzer displays the frequency contents of the incoming audio in two different views: the spectrum display and the spectrogram. Each channel is toggleable and overlaid with its own color. Both views are zoomable. Raw FFT signals can be hard to parse, therefore two adjustable smoothings are applied before display: frequency axis smoothing to get a broader view of the spectrum (Smooth), and time axis decay smoothing to better identify peaks (Release).

Hover over the display to get a readout of the current value. Drag vertically to zoom in, horizontally to pan into the view. Double-click to reset.

  • Channel selectors: Clicking toggles channel visibility. White toggles display of the sum of all channels.
  • Spectrogram button: Toggles between spectrum and spectrogram display.
  • FFT size: FFT size of the spectrum analyzer (tradeoff between time and frequency precision).
  • Smooth: Frequency smoothing amount. The more smoothing applied, the less frequency-domain details are visible.
  • Release: Each frequency's release time.
  • Spectrum amplitude range: Adjusts the displayed dynamic range.

Correlation meter

The correlation meter is a quick way to visualize the relationship between channels, see where energy is located and identify potential phase opposition problems. It is a multichannel generalization of the classic stereo goniometer. Each channel is identified by a colored square. It continuously computes the correlation between each pair of channels, and displays a white dot for each channel. The size of the dot is the signal's amplitude. Its position depends on the correlation of its channel with all other channels: by default it sits on its channel; the more this channel is in phase with the other, the more it is attracted to it; the more out of phase it is, the more it is repelled by it. Therefore:

  • Completely uncorrelated signals will be displayed as dots sitting mostly around their respective channels.
  • Identical signals on all channels will be displayed as dots all sitting in the middle.
  • If a pair of channels has signals out-of-phase, their dots will sit outside the line segment they form.

  • Correlation meter zoom: Display zoom.

Oscilloscope

The oscilloscope provides a sample-accurate view of the input signal in the time domain. Each channel is displayed in its color, and can be toggled on or off. An additional white channel represents the sum of all channels. It has a large, 10-seconds audio buffer, easily explorable by zooming in and out, from seconds-long to individual samples display. Just like its hardware counterpart in electronics labs, the scope only draws the current waveform on screen when triggered by a certain event: repeatedly (Frequency), when the signal crosses the 0-boundary (Rising edge) or by estimating its most probably period (Autocorrelation). The rightmost edge of the display is when the event happened.

 

Hover over the display to get a readout of the current values. Drag vertically to zoom; drag horizontally to pan into the view. Double-click to reset zoom.

 

  • Vertical range: Zooms vertically into signal amplitude
  • Channel selector: Toggles channel visibility. The white button toggles the display of the sum of all channels.
  • Trigger source: Selects which event triggers a refresh of the scope's display: 
    • Frequency: the scope is refreshed at regular intervals, according to Trigger frequency.
    • Rising Edge: the scope is refreshed whenever the Trigger channel goes from below to above the Rising edge threshold, which is by default zero.
    • Autocorrelation: the signal's most probable period is computed, and the scope is triggered regularly at this period. This is the easiest way to get a steady reading of periodic waveforms.
 

Note

When Autocorrelation is selected, additional info is overlaid on top of the waveform view:

  • the autocorrelation waveform is displayed as a grey line
  • a vertical dotted bar indicates the most probable period
  • the hover display shows the signal's determined frequency and period

 

  • Trigger channel: When Trigger source is Rising Edge or Autocorrelation, sets the channel used for triggering.
  • Trigger frequency: Controls how often the display is refreshed when Trigger source is set to Frequency
  • Rising edge threshold: When Trigger source is Rising Edge, a draggable horizontal dotted line appears on the display. It sets the threshold the signal must pass to trigger a refresh.

Tips and tricks

Noise bursts

Comb shines with transient-rich input material. Using Gen and Peak, make short bursts of noise. Follow with a single comb filter at a relatively high Decay (>1s); put Mix at 100%, and adjust Damp and the noise's length and color to taste to get a wide variety of plucked strings, glassy tone, bell sounds etc.

Strummed chords

Building on the previous tip, add more comb filters at different frequencies to make a chord. Now, put Predelay around 50ms, and modulate it slightly with a slow Agitation. Every filter will get its own randomly-evolving predelay, resulting in a "strumming" effect, as if strings were not plucked all at the same time.

Infinite decay

When Decay is set to more than 20 sec and Warp is 0%, decay is infinite: any short-livedinput will resonate (almost) forever. Fed with an initial short signal, this can be useful to generate held tones, drones or textures.



 

Note

Infinite decay works only if either Damp or Warp is 0% (one of the two).

Crude reverb

Early digital reverberation units (now refered to as Schröder reverbs) worked by simply feeding the input signal through several dampened comb filters in parallel. With Mix around 20%, make a cloud of a dozen comb filters with frequencies around 20-50 Hz (the ear's integration time). Set Damp around 20% will get you a relatively natural reverberation, where the global decay time controls the reverb time (Snapshot 7). Adjust Predelay to taste; slightly and slowly agitating Transpose will help attenuating some the metallic resoance.

 

At time rate

A comb filter is a very short delay... but Comb also does longer delay! These will be heard as normal repetitions, so you can use Comb as (a set of) regular delays, with some twists. Add a single comb filter towards the lower frequencies, and put Transposition all the way down; you can reach delay times up to about half a second (2 Hz). Decay then controls the delay feedback, and the other controls well... you will have to experiment for yourself! Remember that everything (especially frequency/delay time) is modulatable.