Overview
:

The Digigram Audio Server MxM allows control of multichannel
Audio Servers from Digigram. This MxM is compatible with a wide
range of Digigram products. These include :
- NCX
Ethernet products
- PCX Cards
- miXart8
Cards
- Any
Windows Wave Compatible PC Board via the Virtual PCX Wave
Driver
NCX Products
The Digigram NCX200 takes audio processing power out of the
computer and is connected to a server via Ethernet, the NCX200
decodes and plays mono or stereo audio streams. The NCX support
a wide variety of audio digital formats : Mpeg Layer I, II,
III, Wave. 7 GPIO are available on each NCX box: these can be
configured either in output or input.
The Medialon Manager Digigram Audio Server MxM allows full control
of a network of Digigram NCX. Each device can be a stereo OR
a Mono stream.
PCX cards
The Digigram Audio Server MxM can also control Digigram PCX
cards: these are PC cards that have the same features as the
NCX's.
Up to 4 PCX440 cards can be installed and controlled in the
same PC with Medialon Manager and Digigram Audio Server MxM
in order to control 32 in/out audio streams.
miXart8
cards
8
output/8 input card which can be controlled the same way PCX
Cards are. Note that MPEG playback and recording are provided
by Digigram as options on the miXart8 cards.
Windows Wave Compatible PC cards
The Digigram Audio Server MxM can also control wave compatible
PC cards (like Creative Soundblaster, Mark of the Unicorn,
M-Audio Delta) for applications that do not need a lot of
audio streams. Note that the Digigram Wave Driver (See Digigram
Installation Manual) must be installed in order to control
these cards.
> Top
Installation
(MXM) :
Paragraphs
overview :
1) Driver Installation
2) Playrec software
1) Driver Installation
Each type of Digigram products may have a different installation
process. You should check http://www.digigram.com
for the latest drivers.
Below is a driver installation example for the NCX boxes.
In order
to control NCX boxes with Medialon Manager and the Digigram
Audio Server MxM, you must first install the sound driver for
Digigram hardware. It can be installed on the audio server machine
by double clicking on the "setup.exe" program. Please follow
very precisely the instruction in order to install properly
the different hardware drivers and piece of softwares for Digigram
audio materials.
In case of NCX driver installation, the "NCX Config" software
is automatically launched to configure the NCX devices.
.jpg)
If the NCX device is working properly, it should appear " ", the green light on the front panel of the device should
be on. If not check your network connection between the NCX
and the remote PC controler.
You can modify the NCX's name and logical number by double-clicking
on a device in the "NCX Config" software. The following dialog
box appears:
.jpg)
Windows 2000 system might automatically detect and start the
installation of the Digigram audio hardware when present in
the system.
Once the installation is finished you must restart the server.
2) Playrec software

The "PlayRec.exe" software is very usefull to check if the driver
was installed successfully on the server. The software should
detect all the cards connected to the server, either NCX boxes
or PCX/VX PCI cards.
Try to load an audio file on an output and play it, you can
also test to record a file if your NCX or PCX hardware allow
to do so.
If the "PlayRec.exe" software does not detect any audio NCX
hardware, please check the following points:
1) Check
that the NCX driver is started: in the Control Panel, double
click on the "Device" icon, "NCXNT_1" should be started
2) Ethernet cards in the NCX box is 10 Mbits, thus you can not
plug it directly in a 100 Mbits switcher, you must connect it
to a 10 Mbits hub.
3) If a NCX box if directly connected to a PC with a network
cross-cable, the network card of the PC should be configured
in "Auto-Negotiation" to work at 10Mbit with the NCX.
If the NCX boxes are detected by the Digigram driver, the green
led on the front panel of the NCX should be on.
If you experience any troubleshootings during the Digigram driver
installation, please contact Digigram for technical support:
http://www.digigram.com
> Top
Creation (Device) :
.jpg)
Hardware device name: choose the NCX (or PCX/VX/Wave)
audio terminal to be controlled by this device. You can
create a device and leave the "NCX Name" to "None" if you
want to start programming without any physical devices connected
to Medialon Manager.
Stream Mode: choose between "Input" or "Output" for the
device type, input means that the device will record audio signal,
and output means that the device will play audio files.
Stream Type: choose between "Stereo" or "Mono" for
the device type. Note that Windows Wave compatible boards
only support stereo mode.
Output Configuration: choose a hardware output connection
for the created device. Some outputs can not be accessed depending
on the audio hardware capabilities. For example a NCX device
will not access outputs 5 to 8 because NCX400 only have 4 mono
outputs available.
Sound Path: choose an initial sound path where the audio
files are picked or stored. This path can be changed by browsing
for a new folder.
GPIO Config: the small levers allow to configure the
GPIO of an NCX box to work independantly as inputs or outputs.
Mixart Options : Check "Use PC CODEC" if the
currently hardware device is a Mixart board and you want to
use the software PC CODEC module which runs on the host PC instead
of using the onboard Mixart DSP. Note that PC Codec module must
be purchased as an option from Digigram.
> Top
Commands (List Of) :
SetSoundPath:
Description
: Choose the directory where sound files are picked or
stored
Parameters :
SoundPath : [Type : String] : New path name
Usage : the SoundPath variable contains the
new sound path after this command completion
GetSoundList
:
Description
: To retreive the sound file list of the chosen directory
Parameters :
No parameters
Usage : the SoundList variable contains the
sound file list after this command completion
Load :
Description
: To prepare a sound file to be played
Parameters :
FileName: [Type : String] : sound file name to load
Scrub: [Type : Enum] : "On" or "Off", to enable or
not the scrub mode while playing the file
Usage : the StreamStatus variable of the
device turns to "Loaded" and the CurrentSound variable
is filled with the file name if the file is correctly
loaded. The scrub mode allows to play a file backward
or forward at various speed values (note that scrub mode
is not available for MPEG1 Layer3 or MP3 files). Scrub
mode set to "Off" do not allow to play backward. File
format must be either WAV or MPEG. Note that the StreamStatus
variable turns to "Paused" instead of "Loaded"
if a file is open in scrub mode.
LoadNext
:
Description
: To load a file while another file is still being played,
this file will start palying as soon as the first one will
reach the end.
Parameters :
FileName: [Type : String] : file name of the next audio
that will be played
Usage : the files loaded with the LoadNext command
are stored in the NextSound variable as a list. Thus
you can prepare a playlist by calling several times the function
LoadNext with different files. Once started, all the files
listed in the NextSound variable will be played successively.
File format must be either WAV or MPEG.
Play :
Description
: To play the current sound file loaded
Parameters :
No parameters
Usage : the StreamStatus variable of the device
turns to "Playing" and the timecode variable StreamTime
starts to grow
Pause :
Description
: To pause the current playing sound file
Parameters :
No parameters
Usage : the StreamStatus variable of the device
turns to "Paused" and the timecode variable StreamTime
freezes
Stop :
Description
: To stop the current playing sound file
Parameters :
No parameters
Usage : the StreamStatus variable of the device
turns to "Ready" and the timecode variable StreamTime
is set to 0
SetSpeed
:
Description
: Define the playback speed of a playing sound file
Parameters :
Speed: [Type : Integer] : speed value, from -500
to +500
Usage : negative values of speed plays backwards.
+100 is nominal forward speed. Negative values (backward
play) are only available if the file was loaded with the
"Scrub" option turned to "On"
SetLevel
:
Description
: Define the input or output level, depending of the type
of the device created (playback or record)
Parameters :
Level: [Type : Integer] : level value, from 0 to 100
Usage : create an analog slider in a Manager user screen
that calls this function to change dynamically the input or
output sound level
Record :
Description
: Record audio signal in wave or mpeg files (Mpeg1 layer
I or II)
Parameters :
File Name: [Type : String] : output file where audio
datas will be stored, the extension (.wav or .mpa) is automatically
added
File Type: [Type : Enum] : record format chosen: "Wave
8 bits", "Wave 16 bits", "Mpeg1 layer1", "Mpeg1 layer2". The
size of the recorded file depends on the file type chosen
(wave is uncompressed, mpeg is compressed)
Sampl. Freq: [Type : Enum] : sampling frequency: "32
khz", "44.1 khz", "48 khz". High values of the sampling frequency
provides a better sound quality
Bit rate: [Type : Enum] : in Kbits/sec, "64", "96",
"128". "192", "256 MpegL2 only", "384 MpegL2 only". This parameter
is use only when recording in Mpeg. It defines the general
sound quality of the file. 64 is very compressed, the quality
might be poor, allthough 384 is very close to standart 16
bits wave uncompressed record.
Overwrite: [Type : Enum] : "On" or "Off": this option
enables or not to overwrite an existing sound file with the
new one
Usage : the file type and bitrate chosen will depend
on the desired audio quality and the available disk space
on the audio server. Allthough you can play different file
types (wave or mpeg) on different outputs of an NCX terminal
(or PCX card) at the same time, you will not be able to play
files with different sampling frequency at the same time (due
to audio hardware restrictions). Trying to do so will cause
the StreamStatus variable to turn to "Frequency error".
It is recommended to play and/or record files with a fixed
value of sampling frequency ("44.1 khz" is used for CD's and
is very common).
Locate :
Description
: Seek to a given timecode in the playing file
Parameters :
Timecode: [Type : Time] : timecode to seek to
Usage : the StreamStatus variable of the device
turns to "Paused" and the timecode variable StreamTime
freezes to the chosen value
SetOutput
:
Description
: Set a GPIO output to 0 or 5 volts
Parameters :
PIO Index: [Type : Integer] : index value from 1 to
7, 0 means all outputs
Value: [Type : Integer] : value to set (0 or 1) on
the given output(s)
Usage : call this function to set the given output(s)
to 0 or 5 volts
Reset :
Description
: Reset the input or output stream of the device
Parameters :
No parameters
Usage : This command releases the current stream and
open it again.
Loop :
Description
: Set the device into loop mode
Parameters :
Loop: [Type : Enum] : "On" or "Off" to enable or disable
the loop mode of a device
Usage : this command must be executed before the command
Load or LoadNext is used. It has no
effect if a file is loaded in scrub mode.
PanAdjust
:
Description
: Set the left and right pan values of the output
Parameters :
Left: [Type : Integer] : values from -50 to +50
Right: [Type : Integer] : values from -50 to +50
Usage : this function does work with Left/Right only
in stereo mode. You can adjust the left recorded audio signal
more or less to the left and right peakers. You can adjust
the right recorded audio signal more or less to the left and
right peakers.
SetupSync
:
Description
: Set Master or Slave sync mode
Parameters :
Sync type: [Type : Enum] : "None", "Master" or "Slave"
depending on the synchro mode to apply to the device
Master device name: [Type : String] : master device
to whom the current device will be synchronized
External clock ref: [Type : Enum] : "Off" of "On" if
an external AES-EBU external clock reference is to be used
for the nal ce
Usage : to synchronize 2 output streams (Dev1 and Dev2),
please refer to the following example:
1) call
Dev1->SetupSync(Master, "", Off) to configure the first
device as a master
2) call Dev2->SetupSync(Slave, "Dev1", Off) to configure
the second device as a slave device of "Dev1"
3) call Dev1->Load("test1.wav", Off) to load a file on
the master device
4) call Dev2->Load("test2.wav", Off) to load another
file on the slave device
5) call Dev1->Play() to play both Dev1 and Dev2 audio
streams: they are synchronized...
A call
to the SetupSync command modifies the "SyncType", "MasterDeviceName"
and "ExternalClockRef" variables of the device.
Notes:
1) Synchronization between streams belonging to different
NCX boxes is not guaranteed
2) Synchronization between between 2 Digigram PCI cards (PCX440,
PCX820, miXart8, ...) is guaranteed if using the Digigram
"Inter-card cable"
> Top
Variables (List Of) :
SoundPath
:
Type
: String
Description : current sound path where audio files
are picked and recorded
Usage : this value can be modified dynamically by calling
the function SetSoundPath
SoundList
:
Type
: String
Description : contains the sound file list of the current
selected server sound directory
Usage : GetSoundList command must be used to
retreive the sound file list from the audio server
CurrentSound
:
Type
: String
Description : contains the current playing audio file
NextSound
:
Type
: String
Description : contains the file list of the sounds
that will be played in sequence
Usage : use the LoadNext command to add a new
audio file into this list
StreamStatus
:
Type
: Enum
Description : Return the stream status (Ready, Playing,
Paused, Loaded, Error, Recording, Frequency error, Not Online,
Setup Failed).
Available Values :
"Ready"
: the in or out device is ready to play or record
"Playing": the device is currently playing a file
"Paused": the device is currently paused (after a Locate
or a Pause command)
"Loaded": the device is loaded with a file, ready to play
(waiting for a Play command)
"Error" : an error which is not "Frequency
Error" has occured during the execution of the last
command. This is usually due to a bad filename parameter.
"Recording": the device is recording a file (the StreamTime
variable grows)
"Frequency error": the user tried to load and play files
with different sampling frequency at the same time
"Not Online" : the Digigram device is not online
"Setup Failed": the setup of the device has failed because
the Digigram resource is not present or not online.
StreamTime
:
Type
: Time
Description : contains the stream timecode or the currently
playing or recording file
CurrentSoundDuration:
Type
: Time
Description : contains the duration of the currently
playing file (100 fps)
Usage : this variable is automatically updated after
a load command
PIO1_30:
Type
: Integer
Description : GPIO 30 in or out status (0 or 1)
Usage : this variable is automatically updated when
an external switch closes or open the input GPIO
PIO1_17:
Type
: Integer
Description : GPIO 17 in or out status (0 or 1)
Usage : this variable is automatically updated when
an external switch closes or open the input GPIO
PIO1_31:
Type
: Integer
Description : GPIO 31in or out status (0 or 1)
Usage : this variable is automatically updated when
an external switch closes or open the input GPIO
PIO1_4:
Type
: Integer
Description : GPIO 4 in or out status (0 or 1)
Usage : this variable is automatically updated when
an external switch closes or open the input GPIO
PIO1_5:
Type
: Integer
Description : GPIO 5 in or out status (0 or 1)
Usage : this variable is automatically updated when
an external switch closes or open the input GPIO
PIO1_2:
Type
: Integer
Description : GPIO 2 in or out status (0 or 1)
Usage : this variable is automatically updated when
an external switch closes or open the input GPIO
PIO1_25:
Type
: Integer
Description : GPIO 25 in or out status (0 or 1)
Usage : this variable is automatically updated when
an external switch closes or open the input GPIO
LeftVuMeter:
Type
: Integer
Description : current input or output left audio level,
depending on the device type
RightVuMeter:
current input or output right audio level, depending on the
device type
Type
: Integer
Description : current input or output left audio level,
depending on the device type
SyncType:
current synchronization mode of the device
Type
: Enum : "None", "Master", "Slave"
Description : to modify the current sync mode of the
device, call the "SetupSync" command
MasterDeviceName:
master device name to whom the current device is synchronized
Type
: String: name of the master device
Description : to modify the current master device name,
call the "SetupSync" command
ExternalClockRef:
current external synchro mode
Type
: Enum: "Off" or "On"
Description : to modify the current external synchro
mode, call the "SetupSync" command.
> Top
Support
(Difference with previous versions) :
V 1.0.1:
> Top
|