76 lines
3.2 KiB
Text
76 lines
3.2 KiB
Text
|
/******************************************************************************\
|
||
|
* 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
|