The Jamulus software enables musicians to perform real-time jam sessions over the internet. There is a Jamulus server which collects the audio data from each Jamulus client, mixes the audio data and sends the mix back to each client.
Find a file
2009-02-10 18:15:27 +00:00
linux bug fix 2008-12-28 22:37:16 +00:00
src use high precision timer for server statistics, too 2009-02-10 18:15:27 +00:00
windows fixes for the client audio standard deviation measurement, added code for asio interface for using power of two size blocks (not enabled right now) 2009-02-08 22:44:18 +00:00
AUTHORS initial version 2006-01-28 11:29:22 +00:00
bootstrap initial version 2006-01-28 11:29:22 +00:00
ChangeLog change log update 2008-11-02 20:40:38 +00:00
configure.in new cvs version number 2008-11-02 18:48:27 +00:00
COPYING initial version 2006-01-28 11:29:22 +00:00
INSTALL finished implementation of different audio compression types: IMA-ADPCM (already available), MS-ADPCM (new), None (new) 2008-08-10 08:14:30 +00:00
Makefile.am initial version 2006-01-28 11:29:22 +00:00
NEWS initial version 2006-01-28 11:29:22 +00:00
README added QT library in about box 2008-07-20 08:55:49 +00:00
TODO initial version 2006-01-28 11:29:22 +00:00

/******************************************************************************\
 * Copyright (c) 2004-2008
 *
 * Author(s):
 *	Volker Fischer
 *
 ******************************************************************************
 *
 * This program is free software; you can redistribute it and/or modify it under
 * the terms of the GNU General Public License as published by the Free Software
 * Foundation; either version 2 of the License, or (at your option) any later
 * version.
 *
 * This program 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. See the GNU General Public License for more
 * details.
 *
 * You should have received a copy of the GNU General Public License along with
 * this program; if not, write to the Free Software Foundation, Inc.,
 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 *
\******************************************************************************/

llcon
-----

Low-Latency Connection / client and server (http://llcon.sourceforge.net)


INTRODUCTION:
The llcon software enables musicians to play together over the internet. The
way it works is that there must be one server which collects the audio data
from each client, mixes all together and sends the mix back to each client.
The minimum internet connection speed at each client must be 256 kbps upstream
and 1 Mbit downstream. The server software must be located at a server with a
very fast internet connection (at least 1 Mbps for up- and downstream) and a
very low ping time. To get satisfactory results, the ping time from the client
computer to the server should not exceed 30 ms average and the network jitter
should be as low as 2-5 ms (To get a low ping time on DSL connections, an
extra option "DSL fast path" should be enabled by your internet provider).

Technical details
To get sufficient results, a sample rate of 24 kHz (mono channel) was chosen.
The audio compression algorithm IMA-ADPCM with very low delay is used which
results in a raw compressed audio data rate of 96 kbps. First tests showed
that an upstream of 128 kbps is too slow for using the llcon software. At
least 256 kbps upstream bandwidth is required.

The llcon software package includes both, the server and the client
functionality which can be selected by using command line arguments.


MANUAL:
For starting server type ./llcon -s

Start the llcon server on a remote computer with fast internet access. Start the
llcon client on your local computer and connect your sound card with your
instrument/microphone and headphone and type in the IP address of the server.
There are levelers for adjusting the sound card (in/out) and network buffer sizes.
It seems that 2 blocks for network buffer is an optimal choice. For the sound card
buffer, try to make them as short as possible by watching the LEDs below the
levelers (they should stay green).

For test purpose it is possible to run server and client on the same computer. For
this setup first start the server and then the client. Type in 127.0.0.1 for the
IP address in the client software.


EXTERNAL CODE:
This code contains open source code from different sources. The developer(s) want
to thank the developer of this code for making their efforts available under open
source:

- Qt cross-platform application framework: http://trolltech.com

- audio reverberation code: by Perry R. Cook and Gary P. Scavone, 1995 - 2004
	(taken from "The Synthesis ToolKit in C++ (STK)")

- IMA-ADPCM: by Erik de Castro Lopo

- some parts are taken from the project "Dream: a PC-based Digital Radio Mondiale
	(DRM) receiver" written by one of the llcon authors, Volker Fischer:
	http://drm.sf.net