Home :: Products :: Voice Communicator components 2.5.2008.01 Pro :: Readme

Last updated: January 2008

Table of contents


System requirements

  • Processor: Intel Pentium 100 MHz or higher (PIII 500 MHz is recommended)
  • Operating system: Microsoft Windows 95/98/Me; NT 4.0; 2000/XP
  • RAD: Borland Delphi 4.0, 5.0, 6.0, 7.0 or BDS 2005/2006 or Borland C++ Builder 5.0 or 6.0
  • Memory: minimum 32 MB of RAM (64 MB is recommended)
  • Disk usage: about 10 MB of hard disk space
  • Audio Hardware: most demos require sound card and (optional) microphone compatible with installed version of Microsoft Windows. Some may require full-duplex mode (simultaneous recording and playback) to be supported by hardware and audio drivers. Most microphones and sound cards that are currently being shipped meet this requirement.


Installation notes

Registration information

Enter your registration information correctly, exactly as it was supplied to you. Your name and serial number are NOT case-sensitive.

Installing a VCL components package

From the Delphi/BDS or C++ Builder IDE open the vc2.dpk (vc2cb.bpk for C++ Builder) package. Press "Install" button to compile and install the VCL components into your components palette.

In some cases Delphi IDE may not be able to perform this action correctly. Here is how you can install the package if IDE fails to do so:

  • start Delphi, close all projects;
  • open vc2.dpk package;
  • press Compile;
  • confirm changes to package (Delphi suggests to add required packages);
  • exit Delphi, confirming changes saving;
  • from the command prompt start a DCC32.EXE compiler to build vc2.dpk:
      > dcc32 /b vc2.dpk 
  • start Delphi, close all projects, and install VC2 package (vc2.bpl) from Components \ Install Packages... menu;
  • now you are ready to compile our demos or build own project with VC 2.5 Pro components.

Search path

As with any other third-party sources you may have to add the full path to VC components installation "\common\" folder to the Search Path in the Project Options dialog.


Product documentation

Product documentation is located in the "\dox\" folder of VC components installation.

Or you can browse the Online Version of documentation.


Voice Communicator components known issues

  • internal buffers and real time delays - all device classes (unaWaveInDevice, unaWaveOutDevice and unaMsAcmCodec) are performing audio stream processing only on blocks of data, or chunks. Chunk is the minimal amount of data which can be handled at one time. Furthermore, waveOut device is using double-buffering technique to avoid sound cuts and gaps. By default chunk size is set to be enough to contain 1/25 second of audio data. For example, if your application includes one input device, two codecs and one output device, you should expect the minimal delay of 1/25 + 2/25 + 2/25 = 1/5 sec.
  • multithreading - every device class spawns own thread to operate. Standard VCL classes and components included in Delphi/C++Builder are designed to be working in main process thread only. Therefore you should avoid calling standard VCL routines or methods of standard VCL components from the events assigned to VC components, such as onDataAvailable(), onDataDSP() and others.
  • CPU window popup - most likely this problem is caused by Voxware Codec. For some reason, when querying this codec for details (acmGetDriverDetails), it generates an int 3 exception, which causes Delphi IDE debugger to stop. When not running under debugger, this exception is silently ignored.

    To prevent this window to popup in IDE you can temporary disable this codec. Follow the steps below to do so (W2K):

    • Start - Control Panel - Sounds and Multimedia
    • Hardware tab - Audio Codecs - Properties
    • Properties tab - Voxware Compression Toolkit - Properties
    • select the option (*) Do not use this audio codec
    • Press OK to confirm changes.

    After that you should be able to debug your applications as normal. If you need this codec for your work, you can enable it back again after debugging.


History of changes

January 2008 (2.5.2008.01)

  • New components: DTMF Decoder and FullDuplex(AEC);
  • Vista related fixes;
  • Fixed occational packets drop;

April 2007 (2.5.2007.04)

  • new DSP Library units (unaDspDLib.pas, unaDspDLibPipes.pas, unaDspLibAutomation.pas) and classes bring native general purpose audio processing support into VC components: new silenceDetectionMode property; two new pipes TunavclDSPDLibEQ and TunavclDSPDLibMBSP; new demos vcDspDetectors and vcDspEQDemo; vcLoopback and voiceRecDemo demos now has additional functionality; more to come in next update;
  • new streamingMode property, IP components now supports "raw" streaming mode. New vcStreamingRaw demo;
  • IP Client component now can bind to specified interface and port (new bindToPort property), refer to updated vcTalkNow demo for example;
  • new onFormatChangeBefore and onFormatChangeAfter events;
  • new enableDataProcessing property;
  • support for BDS 2005/2006 added;
  • realTime property was removed from codec component;
  • native support for BASS version up to 2.3;
  • native support for latest version of Ogg/Vorbis encoder (rever to Ogg/Vorbis DLL section);
  • fixed multi-threading issues with fast multi-core CPUs;

November 2005

  • new ConfRoom sample is a multi-client audio conference;
  • new DAF sample shows how to manipulate audio buffers manually to achieve controllable delay in audio loopback;
  • new Frequency bands sample shows how to use new TunadspFFTControl component;
  • new Multicast sample shows how to use multicast UDP sockets to send and receive live audio streams;
  • new Tape Recorder sample shows how to create a digital analog of simple tape recorder;
  • the vcMp3Demo sample now can send and receive live MP3 streams over TCP/IP networks;
  • the TunavclWaveCodecDevice component now supports OpenH323 plugin mode, so it is possible to stream audio compressed with those plugins. Try selecting this mode in vcTalkNow demo and see how it works;
  • both TunavclIPOutStream (ipClient) and TunavclIPInStream (ipServer) components now have new bindTo property, so it is possible to bind them to non-default network interface;
  • new udpTimeout property was added to TunavclIPInStream (ipServer) component. When this property is set to 0 the ipServer will no disconnect UDP clients which do not stream any data to server;
  • a bug which prevents selecting the MuLaw and some other codecs was fixed;
  • fixed several bugs in non-visual classes from unaMsMixer.pas unit.

March 2004

  • Support for MpgLib (MP3 decoder) added;
  • now compatible with both BASS 1.8 and BASS 2.0;
  • improved format negotiation (faster activation of linked components);
  • new vcAudioTunnel demo, some other demos were also updated.

October 2003

  • new vcMultiConsumer demo, add more consumers to waveIn at run-time;
  • new pushBMP demo, send custom data to remote side using same connection;
  • Broadcast and TCP transmission bugs fixed;
  • ipServer component now can enable/disable specific client streams, refer to updated version of mediaGate demo;
  • improved waveIn/waveOut buffers processing;
  • now it is possible to select DSP TrueSpeech and some other codecs.

July 2003

  • MS G.723 codec is now supported;
  • C++ Builder version of Delphi demos added: mediaGate, vcBroadcast, vcIcyClient, vcMixerDemo, vcMp3Demo, vcTalkNow and vcVoiceRec;
  • server part of mediaGate demo is not using codecs anymore;
  • Ogg/Vorbis decoder bug fixed (thanks to Thomas Schoessow);
  • chunk size was reduced to 1/25 sec.

June 2003

  • new VCL componet - TunavclScriptor;
  • new vcScriptor demo;
  • new vcIcyClient demo;

April 2003

  • small memory leaks and multi-threading issues were fixed;
  • new mediaGate demo;
  • extended vcMixerDemo;
  • added new notification events and methods for RIFF component.

March 2003

  • added multi-client connections support for TunavclIPInStream component (refer to redesigned vcTalkNow demo for example);
  • new wavOut and redesigned vcLoopback demos
  • ;
  • new easy to reuse u_common_audioConfig.pas form, designed to allow custom audio configuration for end-users;
  • default chunk size was changed to 1/20 second (lower latency of audio processing).

February 2003

  • added support for BASS library;
  • new vcShannelSep, vcBASSDemo and vcVoiceChat demos;
  • TCP/IP code improved for better throughput and less CPU usage;
  • support for loading multiply instances of Blade and Lame encoder libraries;
  • added support for creation of non-PCM WAVe files;
  • added support for installable ACM drivers;
  • better real time performance in CPU high-load conditions;
  • added C++Builder demos: cbvcLoopback, cbvcVoiceChat and cbvcWavePlayer;
  • better support for components created in run time.

November 2002

  • wav2ogg and ogg2wav demos added. External Vorbis/Ogg encoder and decoder are now supported;
  • vcMp3Demo now can produce Vorbis/Ogg files.

October 2002

  • vcWavePlayer demo added; unaRiffStream now has additional properties: streamSize, streamPosition and streamIsDone;
  • vcMp3Demo and wav2mp3 demos added; new classes unaBladeMp3Enc and unaLameMp3Enc are useful when integrating VC components with Blade and Lame MP3 encoders;
  • communication protocol between TunavclIPOutStream and TunavclIPIntStream components has been cleared out, some locks which can happen before on server startup/shutdown should be removed;
  • VC components are now compatible with Delphi 7.

August 2002

  • Improved recording/playback startup sequence. Should completely remove gaps and clicks that usually appear right after playback activation;
  • New demo application - vcPulseGen - generate sine waves and check out how they are mixed on oscilloscope window.

July 2002

  • UDP Broadcast classes and demo application were added.
  • Improved internal locking code and memory streams management, which should provide better performance;
  • Streaming protocol was improved to allow transmission at maximum throughput;
  • Added a vcMixerDemo demo application, which shows how to use a new unit included in VC 2.5 Pro - unaMsMixer.pas;
  • Registration information will be stored in Windows Registry, not the INI file.

What's new in version 2.5 Pro:

PCM Resampler

PCM resampler allows you to convert audio streams sampling parameters fast and efficient. It does not use ACM codecs. 8, 16 and 32 bits streams are supported, with virtually unlimited number of channels and samples per second. Refer to vcSampler demo application for details.

PCM Software mixer

This version includes the software PCM mixer, which allows you to mix virtually unlimited number of PCM streams. "Software" means you do no need any special support from the sound card hardware or other devices to perform mixing. Refer to vcSampler demo application for details.

RIFF WAVE Streams

Use the unaRiffStream class to load or create WAVE files. You can use this class in the same manner as recording device (unaWaveInDevice class), when you set the realTime parameter to true. Refer to vcSampler demo application for details.

Volume level and silence detection

unaWaveInDevice has build-in code for calculating the volume level of audio stream. It could also stop producing the stream until its volume became louder than specified level. This is useful when you wish to skip the silence. You can check the volLevel application to see how it works.

Multi-threading

This version of VC components is 100% compatible with multi-threading environment. Every base class, such as unaList or unaStream has internal locking code which prevents several threads of modifying the data of each other.

VCL components

Pro version includes VCL components of most classes from VC 2.1 Lite. Here is the components palette which appear after installing the VC 2.5 Pro components package:

 

Refer to the documentation for detailed information about the VCL components included in VC 2.5 Pro. vcNetTalk demo application show you the usage of all components.

Network streaming protocol

Two VCL components included in VC 2.5 Pro helps you to add two-way streaming protocol in your applications. You can send audio streams, text messages of user-defined data using these components. Refer to the vcNetTalk demo application for usage example.


How to order

If you are interested in receiving full sources of VC components version 2.5 Pro, please follow to the order page for detailed information about prices and payment options.


Contact information

If you have any questions or comments about our products, feel free to contact us directly by e-mail:

  support@lakeofsoft.com

 


© 2000-2008 Lake of Soft, Ltd