some fixes/updates
This commit is contained in:
parent
16baee490a
commit
572dcd8728
11 changed files with 44 additions and 43 deletions
10
ChangeLog
10
ChangeLog
|
@ -1,3 +1,12 @@
|
|||
3.0.0
|
||||
|
||||
- introduced new audio codec "CELT", not compatible to old versions
|
||||
|
||||
- IMA-ADPCM, MS-ADPCM removed
|
||||
|
||||
- since CELT works on 48 kHz sample rate, resampling was removed
|
||||
|
||||
|
||||
2.3.0
|
||||
|
||||
- new system sample rate of 33 kHz to improve audio quality, not compatible
|
||||
|
@ -7,6 +16,7 @@
|
|||
|
||||
- added command line argument for connecting a server at software start-up
|
||||
|
||||
|
||||
2.2.2
|
||||
|
||||
- "Mute" and "Solo" check boxes for each connected client fader
|
||||
|
|
28
README
28
README
|
@ -40,28 +40,11 @@ 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.
|
||||
|
@ -74,11 +57,14 @@ source:
|
|||
|
||||
- Qt cross-platform application framework: http://trolltech.com
|
||||
|
||||
- audio reverberation code: by Perry R. Cook and Gary P. Scavone, 1995 - 2004
|
||||
- The CELT ultra-low delay audio codec: http://www.celt-codec.org
|
||||
|
||||
- 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
|
||||
- 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
|
||||
|
||||
- Some pixmaps are from Clker.com - vector clip art online,
|
||||
royalty free & public domain
|
||||
|
|
|
@ -2,7 +2,7 @@ dnl Process this file with autoconf to produce a configure script.
|
|||
AC_PREREQ(2.50)
|
||||
AC_INIT(src/main.cpp)
|
||||
|
||||
AM_INIT_AUTOMAKE(llcon,2.3.1cvs)
|
||||
AM_INIT_AUTOMAKE(llcon,3.0.0cvs)
|
||||
|
||||
|
||||
AM_CONFIG_HEADER(config.h)
|
||||
|
@ -15,7 +15,6 @@ AC_PROG_CPP
|
|||
AC_PROG_INSTALL
|
||||
AC_SUBST(LIBTOOL_DEPS)
|
||||
AC_PROG_MAKE_SET
|
||||
AC_CHECK_PROGS(RPMBUILD, rpmbuild, rpm)
|
||||
|
||||
dnl Configuration Arguments
|
||||
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
#SUBDIRS = ../libs/celt/libcelt
|
||||
|
||||
bin_PROGRAMS = llcon
|
||||
|
||||
llcon_SOURCES = ../src/buffer.cpp \
|
||||
|
|
|
@ -829,6 +829,17 @@ void CChannel::OnNetTranspPropsReceived ( CNetworkTransportProps NetworkTranspor
|
|||
|
||||
CycleTimeVariance.Reset();
|
||||
}
|
||||
|
||||
// in case of a server channel, use the same network buffer
|
||||
// size factor as the connected client
|
||||
if ( bIsServer )
|
||||
{
|
||||
|
||||
// TODO
|
||||
// if size is not equal
|
||||
// change size
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void CChannel::OnReqNetTranspProps()
|
||||
|
|
|
@ -302,6 +302,10 @@ void CClient::Init ( const int iPrefMonoBlockSizeSamIndexAtSndCrdSamRate )
|
|||
vecbyNetwData.Init ( iCeltNumCodedBytes );
|
||||
|
||||
// the channel works on the audio coded block size
|
||||
|
||||
// TEST right now we only support 128 samples, later 256 and 512, too
|
||||
Channel.SetNetwBufSizeFactOut ( 1 );
|
||||
|
||||
// Channel.SetNetwBufSizeOut ( iCeltNumCodedBytes );
|
||||
}
|
||||
|
||||
|
|
|
@ -116,12 +116,8 @@ void CLlconServerDlg::OnTimer()
|
|||
vecpListViewItems[i]->setText ( 6, "None" );
|
||||
break;
|
||||
|
||||
case CT_IMAADPCM:
|
||||
vecpListViewItems[i]->setText ( 6, "IMA-ADPCM" );
|
||||
break;
|
||||
|
||||
case CT_MSADPCM:
|
||||
vecpListViewItems[i]->setText ( 6, "MS-ADPCM" );
|
||||
case CT_CELT:
|
||||
vecpListViewItems[i]->setText ( 6, "CELT" );
|
||||
break;
|
||||
|
||||
default:
|
||||
|
|
|
@ -133,9 +133,7 @@ MESSAGES
|
|||
- "sam rate": sample rate of the audio stream
|
||||
- "audiocod type": audio coding type, the following types are supported:
|
||||
- 0: none, no audio coding applied
|
||||
- 1: IMA-ADPCM
|
||||
- 2: MS-ADPCM
|
||||
- 3: CELT
|
||||
- 1: CELT
|
||||
- "version": version of the audio coder, if not used this value shall be set to 0
|
||||
- "audiocod arg": argument for the audio coder, if not used this value shall be set to 0
|
||||
|
||||
|
@ -902,8 +900,6 @@ bool CProtocol::EvaluateNetwTranspPropsMes ( const CVector<uint8_t>& vecData )
|
|||
static_cast<int> ( GetValFromStream ( vecData, iPos, 2 ) );
|
||||
|
||||
if ( ( iRecCodingType != CT_NONE ) &&
|
||||
( iRecCodingType != CT_IMAADPCM ) &&
|
||||
( iRecCodingType != CT_MSADPCM ) &&
|
||||
( iRecCodingType != CT_CELT ) )
|
||||
{
|
||||
return true;
|
||||
|
|
BIN
src/res/gig.png
BIN
src/res/gig.png
Binary file not shown.
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 103 KiB |
|
@ -330,11 +330,10 @@ CAboutDlg::CAboutDlg ( QWidget* parent ) : QDialog ( parent )
|
|||
tr("llcon uses the following libraries, resources or code snippets:") +
|
||||
"</b></p>"
|
||||
"<ul>"
|
||||
"<li>Qt cross-platform application framework: <i>http://trolltech.com</li>"
|
||||
"<li>The CELT ultra-low delay audio codec: <i>http://www.celt-codec.org</li>"
|
||||
"<li>Qt cross-platform application framework: <i>http://trolltech.com</i></li>"
|
||||
"<li>The CELT ultra-low delay audio codec: <i>http://www.celt-codec.org</i></li>"
|
||||
"<li>Audio reverberation code: by Perry R. Cook and Gary P. Scavone, "
|
||||
"1995 - 2004 (taken from <i>The Synthesis ToolKit in C++ (STK)</i>)</li>"
|
||||
"<li>ADPCM coders by Erik de Castro Lopo</li>"
|
||||
"<li>Parts from Dream DRM Receiver by Volker Fischer and Alexander "
|
||||
"Kurpiers: <i>http://drm.sf.net</i></li>"
|
||||
"<li>Some pixmaps are from <i>Clker.com - vector clip art online, "
|
||||
|
|
|
@ -416,9 +416,7 @@ public:
|
|||
enum EAudComprType
|
||||
{
|
||||
CT_NONE = 0,
|
||||
CT_IMAADPCM = 1,
|
||||
CT_MSADPCM = 2,
|
||||
CT_CELT = 3
|
||||
CT_CELT = 1
|
||||
};
|
||||
|
||||
class CNetworkTransportProps
|
||||
|
|
Loading…
Reference in a new issue