libfishsound provides a simple programming interface for decoding and encoding
audio data using the Xiph.org codecs (FLAC, Speex and Vorbis).
libfishsound by itself is designed to handle raw codec streams from a lower
level layer such as UDP datagrams. When these codecs are used in files, they
are commonly encapsulated in Ogg to produce Ogg FLAC, Speex and Ogg Vorbis
files.
libfishsound is a wrapper around the existing codec libraries and provides a
consistent, higher-level programming interface. It has been designed for use in
a wide variety of applications; it has no direct dependencies on Ogg
encapsulation, though it is most commonly used in conjunction with liboggz to
decode or encode FLAC, Speex or Vorbis audio tracks in Ogg files, including Ogg
Theora and Annodex.
Vorbis is a general purpose audio and music encoding format
contemporary to MPEG-4's AAC and TwinVQ, the next generation beyond
MPEG audio layer 3. Unlike the MPEG sponsored formats (and other
proprietary formats such as RealAudio G2 and Windows' flavor of the
month), the Vorbis CODEC specification belongs to the public domain.
All the technical details are published and documented, and any
software entity may make full use of the format without royalty or
patent concerns.
This package contains:
- libvorbis, a BSD-license software implementation of the Vorbis
specification by the Xiphophorus company.
- libvorbisfile, a BSD-license convenience library built on Vorbis
designed to simplify common uses.
- libvorbisenc, a BSD-license library that provides a simple,
programmatic encoding setup interface.
A multi-channel MPEG encoder, using the ISO13818 standard and the dist10
source code. Multi-channel files may have up to 6 defined channels:
Left(L), Right(R), Center(C), Left Surround (LS), Right Surround (RS) and
a Low Frequency Enhancement channel (LFE).
ISO13818 defines 5 multi-channel modes (on top of the normal stereo mode),
each of these modes may have an optional LFE channel:
3/2: L, R, C, LS, RS
3/1: L, R, C, mono surround
2/2: L, R, LS, RS
2/1: L, R, mono surround
3/0: L, R, C
The "standard" surround sound encoding of "5.1 channels" is achieved by
using mode 3/2 plus an LFE channel.
A multi-channel MPEG file should decode OK on any MPEG decoder. If the
decoder doesn't recognize the multi-channel extensions, then you'll just
get a stereo file containing a down mix of the 5 channels.
A multi-channel MPEG encoder, using the ISO13818 standard and the dist10
source code. Multi-channel files may have up to 6 defined channels:
Left(L), Right(R), Center(C), Left Surround (LS), Right Surround (RS) and
a Low Frequency Enhancement channel (LFE).
ISO13818 defines 5 multi-channel modes (on top of the normal stereo mode),
each of these modes may have an optional LFE channel:
3/2: L, R, C, LS, RS
3/1: L, R, C, mono surround
2/2: L, R, LS, RS
2/1: L, R, mono surround
3/0: L, R, C
The "standard" surround sound encoding of "5.1 channels" is achieved by
using mode 3/2 plus an LFE channel.
A multi-channel MPEG file should decode OK on any MPEG decoder. If the
decoder doesn't recognize the multi-channel extensions, then you'll just
get a stereo file containing a down mix of the 5 channels.
Mp3stat is a utility to read information about MP3's and OGG's bitstream.
More specifically, how certain bitrates have been placed in the bitstream
by the encoder. Not only does mp3stat give you a graphical representation
of the average bitrate per 1/500th of the file in, a linear bar graph to
allow you to compare encoders and settings, it also has a batch file mode.
The batch file mode allows you to use mp3stat as a script utility instead
of GUI, for use in your own programs and or scripts. The batch mode can be
extended trivially to give just as much info as the GUI version, but now
defaults to configurable output of 3 pieces of info; name, runtime, and
average bitrate. The batch mode can take MP3's, and OGG's in the same
directory, but it cannot (yet at least) recursively run into subdirectories
-- this will be possible in the next version, arriving soon.
mpg321 is a clone of the popular mpg123 command-line mp3 player. It should
function as a drop-in replacement for mpg123 in many cases. While some of
the functionality of mpg123 is not yet implemented, mpg321 should function
properly in most cases for most people, such as for frontends such as
gqmpeg.
mpg321 is based on the mad MPEG audio decoding library. It therefore is
highly accurate, and also uses only fixed-point calculation, making it
more efficient on machines without a floating-point unit.
While mpg321 is not as fast as the non-free mpg123 on systems which have a
floating point unit, it comes under the GNU General Public License, which
allows greater freedom to its users. For most people who want mpg123,
mpg321 is a better alternative.
SDL_sound is a library that handles the decoding of several popular
sound file formats, such as raw, wav, mp3, flac, ogg, voc, shn,
aiff, au, and some others.
It is meant to make the programmer's sound playback tasks simpler.
The programmer gives SDL_sound a filename, or feeds it data directly
from one of many sources, and then reads the decoded waveform data
back at her leisure.
If resource constraints are a concern, SDL_sound can process sound
data in programmer-specified blocks. Alternately, SDL_sound can
decode a whole sound file and hand back a single pointer to the
whole waveform.
SDL_sound can also handle sample rate, audio format, and channel
conversion on-the-fly and behind-the-scenes, if the programmer
desires.
The Snack Sound Toolkit is designed to be used with a scripting language
such as Tcl/Tk or Python. Using Snack you can create powerful multi-platform
audio applications with just a few lines of code. Snack has commands for
basic sound handling, e.g. sound card and disk I/O. Snack also has primitives
for sound visualization, e.g. waveforms and spectrograms. It was developed
mainly to handle digital recordings of speech, but is just as useful for
general audio. Snack has also successfully been applied to other one-
dimensional signals.
The combination of Snack and a scripting language makes it possible to create
sound tools and applications with a minimum of effort. This is due to the
rapid development nature of scripting languages. As a bonus you get an
application that is cross-platform from start. It is also easy to integrate
Snack based applications with existing sound analysis software.
wavbreaker is a tool to take a wave file and break it up into
multiple wave files. It makes a clean break at the correct
position to burn the files to an audio CD without any dead
space between the tracks. It will only read wave files, so use
an appropriate tool to convert Ogg, MP3, etc. files and then
break them up. The GUI displays a summary of the entire wave
file being worked on at the top. There is also a command line
tool to merge wave files together (wavmerge). This tool will
only work on files that are alike. For example, 44100 khz
sample rate, 16-bit sample size, etc. (use sox to convert files
first if necessary).
Xcd is a simple GUI to control a CD player. It requires Tcl/Tk to be
installed on your system.
Xcd has the usual buttons to control a CD player: "play",
"pause/resume", "stop", "eject", "next track", "previous track",
"rewind", "forward" and a volume slider. Xcd displays continuously the
current track number and the elapsed time of the track. Pressing the
left mouse button on the "track" label causes Xcd to display the total
number of the tracks and the total duration of the disk. Pressing the
left mouse button on the "time" label causes xcd to display the
duration of the current track. Pressing the middle mouse button on
the "track" button allows to choose a track number to play.