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
Volker Fischer 46f1442ec3 bug fix
2006-03-12 11:02:16 +00:00
linux first tests with protocol 2006-02-26 10:50:47 +00:00
src bug fix 2006-03-12 11:02:16 +00:00
windows preparations for allowing different network block sizes 2006-03-11 20:35:38 +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 release 0.9.4 2006-03-10 21:15:40 +00:00
configure.in new version number for development 2006-03-10 21:31:45 +00:00
COPYING initial version 2006-01-28 11:29:22 +00:00
INSTALL initial version 2006-01-28 11:29:22 +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 initial version 2006-01-28 11:29:22 +00:00
TODO initial version 2006-01-28 11:29:22 +00:00

/******************************************************************************\
 * Copyright (c) 2004-2006
 *
 * 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


OBJECTIVES:
The task is to build a client/server software to enable musicians to play together
over the internet. Target internet connection is DSL with 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).

To get sufficient results, a sample rate of 24 kHz (mono channel) was chosen. An
audio compression algorithm with very low delay is IMA-ADPCM (delay is just one
sample). This gives a raw compressed audio data rate of 96 kbps.

Target hardware setup at the client is stereo audio input signal with one channel
is the instrument and the other channel is a microphone signal. On the microphne
channel a reverberation effect can be applied (maybe at a later time other audio
effects are added).


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 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) and the timing standard deviation (should be
as low as approx. 0.5 ms).

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


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:

- 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