[2825] in comp.os.os2.announce archive

home help back first fref pref prev next nref lref last post

BETA: AudioRiver MM system

daemon@ATHENA.MIT.EDU (Norbert Heller)
Wed Apr 23 16:50:21 1997

To: os2ann.DISCUSS@bloom-picayune.MIT.EDU
Date: Wed, 23 Apr 1997 12:46:45 GMT
From: NorbertHeller@swol.de (Norbert Heller)
Reply-To: NorbertHeller@swol.de (Norbert Heller)

Reply-to:     NorbertHeller@swol.de (Norbert Heller)
[Followups directed to comp.os.os2.multimedia]
---------------------------------------------------------------------
                 AUDIORIVER MM
                version 2 BETA 1
                kernel release 2.1

by
- Filippo Sartori : sartori@pdigi1.igi.pd.cnr.it
- Norbert Heller  : norbertheller@swol.de

The AudioRiver MM beta is available for download at

 http://www.bmtmicro.com/catalog/heller

as

http://194.231.6.35/util/share/audio_river_sw1.zip

or at

http://hobbes.nmsu.edu

The AudioRiver beta comprises sample applications from the
AudioStream library, which will be available on demand.

The applications are a text mode and a PM player, a text mode and a
PM mixer.

Developers Versions for Freeware / Shareware /Commercial Developers are already
available, so that you can use the sound and mixer, imput & output libraries in
your own files.

(Add Sound to your Application with only 20 lines of code !!)

The AudioStream library is the core of the implementation of all these tools.
The library is a collection of classes that implements a fully portable
multimedia subsystem. All the OS2 specific calls are relegated in specific
classes that will be adapted for each ported platform.

The main advantage of the library is the plug&play concept. All the higher
level objects use the feature of the inner kernel to allow a glueless link. So
you can design a player application by simply creating a reading object and a
music-output object and linking them together just like this:

music >> player;

But the plug&play goes even further:

music >> player;
player >> monitor;

This syntax means you pipe the output through two objects. There is virtually
no limit to the amount of chaining you can do. In the upcoming v2.5 of the
kernel the syntax is also expanded to allow multiple inputs and outputs:

player(3) >> monitor[0] means that the output #3 of the player is connected to
the input 0 of the monitor.

These links are highly efficient! The consume less than 1% of the processing
power in a normal application. These links are interprocessor capable: if you
have a multiprocessor system you can link objects that runs in a different CPU.
(they are obviously multitask enabled). This capability is the base for the
RTMMM mixer that is shipped with the distribution. The mixer is an object that
resides in a separate task. When you play to it you establish a link to the
RTMMMD demon task.

In version 2.5 these links have been enhanced to allow connection and
disconnection of object when they are playing! So you can start with a reader
connected to a player, you listen to the music and suddenly decide to see the
spectral output. You simply start the FFT monitor and plug it to the player.
Now you are fed up of the stupid bar graphs and you simply unplug it. All this
while listening to the same music. This technology is now demoed in the RTMMMD
mixer demon. It in facts allows multiple inputs to play together on the same
DART and allows an input to be attached and removed any time without hiccups in
the overall music result.

An other key feature of the system, which will enhanced in v 3.0 of the
library, is the AudioPacket elaboration. Each object is in fact enabled to
accept any sort of input (stereo/mono/any frequency/16/8 bits) to produce your
desired kind of output. This feature is visible in the Playlist GroupAudiStream
object: It is a container class which inherited the interface of the reader
classes. So you can play the container which will mimic a multi track music
file (just like a CD). The tracks can have any frequency, bitness, number of
channels, and therefore the stream produce will vary during the time, but
nevertheless the player will play it at your desired frequency. No special
coding is required!

Comparison on the MPEG Player's features

                    AudioRiver      MPEG123     Maplay96    Maplay95
====================================================================
CPU Usage MP3       43%             42%         45%         49%
128 kbps Stereo
P-180/Warp4/64MB
(with ODESK 1.5)

Driver Type         DART/Rtmmm      MMPM/2      MMPM/2      MMPM/2

RTMMM Mixer         YES             NO          NO          NO
Support

APP Type            VIO + PM        VIO         VIO         VIO

Seeking on          YES             NO          NO          NO
MPEG files

Pausing on          YES             NO          NO          NO
MPEG files

Developer           YES             NO          NO          NO
API

Expandable to       YES             NO          NO          NO
other Filetypes

Other Filetype      MOD Files       --          --          --
Support             CD Tracks
                    WAV Files
                    RAW Files
                    MIDI Files
                    (any other
                    future Input
                    Stream also)

OUTPUT              DART            MMPM2       MMPM2       MMPM2
Support             RTMMM           File        File        File
                    WAV Files
                    MPEG Encoding
                    (any other
                    future Output
                    Stream also)

Realtime            YES             YES         NO          NO
Downsampling

Realtime Mixing     YES             NO          NO          NO
to other APPS

Simultaneous        YES             NO          NO          NO
Write to File &
Playback

Playlist Support    YES             NO          YES         YES
                    (1 in VIO   )               (1)         (1)
                    (5 in PM-APP)

Volume Control      YES             NO          NO          NO
Support

//  NorbertHeller@swol.de
//
//  home : http://www.bmtmicro.com/catalog/heller
//  home of albatros CD & Media player - infoPM - PMcd2Wav 
=====================================================================
| c.o.o.announce submissions: POST [or email comp-os-os2-announce@uunet.uu.net]
| Correspondence to the COOA Moderator: mailto:lfirrantello@bix.com .
| Please see: http://www.bix.com/pub/os2ann/pindex.htm for posting guidelines


home help back first fref pref prev next nref lref last post