2006-01-28 12:29:22 +01:00
|
|
|
/******************************************************************************\
|
2009-02-22 12:07:18 +01:00
|
|
|
* Copyright (c) 2004-2009
|
2006-01-28 12:29:22 +01:00
|
|
|
*
|
|
|
|
* 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
|
2008-07-17 21:07:12 +02:00
|
|
|
* Foundation; either version 2 of the License, or (at your option) any later
|
2006-01-28 12:29:22 +01:00
|
|
|
* version.
|
|
|
|
*
|
2008-07-17 21:07:12 +02:00
|
|
|
* This program is distributed in the hope that it will be useful, but WITHOUT
|
2006-01-28 12:29:22 +01:00
|
|
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
2008-07-17 21:07:12 +02:00
|
|
|
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
2006-01-28 12:29:22 +01:00
|
|
|
* details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU General Public License along with
|
2008-07-17 21:07:12 +02:00
|
|
|
* this program; if not, write to the Free Software Foundation, Inc.,
|
2006-01-28 12:29:22 +01:00
|
|
|
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
|
|
*
|
|
|
|
\******************************************************************************/
|
|
|
|
|
|
|
|
llcon
|
|
|
|
-----
|
|
|
|
|
2008-07-17 21:07:12 +02:00
|
|
|
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:
|
|
|
|
|
2008-07-20 10:55:49 +02:00
|
|
|
- Qt cross-platform application framework: http://trolltech.com
|
|
|
|
|
2008-07-17 21:07:12 +02:00
|
|
|
- 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
|
2008-07-20 10:55:49 +02:00
|
|
|
(DRM) receiver" written by one of the llcon authors, Volker Fischer:
|
|
|
|
http://drm.sf.net
|