ACS

From Lazarus wiki
Revision as of 12:17, 21 July 2016 by Arent (talk | contribs)
Jump to navigationJump to search

Deutsch (de) English (en) français (fr) 日本語 (ja) português (pt)

ACS (Audio Components Suite) is an freeware crossplatform set of components designed to perform different sound-processing tasks. It supports reading the audio data from CD, different fileformats at example wav,mp3,wma,ogg,mac and others, output to soundcard and files are sure also possible. Between input and output you can work with the data, different converters, mixers and processors are available.

Its main characteristics are :

  • Abstract Layer to include different "drivers"
    • Alsa, /dev/dsp, AOLive, OSS support within linux
    • DirectX, Wavemapper support within Windows
    • Audio playback and capture
    • Simultaneous operations on the same or different devices are allowed.
  • Abstract Layer to make it easy to add new fileformats; already included fileformats:
    • Wave files/streams support, Raw PCM, MS ADPCM, DVI IMA ADPCM support
    • MP3 format support : Encode mp3 files using LAME, mp3 playback with smpeg library, streams conversion using MAD decoder
    • Ogg Vorbis format support : Reading Ogg files/streams (including multi-streamed ones). Storing data in Ogg Vorbis format with wide range of settings for compression/quality tweaks. Ogg comments support
    • FLAC format support : Reading FLAC files/streams, storing data in FLAC format with wide range of settings for compressiontweaks.
    • Monkey Audio format support (for Windows only)
    • CD-ROM playback and direct CDDA data capture
    • Append data to existing file/stream capability
  • AudioMixer component for mixing/concatenating audio streams
  • InputList component for building dynamically playback/input lists
  • Set of audio converter components
    • Sample converter for bits per sample conversion.
    • Sample rate converter (resampler) using sinc filtering
    • Mono/Stereo converter
    • Stereo balance control
    • Sound indicator
    • Windowed sinc and Butterworth filters for changing audio spectrum
    • Convolver component for applying custom sound effects
  • Mixer component to use mixer devices

Screenshot

Acs demos.jpg

Author

Author: Andrei Borovsky
Original work may be found here - it's a part of Andrei Borovsky's personal page, some old versions of ACS (for Delphi\Kylix) can be downloaded, also there are some docs, which can't be found in Lazarus port.

License

License: LGPL

Download

You can browse the source and download a tar file from

http://lazarus-ccr.svn.sourceforge.net/viewvc/lazarus-ccr/components/acs/

checkout from svn:

svn://svn.code.sf.net/p/lazarus-ccr/svn/components/acs

Bug reporting / Feature Request

Please add your Bugreports/Feature requests in Lazarus CCR project of the Lazarus bug tracker.

Change Log

  • 25.08.05 ACS 2.4 first prerelease (cvs)
  • 26.05.05 ACS 2.3 Port

complete Changelog is avalible on Main ACS Page

Status: Beta

Installation

  • Create the directory lazarus\components\ACS
  • On this directory, unzip the files from the zip file
  • Open Lazarus
  • Open the package .lpk with Component/Open package file (.lpk)
  • Click on Compile (only necessary, if you don't want to install the component into the IDE)
  • Click on Install if you want to install the component into the IDE

Building and Running the Demos

If you don't want themese, as of 5/30/2009 using SVN revision 816, it may be necessary to do a few very simple and very quick changes to get the player demo to build on Windows.

Find the line "{$IFDEF WINDOWS}{$R manifest.rc}{$ENDIF}" in player.lpr and delete it. You may also have to go to Project->Project options and untick "Use manifest file to enable themes".

windres.exe was complaining because I had no resources and no desire to create themes for the application, so the above steps will disable theming and allow it compile happily.

Help

Audio classes defined:

TACSCustomInput( TComponent )

TACSStreamedInput( TACSCustomInput )
TACSCustomFileIn( TACSStreamedInput )
TACSCustomConverter( TACSCustomInput )
TACSBaseAudioIn( TACSCustomInput )
TACSAudioIn( TACSCustomInput )

TACSCustomOutput( TComponent )

TACSStreamedOutput( TACSCustomOutput )
TACSCustomFileOut( TACSStreamedOutput )
TACSBaseAudioOut( TACSCustomOutput )

TACSAudioOut( TComponent )