Visualizer

This tool helps in the visualization of the sound scene. It shows the signal level in dBFS of each loudspeaker in space as well as the positions and trajectories of the spatialized sources. These parameters are updated from OSC messages.

Image
Figure 1: The Visualizer in action!

An example is shown in Fig. 1 for a Lebedev loudspeaker array with $N = 50$ loudspeakers and $s=5$ sources. Each loudspeaker is materialized by a ball whose color and size changes according to the dBFS signal level it receives. The low signal levels are green and the higher levels turn to red. Above 0 dBFs the color stays red and means that the signal is clipped. At the origin of the coordinate system stands a human head that faces the positive $x$ direction and whose ears are aligned in the horizontal plane. Each spatialized source is materialized by a colored ball. When the source moves, a fading trail is drawn to help visualize the trajectory. The sources trajectories can be materialized with discrete balls at the past positions of the sources or with continuous curves. It is possible to move the visualization by clicking and dragging the mouse and zooming in and out with the mouse wheel.

Compilations parameters

  • array: CSV file containing the spherical coordinates of a $N$ loudspeaker array, for instance my_array.csv. This file should be placed in subfolder /data/my_array.csv of the Processing sketch. The file header, i.e. the first line, should be r,t,p, (meaning $(r, \theta, \phi)$). On the following lines are given the spherical coordinates of each loudspeaker: radius $r$ in meters, azimuth angle $\theta$ in degrees, and elevation angle $\phi$ in degree. One loudspeaker per line and a comma , separator between each coordinate is required.
  • port: OSC listening port, for instance 5511.
  • s: number of sources to draw.
  • memory : The number of past positions for the source trajectory visualisation.
  • coord : Choice of coordinate system for the OSC messages : 0 => Spherical, 1 => Cartesian.
  • trajectory : Choice of the trajectory type : 0 => discrete balls, 1 => continuous curve

OSC message syntax

To make the viewer “alive”, OSC messages should be sent to the port port with the following syntax for the $n$-th loudspeaker (with $0 < n < N-1$), and for the $i$-th source (with $0 < i < s$):

Element OSC Min value Max value
$n$-th Loudspeaker gain (dB) loudspeaker_n -70 6
Radius $r$) (m) (coord = 0) radius_i 0 $+\infty$
Azimuth $\theta$ ($^\circ$) (coord = 0) azimuth_i -180 180
Elevation $\phi$ ($^\circ$) (coord = 0) elevation_i -90 90
$x$ (m) (coord = 1) x_i $-\infty$ $+\infty$
$y$ (m) (coord = 1) y_i $-\infty$ $+\infty$
$z$ (m) (coord = 1) z_i $-\infty$ $+\infty$

Note that OSC messages for the s sources can be generated using the Encoder tool or Joystick2OSC patch and for the loudspeakers with the tool dB Meter. For the Faust tools, the option -xmit 2 should be activated to turn OSC message transmission on1