 

      dyne.org autoproduzioni & the FreakNet Medialab

                       proudly present:
           __  __       ____  _____    ___   ___   ____
          |  \/  |_   _/ ___|| ____|  / _ \ / _ \ |___ \
          | |\/| | | | \___ \|  _|   | | | | (_) |  __) |
          | |  | | |_| |___) | |___  | |_| |\__, | / __/
          |_|  |_|\__,_|____/|_____|  \___(_) /_(_)_____|
                                          codename SHAVE

 this is RASTA SOFTWARE, Jah Rastafari Livity bless your freedom!

             :: the Multiple Streaming Engine ::
                    http://muse.dyne.org

This application is being developed in the hope to provide the Free
Software community a user friendly tool for network audio streaming,
making life easier for indypendent free speech radios wanting to
stream via http on icecast servers.

MuSE is an application for mixing, encoding, and network streaming of
sound: it can transmit an audio signal by mixing together sound taken
from files or also network, recursively remixing more MuSE streams.

MuSE can simultaneously mix up to 6 encoded audio bitstreams (from
files or network, ogg, mp3, wav and other common sound formats), plus
an input signal from microphone.

MuSE offers an intuitive interface to be operated in realtime, while
it can also run slick from the Unix commandline.



***** Supported servers:

You can use MuSE to stream both MP3 or Ogg/Vorbis sound format to a
broadcast server, which means that for doing an online radio you still
need to setup yours, or find one that let you stream.

Such servers can be seen like antennas which amplify your signal and
redistribute it to listeners. there are free software implementations
of such technology! the ones supported by MuSE are:

- Icecast2 - http://icecast.org - can stream OGG & MP3
- Litestream - http://litestream.org - can stream MP3
- Darwin - http://developer.apple.com/darwin/projects/streaming
- Shoutcast - http://shoutcast.com - non free, runs on win32
- various other broadcast servers streaming audio over http...

***** Supported players:

MuSE streams via http, it doesn't uses multicast technology, nor
RTP/RTSP, to have the widest possible range of compatible players.
You can listen audio produced by MuSE from almost every personal
computer and operating system, using one or more of the following:

- xmms - http://www.xmms.org - for GNU/Linux, *BSD, Sun, etc.
- mpg123 - http://www.mpg123.de - for various UNIX systems
- itunes - http://www.apple.com/itunes - on MacOSX
- zinf - http://www.zinf.org - on GNU/Linux and Win32
- winamp - http://www.winamp.com - on all Win platforms
- mplayer - http://www.mplayerhq.hu - on all platforms
- videolan - http://www.videolan.org - on all platforms
- handeld devices and usb players supporting Ogg and Mp3
- and... MuSE itself! ;)



***** Internals:

MuSE is written in C++ and is a multithreaded application. It reads
streams using the included libmpeg library (mp3 format) and it can
optionally link the OggVorbis library to read ogg files. For encoding
the sound into mp3 or ogg it can link either or both LAME and
OggVorbis as shared libraries. MuSE also features a user interface
using the GTK+ widget library and a console interface using ncurses.

Resampling of any input is done with bicubic interpolation to 44khz
stereo format, then channels get mixed together and encoded to the
desired quality by the selected codec.

Separate threads are running for each decoder, the mixer and the
encoders, while the flow is synced thru FIFO pipes which implement
mutex locking and avoid well race conditions.

All the functionalities of MuSE are quite well exposed thru a reusable
API, which in fact was the one used to build the GUIs on top.
Documentation for it is available on http://muse.dyne.org/codedoc 

If you are interested, you are very welcome to build new MuSE
interfaces, there are still a lot of unexplored possibilities and this
engine can be a realiable backend for radio automation interfaces and
more. Get in touch with developers! join the mailinglist on
http://lists.dyne.org/muse or peek into irc.freenode.net channel #dyne



***** Libraries:

- LAME (optional)
  Lame can be installed but is no more needed, in particular
  libmp3lame and the header lame.h must be properly installed.

- OGG VORBIS (optional)
  You can compile and install libogg and libvorbis on your machine
  before compiling MuSE; the configure script will recognize them and
  include support for decoding and mixing of .ogg files.

- GTK+ (optional) + libxml and glib
  if libgtk and all the related libraries are present, MuSE will
  compile the GTK+ graphic user interface for interactive use and
  additional fun.

- NCURSES (optional)
  if libncurses is present, MuSE will compile a text console
  interactive interface to be used into ASCII terminals.

- SNDFILE (optional)
  if libsndfile is present then you'll be able to play uncompressed
  sound files like wav, aiff, snd, voc, pvf, mat, au, sf etc.


***** Compile and install:

- you can get latest version of lame: (if you already have lame and
  libmp3lame jump to point 2, after checking that version is >3.89)
  with 'lame --version'
  or download it from www.mp3dev.org/mp3 and follow the simple
  instructions to get installed this wonderful GPL mp3 encoder.

- install libogg and libvorbis:
  http://www.xiph.org/ogg/vorbis/index.html

if you don't install any of the above, MuSE will be a simple player.

- compile: cd MuSE-x.x.x ; ./configure (or try ./configure --help to
  have listed some compile options) ; make ; make install

*** for Debian users is much simplier:
make a debian package and debian aided compilation from this source
with a simple command:
$ fakeroot debian/rules binary
this command will build debian packages for you, ready to install!

to KNOW MORE go to the website on http://muse.dyne.org


***** Report bugs

BUG REPORTING is REALLY APPRECIATED! BUT TAKE CARE TO DO IT WELL:
please ALWAYS REPORT the muse --version you are running and possibly
run the binary with gdb giving us the backtrace of the error.

if you understand the above, please go to http://bugs.dyne.org and
submit a BUG!!!





***** PLEASE SUPPORT US!

 go here to see how  >>>>>>>> http://dyne.org/donate.php <<<<<<<<

the following organizations gave help and support to developers:

PUBLIC VOICE Lab ........ [ http://www.pvl.at ]
SERVUS.AT ............... [ http://www.servus.at ]

This whole software was built by autonomous efforts and occasionally
supported by non-profit organizations, while the development currently
relies on the political beliefs of MuSE's authors, that there should
be such a tool and it should be freely available to people willing to
do online radio.

If you can afford to donate us some money let us know, we also need
new and old working hardware.

THANKS, a thousand flowers will blossom!





== DISCLAIMER

MuSE is copyleft (c) 2000-2006 by Denis "jaromil" Rojo

part of the redistributed code is copyright by the respective authors,
please refer to the AUTHORS file and to the supplied sourcecode for
further information and to COPYING for the full license.


This source code is free software; you can redistribute it and/or
modify it under the terms of the GNU Public License as published 
by the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.

This source code is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Please refer to the GNU Public License for more details.

You should have received a copy of the GNU Public License along with
this source code; if not, write to:
Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.


