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 5.2 System Software Requirements IRIX 5.2 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.midi MIDI execution environment. dmedia_eoe.man.midi Manual pages for MIDI execution environment. dmedia_eoe.sw.video Video Library execution environment. Driver modules for video devices supported by the IRIS Video Library must be installed separately. dmedia_eoe.man.video Manual pages for Video Library execution environment. 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. - 2 - 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 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.midi (default) 225 dmedia_eoe.man.midi (default) 3 dmedia_eoe.sw.video (default) 2377 dmedia_eoe.man.video (default) 29 dmedia_eoe.sw.common (default) 120 dmedia_eoe.man.relnotes (default) 64 dmedia_eoe.books.MediaCtls_UG (default) 725 - 3 - 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.midi Miniroot dmedia_eoe.man.midi IRIX dmedia_eoe.sw.video IRIX dmedia_eoe.man.video IRIX dmedia_eoe.sw.common Miniroot dmedia_eoe.man.relnotes IRIX 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 5.2 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 5.2 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 5.2). 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- o
- o
- - 2 - 6.2 Changes_and_Additions o <
> o < > o < > 6.3 Bug_Fixes o < > o < > o < > - 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 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. o For certain monitors and timings you may want to use the setmon command. See the man page for details. - 2 - 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. 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. - 3 - 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.