Boost logo

Boost :

Subject: [boost] GAL (Generic Audio Library) based on GIL
From: Brendon Costa (brendon.j.costa_at_[hidden])
Date: 2013-04-29 08:24:27

I am looking into the possibility of developing a library based on the same
concepts and a similar interface to Boost.GIL call Boost.GAL.

The idea is simply to define something very similar to GIL but for audio
processing instead of image processing. Most of the concepts in GIL map
almost 1 to 1 to audio processing as well.

What are peoples thoughts on such a project?

Is there anything in Boost.GIL that we have learn't from that should be
done differently?

--- Basic Premise ---
The base concepts for GAL are described below and shown are the direct
equivalents in the GIL library:

* GAL.Sample ~= GIL.Channel
   Represents the amplitude of a single audio sample (float32, int16, ...)

* GAL.SampleTime ~= GIL.Point
   Identifies the "time" a sample was taken (in units of the SampleRate)

* GAL.Channel ~= GIL.Colour
   Identifies an audio channel location (FRONT_LEFT, or FRONT_RIGHT might
be a channel for example)

* GAL.ChannelMapping ~= GIL.Colour-space
   Maps channels to specific layout in memory (offset 0 is FRONT_LEFT, ...)

* GAL.Frame ~= GIL.Pixel
   Identifies a single time slice (multiple channels for single sample
point in time)

* GAL.Block ~= GIL.Image
   Identifies a 1D sequence of Frame's

* GAL.SampleRate ~= GIL.PPI
   I don't think GIL has this concept at the moment, but would be similar
to Pixels Per Inch in the image world

* GAL.Layout ~= GIL.??
   This is the same in GIL and GAL the memory layout can be interleaved or
not (planar for GIL)

* GAL.Format ~= GIL.??
   I don't think GIL has this concept at the moment but it represents the
format of data without actually storing any data. It contains:
      - Sample type
      - ChannelMapping (implicitly identifies count of channels)
      - SampleRate
      - Layout

Boost list run by bdawes at, gregod at, cpdaniel at, john at