Pi by Saharty All manualsProduct page Download PDF

Pi Immersive Live

Object-based immersive sound for live shows
USER MANUAL · VERSION 2.0.2 · macOS & Windows

Welcome

Pi Immersive Live is an object-based spatial audio engine for concerts, theatre, installations and studios. Every input becomes an object with a position, a size and a distance, and Pi Immersive renders it in real time to the loudspeaker system you actually have, from a 7.1.4 studio to a large venue with line arrays, delays, surrounds and overheads. You can also render to headphones (binaural) or to Higher-Order Ambisonics.

Pi Immersive Live is a standalone application for macOS and Windows. In the app's title bar and menus it is shown as Pi Immersive By Saharty.

Pi Immersive Live by Saharty
Figure 1. Pi Immersive Live by Saharty

Who it is for

What you get in version 2.0.2

This manual describes version 2.0.2, which includes:

Figure 2. Objects placed and moved around the loudspeaker system

Quick start

  1. Install Pi Immersive Live from the .dmg (macOS) or .exe (Windows) installer and open it.
  2. Activate or start a trial. The licence window opens on the first launch. Enter your licence key and click Activate, or click Start 15-day free trial.
  3. Choose your audio device. Open the I/O Setup page (Cmd/Ctrl+1). Choose the driver type and device, then enable the input and output channels you need.
  4. Choose the output format. Under Output format, set RENDERING to Loudspeakers, Binaural (headphones) or Ambisonics (HOA, ACN/SN3D).
  5. Describe the room. On Room Setup (Cmd/Ctrl+2), in the Room tab, set ROOM SHAPE, WIDTH, LENGTH, HEIGHT and the mix position.
  6. Set up the loudspeakers. In the Loudspeakers tab, pick a format under START FROM A FORMAT, or use the Format advisor tab and click Apply this system. Check that the Out column matches your physical outputs.
  7. Check each speaker. Select a speaker and click Test selected, or click Cycle test to step through all of them with pink noise.
  8. Set up your sources. On Sources (Cmd/Ctrl+4), select a source, set its INPUT CHANNEL, then drag it around the plan.
  9. Make sure the engine is on. The ENGINE button in the header should read ON.
  10. Save your project with Cmd/Ctrl+S. Projects are saved as .piimm files.

Tip: A new project already contains eight sources on inputs 1 to 8, spread in a circle at 3 m. You can hear something straight away once your device is set up.

Installation

macOS

  1. Open the downloaded .dmg file.
  2. Drag Pi Immersive By Saharty to your Applications folder.
  3. Open it from Applications. The app is a universal build that runs natively on Apple silicon and Intel Macs, and needs macOS 11 Big Sur or later.
  4. On the first launch macOS asks whether Pi Immersive can use the microphone. Click Allow. The app needs this permission to receive audio inputs for spatialisation and for LTC timecode. If you click Don't Allow, you can change it later in System Settings > Privacy & Security > Microphone.

Windows

  1. Run the downloaded .exe installer and follow the steps.
  2. Open Pi Immersive By Saharty from the Start menu.
  3. For the lowest latency and the most channels, use your interface's ASIO driver. WASAPI and DirectSound are also available.

First launch

Note: Pi Immersive Live is a standalone application, not a plug-in. It doesn't need Python, extra runtimes or other dependencies.

Activation & licensing

Pi Immersive Live uses the Pi by Saharty licensing system. One licence covers one computer, and you can move it to another computer at any time.

Buying and receiving your key

Buy Pi Immersive Live at pi-ware.com/products/pi-immersive-live (or use Help > Buy Pi Immersive Live...). Your licence key arrives by email after purchase. It looks like XXXXX-XXXXX-XXXXX-XXXXX.

Online activation

  1. Open Help > Licence..., or click the licence banner at the top of the window.
  2. Type or paste your key into Licence key.
  3. Click Activate.

When activation succeeds, the window says Activated and shows the owner name. It also shows This computer: with the name of this computer.

If your key is already active on another computer, Pi Immersive asks whether you want to Move it here. If you agree, the other computer gets a 24-hour notice and then switches to limited features. The dialog also shows how many moves you have left this year.

Free trial

Click Start 15-day free trial in the licence window. You don't need to enter payment details. Every feature works during the trial.

Offline activation

Use offline activation when the show computer has no internet access:

  1. Enter your licence key in the licence window.
  2. Click Offline activation. A request code appears.
  3. Click Copy code and take the code to any device with internet access.
  4. Paste it at pi-ware.com/activate. You receive a licence file.
  5. Back on the show computer, click Load licence file... and choose that file (.pilic).

Moving your licence to a new computer

How licence checks work

Limited mode

When Pi Immersive Live isn't activated, or the notice period is over:

Licence file location

System Path
macOS ~/Library/Application Support/Pi by Saharty/Licences/pi-immersive-live.pilic
Windows %APPDATA%\Pi by Saharty\Licences\pi-immersive-live.pilic

Interface tour

The main window has four areas: the header at the top, the navigation bar on the left, the page area in the centre and the status bar at the bottom. On Windows the menu bar is inside the window. On macOS it is in the system menu bar.

The main window: page navigation, the spatial view and output meters
Figure 3. The main window: page navigation, the spatial view and output meters
Control What it does Range / default
Project name Shows the project name. A * means there are unsaved changes. "Untitled project"
ENGINE mode menu Chooses the processing mode: Object-based spatialisation, Stage delay matrix or Both (parallel). Object-based spatialisation
ENGINE ON / OFF button Starts or stops all processing and outputs, with a ~50 ms fade. ON when licensed
MASTER slider Master output level. Double-click to reset to 0 dB. -60 to +12 dB / 0 dB
Master mute Mutes all outputs (smoothly). Off
Add source button Adds a new source at 3 m and selects it. —
Clock Timecode display (hh:mm:ss:ff). Below it: LTC or INTERNAL, plus REC or PLAY while automation runs. Red while recording. —
CONSOLE LED Lights when the Yamaha console is connected. —
LTC LED Lights when LTC is locked. —
CPU readout CPU load, sample rate and buffer size. —
Output meters One meter per output, labelled with the speaker names (or channel numbers for binaural / HOA). —

The seven pages follow the order you work in. You can also jump to them with Cmd/Ctrl+1 to Cmd/Ctrl+7 or from the Pages menu.

# Page Purpose
1 I/O Setup Audio interface, network audio and output format
2 Room Setup Room shape, surfaces, loudspeaker system and immersive format
3 Room Engine Geometric reflections, late reverb, send effects and listener
4 Sources Objects, input assignment, panning, levels and sends; Stage delay matrix
5 Console Yamaha console control over RCP
6 Control MIDI mapping, timecode automation and OSC
7 Snapshots Cues with timed morphing

The version number is shown at the bottom of the navigation bar.

Status bar

The status bar shows the device, latency, engine state, source and output counts, output format, room size, OSC port and open MIDI inputs.

Menu Items
File New project, Open..., Save, Save As..., Audio settings..., Quit
Sources Add source, Duplicate selected, Remove selected, Unmute all, Clear all solos, Arrange sources in a circle, Reset all positions to front
Pages The seven pages, numbered 1 to 7
Snapshots Store snapshot, Recall next (space), Recall previous
Automation Record, Play / chase timecode, Stop
Help OSC / MIDI reference, Licence..., Buy Pi Immersive Live..., About Pi Immersive

Note: Arrange sources in a circle and Reset all positions to front leave locked sources where they are.

The spatial view

The spatial view appears on the Room Setup, Room Engine and Sources pages. It shows the room, the loudspeakers, the mix position and the sources. Use the Top, Front, Side and 3D buttons above it to change the view.

Use the wheel over an empty area to zoom; in 3D, drag to orbit. The footer shows the selected source's position and panning law. All mouse and keyboard actions are listed in Keyboard shortcuts / remote control.

Setting up audio I/O

The I/O Setup page has four cards: Audio interface, Output format, Network audio devices and Signal.

Figure 4. Core Audio, ASIO, WASAPI, Dante, AES67, RAVENNA, MADI and AVB I/O

How to choose your audio device

  1. Open I/O Setup (Cmd/Ctrl+1, or File > Audio settings...).
  2. In Audio interface, choose the driver type (Core Audio on macOS; ASIO, WASAPI or DirectSound on Windows) and the device.
  3. Enable the input and output channels you need, then set the sample rate and buffer size.
  4. Check the status line above the device list. It shows the driver, device, sample rate, buffer size, latency and the number of active inputs and outputs. It turns amber when no device is open.
  5. If the device stops responding, click the reset button at the top right of the card to restart it.

Pi Immersive supports up to 256 inputs and 256 outputs.

For Dante, select Dante Virtual Soundcard or Dante Via and route channels in Dante Controller. AVB is set up in macOS Audio MIDI Setup. For MADI, select your interface's driver.

Up to 256 x 256 channels in and out
Figure 5. Up to 256 x 256 channels in and out

Network audio devices

The Network audio devices card lists the Dante, AES67 and RAVENNA devices found on your network, with their IP addresses. Click Rescan to search again.

Note: The device list is for information only. Routing is still done in your network audio software, such as Dante Controller.

Signal meters

The Signal card meters the device's active INPUTS and OUTPUTS (up to 64 of each).

How to choose the output format

Control What it does Range / default
RENDERING Loudspeakers, Binaural (headphones) or Ambisonics (HOA, ACN/SN3D). Loudspeakers
HEADPHONE OUTPUTS Output pair for binaural rendering (enabled for binaural only). Out 1 / 2
AMBISONIC ORDER 1st to 7th order. The channel count is shown (for example 3rd order = 16 ch, 7th order = 64 ch). Enabled for Ambisonics only. 3rd order
HOA FIRST OUTPUT The first output of the Ambisonic channel block. Out 1
LFE CROSSOVER Crossover frequency for the LFE / subwoofer feed. 40 to 300 Hz / 120 Hz
MOTION SMOOTHING How smoothly positions glide when they change. Higher values give softer moves but more lag. 1 to 1000 ms / 30 ms
Three output formats: loudspeakers, binaural and Higher-Order Ambisonics
Figure 6. Three output formats: loudspeakers, binaural and Higher-Order Ambisonics

Modelling the room

Room Setup has the spatial view on the left and four tabs on the right: Room, Surfaces & acoustics, Loudspeakers and Format advisor. The view buttons Top, Front, Side and 3D and the toggles Coverage, Names and Sources are above the plan.

Figure 7. Room shapes: rectangle, fan, oval and more

How to describe the room

  1. Open Room Setup and select the Room tab.
  2. Choose a ROOM SHAPE: Rectangle (shoebox), L-shape, Fan / trapezoid, Hexagon, Octagon, Oval / round or Custom polygon.
  3. Set the dimensions and the mix position with the controls below.
  4. Read the summary: volume, floor area, total surface, RT60 (mid), mean free path, critical distance, Schroeder frequency and a description of the room's character.
Control What it does Range / default
WIDTH Room width 2 to 200 m / 16 m
LENGTH Room length 2 to 300 m / 24 m
HEIGHT Ceiling height 2 to 60 m / 8 m
SHAPE A, SHAPE B Proportions of the non-rectangular shapes (for example the narrowing of a fan or the cut-out of an L) 0.1 to 0.9 / 0.5 and 0.4
STAGE DEPTH Depth of the stage area at the front 0 to 40 m / 5 m
MIX X, MIX Y Position of the mix (reference) point in the room X -100 to 100 m / 0; Y -150 to 150 m / -2 m
EAR HEIGHT Listening height at the mix position 0.5 to 20 m / 1.2 m
AUDIENCE How full the room is. Adds audience absorption to the floor. 0 to 100 % / 60 %
REFLECTION ORDER 1st order (6 paths) or 2nd order (up to 20 paths) 2nd order
Fit speakers to room Moves the loudspeakers so they fit the room. —

The character text ranges from "very dry (studio / outdoor)" through "dry - good for amplified music and speech", "medium - theatre / multi-purpose" and "live - concert hall" to "very live - consider absorption or more direct sound coverage".

Switching room properties on and off

Under PROCESSING - EACH ROOM PROPERTY CAN BE SWITCHED OFF you'll find six switches. All are on by default.

Switch Effect when on
Room model active The room model feeds the processing. When off, the engine uses the manual reverb settings and no geometric reflections.
Geometric early reflections Early reflections are calculated per source from the walls, floor and ceiling.
Surface materials The reflections and reverb time use each surface's material.
Reverb time from room The late reverb's decay, size and pre-delay come from the room model.
Air absorption High frequencies drop with distance, as they do in air.
Speaker time / level alignment Each loudspeaker is automatically delayed and level-matched to the mix position.

How to assign surface materials

  1. Select the Surfaces & acoustics tab.
  2. Each surface (Floor, Ceiling, Wall 1, Wall 2, ...) is listed with its area in m² and a material menu. Choose a material for each one.
  3. To set every wall at once, choose a material from ALL WALLS.
  4. Check the ESTIMATED REVERBERATION TIME (EYRING, OCCUPIED) chart on the Room tab. It shows RT60 at 125, 250, 500, 1k, 2k and 4k Hz.

The library has 22 materials, each with octave-band absorption from 125 Hz to 4 kHz: Concrete (painted), Concrete (rough block), Brick (unglazed), Plaster on masonry, Gypsum board on studs, Wood panelling, Wood floor, Stage (wood on air space), Glass (large pane), Marble / ceramic tile, Metal panel, Carpet on concrete, Heavy curtain (draped), Acoustic ceiling tile, Acoustic foam 50 mm, Mineral wool panel 100 mm, QRD diffuser, Upholstered seats (empty), Audience (seated), Audience (standing), Grass / soil (outdoor) and Open (no surface).

Tip: Outdoors, set the ceiling to Open (no surface) and the floor to Grass / soil (outdoor).

Surface materials for the walls, floor and ceiling
Figure 8. Surface materials for the walls, floor and ceiling
Estimated RT60 per octave band, critical distance and Schroeder frequency
Figure 9. Estimated RT60 per octave band, critical distance and Schroeder frequency

Setting up the loudspeaker system

How to build a layout

  1. Open Room Setup > Loudspeakers.
  2. Choose a starting point from START FROM A FORMAT: Mono, Stereo, LCR, Quad, 5.0, 5.1, 7.0, 7.1, 5.1.2, 7.1.4, 9.1.6, 9.1 (height layer), 11.1 (height + top), 13.1 (height + top), Hexagon, Octagon, Dome 16, Dome 24, Dome 32 or 22.2 (ITU-R System H).
  3. Edit the table to match your real system: name, type, model, number of elements, positions, trim and output.
  4. Drag the speakers on the plan to adjust their positions. In this page you can also drag the MIX marker to move the mix position; the speakers stay where they physically are.
  5. Click Number outputs to number the physical outputs 1 to n in layout order, or type each output in the Out column.

The line above the table summarises the system: the number of outputs, boxes, arrays, height speakers and sub outputs, and the layout name. If you edit a preset, the layout name changes to Custom.

Figure 10. Point sources, line arrays, subwoofers, fills, delays and overheads placed in the room

Loudspeaker table columns

Column Meaning
# Speaker number
Name Speaker name (also used for the output meters)
Type Point source, Line array, Column array, Subwoofer, Front fill, Delay, Overhead / ceiling or Surround
Model Free text, for your reference
Elem Number of boxes in a line array or column
Qty Number of identical boxes fed from this output (for example a sub cluster)
X m, Y m, Height Position in the room, in metres
Dist Distance from the mix position
Trim Your level trim (dB)
Delay Your delay (ms), added to the automatic alignment
Align The automatic alignment delay and level for this speaker, or "off"
Out Physical output number
Aux Console mix / aux that feeds this speaker (used on the Console page)
LFE Marks the output as an LFE / subwoofer feed
Mute Mutes this speaker

Why the type matters: level alignment uses each type's loss over distance: about 3 dB per doubling for line arrays (4.5 dB under four elements), 4 dB for columns and 6 dB for the rest.

Table buttons

Button What it does
Add Adds a loudspeaker.
Duplicate / mirror Copies the selected speaker, mirrored left / right.
Remove Removes the selected speaker.
Number outputs Numbers the physical outputs 1 to n in layout order.
Assign console auxes Assigns console mix / aux buses to every speaker in order, starting at the first mix set on the Console page.
Fit to room Moves the speakers to fit the room.
Test selected Plays pink noise at -20 dB through the selected speaker. Click again to stop.
Cycle test Plays pink noise at -20 dB through each speaker in turn, about every 1.2 seconds. Click again to stop.
Import... / Export... Loads or saves a speaker layout file (.pispk; import also accepts .xml).

Warning: Turn your amplifiers down before you run Cycle test on a large system for the first time.

Speaker right-click menu

Right-click a speaker on the plan to set its Type, toggle Aim at mix position, Mute or LFE, Duplicate (mirror L/R) it or Delete it.

The Coverage, Names and Sources toggles above the plan show or hide speaker coverage, names and sources.

Top, front, side and 3D views of the loudspeaker system
Figure 11. Top, front, side and 3D views of the loudspeaker system

How to use the format advisor

The Format advisor suggests immersive loudspeaker systems for your room and explains why.

  1. Describe the room first on the Room tab. The advisor uses the size, shape, height, stage depth and mix position.
  2. Open the Format advisor tab.
  3. Choose VENUE / USE: Concert / arena, Theatre / opera, Club / small venue, Studio / control room or Installation / dome.
  4. Choose OUTPUTS AVAILABLE (8 to 128).
  5. Click Analyse room (it also updates when you change either menu).
  6. Select a suggestion. The best match is marked BEST FIT. The detail panel shows a summary, the reasons, the zones and every box with its position and coverage.
  7. Click Apply this system and confirm. This replaces your current speakers. Then fine-tune the positions on the plan.

Suggestions range from frontal hangs with surrounds and overheads, or a source-oriented theatre system, to 7.1.4 / 9.1.6 / 5.1.4 studio layouts and Ambisonic domes.

Figure 12. The format advisor ranks systems and applies the one you choose

Working with sources

The Sources page has the spatial view on the left and the source panel on the right. Use Object sources and Stage matrix at the top to switch between the object engine and the Stage delay matrix editor.

Figure 13. Sources moving through the room with different panning laws

How to add and organise sources

List tags: M muted, S solo, L locked, ST stereo pair. ### How to position a source

If a source belongs to a group, dragging it moves the other unlocked sources of the same group with it.

Source right-click menu

Right-click a source on the plan for: Mute, Solo, Lock position, Stereo pair input, Panning law (submenu), Group (No group or Group 1 to Group 8), Send to front centre, Duplicate and Delete.

Position & panning tab

Control What it does Range / default
INPUT CHANNEL The physical input that feeds this source In 1 to In 256
PANNING LAW How the source is spread over the speakers (see below) VBAP
AZIMUTH Direction around the listener (0° = front, positive = left) -180° to 180° / 0°
ELEVATION Height angle -90° to 90° / 0°
DISTANCE Distance from the listener 0.05 to 100 m / 2 m
SPREAD Size of the source: 0° is a point, 360° is fully diffuse 0° to 360° / 0°
YAW Which way the source faces -180° to 180° / 0°
DIRECTIVITY 0 is omnidirectional, 1 is close to cardioid 0 to 1 / 0
STEREO WIDTH Width of a stereo pair (enabled when Stereo pair is on) 0° to 180° / 60°
KNN K / DBAP ROLLOFF Number of nearest speakers for KNN, or rolloff for DBAP K 1 to 8 / 3; rolloff 0 to 12 dB / 6 dB
Stereo pair Uses the input channel and the next one as a stereo source Off
Lock position Protects the position from mouse, MIDI, OSC and the arrange commands Off

Panning laws

Law Best for
VBAP Precise point sources on regular layouts, using the nearest pair or triangle of speakers.
DBAP Irregular layouts and installations where there is no single sweet spot. Uses the DBAP rolloff.
KNN Feeds the K nearest speakers. Smooth and even.
Nearest Speaker Snaps the source to a single speaker. Useful for "real" point sources.
Ambisonics (HOA) Encodes the source to Ambisonics and decodes it to the layout. Smooth movement on domes.
Angular Spread Continuous spread panning for wide, enveloping sources.
LBAP Layer-based panning: VBAP per ring with an elevation crossfade, for layouts with distinct height layers.
Stereo Pan Classic constant-power pan for 2-channel output.
Panning laws, spread, directivity, distance, Doppler and air absorption
Figure 14. Panning laws, spread, directivity, distance, Doppler and air absorption

Level & sends tab

Control What it does Range / default
GAIN Source level -60 to +12 dB / 0 dB
LFE SEND Level sent to the LFE / subwoofer outputs off (-60) to +6 dB / off
ROOM SEND Level into the room engine off to +6 dB / -12 dB
SEND A, SEND B Levels to effect buses A and B off to +6 dB / off
Mute, Solo Mute or solo the source Off
Sends post fader When on, the sends follow the source gain and mute On

Distance & room tab

Control What it does Range / default
DISTANCE LAW None, 1/d (-6 dB per doubling), 1/d^2 (-12 dB per doubling) or Custom 1/d
REF. DISTANCE Distance at which the source plays at 0 dB 0.1 to 20 m / 1 m
ROLLOFF Level drop per doubling of distance (Custom law only) 0 to 12 dB/2x / 6
EARLY, CLUSTER, TAIL This source's level into early reflections, the reflection cluster and the reverb tail -60 to +6 dB / 0 dB
Doppler Pitch shift when the source moves towards or away from you Off
Air absorption High-frequency loss with distance On
Room engine Sends this source to the room engine On

How to check a source

Select the source and click Pink noise. Pink noise plays through that source at its current position. Click again to stop.

View options

The Speaker gains toggle shows how much each speaker receives from the selected source. Names shows the source and speaker names.

Using the Stage delay matrix

The Stage delay matrix is for source-oriented reinforcement, mainly in theatre. Each matrix input is a performer or instrument (input n is physical input n). Each input-to-output cell has a level and a delay. Pi Immersive can calculate these from a stage plan so that the real voice reaches every seat first, and the loudspeakers support it without pulling the image away from the stage.

To use it, set the header ENGINE menu to Stage delay matrix, or to Both (parallel) to run it alongside the object engine. Then click Stage matrix on the Sources page.

The Stage delay matrix: a level and a delay for every input and output
Figure 15. The Stage delay matrix: a level and a delay for every input and output

How to set up the stage plan

  1. Choose the number of Inputs and Outputs (up to 64 each).
  2. Set Layout radius and click Speakers from layout to take the speaker positions from your loudspeaker layout.
  3. Drag the performers on the stage plan. Shift-drag to move speakers. Use the wheel to zoom.
  4. Adjust the stage plan rules (table below), then click Recompute all from stage plan.
Control What it does Range / default
Crossfade Time to move between positions or images 0.01 to 10 s / 0.5 s
Precedence offset Extra delay so the real source arrives first 0 to 40 ms / 8 ms
Level rolloff Level drop per doubling of distance 0 to 12 dB/2x / 6
Max level, Min level Limits for the calculated cell levels -20 to +10 dB / 0 dB; -60 to 0 dB / -40 dB
Reference dist. Distance for 0 dB 0.5 to 20 m / 3 m
Layout radius Radius used by Speakers from layout 2 to 40 m / 8 m
Distance attenuation Reduces the level of distant speakers On
Glide delay (pitch) instead of crossfade Moves delays smoothly (with a pitch glide) instead of crossfading Off

Subwoofer and LFE outputs are never fed by the localisation matrix.

How to edit cells by hand

Click a cell, then:

Each cell shows its level in dB and its delay in ms. For the selected input you can set Input gain, Mute input, or Clear input.

How to store and recall images

An image definition stores the full set of cells for one input, such as "actor at the left door".

  1. Select an input and set up its position or cells.
  2. Click Store image.
  3. Later, select the image in the list and click Recall. The matrix crossfades to it over the Crossfade time.
  4. Use Update to overwrite the selected image with the current cells, or Delete to remove it.

Room engine: reflections, reverb and effects

The Room Engine page creates a realistic sense of space. It has three tabs: Room reverb, Send effects and Listener. The spatial view on the left can show the Reflection paths from each source.

Figure 16. Image-source early reflections calculated from the actual room

Room reverb tab

At the top are three switches:

Choose a SPACE PRESET to start from a typical space: Small room, Studio live room, Chamber, Concert hall, Cathedral, Arena, Plate, Ambience or Outdoor slap.

LATE REVERBERATION

Control What it does Range / default
SIZE Size of the virtual space 1 to 100 m / 12 m
RT60 Mid-frequency decay time 0.1 to 20 s / 1.6 s
LOW RT Low-frequency decay as a multiple of RT60 0.2 to 3x / 1.2x
HIGH RT High-frequency decay as a multiple of RT60 0.1 to 1.5x / 0.6x
PRE-DELAY Gap before the reverb starts 0 to 200 ms / 10 ms
LOW X-OVER Crossover between the low and mid bands 50 to 1000 Hz / 250 Hz
HIGH X-OVER Crossover between the mid and high bands 1000 to 12000 Hz / 4000 Hz
DIFFUSION Density of the reverb 0 to 1 / 0.7
MODULATION Slow movement in the tail, which reduces ringing 0 to 1 / 0.3
WIDTH Spread of the reverb over the speakers 0 to 1 / 1
HIGH CUT Low-pass filter on the reverb 1000 to 20000 Hz / 12000 Hz
LOW CUT High-pass filter on the reverb 10 to 500 Hz / 60 Hz

LEVELS AND EARLY REFLECTIONS

Control What it does Range / default
EARLY Level of the early reflections -60 to +6 dB / -6 dB
CLUSTER Level of the dense reflection cluster -60 to +6 dB / -8 dB
TAIL Level of the late reverb tail -60 to +6 dB / -6 dB
EARLY SPREAD Angular spread of the early reflections 5° to 120° / 40°

Note: When Derive from room is on, the size, RT60 and pre-delay you see come from the room model. Change the room or its materials to change them.

Send effects tab

There are two effect buses, SEND A and SEND B. Each source sends to them with its SEND A and SEND B levels on the Sources page (pre or post fader). The returns are spread with decorrelation over the speaker zone you choose.

Control What it does Range / default
Active, Mute Switch the bus on, or mute its return Active on
TYPE Algorithmic space or Convolution (impulse response) Algorithmic space
SPACE Algorithmic preset (same list as the room reverb) Concert hall
Load impulse response... Loads a WAV or AIFF impulse response (mono or stereo) for convolution —
RETURN TO All speakers, Frontal, Surround, Height / overhead or Ear level (no heights) All speakers
RETURN Return level -60 to +12 dB / -6 dB
PRE-DELAY Delay before the effect 0 to 250 ms / 15 ms
LOW CUT, HIGH CUT Filters on the send 20 to 1000 Hz / 120 Hz; 1000 to 20000 Hz / 12000 Hz
WIDTH Spread of the return 0 to 1 / 1
DECAY, SIZE, DIFFUSION Algorithmic space settings 0.1 to 20 s / 2 s; 1 to 100 m / 20 m; 0 to 1 / 0.8

A RETURN meter shows each bus's output level. The name of the loaded impulse response is shown, or "No impulse response loaded".

Late reverb network, two effect buses, algorithmic spaces and convolution
Figure 17. Late reverb network, two effect buses, algorithmic spaces and convolution

Listener tab

The LISTENER / PERSPECTIVE (RELATIVE TO THE MIX POSITION) controls move or turn the virtual listener. This changes every source's direction and distance, the early reflections and the binaural rendering.

Control Range / default
YAW -180° to 180° / 0°
PITCH -90° to 90° / 0°
ROLL -90° to 90° / 0°
OFFSET X, OFFSET Y -50 to 50 m / 0 m
OFFSET Z -20 to 20 m / 0 m
HEAD RADIUS 0.06 to 0.11 m / 0.0875 m (used for binaural)
MASTER -60 to +12 dB / 0 dB

Tip: For headphone monitoring, send listener yaw from a head tracker over OSC (/listener/ypr).

Controlling a Yamaha console

The Console page connects Pi Immersive to a Yamaha CL, QL, TF, DM3, DM7 or RIVAGE PM console over RCP (TCP port 49280). In this mode the console does the mixing: each loudspeaker is fed by one console mix (aux) bus, and Pi Immersive writes each source channel's send levels to those auxes from the panning law. This is updated 20 times a second.

Figure 18. Each loudspeaker fed from its own console aux

How to connect

  1. Connect the computer to the console's network and give it a fixed IP address in the console's range.
  2. Open the Console page and turn on Control the console.
  3. Enter the CONSOLE IP (default 192.168.0.128) and PORT (default 49280).
  4. Under NETWORK ADAPTER, choose the wired adapter, or Automatic (let the system choose). Click Refresh to update the list.
  5. Click Apply / reconnect. The status shows Connected to ... with the console model and the local address, and the header CONSOLE LED lights.

If several adapters (for example Wi-Fi and Ethernet) are on the console's subnet, or none is, the page shows a warning and tells you what to do.

How to assign auxes to loudspeakers

  1. In the Loudspeaker -> console aux table, choose a Console aux (Mix 1 to Mix 72, or None) for each loudspeaker. You can also use the Aux column on Room Setup.
  2. Or click Assign auxes in order to assign consecutive mixes.
  3. The Status column shows live or offline for each assigned speaker, or "not fed".

If no speaker has an aux assigned, Pi Immersive falls back to consecutive mixes starting at FIRST AUX (FALLBACK), for AUX COUNT (FALLBACK) mixes.

Settings

Control What it does Range / default
CHANNEL OFFSET Console channel = source input channel + offset 0
FIRST AUX (FALLBACK) First mix used when no aux is assigned Mix 1 to Mix 72 / Mix 1
AUX COUNT (FALLBACK) Number of mixes in the fallback 1 to 72 / 8
MAX SEND LEVEL Highest send level written -40 to +10 dB / 0 dB
MIN SEND (BELOW = -INF) Sends below this are set to -inf -90 to -10 dB / -60 dB
Follow source gain on channel faders Writes source gain to the channel faders Off
Follow source mutes Writes source mutes to the channel on/off Off
Stereo pan follows azimuth Sets each channel's stereo pan from its azimuth Off
Auto-configure the console Configures the console on connect and whenever sources or aux assignments change On

Auto-configuration

When Auto-configure the console is on, Pi Immersive:

Click Configure console now to do this immediately. On connect, Pi Immersive first checks which commands your console supports and lists the result for each step: OK, no reply (template used as is), or NOT available over RCP on this console with what to do by hand.

Auto-configure: sends post fader, channels off the stereo bus
Figure 19. Auto-configure: sends post fader, channels off the stereo bus

Command templates

If your console firmware uses different parameter paths, edit the templates under Command templates: SOURCE SENDS -> POST FADER (PrePost 0 = POST), SOURCE SENDS ON, SOURCE CHANNELS OFF STEREO BUS, SOURCE CHANNELS OFF MONO BUS and SPEAKER AUXES OFF STEREO BUS. Use {ch} and {mix} for 0-based numbers, or {ch1} and {mix1} for 1-based numbers. Leave a template empty to skip that step. Click Defaults to restore them.

Other tools

Warning: Auto-configure changes your console's routing. Save a console scene before you connect for the first time.

Show control: MIDI, timecode and OSC

The Control page has three tabs: MIDI mapping, Timecode & automation and OSC.

MIDI learn for faders, encoders and joysticks
Figure 20. MIDI learn for faders, encoders and joysticks

MIDI mapping

Turn on MIDI input to open all MIDI inputs. The inputs found are listed, and the last received message is shown. Click Rescan after connecting a new controller.

How to map a control with learn

  1. Click Add + learn, or click Learn on an existing row.
  2. Move the control on your MIDI controller. The page shows "LEARNING - move a control..." until a message arrives. The device, channel, message type and number are filled in.
  3. Choose the Function, Target, Min, Max and Mode.

How to map a joystick: click Add joystick X/Y. Pi Immersive adds an X / Y pair and learns both axes in turn.

Column Meaning
On Enables the mapping
Name Your name for it
Device A specific MIDI input, or Any device
Ch MIDI channel 1 to 16, or Any
Message CC, CC 14-bit, Note, Pitch bend or Program change
No. CC or note number
Function What it controls (see below)
Target sel (0) = the selected source or Stage Matrix input; n = source, Stage Matrix input or snapshot n
Min, Max Range in the function's units (degrees, metres, dB...)
Mode Absolute, Relative (encoder), Toggle, Momentary or Trigger
Inv Inverts the direction

Functions: Source X (joystick), Source Y (joystick), Source Z / height, Azimuth, Elevation, Distance, Spread, Gain, Room send, Send A, Send B, Mute, Solo, Select source #, Select next source, Select previous source, Master gain, Recall snapshot #, Next snapshot, Previous snapshot, Automation: record, Automation: play, Automation: stop, Listener yaw, Stage Matrix performer X and Stage Matrix performer Y.

Defaults restores the default mappings: CC 16 azimuth, CC 17 elevation, CC 18 distance, CC 19 spread and CC 7 gain, all on the selected source, plus Program change to recall a snapshot.

Tip: Use Relative (encoder) for endless encoders so the value never jumps.

Timecode & automation

Pi Immersive can record source movements and levels against LTC timecode and play them back, chasing the code.

Figure 21. Moves recorded and played back against timecode

How to set up timecode

  1. Set CLOCK SOURCE to LTC timecode from audio input or Internal clock.
  2. For LTC, choose the LTC AUDIO INPUT (Input 1 to 256). The frame rate (24, 25, 29.97 or 30 fps) is detected automatically.
  3. Check the display: "LTC locked" with the frame rate, and the LTC level in dBFS.
  4. Set SHOW START (TIMECODE OFFSET) by typing a timecode, or click Set to current LTC. Show time is the incoming LTC minus this offset.

How to record automation

  1. In ARMED FOR RECORDING (CLICK TO ARM), click the sources (and Stage Matrix inputs) you want to record. Use Arm all or Disarm for all sources.
  2. Turn on Global to also record master gain, listener yaw and snapshot recalls.
  3. Click Record, then roll timecode and move the armed sources.
  4. Click Stop.

Recording writes the armed sources' position, gain, mute and sends. Re-recording replaces only the time range you pass over; everything else keeps playing back.

How to play back: click Play. Playback follows the timecode, including jumps. With the internal clock, Rewind returns to zero.

The lane display shows azimuth, elevation, distance and gain for the selected source (±8 seconds around the current time). Clear sel. deletes the selected source's moves. Clear all moves deletes everything, after you confirm.

OSC

Control What it does Default
OSC input Listens for OSC messages On
RECEIVE PORT UDP port Pi Immersive listens on 8000
FEEDBACK HOST, FEEDBACK PORT Where feedback is sent 127.0.0.1, 9000
Send feedback to controller Sends source changes back On
Accept ADM-OSC (/adm/obj/...) Accepts ADM-OSC object messages On

Click Apply after changing ports. Click Send full state to send every source's state to your controller. The status line shows "Listening on UDP ...", the message count and the last message.

Scenes recalled from show control
Figure 22. Scenes recalled from show control

Snapshots and cues

Snapshots store the sources, the room and the listener, plus the master level. When you recall one, positions, gains, spreads, room and effect sends, source yaw, room size, RT60, early, cluster and tail levels and the master level all morph smoothly over the snapshot's recall time.

How to build a cue list

  1. Open Snapshots (Cmd/Ctrl+7).
  2. Set Recall time for new snapshots (0 to 60 s, default 0.5 s).
  3. Set up the scene, then click Store new (or Snapshots > Store snapshot). It is named Cue 1, Cue 2 and so on.
  4. Click Rename to name it, and Up / Down to reorder.
  5. Click Update to save the current scene into the selected snapshot, or Delete to remove it.

How to run cues

Each row shows its morph time.

Settings & preferences

Pi Immersive saves most settings inside the project, so each show keeps its own setup.

Saved in the project (.piimm): everything about the show: sources, speakers, room, room engine, output format, Stage Matrix, MIDI mappings, timecode and automation, console and OSC settings, and snapshots.

Saved on the computer: the audio device setup, in the settings file (macOS: ~/Library/Application Support/Saharty/Pi Immersive/; Windows: the Saharty\Pi Immersive folder inside %APPDATA%).

Project commands:

Keyboard shortcuts / remote control

Global keyboard shortcuts

Keys Action
Cmd/Ctrl+N New project
Cmd/Ctrl+O Open project
Cmd/Ctrl+S Save
Shift+Cmd/Ctrl+S Save As
Cmd/Ctrl+1 to Cmd/Ctrl+7 Go to page 1 to 7
Space Recall the next snapshot

Spatial view (click the view first to give it focus)

Keys / mouse Action
1 / 2 / 3 / 4 Top / Front / Side / 3D view
0 Reset the view
Left / Right arrow Azimuth of the selected source, 1° (Shift: 10°)
Up / Down arrow Elevation of the selected source, 1° (Shift: 10°)
Page Up / Page Down Distance of the selected source, 0.1 m (Shift: 1 m)
M / S / L Mute / Solo / Lock the selected source
Delete or Backspace Remove the selected source
Drag Move a source (on Room Setup: move a speaker or the mix position)
Alt+drag Change distance only
Shift+drag on a speaker Move a speaker (Sources page)
Wheel over a source Elevation (Top view) or distance (other views)
Shift+wheel over a source Spread
Wheel elsewhere Zoom
Double-click empty space Add a source there
Drag / double-click in 3D Orbit / reset the view
Right-click Source or speaker menu

OSC address reference

The same list is shown on the OSC tab (Help > OSC / MIDI reference). n is the 1-based source index.

Group Addresses
Source position /source/n/aed az el dist, /source/n/xyz x y z (m), or one value with /az, /el, /dist, /x, /y, /z
Source level and shape /gain dB, /mute 0/1, /solo 0/1, /spread deg, /yaw deg, /directivity 0..1, /lfe dB
Source room /source/n/room/send, /early, /cluster, /tail dB, /room/on 0/1
Source other /law 0..7 (menu order), /doppler 0/1, /name string
ADM-OSC /adm/obj/n/azim, elev, dist, aed, xyz, x, y, z (normalised: 1.0 = 10 m), gain (linear), w (spread), mute
Room /room/size m, /room/rt60 s, /room/early, /cluster, /tail dB, /room/predelay ms, /room/on 0/1
Listener /listener/ypr yaw pitch roll, /listener/xyz x y z
Master /master/gain dB, /master/mute 0/1
Snapshots /snapshot/recall n
Stage Matrix (input n) /matrix/n/xyz x y z, /matrix/n/image i, /matrix/n/cell out dB ms, /matrix/n/gain dB, /matrix/n/mute 0/1

Feedback: when a source moves, Pi Immersive sends /source/n/aed, /xyz, /gain, /mute and /spread to the feedback host. With ADM-OSC on, it also sends /adm/obj/n/aed and /xyz with normalised values. Locked sources ignore position messages.

Tips for live/studio use

Put your audience inside the music
Figure 23. Put your audience inside the music

Troubleshooting

Symptom Cause Fix
No sound, and the status bar says "ENGINE STOPPED - activate Pi Immersive Live to start it" The app isn't activated, or the notice period is over Open Help > Licence... and activate, or start the free trial. The engine then starts by itself.
No sound, and the ENGINE button reads OFF The engine was stopped Click ENGINE to start it.
"The audio device could not be opened" at launch The last device is disconnected or in use Choose a device on I/O Setup.
Input meters don't move Wrong channels enabled, or (macOS) microphone permission refused Enable the inputs on I/O Setup. On macOS, allow Pi Immersive in Privacy & Security > Microphone.
A source is silent Wrong INPUT CHANNEL, source muted, another source soloed, or gain at -60 dB Check the input, Mute / Solo, and Sources > Clear all solos.
Moves sound stepped Motion smoothing too short for the controller rate Raise MOTION SMOOTHING on I/O Setup.
Convolution bus is silent No impulse response loaded, or bus muted / inactive Click Load impulse response...; check Active and Mute.
Console: "no answer within ... (wrong IP, cable, or adapter?)" Wrong IP, cable or adapter Check the IP, cabling and NETWORK ADAPTER. Give the computer a fixed IP in the console's range.
Console: "Several adapters ... are on the console's subnet" Wi-Fi and Ethernet on the same subnet Pick the wired adapter or turn Wi-Fi off.
OSC messages are ignored OSC input off, wrong port, or a firewall Turn on OSC input, check RECEIVE PORT, click Apply, allow the app through the firewall.
MIDI controller does nothing MIDI off, device not found, or mapping disabled Turn on MIDI input, click Rescan, check the On column.
Licence "active on another computer" The key is used elsewhere Choose Move it here, or deactivate the other computer from your account.

Specifications & system requirements

Specifications

Item Value
Version 2.0.2
Type Standalone application (macOS and Windows)
Engine Object-based spatialisation, Stage delay matrix, or both in parallel
Audio I/O Up to 256 x 256 channels
Sources Up to 64
Loudspeaker outputs Up to 64
Panning laws 8
Output formats Loudspeakers, binaural (HRTF), Ambisonics 1st to 7th order (ACN / SN3D)
Room model 7 shapes, 22 materials, early reflections up to 2nd order, RT60 estimate
Reverb and effects 16-line late reverb, 2 effect buses
Stage delay matrix Up to 64 x 64, delays up to 500 ms
Control Yamaha RCP, MIDI, LTC (24 / 25 / 29.97 / 30 fps), OSC, ADM-OSC, snapshots
Project file .piimm

System requirements

macOS minimum macOS recommended Windows minimum Windows recommended
OS macOS 11 Big Sur Latest macOS Windows 10 64-bit Windows 11 64-bit
Processor Apple silicon or Intel (Universal) Apple M1 Pro or better Intel Core i5 / AMD Ryzen 5, 4 cores Intel Core i7 / AMD Ryzen 7, 8 cores
Memory 8 GB 16 GB 8 GB 16 GB
Disk 100 MB 100 MB 100 MB 100 MB
Audio Core Audio interface Multichannel MADI / network audio interface ASIO driver Multichannel MADI / network audio interface
Control — OSC / MIDI controller, LTC source — OSC / MIDI controller, LTC source

Support

Please include your version (Help > About Pi Immersive), operating system and audio interface.

Pi Immersive Live is made by Pi by Saharty.