7 Video Library Execution Environment
- 1 -
1. Introduction
The IRIS Digital Media Execution Environment contains the
basic system components necessary to support audio, MIDI,
video applications on an IRIS workstation.
Note: Packaged with your software is a separate sheet that
contains the Software License Agreement. This
software is provided to you solely under the terms
and conditions of the Software License Agreement.
Please take a few moments to review the Agreement.
This document contains the following chapters:
1. Introduction
2. Installation Information
3. Digital Audio
4. SoundScheme
5. CD Audio / DAT Audio
6. MIDI
7. Video Library Execution Environment
1.1 Release_Identification_Information
Following is the release identification information for the
IRIS Digital Media Execution Environment:
Software Product dmedia_eoe
Version 6.0
System Software Requirements IRIX 6.0
1.2 Online_Release_Notes
After you install the online release notes for a product
(the relnotes subsystem), you can view the release notes on
your screen.
Note: You can read the online release notes for most
products before installing the software. Refer to
the booklet in your CD-ROM case for more information.
- 2 -
If you have a graphics system, select ``Release Notes'' from
the Tools submenu of the Toolchest. This displays the
grelnotes(1) graphical browser for the online release notes.
Refer to the grelnotes(1) man page for information on
options to this command.
If you do not have a graphics system, you can use the
relnotes command. Refer to the relnotes(1) man page for
accessing the online release notes.
1.3 Product_Support
Silicon Graphics, Inc., provides a comprehensive product
support maintenance program for its products.
If you are in the U.S. or Canada and would like support for
your Silicon Graphics-supported products, contact the
Technical Assistance Center at (800)800-4SGI. If you are
outside these areas, contact the Silicon Graphics subsidiary
or authorized distributor in your country.
- 1 -
2. Installation_Information
This chapter lists supplemental information to the IRIS
Software Installation Guide. The information listed here is
product- and release-specific; use it with the Installation
Guide to install this product.
2.1 IRIS_Digital_Media_Execution_Environment_Subsystems
IRIS Digital Media Execution Environment includes these
subsystems:
dmedia_eoe.sw.audio Basic digital audio execution
environment including Audio
Control Panel, recordaifc,
playaifc. Digital audio
execution environment kernel
components reside in
"eoe1.sw.unix".
dmedia_eoe.man.audio Manual pages for basic digital
audio execution environment.
dmedia_eoe.sw.soundscheme SoundScheme sound server.
dmedia_eoe.data.soundscheme SoundScheme data files.
dmedia_eoe.man.soundscheme Manual pages for SoundScheme
sound server.
dmedia_eoe.sw.common IRIS digital media kernel
components required for the
Video Library execution
environment.
dmedia_eoe.man.relnotes IRIS Digital Media Execution
Environment release notes.
dmedia_eoe.books.MediaCtls_UG Insight on-line IRIS Digital
Media Execution Environment
User's Guide. SGI Help support
for Audio Control Panel and
Video Control Panel.
- 2 -
2.2 IRIS Digital Media Execution Environment Subsystem Disk
Space Requirements
This section lists the subsystems (and their sizes) of the
IRIS Digital Media Execution Environment.
If you are installing this product for the first time, the
subsystems marked ``default'' are the ones that are
installed if you use the ``go'' menu item. To install a
different set of subsystems, use the ``install,''
``remove,'' ``keep,'' and ``step'' commands in inst to
customize the list of subsystems to be installed, then
select the ``go'' menu item.
Note: The listed subsystem sizes are approximate. Refer to
the IRIS Software Installation Guide for information
on finding exact sizes.
Subsystem Name Subsystem Size
(512-byte blocks)
dmedia_eoe.sw.audio (default) 4610
dmedia_eoe.man.audio (default) 60
dmedia_eoe.sw.soundscheme (default) 270
dmedia_eoe.data.soundscheme (default) 1144
dmedia_eoe.man.soundscheme (default) 4
dmedia_eoe.sw.common (default) 120
dmedia_eoe.man.relnotes (default) 64
dmedia_eoe.books.MediaCtls_UG (default) 725
2.3 Installation_Method
Subsystem Name Method of Installation
dmedia_eoe.sw.audio IRIX
dmedia_eoe.man.audio IRIX
dmedia_eoe.sw.soundscheme IRIX
dmedia_eoe.data.soundscheme IRIX
dmedia_eoe.man.soundscheme IRIX
dmedia_eoe.sw.common Miniroot
dmedia_eoe.man.relnotes IRIX
- 3 -
dmedia_eoe.books.MediaCtls_UG IRIX
- 1 -
3. Digital_Audio
An IRIS Audio Processor is included with the Personal IRIS
4D/35, IRIS Indigo, Indigo2, and Indy systems. This
processor enables the IRIS to simultaneously manipulate
real-time graphics and sound. Audio abilities include
digitizing sound from a microphone or from standard audio
line-in using the stereo analog to digital converters,
receiving and trasntmitting data via the serial digital
audio interconnect, and sound output headphones and standard
line-out using the stereo digital to analog converters.
Input gain, headphone level, input and output sampling
rates, and input source are all independently specified with
software. The analog signal quality of the IRIS Audio
Processor suits demanding professional applications such as
stage performances, radio and television production,
computer music and speech research and audio-annotated
documents.
3.1 IRIS_Audio_Processor
3.1.1 New_Features
3.1.1.1 Support_for_Four-Channel_Audio On Indigo2 and Indy
workstations, the audio processor is capable of four
channels of analog line-level input and four channels of
analog line-level output. The Audio Control Panel apanel
performs the channel mode switch with a toggling menu item.
Application programs enable the four-channel capability with
an Audio Library procedure call.
On workstations without the four-channel capability (e.g.,
Indigo), applications created to input or output four
channels of audio can be executed and tested but monitored
only in two-channels. In this case, the input or output
data is resolved to match the hardware capability by the
conventions listed in Chapter 4 of the Digital Media
Programming Guide.
For further information regarding four-channel audio on
Indigo2 and Indy workstations see the section below entitled
"Four-Channel Audio Support."
3.1.1.2 Support_for_Stereo_Microphones Indigo2 and Indy
workstations support up to two channels of microphone-level
signals. The Audio Control Panel apanel specifies the
microphone channel mode with a toggling menu item.
Application programs specify the microphone mode with an
Audio Library procedure call.
- 2 -
When a stereo microphone is connected and the stereo
microphone software is not enabled, the left channel of the
microphone is used as the input to the audio system.
3.1.1.3 Support_for_AES/EBU_(IEC958)_Non-Audio_Bits. In
the 5.1 release, the audio processor writes the non-audio
sampling rate bits through the IEC958 digital serial audio
interface. Currently, non-audio sampling rate bits are read
only by Indigo2 and Indy.
On the Indigo2 and Indy workstations, the rate of the
digital input stream can be retrieved in software with the
Audio Library. The rate reflects the information in the
digital input stream channel status bits. Conflicts between
the rate encoded in the digital input stream and the
physical rate of the incoming data is not detected.
When the output rate is locked to the serial digital input
rate, the audio processor determines the sampling rate from
the serial digital input's rate bits. When the output rate
is neither 48000, 44100, nor 32000 samples per second, the
AES/EBU specifications do not specify what rate bits to set.
In this case, the rate bits are set to value 1, which is
signifies a sampling rate undefined in the IEC958
specification.
The audio processor always generates consumer mode nonaudio
bits, but accepts both professional mode and consumer mode
non-audio bits as input.
3.1.2 Enhanced_Support_for_24-Bit_Digital_Audio. In
previous IRIX releases, Indigo and 4D/35 AES/EBU transmitter
sent 20-bit audio and with the least significant 4 bits to
zero. The receiver has always handled all 24 bits.
Under the 5.1 release, the serial digital transmitters and
receivers all output full 24-bit samples. Indigo, Indigo2,
and Indy all now generate and receive fully 24-bit clean
serial digital audio.
3.1.2.1 Support_for_Externally_Clocked_Converters In order
to provide precise synchronization of audio streams, the
input analog-to-digital converter (ADC) and the output
digital-to-analog converter (DAC) can use the sampling rate
of the digital input stream as opposed to the hardware
reference clocks provided by the Audio Processor. This
allows digital audio from a DAT or CD device to act as a
clocking source for the input ADCs or the output DACs.
In previous releases, the only way to match the sampling
rate of the output DAC to the digital input rate was to use
- 3 -
the digital input as the system-wide input source.
With the 5.1 release, this limitation has been removed.
Now, the input ADC and output DAC can use the digital input
rate without requiring that the digital input be the
system-wide input source.
You can match the sampling rate of the DAC and the sampling
rate of the ADC to the digital input rate with apanel.
Application programs can cause the sampling rates to match
with procedure calls in the Audio Library.
3.1.2.2 Additional_Audio_Ports. The Indigo2 and Indy
support up to 16 simultaneously open audio ports. This is a
substantial increase over the 4 ports provided by the
original Indigo. As with the Indigo, all input ports
receive the same audio data from the currently selected
hardware input, and all output ports mix together at the
hardware outputs.
3.1.3 Four-Channel_Audio_Support
3.1.3.1 System_Modes Indigo2 and Indy systems support four
simultaneous analog audio input and output channels. To
support this additional functionality while maintaining
functional compatibility with the Indigo systems, the
Indigo2 and Indy provides two modes of operation: four-
channel mode and Indigo mode. By default, the system is in
Indigo mode, and remains in it unless you explicitly change
to four-channel mode, via apanel. Switching between the
modes changes both the electrical properties of the
connectors on the back panel and the behavior of the system
audio software. Both stereo and four-channel audio
applications function in both modes, with some behavioral
changes. These electrical and behavioral changes are
documented in the rest of this section.
3.1.3.2 Sampling_Rates_in_Four-Channel_Mode In four-
channel mode, the analog input and analog output sampling
rates must be the same. Changing the input sampling rate
causes the output sampling rate to become ``Use Input
Rate.'' Likewise, changing the output sampling rate causes
the input sampling rate to match the output rate. When you
switch into four-channel mode, the system must change either
the input or the output sampling rate to match the other. To
minimally interfere with already running applications, it
decides which rate to change based upon whether or not input
or output is in use. Note that this rate restriction
applies only to the analog I/O channels; the digital input
and analog output may still perform simultaneous I/O at
different sampling rates.
- 4 -
3.1.3.3 Input_selection_in_Four-Channel_Mode In four-
channel mode, four channels of analog input are available.
The first two channels represent the analog signal at the
line input connector; the next two channels represent the
analog signal at the microphone input connector. The line
input connector always accepts a line-level signal.
However, the electrical properties of the microphone
connector are configurable. If you select the line-level
source from apanel, the microphone connector functions as a
line-level input. If you select the microphone source from
apanel, the microphone connector accepts either a stereo or
mono microphone.
If you select digital input in four-channel mode, the
digital input is used. Since the digital input is only a
two-channel source, it provides only two channels of data to
four-channel applications. However, those applications
still function properly, as discussed below.
3.1.3.4 Behavior of Stereo Applications in Four-Channel
Mode Applications that perform stereo audio output function
in four-channel mode. Because they provide only two
channels of audio data, their output appears only at the
line output connector, since the headphone output connector
represents the second pair of line-level output.
Applications that perform stereo audio input function in
four-channel mode. If you select an analog input, four
channels of data are theoretically available. A stereo
input application gets the sum of the two left-channel
inputs as its left channel, and the sum of the two right-
channel inputs as its right channel.
3.1.3.5 Behavior of Four-Channel Applications in Indigo
Mode or on Indigo Four-channel output applications function
in Indigo mode or on Indigo, though there are only two
physical output channels. The translation from four to two
channels occurs as follows. The application's output is
considered as two stereo pairs. The application's two left
channels are summed and sent to the left output channel, and
its two right channels are summed and sent to the right
channel.
Four-channel input applications function in Indigo mode, or
on Indigo, though there are only two physical input
channels. The translation from two to four channels occurs
as follows. The application's input is considered as two
stereo pairs. The system's stereo input comes into the
application's first stereo pair, and the application's
second stereo pair contains zeros.
- 5 -
3.1.3.6 Digital_Output_in_Four-Channel_Mode The digital
output on any IRIS workstation is a stereo output. In four-
channel mode, it transmits the first stereo pair of output.
3.1.3.7 Performance_Considerations_in_Four-Channel_Mode In
general, you should not select the four-channel mode unless
you actually require it. Using four-channel mode has a
slight impact upon system performance. First, more audio
data must be managed by the CPU than in Indigo mode.
Second, audio DMA is always on in four-channel mode, whereas
in Indigo mode, it is only on when audio is actually in use.
3.1.4 Caveats_and_Known_Problems
3.1.4.1 Audio_CPU_Usage. As noted above, the Indigo2 and
Indy no longer contain a dedicated DSP chip. Thus, the
impact of some Audio Library functions upon system
performance has changed. In particular, each audio port that
remains open consumes a small but relatively constant amount
of the MIPS CPU. Output ports tend to be more expensive
than input ports, since they require the kernel to perform
mixing on behalf of the application.
3.1.4.2 Rate_Settings It is meaningless to set the input
source to digital input and the output rate to match the
input rate while no digital input signal is connected to the
workstation. This condition places the hardware in an
indeterminate state, and the behavior of the audio system is
unpredictable.
3.1.4.3 Output_Rates When monitoring digital input
streams, the output rate should be set to match the input
rate (i.e., ``Input Rate'' on apanel) as opposed to a rate
numerically equal to the input rate. This way, the output
stream is clocked by the same source as the input stream
instead of a numerically equal but independent clock source.
3.1.4.4 Fractional_Digital_Rates When using the
``Digital'' rates (see apanel(1)) for input or output, audio
applications compiled before 5.1 may set the sampling rates
to a fraction of the digital input rate.
3.2 Audio_Control_Panel
The Audio Control Panel apanel(1) displays and updates the
audio hardware state. Graphical user interface sliders and
menu items change audio hardware parameters by making calls
to the IRIS Audio Library. The input level meters aid in
setting a recording level with a good signal-to-noise ratio.
- 6 -
3.2.1 Changes_and_Additions
o A new layout that adapts to the four-channel audio
hardware present on I2 and Indy. In four channel mode,
four sliders control input level attenuation, and four
meters display average and peak signal levels.
o Muting and Monitoring are done through the audio device
driver. This means that when programs change Meter and
Monitor modes, the apanel display shows the change.
o apanel settings can now be saved to a file and restored
from a file (see the File menu).
o The listening LED is no longer enabled by default.
o The input and output sampling rates can be locked to
the rate of incoming digital data.
o Beginning with the IRIX 5.2 release, the user interface
has been ported to the Motif-based ViewKit GUI toolkit.
o The apanel meters appear segmented at no loss of
measurement resolution. The segments and their
corresponding headroom labels facilitate quantitative
measurements. The yellow "sweet spot" section has been
magnified, making the decibel headroom scale non-
linear, as indicated by the segment labels. The
magnified sweet spot and the display segmentation offer
a new signal measurement ability not possible with
tri-color "dancing" meters.
o CPU usage due to open window and metering has been
reduced.
o Screen area has been reduced.
o There are now more command line options available. See
the apanel(1) man page for details.
3.2.2 Known_Problems_and_Workarounds
o If your environment variable DISPLAY is not set, apanel
will not run, even with -nodisplay option.
o The IRIS Audio Processor hardware subsystem on all
platforms except 4D/35 and 4D/30 includes a direct
digital loopback channel, which makes a connection
between digital out and digital in when nothing is
plugged into the digital audio I/O jack. This is the
- 7 -
mechanism which allows you to record the audio output
from the CD-ROM via cdman(1) directly to DAT via
datman(1) (see the "IRIS Digital Media Tools 5.2
Release Notes" included in dmedia_tools.man.relnotes)
by selecting Digital In as the input source on apanel,
and making sure that nothing is plugged into the
digital I/O jack.
If you select Digital In on apanel while the direct
digital loopback channel is enabled, then turn select
Monitor and generate audio output (for example by
invoking playaifc), you will hear feedback due to the
physical loopback channel.
Workaround: Avoid monitoring when Digital In is
selected while nothing is plugged into the digital I/O
jack (there's nothing to monitor in this case anyway).
An alternative is to keep a jack plugged into the
digital I/O jack (this doesn't have to be a live
connection) to physically defeat the loopback
mechanism.
3.3 Audio_Utility_Programs
The audio execution environment dmedia_eoe.sw.audio contains
the following command line utility programs:
o playaifc(1) AIFF and AIFF-C audio file player
o playaiff(1) installed as a symlink to playaifc
o recordaifc(1) AIFF, AIFF-C audio file recorder
o recordaiff(1) installed as a symlink recordaifc
o passthru(1) user-level audio input monitor utility
The audio exectution environment dmedia_eoe.sw.audio also
contains three DSO's (dynamically shared objects):
o libaudiofile.so Audio File Library DSO
o libaudioutil.so Audio Utility Library DSO
o libawareaudio.so software MPEG, MultiRate audio
codecs from Aware,Inc
- 8 -
These DSO's have no dependencies on the IRIS Audio Library
or IRIS Audio Processor hardware. The Audio File Library
contains routines for performing AIFF/AIFF-C disk file
access. The Audio Utility Library contains low-level
routines for audio data conversion (most of these routines
are invoked internally from the Audio File Library).
Header files and programming guide information for the Audio
File Library and Audio Utility Library are included with
Digital Media Development Option (DMDEV) 2.0.
Aware compression routines are invoked internally from the
Audio File Library and Audio Utility Library. In order to
enable the Aware codecs, you must purchase a NetLS license
from Aware,Inc, as described below.
A number of other sound file utility routines for file
conversion, "offline" compression/decompression, and file
header info queries may be optionally installed from the
dmedia_tools.sw.soundtools subsystem of IRIS Digital Media
Tools 5.2 (included with the IRIX 5.2 release). For more
information, consult the release notes for this seperate
bundled product.
3.3.1 Aware,Inc_Compression To run applications that use
the Aware MPEG or MultiRate codec technology on a given
Silicon Graphics system, you must purchase a NetLS node-
locked license for that system from Aware, Inc. Contact
Aware at the following address to obtain a license:
Aware, Inc.
One Memorial Drive
Cambridge, MA 02142 USA
phone: (617) 577-1700
fax: (617) 577-1710
e-mail: sales@aware.com
Ask for audio product sales.
You can also contact Aware at the phone and fax numbers
above or by e-mail at developer@aware.com for questions
about Aware compressor/decompressor implementation and
specifications, and for questions about NetLS licensing for
the Aware products.
See the online man page aware(5) for an overview of the
Aware compression technology available to developers and end
users.
An Aware codec license will allow you to play/record AIFF-C
files which contain MPEG or MultiRate data by invoking
- 9 -
playaifc(1) and recordaifc(1).
o For the 4.0.5F release, playaifc and recordaifc were
ported to the Audio File Library. These programs now
take advantage of the transparent audio
compression/decompression support offered by
libaudiofile.so.
3.3.2 Bug_Fixes
o passthru: Repaired code that spewed a series of
incorrect messages describing monitor sampling rate.
o passthru: Added code to check for audio hardware and
print an error message if none found.
o Aware, Inc MPEG, MultiRate and bundled G.722
compression or decompression is CPU-intensive.
Workaround: To record or play back an AIFF-C file that
contains mono or stereo audio data compressed using
these algorithms, you might have to run recordaifc(1)
or playaifc(1) with a nondegrading high priority. See
the man page npri(1) for information about how to do
this. An alternative is to record and play uncompressed
audio sample data, and compression/decompress the data
"offline" using the utilities aifccompress(1) and
aifcdecompress(1). These utilities are included in the
dmedia_tools.sw.soundtools subsystem of IRIS Digital
Media Tools 5.2.
o playaifc cannot decode the Apple proprietary
compression schemes (ACE/MAC algorithms) described in
the AIFF-C specification. Similarly, Mac sound
applications may not be able to decode AIFF-C data
which was encoded on an SGI workstation using the
Aware,Inc codecs, or bundled G.722 or G.711
compression.
Workaround: Always decompress AIFF-C audio data before
transferring between Macintosh and SGI systems.
- 10 -
3.4 Hardware Differences Between the Indigo and
Indigo2/Indy Audio Systems
The Indigo2/Indy audio system represents the second
generation of SGI's industry- leading commitment to digital
audio. This system deviates from an exact replica of the
Indigo audio system in the following ways:
3.4.1 Digital_Signal_Processor. The original Indigo
contains a Motorola 56001 Digital Signal Processor (DSP).
This processor is used to maintain real-time flow of audio
data to and from the MIPS processor, and to perform mixing
operations between audio applications. Indigo2 and Indy do
not contain a dedicated DSP chip; instead, the control of
the audio system is split between the new HAL2 ASIC and
software running on the MIPS R4000 CPU. The consequences of
this design change are noted below, under ``Software
Differences Between the Indigo and Indigo2/Indy.''
3.4.2 Input_Attenuation_(Trim). As in the original Indigo,
line input levels of 1 Vpp to 10 Vpp may be digitized as
full range signals. The input level attenuation control
which sets this trim has a larger range of attenuation in
Indigo than Indigo2 and Indy. You might have become
accustomed to using this trim control (which is mapped to
apanel) as an input volume control whose range extends to
full input attenuation (zero signal). The Indigo2 and Indy
input attenuator does not attenuate the input signal
completely, but it does support the full specified range for
input digitization (1Vpp to 10Vpp).
3.4.3 Headphone_Power_Output. For the same digital audio
signal, the headphone driver in Indigo provides noticeably
more power (volume) for a given output volume setting than
Indigo2 and Indy.
3.4.4 Internal_Speaker. For the same digital audio signal,
the internal speaker in Indigo provides noticeably more
volume for a given output volume setting than Indigo2 or
Indy. Indigo2 and Indy have substantially greater fan noise
than Indigo, which increases your perception of this effect.
The distance between the listener and the chassis
loudspeaker, and the direction of the loudspeaker with
respect to the listener, both strongly influence the
perceived loudness.
3.4.5 Performance_Specifications_of_the_Indigo2/Indy.
Indigo2 and Indy analog audio performance specifications are
targeted to be comparable to those of Indigo (see the Indigo
Audio Data Sheet). Full details may be published at a later
time.
- 11 -
3.5 Audio_Specifications
3.5.1 Stereo_Line-Level_Analog_Input Computer-controlled
attenuators (trims) adjust for a variety of levels. Each
input channel may be adjusted in 1.5 decibel steps.
Indigo Indigo2/Indy
Nominal Input 5 kOhm 20kOhm
Impedance
Input Signal:
Maximum 10 Vpp 10 Vpp
Minimum 1 Vpp (for 1 Vpp (for
full-scale input) full-scale input)
3.5.2 Microphone_Input A high-quality monophonic condenser
microphone is included with the IRIS Audio Processor.
Indigo Indigo2/Indy
Nominal Input Impedance 2 kOhm 2 kOhm
The high-quality condenser microphone supplied with your
audio system obtains a very small amount of power from the
microphone input connector (2V through 2 kOhms). The
microphone input connector is compatible with other
conventional microphones besides the supplied one.
3.5.3 Stereo_Serial_Digital_Audio_I/O_Interconnect,_IEC958
The Stereo Serial Digital Audio interconnect is a coaxial
digital interconnect that makes noiseless audio connections
to DAT machines, professional audio gear, CD players, etc.
The interconnect is transformer coupled to prevent ground
loops and provide isolation. It supports up to 24 bit,
50kHz sampling. It is based on the following standards:
Document Organization
CP-340 EIAJ
AES3 Audio Engineering Society
IEC958 IEC
3.5.4 Stereo_Line-Level_Analog_Output
Output impedance 600 Ohms
Full-scale amplitude 6 Vpp
3.5.5 Stereo_Headphone_Output The stereo headphone output
includes separate volume controls for each channel. Volume
for each channel may be adjusted to one of 256 linear steps.
- 12 -
Output Level Maximum, each channel Indigo Indigo 2/Indy
64 ohm load 180 mW 36 mW
16 ohm load 280 mW 74 mW
High quality headphones are included with the 4D/35 Audio
Processor.
The same volume controls the speaker volume on an Indigo.
If headphones are plugged in then the speaker circuit is
disabled.
3.5.6 Connectors All audio connectors are 1/8 inch (3.5mm)
stereo mini phone connectors.
Connector Tip Ring Sleeve
Microphone Input Not Connected Ground
Line In L R Ground
Line Out L R Ground
Headphone Out L R Ground
Digital I/O Output to Device Input to Computer Ground, for
this circuit
alone
Tip is the tip of the plug, Ring is the center conductor of
the plug and sleeve is the innermost (cable side) conductor
of the plug.
3.5.7 Converter_Technology
2
Indigo Indigo /Indy
A/D Converter Stereo 16 bit, delta-sigma modulation, Stereo 16 bit,
64x oversampling converter delta-sigma
modulation, 64x
oversampling
converter
D/A Converter Stereo 18 bit, 8x oversampling converter Stereo 16 bit,
delta-sigma
modulation, 64x
oversampling
converter
Output Digital Filter Stereo 16 bit input, 18 bit output, 8x
oversampling, FIR in three stages of
order 225, 41 and 21
3.5.8 Available_Sampling_Rates_(kHz) Here is a table of
the input and output rates that the hardware is capable of
generating internally. The top row consists of the master
clock rates and 2/3 those rates. Subsequent rows result
form dividing the top row by an integer between two and
- 13 -
eight.
Fs 48 44.1 32 29.4
/2 24 22.05 16 14.7
/3 16 14.7 10.6667 9.8
/4 12 11.025 8 7.35
/5 9.6 8.82 6.4 5.88
/6 8 7.35 5.33333 4.9
/7 6.85714 6.3 4.57143 4.2
/8 6 5.5125 4 3.675
Input and output sampling rates are independent; the ADC
master clock source (48 kHz, 44.1 kHz or serial digital
input) and divisor are independently selectable from the
output (DAC and IEC958) master clock source and divisor.
In addition to these fixed rates, a sampling rate derived
from the IEC958 receiver is available for analog input and
output. The basic received rate on the serial digital input
can vary between approximately 30 and 50 kHz, depending upon
the source. The received rate can be used as an alternate
master clock, optionally scaled by 2/3, and divided by an
integer from one to eight.
3.5.9 Analog_Quality_Target_Measurements_(48_kHz_Sampling)
Line In Line Out Conditions
Frequency Response +/- 0.25dB +0,-.25dB (20-20kHz)
THD+N <.01% <.01% (@1kHz)
SNR >80dB >80dB (20-20kHz)
3.6 Suggested_Audio_Practices
You can get the best performance out of your IRIS audio
processor by following some basic audio connection and
recording practices:
3.6.1 Digital_Transfers The best quality recording is made
by transferring audio material entirely in the digital
domain. If the source of your recording has a serial
digital output, use that connection to the workstation's
serial digital audio input port to get noise-and-artifact-
free audio data as your recorded sound.
For example, if you are using the output of one IRIS audio
processor as the input to another, using a serial digital
audio transfers the audio information exactly, bit-for-bit,
with no loss of dynamic range, added noise or distortion.
- 14 -
If you use the analog line-out of the first (playing)
workstation as the line-in to the recording workstation, you
can still make very good recordings, but not as precise as
the digital transfer. Note that serial digital transfers
can be made for any sampling rate between 30kHz and 50kHz,
if you want to use other sampling rates, you must use the
analog interconnect.
3.6.2 Equipment_and_Connections The microphone input is
monaural. Either a stereo or mono plug works in it,
although only the left channel of a stereo mic plug is
sensed. The other four inputs use stereo plugs. Avoid
using mono plugs in the stereo connectors, or cables that
short some of the signals together. Some cables have
attenuation built into them, these should be avoided as well
for most applications.
3.6.3 Setting_Input_Levels The IRIS Audio Processor
provides easy ways to make great analog recordings without a
great deal of complicated equipment or specialized
knowledge. There are, however, a few guidelines to follow
which significantly improve the signal quality.
3.6.3.1 Minimizing_Input_Gain/Maximizing_Input_Signal The
analog input circuitry for microphone and line-in recording
has a software-controlled gain setting. The first step in
the process of making a good analog recording is to get a
``hot'' (loud, big) enough signal to the input connector
BEFORE it gets to the input gain circuit. The input
circuitry accommodates signal levels of up to 10Vpp (peak-
to-peak) at the line-in connector. This is in excess of the
levels produced at most modern consumer equipment line-out
connectors. If the source machine for your recording has an
output level control, turn it up as far as you can, but not
to exceed the 10Vpp level which would introduce clipping
distortion. Clipping distortion of this kind can be fairly
easily detected by careful listening.
Start with the input gain level setting at the ``factory
preset'' level which corresponds to ``8'' on the scale.
Adjust the input gain level setting so that loudness peaks
of the input material ALMOST light up the entire level
meter. A low setting of the input gain control with a
signal that registers nearly the entire span of the meter
gives the best results.
3.6.3.2 Minimizing_Output-to-Input_Crosstalk The headphone
output amplifiers in your workstation are very powerful
devices relative to the extremely sensitive circuits used
for analog-to-digital conversion in the analog recording
process. You can minimize distortion and crosstalk effects
- 15 -
between these systems by reducing the headphone volume level
as much as possible during critical analog recording. This
does not affect the line-out levels.
3.6.4 Avoiding_Ground_Loops The high-quality analog audio
instrumentation circuits in your workstation are very
sensitive to the implementation of an analog ground voltage
reference. You can achieve the best performance by letting
the workstation be the only machine in your system of audio
equipment that connects its system electrical ground to the
AC power ground. Most modern consumer equipment utilizes
only two-prong power plugs and remains ground-isolated from
the power lines, so this type of equipment does not
typically cause a problem.
The IRIS workstation is intended to be electrically
grounded. It is equipped with a three-wire grounding plug-a
plug that has a third (grounding) pin. Do not defeat the
purpose of the grounding plug!
Take care when connecting an IRIS workstation with other
professional-type audio equipment (such as another IRIS
workstation), which connects its chassis ground to the AC
power ground. In a professional environment, these problems
are typically addressed by signal isolation transformers and
other techniques.
Note that the serial digital audio ports on your IRIS
workstation are already isolated by transformers within the
machine, so that ground-reference problems do not typically
apply to serial digital audio connections.
3.6.5 Other_Cautions_and_Advice
o If your workstation is connected to a monitoring system
such as a power amplifier driving speakers or
headphones, turn the monitoring system volume down or
off before you power the workstation on or off.
o Do not wear headphones that are plugged into the
workstation during power on or off cycles.
o Do not record or monitor from an input connector that
has nothing plugged into it.
o Never connect a high-power output, such as the speaker
output of a power amplifier, to any of the audio
connectors on your workstation. Be sure to use the
line-out port of the workstation with the line-in port
of your monitoring equipment; do not use the headphone
output as a line-level source.
- 16 -
- 1 -
4. SoundScheme
soundscheme is an X-based server daemon which provides
high-level audio playback services for applications. Based
on the audio and audiofile libraries, soundscheme mixes and
plays sounds on demand as requested by multiple client
programs using a single audio port. Each client may provide
an X resource file which specifies a palette of sound names
and the mappings of these names to soundfiles. Named sounds
are activated within applications using function calls from
the server's client library. The soundscheme server is
started automatically at login from the Xsession file for
SGI's Indigo Magic desktop environment.
As of the initial release, only a small handful of sounds
have been assigned to system events (such as launching
applications, dropping file icons and searching for items in
the system). Also, there are no interface tools at this
time for user customization of sounds. However,
knowledgeable users may edit *.soundfile resource items in
the client resource files to assign different soundfiles to
defined events. These client resource files are located at
the following default path:
/usr/share/data/sounds/soundscheme/schemes
Soundfiles referenced within the resource files should be
placed at:
/usr/share/data/sounds/soundscheme/soundfiles
Soundfiles to be used by SoundScheme must be in AIFF-C
format and recorded at 44.1kHz sampling rate. The sound
server will ignore files that do not meet these
requirements.
At this time, the output level (volume) of SoundScheme
sounds may not be changed independently of the system-wide
audio level; altering the system audio level via apanel
(audio control panel) will affect the SoundScheme level as
well.
The SoundScheme service may be disabled by using the Indigo
Magic Desktop Control Panel provided for customization of
the user's environment. This panel contains a Desktop Sounds
checkbox used to set the enabled or disabled status for
SoundScheme. Changed settings will not take effect until
the next login.
To disable the SoundScheme server daemon from starting up at
all, use chkconfig to set 'soundscheme off'. In this case,
- 2 -
the change will not take effect until the system is
restarted.
- 1 -
5. CD_Audio_/_DAT_Audio
This section describes changes, bug fixes, known problems,
and known documentation errors relating to the audio
capabilities of the SCSI CD-ROM drive and SCSI DAT drive
available as option peripherals for IRIS workstations.
IRIX 6.0 subsystem eoe2.sw.cdrom includes the program
cdplayer(1), which provides a transport control panel
interface to the audio capabilities of the CD-ROM drive. In
order to listen to the audio output of the CD-ROM drive when
controlling it with cdplayer, you need to connect an
external amplifier or headphones directly to the drive.
IRIS Digital Media Tools 6.0 subsystem dmedia_tools.sw.cddat
includes the programs cdman(1) and datman(1).
cdman provides a CD transport control panel interface which
is similar to cdplayer's interface. The key difference is
that cdman transfers audio data across the SCSI bus and
plays it through the built-in audio subsystem on your IRIS
workstation. This allows you to listen to an audio CD
through speakers or headphones connected directly to your
computer. You can control the master audio output level
using apanel(1). The audio output from cdman will
automatically be mixed with the audio output from other
applications, such as the Indigo Magic desktop environment
(see the SoundScheme chapter of these release notes).
cdman includes a "record to disk file" menu which allows you
to record digital data directly from the CD-ROM to an AIFF-C
disk file.
datman provides a DAT transport control panel interface.
Like cdman, datman transfers audio data across the SCSI bus
to and from the built-in audio subsystem on your
workstation. You can listen to an audio DAT through speakers
or headphones connected to your computer.
datman includes "record to disk file" and "record from disk
file" menus which allow you to transfer digital audio data
between AIFF-C disk files and DAT audio tapes.
IRIS Digital Media Development Option (DMDEV 2.0) contains
programming interfaces to the audio playback capabilities of
the CD-ROM and DAT drives.
DMDEV 2.0 includes the source code for a program called
cdtodat. This is a command-line program which reads an audio
CD and digitally transfers the contents to an audio DAT. The
output DAT contains correct program numbers, index numbers,
- 2 -
program-time, absolute-time, copy-protect bits, and lead-in
and lead-out areas on the tape.
You must purchase DMDEV 2.0 as a seperate option product in
addtion to the standard IRIS Development Option (IDO 6.0).
5.1 Known_Problems_and_Workarounds
SGI is working with the manufacturer of the Python DAT drive
to produce a new revision of the DAT firmware which includes
fixes for each of the following problems.
o DAT audio firmware problem: data tape at BOT.
Assume a DDS (data) tape (ie, a tape previously
recorded in data mode) is inserted in the DAT drive.
The drive will rewind the tape to logical BOT, which on
a data tape is different than physical BOT. If you
attempt to write audio data to the drive, it begins
writing at logical BOT. When the tape is later re-
inserted into the drive, it is incorrectly recognized
as a data tape since DDS format data exists between
physical BOT and logical BOT.
Workaround: Check to see if the tape in the drive is
DDS media and at BOT. If so, in audio mode write a
frame of data to move the tape off logical BOT, then
issue a rewind. This will cause the tape to rewind
back to physical BOT.
o DAT audio firmware problem: read position bug.
The DAT drive firmware incorrectly returns its position
via the MTGETAUDIO ioctl to the IRIX tape driver. There
are two modes to this behavior.
o Immediately following a seek: Suppose you seek by
A-time (absolute time). Then MTGETAUDIO returns
the correct A-time, but incorrect P-time (program
time). Suppose you seek by P-time. Then MTGETAUDIO
returns the correct P-time, but incorrect A-time.
o Following a read or write: Both A-time and P-time
are wrong.
Workaround: Read a frame from the tape and decode the
subcode information. This of course moves the tape, so
you may have to seek back to the previous location or
otherwise account for the resulting 1 frame difference
between the frame read and the new tape position.
- 3 -
o DAT audio firmware problem: read delay bug.
If not used for 60 seconds, the DAT drive unloads the
tape from the heads. Once this happens, subsequent
reads will fail.
Workaround: Avoid 60 second delays between subsequent
operations.
o Write following read: A write following a read is not
frame-accurate. It may go onto the tape several frames
too early, overwriting some of the data just read.
Workaround: None (because of the following bug).
o DAT audio firmware problem: Write following seek.
A write following a seek is not frame-accurate. About
50% of the time, a write following a seek will go onto
the tape a few frames early.
Workaround: None.
- 1 -
6. MIDI
The MIDI execution environment consists of the kernel MIDI
driver, the MIDI library DSO libmidi.so, and the
startmidi(1) and stopmidi(1) commands.
The MIDI driver allows applications programs to read or send
time-stamped MIDI events via one or both of the serial ports
on an Indy, Indigo2, Indigo, or 4D/35 workstation. The MIDI
library provides an application programming interface to the
capabilities of the driver. Header files and MIDI
programming guide information are available as part of
Digital Media Development Option (DMDEV) 2.0. This option
must be purchased seperately in addition to IRIS Development
Option (IDO) 5.2.
In order to operate a serial port on your IRIS workstation
as a MIDI port, you must first connect it to a standard
Apple Macintosh-compatible serial-to-MIDI interface. Many of
these interfaces offer additional useful features, such as
SMPTE time-code conversion.
Before you can run your MIDI application, you must first
start the MIDI daemon, which initializes either or both of
the Indigo's serial ports for MIDI use. The IRIX shell
command startmidi(1) starts the daemon. The syntax for
startmidi is as follows:
startmidi -d /dev/ttyNN [-d /dev/ttyNN]
where "ttyNN" can be either ttyd1 or ttyd2 (corresponding to
serial ports 1 and 2). The second device is optional. If one
device is specified, the corresponding serial port is
configured to send and receive channels 0-15 (on device 0).
If two devices are specified, the fist one listed on the
command-line is configured for channels 0-15 (on device 0)
and the second one is configured for channels 16-31 (on
device 1).
To halt the MIDI daemon, use the IRIX shell command
stopmidi. The serial ports used will be restored to their
previous configurations.
6.1 Known_Problems_and_Workarounds
o MIDI is not supported on Power Onyx or Power Challenge,
so the MIDI subystems are not included in IRIX 6.0.
o There is a known driver problem related to operating
MIDI ports through serial port 1 on an Indigo, Indigo2,
or Indy system. MIDI applications which open
- 2 -
connections on serial port 1 may cause kernel panics.
This problem will not show up immediately when the
application is invoked. It occurs sporadically.
Workaround: Connect external MIDI adaptors to serial
port 2 only.
- 1 -
7. Video_Library_Execution_Environment
The Silicon Graphicsr Video Library is a device independent
library for video devices on Silicon Graphics workstations
equipped with video hardware. VL EOE is the first release
of the execution environment and supports the built in video
in Indy systems, as well as Galileo Video on Indigo2 and
Indigo, and Indy Video on Indy. Future releases will
support additional video devices.
The execution environment for video includes the video
daemon, a control panel, videopanel, that can be launched
from the Icon Catalog, as well as videoin, an application
that displays video in a window on the screen. On hardware
options that support video output capabilities, the
environment also includes videoout, an application that
allows you to select a windowed area of the screen or the
whole screen to send to video output connectors. There are
also two command line applications, vidtomem and memtovid
that support frame in from and out to video. Documentation
of these tools is included in the Utilities Guide.
7.1 Configuration_Files
The video devices have certain configuration values. There
are factory defaults for each device stored in :
/usr/etc/video/videod.defaults.device, where device is ev1
for Galileo Video and Indy Video, and vino for Indy VINO
(Video In No Out). Using videopanel you can restore these,
as well as saving and restoring a local configuration in
/usr/etc/video/videod.defaults. The names of certain
controls changed from release 5.1. You may need to set and
resave any configurations saved prior to 5.2.
7.2 Known_Problems_and_Workarounds
o Video is not supported on Power Onyx or Power
Challenge, so the video subystems are not included in
IRIX 6.0.
o Not all application follow default input. When using
videopanel to set the default input, you may need to
quit and restart the application if it is already
running.
o There is no concept of a default device in the current
video environment. When you switch devices in the
video control panel, there is no event sent to the
application. It is up to the application to present a
way to switch devices. This is only an issue for
systems with multiple boards in them.
- 2 -
o For certain monitors and timings you may want to use
the setmon command. See the man page for details.
7.3 Changes_and_Additions
o There is a new command line interface to the vl called
vlcmd. See the man page for details.
7.4 Bug_Fixes
o If you invoked videoout with illegal arguments, the
arguments were ignored and videoout was invoked. Now,
you will get a usage message, and videoout is not
invoked.
o There was a black band on the left of some videoin
windows. The black band is gone.
o The user can use the genlock functionality and run the
vidtomem application at the same time. This was not
allowed in a previous release.
7.5 Indy_VINO_Problems_and_Workarounds
o When viewing video from an external source, if you fast
forward or rewind the source, the videoin application
can loose synchronization. Restart the application to
regain a clean video signal.
o If yo have an IndyCam and have not installed
vino.sw.eoe or if you do not have the IndyCam plugged
in when you boot your system, the hardware inventory
command hinv reports:
Vino video: unit 0, revision 0, Indycam not connected.
Be sure to plug the IndyCam in before you start up your
system. Once you install vino.sw.eoe. and reboot,
your system will report correctly:
Vino video: unit 0, revision 0, Indycam connected.
o If the input video stream is frozen (by using Freeze on
the videopanel) and the window is obscured and then
uncovered, the video frame is not redrawn correctly.
Unfreeze the video to have it redrawn.
7.6 Galileo_Video_and_Indy_Video_Problems_and_Workarounds
o If you resize the videoin application to it's minimum
size, 96 x 72, you may see garbage lines on the bottom
and the right edge of the image.
- 3 -
o When using vidtomem to capture a burst of consecutive
frames, you can only capture up to 4 at once. To
capture more frames call vidtomem repeatedly.
o There is one line of invalid data across the bottom of
the videoin window using PAL format.
o There may be one line of invalid data across the top
and side of the videoout image.
o Galileo Video on the Indigo platform will only work
with the R4000 CPU using XS, XS24, XS24Z, XZ, and Elan
level graphics.
7.7 Documentation_Errors
o There are no known errors in the documentation.