soundman-server a quick overview. soundman-server soundman-server (or “sm-s”) is a high...
TRANSCRIPT
SoundMan-Server
A quick overview
SoundMan-Server
• SoundMan-Server (or “SM-S”) is a high performance sound playback and routing audio engine application – Primarily intended for theatrical and themed entertainment
– Up to 512 individual live input channels
– Up to 999 individual playback channels
– Up to 512 output channels
– A typical application might have 192 playback channels, 96 inputs, and 96 outputs.
Architecture
• SM-S is essentially two crosspoint matrixes– One matrix between live inputs and outputs
– One matrix between playback and outputs
• Every input, crosspoint, and output is an identical control node:– Gain, Mute, Solo, Inversion, Delay, Delay Enable
– 7 Band parametric EQ
– 31 Band Graphic EQ
– Two octave pitch shifter
Audio Interfaces
• SM-S uses any sound card with an ASIO driver– Most professional cards have ASIO drivers
• Typical recommended interfaces:– MOTU 424 or 424e card and interface units:
• HD192, 2408 MK III, 24I/0
– AudioScience ASI6416 Cobranet cards
– RME MADI cards
– AudioScience or RME AES cards
– Digigram Ethersound cards (currently in qualification)
Non-Recommended Audio Interfaces
• Anything from SoundBlaster• Crystal 6-channel cards with minijacks
– They work, but can be noisy and the jacks are unreliable; some drivers are 16-bit only
• “Plug-n-Play” including Firewire/USB– The Windows OS can “forget” units
– Connectors are not available in a locking style
– Can be OK for special events or temporary shows
– Work with the manufacturer for maximum reliability
Playback File Formats
• File Formats: WAVE, AIFF, Raw PCM• Sample Formats: PCM: 16, 20, 24, 24/32, 32 bit,
FLOAT: 32 bit Floating Point
• Sample Rates: Any (different files can have different rates)
• Automatic sample rate conversion to the interface sample rate
Playback Features
• Start/Stop/Pause/Resume • Free running or locked to Timecode• Adjustable Start and Stop positions• Loop from any point to any point
– (Or skip if loop-to is after loop-from)
• Adjustable playback rate (speed/pitch)• Sample accurate playback on many channels if
started together
Playback
• Each playback channel plays one track of one file– Use multiple playback channels to play multi-channel
files
– Play only the tracks you want
– Play same track on multiple channels with different routing/gain/EQ
– Play tracks with different offsets in the file at the same time
Timecode
• 24 / 25 / 29.97 / 30 FPS capability• Two timecode readers
– Readers are output channels, can route any source to them
• Can follow a live input or a recorded TC track
• Two timecode generators– Generators are input channels, can route to any
destination
– Generators can be slaved to TC readers• Useful to generate 30FPS from 24FPS input
Signal Generator
• A low-distortion signal generator is available on input channel 1000
• Can generate Sine, Square, Triangle, White Noise, or Pink Noise
• Pink noise slope ripple < 0.1 dB
• Sine, Square and Triangle frequencies can be set from 1 Hz to Sample Rate / 2
• Sine/Square/Triangle frequency can be swept over arbitrary frequency range with linear or log sweep
• Sweep can be paused and resumed
Control Methods
• SM-S is controlled by simple human-readable text commands– Current command set is always available at:
www.RichmondSoundDesign.com• Commands are given on Telnet port 20000• Up to 20 telnet ports may be open at once for
control and monitoring• A typical command sequence:
– SET CHANNEL P12-P14 GAINDB 0 FADETIME 4.2;– PLAY P12-P14;
Control Abilities
• Every parameter of every control node is individually controllable– Every Input, Crosspoint, or Output is a control node
• Groups of control nodes may be adjusted simultaneously– SET CHAN P0-15 GAINDB -12;
• Every “analog” parameter (eg: gain, delay, EQ frequency) can be faded over time
Monitoring
• Every parameter of every control node can be interrogated
• Channels can be interrogated in groups– GET CHAN P0-3 TRACK POSITION;
• Every response begins with a unique identifier and is in a simple text format on a single line:
Position P0=213022 P1=165902 P2=433662 P3=1024;
Control Ranges
• Gain: +20 to -144 dB– gain can be given in dB or absolute 0 to 10 range,
where 1.0 is 0 dB• SET CHANNEL I0 GAIN 0; mute first input
• Delay: 0 to 5 seconds – in microseconds or samples
• EQ Gain: +12 to -144 dB
• EQ Frequency: 1 Hz to Sample Rate/2
Command Syntax Overview
• Most commands start with SET or GET– Followed by the item to act on
– Usually CHAN or CHANNEL followed by a list of channel types and numbers (channel identifiers) or channel names
• Followed by one or more parameter keywords and (for SET) the values for the items, for example:
– GAIN 0.3
– DELAY 1.2
– TRACK FILE“C:\Audio Tracks\File1.wav”
Commands are shown in uppercase, but except for strings in quotes, are case insensitive
Channel Types
• Channel types are:
INPUT IN I
OUTPUT OUT O
PLAYBACK PB P
CROSSPOINT XPOINT X
PLAYBACKCROSSPOINT PBXPOINT PX
GROUP G
Channel Identifiers and Names
• A channel identifier is a channel type followed by a channel number (or number.number for crosspoints)
PLAYBACK 1 IN4 PX4.4
• Channels may be named and the names used:
SET CHAN I0 NAME MC_MIC
SET CHAN MC_MIC GAINDB -4.3 FADETIME 2;
Channel Identifier Groupings
• Channel identifiers may be individual, in ranges, or lists:
PLAYBACK 1 PLAYBACK 0 TO 4
OUT 1-3 IN 0 1 2 3 5 PB 6 OUT7-12 I16
X0.0 1.1 2.2 X0-3.0-3
• Channel ranges are two channel numbers that are in equal or ascending order separated by “TO” or a dash
Channel Parameters
• All channels have the standard settings:– GAIN or GAINDB
– MUTE, SOLO, PHASEREVERSE
– DELAY TIME, DELAY ENABLE
– Graphic EQ ENABLE, BAND GAINS
– Parametric EQ BANDS, EQ ENABLE, BAND ENABLE
– Each Parametric EQ Band has:• SHAPE, FREQUENCY, GAIN or GAINDB, BANDWIDTH
Additional Playback Channel Parameters
• TRACK parameters:– PATH “path to files”– FILE “name” TRACK number– START, STOP, REPEAT and LOOP points– PITCH or SPEED
• Example:SET CHAN P0 TRACK FILE “C:\INTRO.WAV” START 20.1
STOP 40 PITCH .5 FADETIME 30;
“Fadable” Channel Parameters
• All “analog” channel parameters can fade over time:– GAIN, GAINDB, DELAY TIME, EQ FREQUENCY, EQ GAIN,
EQ BANDWIDTH, PLAYBACK SPEED/PITCH
• Fade can be specified in seconds or as a timecode– FADETIME <seconds and fractions>
– FADETC <timecode value>
• Examples– SET CHAN OUT1 GAINDB -144 FADETIME 5.2;– SET CHAN I1 DELAY .025 FADETIME 1.22;
Example
1 CONFIG SET INTERFACE "MOTU FireWire Audio" MODE NORMAL INPUTS 0 OUTPUTS 18 PLAYBACKS 50;
2 SET MATRIX OFF;
3 SET CHAN P0 TRACK FILE "T:\AudioBox011.WAV" START TIME 13 STOP TC 0:30:27:0 REPEAT TIME 13;
4 SET CHAN P1 TRACK FILE "T:\AudioBox012.WAV" START TIME 13 STOP TC 0:30:27:0 REPEAT TIME 13;
5 SET CHAN P0-1 gaindb -3 chan O0-1 GAIN 1;
6 SET CHAN PX 0.0 1.1 GAIN 1;
7 PLAY P 0-1;
Example Notes
1 Initialize SM-S to use the ASIO device "MOTU FireWire Audio”. Disable the inputs and set 50 playback channels.
2 Set all input, playback, crosspoint, and output channels to 0 gain.
3 Set playback channel 0 to play the file “T:\AudioBox011.WAV” starting 13 seconds in and looping from 30 minutes 27 seconds back to 13 seconds. The full path to the file, including the filename suffix, must be specified.
4 Set playback channel 1 to play the file “T:\AudioBox012.WAV” using the same start/stop/repeat parameters as above. P0 and P1 are a stereo pair from two mono files.
5 Set both playback channel gains to -3dB and set output channels 0 and 1 to a gain of 1, which is 0dB.
6 Set playback crosspoints 0.0 and 1.1 to have gains of 0dB. This routes P0 to O0 and P1 to O1, giving stereo output.
7 Make playback channels P0 and P1 play. Since we played both channels in one channel list, they will be sample locked.