SoundMan-Server Virtual Sound System (VSS) API Software
SoundMan-Server API Short Description
SoundMan-Server is a virtual audio processing and delivery system; a
comprehensive multi-channel audio
playback/engine/control/processor/matrix/delivery
software Application Programming Interface (API). Remotely and locally
controllable and programmable. Emulates and
replaces traditional commercial/professional sound systems of all types
and sizes.
SoundMan-Server has no traditional user interface - it requires
third party controllers and/or software GUIs but can interact without
difficulty with up to a dozen interfaces simultaneously. Click
here
for a list of some user Interfaces & applications.
All command control and monitoring is performed by textual commands, called
SoundMan-Script. A high level SoundMan-Script
language will also be developed which defines and controls the user's
three-dimensional space, called
SoundMan-Space. SoundMan-Script will also define and control the multichannel
live and playback sound objects, called SoundMan-Objects, as they move, diverge,
converge, diffuse, expand and contract in SoundMan-Space.
SoundMan-Server API Detailed Description
SoundMan-Server is a virtual sound system. It is an audio routing, playback and
processing solution. Originally designed for live theatre, entertainment
and performance, multi-zone audio control, theme parks and museums, it is
applicable to any installation requiring the interconnection and overall
control of high quality sound. It is scalable and can be used in any
configuration with a licensing cost directly related to the scope of the
application.
It can be installed on one or more Windows computers in a single
LAN and each SoundMan-Server can host up to 10 client applications via TCP
connections. In this way, a 'Virtual SoundMan-Server Audio Processor Farm' can
control and deliver an almost unlimited number of channels of audio
completely within the digital domain and without any unneccessary latency.
Licenses and dongles can be created and updated remotely for all types of
applications.
SoundMan-Server is capable of routing any number of live audio
inputs through an arbitrary size matrix to any number of outputs. It can
simultaneously play back an almost unlimited number of sound files mixed as
desired to the available output channels.
Playback is synchronous or asynchronous and channel groups can
selectively chase time code to match any type of visual media. In this way,
SoundMan-Server provides a true multisource audio solution perfectly
synchronised with any type of multimedia presentation.
Partial list of SoundMan-Server Virtual Sound System applications:
-
3d sound
-
active noise reduction
-
actor tracking systems
-
aircraft audio
-
airports
-
ambisonics
-
arenas
-
artificial reverberation
-
artificial voice generation
-
assisted resonance
-
assisted listening systems
-
audio control
-
audio imaging
-
audio manipulation
-
audio placement
-
audio playback
-
audio processing
-
audio recording
-
audio sampling
-
audio-visual systems
-
audiological testing
-
auditioning stations
-
aural environments
-
aural pathways
-
autogain systems
-
automated announcements
-
background music
-
ballrooms
-
bars
-
boardroom systems
-
brand music
-
BrandSound™
-
broadcast studios
-
bus shelters
-
bus stations
-
buses
-
call automation
-
coaches
-
coliseums
-
concert sound
-
conference centres
-
convention centers
-
defensive sound
-
diffusion
-
Digital Out-Of-Home (DOOH)
-
digital playback
-
digital processing
-
digital recording
-
digital signage
-
disabled assistance
-
elevator music
-
film sound
-
film studios
-
foreground music
-
galleries
-
game sound studios
-
General MIDI (GM) playback
-
generative sound
-
health club sound
-
home audio distribution
-
hotels
-
houses of worship
-
hypersonic reproduction
-
immersive environments
-
interactive exhibits
-
internet audio distribution
-
kiosks
-
live sound
-
loudspeaker processing
-
malls
-
manufacturing plants
-
meeting rooms
-
MIDI audio playback
-
mobile sound
-
moving sound
-
multichannel playback
-
multichannel recording
-
multilingual playback
-
multipurpose rooms
-
museums
-
nightclubs
-
noise monitoring
-
noise masking
-
offices
-
paging
-
personal listening stations
-
planetariums
-
product sound
-
projection systems
-
public spaces
-
railway stations
-
reactive sound
-
reception areas
-
recording studios
-
replacement of conventional sound systems
-
restaurants
-
retail environments
-
ride vehicles
-
service oriented architecture
-
sfx playback
-
sheds
-
shopping centres
-
show control audio
-
showrooms
-
signal processing
-
simultaneous translation
-
sonic art
-
sonic guideways
-
sonic logos
-
sonicbrand
-
sound control
-
sound design
-
sound field simulation
-
sound generators
-
sound imaging
-
sound manipulation
-
sound placement
-
sound playback
-
sound processing
-
sound recording
-
sound reinforcement
-
sound studios
-
SoundFlow™
-
SoundMap™
-
soundscapes
-
spatialization
-
speech reinforcement
-
sporting events
-
spot sound
-
stadiums
-
supermarkets
-
surround sound
-
theatre sound
-
theatre sound design
-
themed entertainment
-
themed ride vehicles
-
time of day systems
-
toilets
-
trade shows
-
trains
-
trams
-
tram shelters
-
transport termini
-
trolleys
-
trolley shelters
-
vehicles
-
vibration monitoring
-
video studios
-
voice overs
-
vst plugin hosting
-
warning sounds
-
zones
SoundMan-Server API Functions
SoundMan-Server is a software replacement for any type of professional or
commercial sound system. Each live input and/or each playback track, is routed
and processed via a matrix to any combination of the available output channels.
There is one matrix for the 'live' inputs, and a second matrix for the
playback channels.
The number of playback channels is not limited by or related
to the number of hardware input or output channels, which are provided by
one or more standard ASIO audio interfaces.
Each audio matrix has input nodes,
output nodes, and crosspoint nodes. Every node has more comprehensive
audio processing capabilities than most conventional analog or digital
processors.
Business Opportunities
SoundMan-Server is the ideal solution for audio delivery in environments that
simultaneously need many channels of music, announcements, presentations
and sound tracks and can accompany all types of visuals and displays.
It
integrates perfectly with multi-media exhibits and interactive POS and user
terminals where audio guidance is required or desired. It provides high
quality stereo and/or multichannel interactivity as well as a personal/private
listening experience via headphones, wireless/mobile presentations or in
listening rooms or booths.
It controls external sound sources such as
user/announcement microphones for communication, AV, PA and live presentation
purposes as well as vast playback resources that can be accessed,
downloaded, controlled and programmed locally and/or remotely.
Scripts can
automatically execute to provide time of day, storewide or network emergency
and/or informational announcements and also give automatic control to local
presenters at preprogrammed times. Scripts can be set up to use standard
audio files or to switch to special or live announcements and presentations at
any time.
SoundMan-Server can be maintained over an intranet or the
internet and can be monitored remotely and there is virtually no size limit for
the number of inputs and outputs available network wide.
SoundMan-Server
is functionally equivalent to almost any type of conventional sound system and
requires 95% less hardware.
Solving Your Problem
SoundMan-Server efficiently and compactly replaces traditional standalone,
non-programmable, inflexible sound systems.
It eliminates vast quantities of
dedicated audio hardware that requires expert local operator skills and
frequent maintenance.
It is a powerful, software-based system that can be
programmed, operated, configured and updated locally and/or remotely without
necessarily requiring local technical expertise.
Our Competitive Advantage
SoundMan-Server is unique. It features the ability to reproduce many channels
of audio synchronously and without latency. All controls are operable in
real time and/or via scripting and will not generate glitches or artifacts in
the delivered audio stream.
Every control function and capability found in
conventional sound systems is more effectively emulated by SoundMan-Server
without any limitation in the number of inputs, outputs or control nodes and
channels.
SoundMan-Server can be expanded at any time without replacing any
existing audio hardware.
Return on Investment
SoundMan-Server is best by orders of magnitude over the only alternative:
dedicated audio hardware. This software-only solution is uniquely expandable,
upgradeable and flexible.
SoundMan-Server replaces audio hardware that costs
hundreds of times more than a SoundMan-Server license. And factoring in the
cost of design, installation, wiring, testing, troubleshooting, maintaining,
depreciating, servicing, repairing and replacing traditional audio equipment
the value that SoundMan-Server represents is thousands of times higher - and it
does not depreciate.
SoundMan-Server API Technical Overview
SoundMan-Server is a dedicated audio routing, playback and processing solution.
Amongst the prime
intended markets is live theatre, live theatre with click tracks, large parades
with multi-zone audio, theme park installations and, in fact, virtually any
installation requiring the interconnection and overall control of large numbers
of channels of audio in a matrixed configuration, such as museums and themed
installations. But it is completely scalable and can equally be used in very
small configurations with a licensing cost scaled directly to the scope of the
application.
It can be installed on
one or more Windows XP computers in a single LAN and each SoundMan-Server
can host up to 10 client applications running on other computers in the LAN, or
even on the same computer.
In this way, a 'Virtual SoundMan-Server Audio Processor Farm' can control and
process an almost unlimited number of channels of audio completely within the
digital domain and without any unneccessary latency and
host dozens of third party UI applications simultaneously for combined control
of many audio channels. As is typical with software, the size is completely
scalable
and licenses and dongles can be created which address the smallest and
most cost-efficient applications as well as the largest.
SoundMan-Server is capable of routing any number of live audio inputs
through an arbitrary size matrix to any number of outputs. It can
simultaneously play back an almost unlimited number of sound files mixed
arbitrarily to the available output channels. Any number of industry standard
VST plugins can be inserted into every input, playback and output channel to
provide standard audio dynamics and effects. VST plugin points are also used
to provide internal patch points within the matrix so that literally any custom
internal signal flow path can be achieved.
SoundMan-Server is based on standard Intel or AMD based PC
hardware, and ASIO-capable sound hardware. It requires a processor with
MMX and SSE2 instruction sets. The number of inputs and outputs
available and the amount of processing that can be accomplished without audio
artifacts is determined by the capabilities of the ASIO-compliant sound device,
and the amount of processor power and memory available on the PC. Even very
modest PC capability (800+MHz) is capable of routing at least 32 channels in
arbitrary configurations, and playing literally hundreds of sound files
simultaneously.
SoundMan-Server can best be thought of as an audio routing matrix. Each live
input, or each audio track, can be routed through a full matrix to any
combination of the available output channels. In reality it is a dual matrix
-- there is one matrix for the dedicated hardware 'live" inputs, and a second
parallel matrix for the playback channels. The number of playback channels is
completely arbitrary, and is not limited by or related to either the number of
hardware input or output channels.
An audio matrix has input nodes, output nodes, and crosspoint nodes. A live
input is controlled by an input node. The result of this control node feeds a
number of crosspoint nodes, one for each possible output. All of the
crosspoint nodes for a single output are summed, and fed to a control node for
that output. After passing this control node the sound will appear at the live
output. All internal audio processing is done in floating-point numbers to
avoid problems with clipping.
In SoundMan-Server all live audio control nodes have identical capabilities.
This includes the live input control node, all crosspoint nodes, and the live
output control nodes. Playback control nodes have all of the capabilities of a
live input control node, but have some additional capabilities that are not
possible on a live input.
The basic node capabilities are gain control, delay control, and equalization.
Specifically the following controls are available:
-
Mute
-
Solo
-
Phase Reverse (Polarity)
-
Gain
-
Delay in microseconds
-
Seven bands of EQ, all individually selectable
-
EQ Enable
-
Delay Enable
Mute, Solo, Phase Reverse, and EQ and Delay Enable are "on-off" actions. The
remaining properties: gain, delay, and the seven bands of EQ gain, frequency,
and bandwidth are all "analog" controls that can have many values. All analog
control levels can be "faded" over an arbitrary time period. This not only
allows the gain to be faded, but the delay time can be "faded" from one value
to another, or an EQ frequency, gain, or bandwidth can be changed smoothly over
time.
Gain on any channel can be set between +20dB and -150dB.
Delay on any channel can be set from zero added delay up to many seconds of
added delay. The maximum delay depends on the memory available on the PC.
Delays of 30 seconds or more on all input channels are not impossible. Delay
values can be specified in various ways. Specified resolutions to at least the
microsecond level are possible. Since the audio stream is digital, actual
delays can only be adjusted in whole numbers of samples. At the default
sample rate of 48KHz, delay adjustments on the order of 20 microseconds are
possible.
There are two possible ways to "fade", or smoothly change a delay over time.
The server will attempt to pick the most reasonable method based on the total
fade time and the total change in delay time. The choice can be overridden for
individual delay fades if necessary.
One method of fading a delay is to stretch or compress individual audio sample
periods. This amounts to a pitch shift during the time the delay is changing.
This provides an absolutely smooth delay change, but if the delay change is
large the pitch variation will be objectionable. (Note though that if a person
is walking towards you while talking, their voice will be shifted upward by
approximately 1% in pitch. Humans are used to this and consider this frequency
change normal.)
For more abrupt delay changes the pitch-shift method is not acceptable. In
this case the delay will either be changed instantly (for a zero-time or
non-fade delay change) or the delay time will be 'stepped' in small increments.
Stepping the delay time introduces the possibility of clicks and pops from
mismatched sample edges. These are possible and can occur, but the stepping
parameters have been chosen to minimize their audibility in normal theatrical
material. If necessary a sample-blending algorithm could be implemented to
de-click this case. It has so far not been found to be necessary.
The minimum audio delay through the system is determined purely by the chosen
audio hardware and is outside the control of SoundMan-Server. The audio delay
will be determined by any hardware delay in D/A or A/D converters, plus any
queuing latencies in the hardware data path into and out of the computer, plus
any software latencies that may exist in the low-level driver for the audio
device.
In addition, the number of samples in a buffer of audio data will affect the
overall delay time. Most good ASIO drivers allow a choice of the number of
samples in the buffer for the application. SoundMan-Server works well with the
typical minimum number of samples per buffer. This is typically 64 samples for
most sound cards, and 48 or fewer samples for a limited selection of cards. At
48KHz, a 64 sample buffer takes approximately 1.3ms. As there are typically at
least two or three buffers in the audio path, the typical minimum path delay is
on the order of 3 to 7ms maximum.
This delay is completely determined by the audio hardware and the low-level
driver supplied by the hardware vendor. SoundMan-Server adds no delay of its
own during processing unless specifically requested.
The number of channels available is also determined completely by the
ASIO-compatible sound device chosen. Picking MOTU 424 cards and appropriate
interfaces will allow 96x96 analog I/O routing capabilities and sample rates up
to 192KHz with a single computer. Ethersound or Cobranet PCI cards will
allow hundreds of channels of digital I/O.
SoundMan-Server currently only uses a single ASIO audio device at one time, so
the number of channels is limited by the number available on that device. In
many cases the number of channels are fairly small, on the order of 8x8 to
16x16. As mentioned above, the MOTU hardware produces good results up to
96x96 and for digital I/O, Ethersound offers 64 inputs and 64 outputs from each
LX6464ES PCI card, for example. Many industrial computers offer motherboards
with up to 10 PCI slots, allowing a potential of 640 inputs and outputs from a
farm of Ethersound cards in a single computer.
Also, for user convenience there is a programmable and assignable signal
generator which generates the following tones:
-
sine
-
square
-
triangle
-
frequency sweeps
-
white noise
-
pink noise
Future versions of SoundMan-Server will support multiple interfaces and allow
more channels. Since the drivers will not synchronize the multiple interfaces,
this will probably result in an additional one to two buffers minimum latency
in certain routing patterns. (Differences in path length are handled
internally and will not be a user concern.)
Independent Software Vendor Licensing Notes
We invite all third party developers interested in using SoundMan-Server as
your audio
engine API to contact us for individual support and quotations on versions
specific
to your needs and we can provide you with an OEM ISV version that does exactly
what
you want at a cost that is unbeatable. Third party developers who wish to
develop with non-demo versions of SoundMan-Server can apply to receive a
development dongle of the desired configuration up to the maximum size of
512x512x999 at no cost. Just send a letter on your letterhead describing
the software application proposed and the timeline of
the project and fill in the appropriate blanks and sign the SoundMan-Server
license agreement (link is on our home page). When your proposed application
is approved, we will send you one development dongle.
At the moment, SM-S is a highly refined audio engine with enormous capabilities
but we are only just beginning to exercise the command structure so that the
largest number of options and features can be accessed by third party
applications.
We will of course be increasing these commands and capabilities
and will keep you informed of these developments. If you have any
questions at all please don't hesitate to communicate with us directly at any
time.
We will provide dongles to licensed users that include all the licenses they
have for every version of third party software they want SoundMan-Server to
communicate with so that any computer running SoundMan-Server will be
completely enabled and communicate with all host programs desired.
Without a dongle attached, SoundMan-Server runs in demo mode, effectively
allowing potential users and developers to work with the program to see what it
is capable of.
There will also be a temporary license file that is restricted to a single
machine
and a short period of time that enables a default set of features for that time
period.
This file will can be emailed and can be used until the license dongle is
received.
Dongles can also be updated by the user in the field when new features are
purchased.
Specifications
-
PLAY/STOP/RESUME RANDOM PLAYBACK ACCESSIBILITY: Synchronous or asynchronous,
locked to, chasing or generating SMPTE or IRIG Time Code absolutely or
relatively.
Plays any number of tracks at any time, triggered
simultaneously or in sequence, overlapping or not. For example, at one moment
SoundMan-Server can play up to 999 audio files (depending on processor speed
and amount of memory installed), triggered independently or in multi
channel combinations such as 999 mono tracks, 499 stereo tracks, 249 - four
track
selections, etc., all triggered simultaneously or
independently and running in sync if desired.
-
AUDIO RECORDING CAPABILITY [future capability]: Records up to 999 audio files,
depending on processor speed and memory installed. Audio can be recorded at
the inputs or at the outputs of the matrix, generating a multi-channel audio
file on the internal disk drive.
-
COMPUTER REQUIRED: Standard Windows XP system
-
MAXIMUM NUMBER OF AUDIO SELECTIONS ON THE HARD DRIVE: unlimited depending on
storage media size - network hard drives are supported
-
TRACK-HOURS OF AUDIO STORAGE: Approximately 3 per GB of storage media at 48K
sample rate
-
EQUALIZATION: Up to 7 band true parametric on any
input, output and crosspoint
-
DELAY SETTINGS: Adjustable in 1 sample increments available at each - total
delay budget depends on amount of RAM installed
-
SYSTEM DELAY: Depends entirely on the sound card and driver - SoundMan-Server
adds only a few samples of delay
-
DIGITAL AUDIO NETWORK CONNECTIONS: Supports all digital audio cards with ASIO
drivers
-
CONTROL NETWORK CONNECTION: Use the computer's ethernet port for telnet and
high speed control and monitoring using up to
10 clients (Windows/Mac/Linux/AMX/Crestron/any telnet client) on a single LAN
-
CONTROL PORTS: Supports third party control interface cards
-
VST PLUGINS: any number of industry standard plugins can be used in any
internal signal paths in any combination (future capability)
|