Background Music Player Copyright (c) 1997-1998 Tycho Softworks.
$Id: README 1.2 Wed, 07 Oct 1998 13:35:40 -0400 dyfet $

BGM was created as a result of our use of Linux as a telephony adjunct
platform for PBX systems.  For a variety of PBX's, we have attached Linux
machines acting as network management agents, performing alarm monitoring,
and even processing call records and traffic measurement.  It seemed
logical then to add a sound card and use the same server as a 'music on
hold' or bgm (background music) audio source.

The purpose of BGM is to act as a continual audio source, whether by
playing preset midi sound files, playing an audio cd when inserted in the
server, or by managing a real-track/reveal radio card.  This initial
release only supports playback of midi files.

Another feature deemed important was the ability to 'mute' audio to allow
announcements to be played over the phone system.  In particular, we have
started expairimenting with performing automated 'TTS' paging through
rsynth, and so a mute feature that suppresses the current bgm source but
not the /dev/audio output was created.  Our soon to be released pagerd
(GPL paging system) will support bgm in this manner.

The use of 'split' audio came about because I happen to have a Panasonic
DBS phone system at this location.  The DBS supports two separate audio
sources; one for BGM (whole house audio), and a second for MOH (music on
hold).  The BGM source I wished to use interrupted for TTS generated pager
'announcements' (such as 'xxx is calling on line y') without interruption
of music on hold, and without having to use a second sound card in the
machine.  

Currently, split audio is implemented by separating the left and
right channels to different feeds in the PBX, and then controlling
selective channel volume.  "Split" audio might also be achieved later by
feeding the CD audio and/or radio card directly into the PBX MOH and
thereby bypassing the mixer for MOH entirely, but these audio sources are
not yet supported by BGM...

This should be the last 0.1.x release of BGM.  A number of new features
to support TTS announcement overlays directly within BGM are now planned.
The 0.2.x releases will introduce the /dev/bgm_ctrl interface and optional
TTS support for overlaying announcements over the BGM source either with 
rsynth or an SPO256 synth.  These will actually build into multiple binary
packages for installation based on the hardware actually supported.

BGM is one of a number of GPL licensed telephony projects that we hope to
release over the fall for use with free systems such as FreeBSD and Linux.
Please use the web page we are setting up at" http://www.tycho.com/bgm"
for any comments or feedback.  We are also implementing a jitterbug for
bgm bug tracking which can also be reached via email as "bugs-bgm@tycho.com".
