Difference between revisions of "LiteSound"

From Free Pascal wiki
Jump to navigationJump to search
(Created page with "LiteSound is a large set of wrappers, classes and structures for working with sound. Here you can find a set of classes for playing, recording and converting audio files and a...")
 
Line 1: Line 1:
 +
==About==
 
LiteSound is a large set of wrappers, classes and structures for working with sound. Here you can find a set of classes for playing, recording and converting audio files and audio streams. Uses the principles of dynamic linking of libraries. Supports audio formats WAV, FLAC, Vorbis and Opus (including for the organization of streaming audio frames).
 
LiteSound is a large set of wrappers, classes and structures for working with sound. Here you can find a set of classes for playing, recording and converting audio files and audio streams. Uses the principles of dynamic linking of libraries. Supports audio formats WAV, FLAC, Vorbis and Opus (including for the organization of streaming audio frames).
 
The structure of the packages has not yet been fully determined. I continue to work on structuring the class hierarchy. I will also try to improve code commenting.
 
The structure of the packages has not yet been fully determined. I continue to work on structuring the class hierarchy. I will also try to improve code commenting.
Line 5: Line 6:
  
 
License: LGPL-2.1.
 
License: LGPL-2.1.
 +
 +
Requirements:
 +
 +
* Free Pascal Compiler
 +
* Lazarus IDE (optional / for examples)
 +
* CommonUtils
 +
* SoundUtils
 +
* libOpenALsoft_ilya2ik - free pascal bindings and wrapper around OpenAL library
 +
* libOGG_ilya2ik - free pascal bindings and wrapper around OGG library
 +
* libFLAC_ilya2ik - free pascal bindings and wrapper around FLAC library
 +
* libVorbis_ilya2ik - free pascal bindings and wrapper around Vorbis library
 +
* libOpus_ilya2ik - free pascal bindings and wrapper around Opus library
 +
 +
==Download==
 +
GitHub: https://github.com/iLya2IK/LiteSound
 +
 +
==Examples==
 +
 +
* Player example - This example emulates the operation of a simple audio player, demonstrates working with comments, metadata, playlists.
 +
* Recorder example - This example emulates the operation of a simple audio recorder.
 +
* Converter example - This example emulates the operation of a simple audio file converter.
 +
* FrameStreaming example - In this example, an audio-ogg file is opened and decoded into a data stream. The resulting stream is then reencoded into a set of encoded frames. A set of encoded frames is saved to the files on disk in the user’s format. Frame-files are then opened, decoded into a data stream and saved in a new file in selected format.
 +
 +
==Third party components used==
 +
 +
* OpenAL soft
 +
* OGG
 +
* libFLAC
 +
* Vorbis/VorbisEnc/VorbisFile
 +
* Opus/OpusEnc/OpusFile

Revision as of 06:34, 18 February 2023

About

LiteSound is a large set of wrappers, classes and structures for working with sound. Here you can find a set of classes for playing, recording and converting audio files and audio streams. Uses the principles of dynamic linking of libraries. Supports audio formats WAV, FLAC, Vorbis and Opus (including for the organization of streaming audio frames). The structure of the packages has not yet been fully determined. I continue to work on structuring the class hierarchy. I will also try to improve code commenting.

Author: Ilya "iLya2IK" Medvedkov.

License: LGPL-2.1.

Requirements:

  • Free Pascal Compiler
  • Lazarus IDE (optional / for examples)
  • CommonUtils
  • SoundUtils
  • libOpenALsoft_ilya2ik - free pascal bindings and wrapper around OpenAL library
  • libOGG_ilya2ik - free pascal bindings and wrapper around OGG library
  • libFLAC_ilya2ik - free pascal bindings and wrapper around FLAC library
  • libVorbis_ilya2ik - free pascal bindings and wrapper around Vorbis library
  • libOpus_ilya2ik - free pascal bindings and wrapper around Opus library

Download

GitHub: https://github.com/iLya2IK/LiteSound

Examples

  • Player example - This example emulates the operation of a simple audio player, demonstrates working with comments, metadata, playlists.
  • Recorder example - This example emulates the operation of a simple audio recorder.
  • Converter example - This example emulates the operation of a simple audio file converter.
  • FrameStreaming example - In this example, an audio-ogg file is opened and decoded into a data stream. The resulting stream is then reencoded into a set of encoded frames. A set of encoded frames is saved to the files on disk in the user’s format. Frame-files are then opened, decoded into a data stream and saved in a new file in selected format.

Third party components used

  • OpenAL soft
  • OGG
  • libFLAC
  • Vorbis/VorbisEnc/VorbisFile
  • Opus/OpusEnc/OpusFile