This appendix describes built-in licensable compression software from Aware, Inc. Developers are encouraged to integrate Aware's audio compression products to add value to their applications that incorporate audio processing. Doing so requires that you add Network License System™ (NetLS™) licensing support to your application, which is described in “Installing a NetLS Nodelocked License”.
Aware's compression software can be accessed through the following Silicon Graphics digital media development libraries:
Audio File Library (AF)
Compression Library (CL)
The AF and CL parameters to access Aware compression are provided in this appendix.
Aware offers audio compression software engines that enable users of Silicon Graphics workstations to reduce the storage size and transmission bandwidth required for audio data. These products are compatible with third-party applications that incorporate audio in the Silicon Graphics digital media computing environment. Scalable operation provides the ability to control processor loading for audio playback concurrently with other computational tasks.
Aware's software compression engines include:
Aware AudioPublisher™ MPEG and MultiRate audio codec
Provides advanced psychoacoustic processing for compression of CD-quality sound in authoring, publishing, and large audio database applications. Compatible with MPEG-audio standard.
Aware AudioProducer™ MultiRate audio codec
Provides a compression solution for studio and audio production applications requiring lossless and near-lossless coding and using low processor loading. Includes AudioProducer and AudioPlayback engines.
Aware AudioPlayback™ audio decoder
Provides a decoding solution for applications requiring playback-only of compressed audio in multi-tasking processing environments.
Aware markets its audio compression software to end users. Once an end user licenses and activates Aware's audio compression engines in his or her workstation, the engines are available as a system resource and can work with any application that calls Aware's compression engines.
Portions of this software are
© Copyright 1993, Aware, Inc.—All Rights Reserved.
The Aware Software is proprietary and confidential. You may interface to the Aware Software by using the Audio File (AF) Library and the Compression Library (CL) supplied on this software release. You or any other user may gain authorization to execute the functions of the Aware Software (which includes a keylock mechanism) only by purchasing a usage license from Aware, Inc. Unauthorized use of the Aware Software is expressly forbidden. To obtain a usage license from Aware, contact:
Aware, Inc.
One Memorial Drive
Cambridge, MA 02142
phone: (617) 577-1700
fax: (617) 577-1710
email: sales@aware.com
Ask for audio products.
This section describes the applications and features of Silicon Graphics digital media-compatible products from Aware.
The IRIS digital media libraries contain three software products that end users can license by contacting Aware (see “Introduction to Aware Audio Compression Software”) to obtain a license password:
Aware AudioPublisher
The Aware AudioPublisher provides advanced psychoacoustic processing for compression of high-quality audio (up to 48 kHz sampling rate) in studio, authoring, and archiving applications.
AudioPublisher supports the MPEG (Moving Pictures Experts Group) audio standard format. The encoding process invokes advanced psychoacoustic modeling to achieve high compression ratios.
Encoding bit-rates range from 32 Kbits/second to 448 Kbits per second (corresponding to compression ratios as high as 48:1). AudioPublisher also includes Aware's AudioProducer and AudioPlayback software.
Aware AudioProducer
The Aware AudioProducer provides a compression solution for audio production applications requiring lossless (perfectly invertible) and near-lossless coding at low computational complexity.
Lossless mode reduces storage requirements by 2:1 to 3:1. Near-lossless operation achieves even greater storage savings, while retaining a 90 dB signal-to-noise ratio. Real-time encoding of audio at 8, 11.025, 16, 22.05, and 44.1 kHz sampling rates is supported. Scalable encoding and decoding operation provides control of processor loading during playback. AudioProducer includes Aware's AudioPlayback software.
Aware AudioPlayback
The Aware AudioPlayback engine provides a decoding solution for applications requiring decoding of compressed audio in multi-tasking processing environments. The decoder runs in real time, at sampling rates of up to 48 kHz. Installation of the decoder enables real-time playback of compressed audio that was encoded with the Aware AudioPublisher or with the Aware AudioProducer. Scalable decoding operation provides the ability to control processor loading used for playback, and it enables special functions such as fast playback to let you speed-search through compressed audio libraries.
These audio productivity software products are compatible with Aware's audio compression engines in the Silicon Graphics digital media environment. Contact Aware for more information on these products.
The Aware AudioSuite™ provides these graphical user interface (GUI) software applications for the end user that work with Aware's licensable software audio compression engines on Silicon Graphics platforms:
Audition™ | provides compressed file playback and extraction |
Archiver™ | provides file-to-file compression batch processing |
Psycoder™ | provides optimal compression parameter selection |
The Aware Speed-of-Sound™ Library is a single CD-ROM that puts more than 1,000 digitally recorded sound effects at your fingertips. Cars, trains, planes, birds, bees, laughing, crying, water, and wind—all the effects you need to make your creative vision come alive. Each sound on this disk was professionally recorded at the 16-bit, 44.1 kHz CD-audio format. But unlike standard CDs that contain a maximum of 72 minutes of sound, the Aware Speed-of-Sound Library offers over seven hours of effects, along with the interactive BrowsFX™ librarian tool that makes finding and auditioning any sound a snap.
This section describes the data formats, defaults, and parameters for accessing the Aware audio compression software engines from the Audio File Library.
Audio input data can be accepted in any of these formats:
The simplest method of invoking Aware compression is to use this command to pick from one of four default settings:
AFinitcompression ( AFfilesetup setup, long track,
long compression_scheme)
|
The defaults for the Aware compression parameters are:
| AF_COMPRESSION_AWARE_DEFAULT_MPEG_I |
| |
| AF_COMPRESSION_AWARE_DEFAULT_MPEG_II |
| |
| AF_COMPRESSION_AWARE_DEFAULT_MULTIRATE | ||
| AF_COMPRESSION_AWARE_DEFAULT_LOSSLESS |
|
To access individual compression parameters, use the AF library call:
AFinitcompressionparams ( AFfilesetup setup, long track,
long scheme,AUpvlist pvbuffer, long buffersize)
|
The compression scheme should be passed as one of:
The parameters and values passed in the AUpvlist structure include:
The Aware audio compression engines are already installed in the Silicon Graphics Compression Library uniform interface to video and audio compression routines. You can incorporate these routines into your applications and set up license querying to enable end users who choose to do so to license the routines. This section describes how to use the Compression Library interface to the Aware engines.
Aware currently provides two distinct compression schemes under the CL:
| CL_AWARE_MPEG_AUDIO |
| |
| CL_AWARE_MULTIRATE |
|
Both scheme identifiers are defined in cl.h, as are all the identifiers in this section with the prefix CL_. Identifiers prefixed AWCMP_ are defined in awareAudio.h.
The CL is controlled by a wide range of parameters. Some parameters have multiple uses—others are appropriate only in certain circumstances. This list explains the use of all the parameters of relevance to the Aware schemes:
| CL_ORIGINAL_FORMAT |
| |||
| CL_COMPONENTS |
| |||
| CL_BITS_PER_COMPONENT |
| |||
| CL_FRAME_RATE |
| |||
| CL_SPEED | during decompression, this parameter controls the computational complexity by controlling several factors: sample rate decimation, combining of stereo channels, filter shape (CL_AWARE_MPEG only), and lossy decode (CL_AWARE_MULTIRATE only). Acceptable values range from 1.0 to 100.0. CL_SPEED has no effect during compression.
| |||
| CL_CHANNEL_POLICY |
| |||
| CL_BITRATE_POLICY |
| |||
| CL_NOISE_MARGIN |
| |||
| CL_LAYER | (MPEG only) selects the MPEG layer. Default is AWCMP_MPEG_LAYER_II for layer II, other legal value is AWCMP_MPEG_LAYER_I for layer I. | |||
| CL_BITRATE_MODE |
| |||
| CL_BITRATE_TARGET |
| |||
| CL_COMPRESSED_BUFFER_SIZE |
|
The following parameters are read-only:
| CL_BLOCK_SIZE |
| |
| CL_COMPRESSION_RATIO |
| |
| CL_EXACT_COMPRESSION_RATIO |
| |
| CL_FRAME_TYPE |
|
You'll get the best compression results if you keep these hints in mind:
Always compress blocks of CL_BLOCKSIZE sample frames.
The first block that comes out of an instance of a compression scheme has extra configuration information attached in front of it. On decompression, this should be fetched first (you will have to query its maximum size), then fed to clReadHeader(). Thereafter, the CL_COMPRESSED_BUFFER_SIZE can be read and used to allocate a proper data buffer, if so desired.
No provision has been made for alignment of delay as a result of filter latency through the Compression Library (which can be a few hundred samples depending on scheme), or for zero-padding the final frame to ensure that the filter is flushed. These must be handled by the application, if required.
This section lists the specifications for the Aware audio compression software.
Compression Algorithms
ISO/MPEG Layer I and II low bitrate psychoacoustic compression
Aware MultiRate I high resolution audio compression
Library Support
Silicon Graphics Audio File Library (AF)
Silicon Graphics Compression Library (CL)
Encoder Input
| Format: | 16-bit linear audio samples, mono or stereo | |
| Sample Rates: |
|
Decoder Output
| Format: | 16 bit linear audio samples, mono or stereo | |
| Sample Rates: | 48, 44.1, 32, 24, 22.05, 16, 11.025 (MPEG, MultiRate Decoders) | |
| Compression Ratios: |
| |
| 2:1 to 3:1 | typical MultiRate lossless (perfectly invertible) mode | |
| 2.5:1 to 4:1 | typical MultiRate near-lossless (90+ dB signal to noise) mode | |
| 2.2:1 to 48:1 | selectable, MPEG Layer I and II | |
| Bitrates (Kbits/sec): |
| MPEG Layer I | 32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352, 384, 416, 448 | |
| MPEG Layer II | 32, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 384 |
Channel Processing
MPEG Layer I and II | mono, stereo, joint stereo, dual channel |
MultiRate | mono, stereo |
Scalable Processing
Controlled reduction of CPU usage by parametric control of frequency response, signal to noise ratio, and mono decoding of stereo.
Table B-1 lists the compression algorithms that are built in to each Aware software compression engine product.
Table B-1. Built-in Algorithms for Aware Audio Software Compression Engines
Product | Compression Algorithms Installed |
|---|---|
AudioPublisher | ISO/MPEG Layer I and II Encoder |
| Aware MultiRate I Encoder |
| ISO/MPEG Layer I and II Decoder |
| Aware MultiRate Decoder |
AudioProducer | Aware MultiRate I Encoder |
| ISO/MPEG Layer I and II Decoder |
| Aware MultiRate Decoder |
AudioPlayback | ISO/MPEG Layer I and II Decoder |
| Aware MultiRate Decoder |
A product that is licensed with NetLS can use either a nodelocked license or a concurrent access license. On the Silicon Graphics Vendor and License Information sheet, in the licensetype field, it lists either “Concurrent Access” or “NodeLocked” specifying the type of license you have been issued.
This section documents nodelocked licenses. With a nodelocked license, the product can be run only on the machine that has the nodelocked license installed. To enable a nodelocked license, the “vendor ID” and “product password” from the Silicon Graphics Vendor and License Information sheet are entered into the file /usr/netls/nodelock. After that, a product should have permission to run on the machine with the nodelock file.
To install a nodelocked license:
Verify that the product you want to license is already installed, by entering:
% /usr/sbin/versions |
For IRIX release 5.0 or earlier, netls_eoe and nck subsystems do not need to be installed. For IRIX release 5.0.1 or later, it is recommended that netls_eoe be installed, in order to create the link from /usr/netls/nodelock to /var/netls/nodelock. This link is needed by some NetLS licensed products that are not Silicon Graphics products.
The llb, glb, and netls flags, which you can set with the /etc/chkconfig command, do not affect whether a nodelocked license will work, but it is a good idea to set these flags correctly anyway. If this machine is not being used as a NetLS or glb database server, chkconfig these flags off. To change the flags, enter this sequence of commands:
# su # /etc/chkconfig glb off # /etc/chkconfig llb off # /etc/chkconfig netls off |
Edit the nodelock file. For IRIX release 5.0 or earlier, the nodelock file is /usr/netls/nodelock. For IRIX release 5.0.1 or later, the nodelock file is /var/netls/nodelock. A license in the nodelock file takes up one line and looks something like this:
549db468491e.02.c0.1a.3d.52.00.00.00 4cb3cwxxy29awcv9998xa |
where the first string is a vendor ID and the second string is the product password. Comment lines are ignored. A comment line is a line whose first character is a “#”.
If a temporary nodelocked license is already installed for the product for which you are adding a longer term license, comment out that temporary license line by putting a “#” in front of the line. If no other products are nodelocked and other licenses exist in this file, comment all of the licenses out by putting a “#”character in front of them.
Continue editing the nodelock file to add the vendor ID and the product password for the product. Put them on the same line in the nodelock file with the vendor ID first, followed by a space, then the product password.
It is strongly recommended to add a comment line before the license that describes what product the license is for and when it expires.
See the online NetLS Administration Guide for more information and troubleshooting guidelines.