Mercurial > hg > octave-nkf
view doc/interpreter/audio.txi @ 6778:083721ae3dfa
[project @ 2007-07-18 17:03:10 by jwe]
author | jwe |
---|---|
date | Wed, 18 Jul 2007 17:03:11 +0000 |
parents | 5a5a09d7deb8 |
children | fd42779a8428 |
line wrap: on
line source
@c Copyright (C) 1996, 1997, 2007 John W. Eaton @c Written by Kurt Hornik <Kurt.Hornik@wu-wien.ac.at> on 1996/05/14 @c This is part of the Octave manual. @c For copying conditions, see the file gpl.texi. @node Audio Processing @chapter Audio Processing Octave provides a few functions for dealing with audio data. An audio `sample' is a single output value from an A/D converter, i.e., a small integer number (usually 8 or 16 bits), and audio data is just a series of such samples. It can be characterized by three parameters: the sampling rate (measured in samples per second or Hz, e.g. 8000 or 44100), the number of bits per sample (e.g. 8 or 16), and the number of channels (1 for mono, 2 for stereo, etc.). There are many different formats for representing such data. Currently, only the two most popular, @emph{linear encoding} and @emph{mu-law encoding}, are supported by Octave. There is an excellent FAQ on audio formats by Guido van Rossum <guido@@cwi.nl> which can be found at any FAQ ftp site, in particular in the directory @file{/pub/usenet/news.answers/audio-fmts} of the archive site @code{rtfm.mit.edu}. Octave simply treats audio data as vectors of samples (non-mono data are not supported yet). It is assumed that audio files using linear encoding have one of the extensions @file{lin} or @file{raw}, and that files holding data in mu-law encoding end in @file{au}, @file{mu}, or @file{snd}. @DOCSTRING(lin2mu) @DOCSTRING(mu2lin) @DOCSTRING(loadaudio) @DOCSTRING(saveaudio) The following functions for audio I/O require special A/D hardware and operating system support. It is assumed that audio data in linear encoding can be played and recorded by reading from and writing to @file{/dev/dsp}, and that similarly @file{/dev/audio} is used for mu-law encoding. These file names are system-dependent. Improvements so that these functions will work without modification on a wide variety of hardware are welcome. @DOCSTRING(playaudio) @DOCSTRING(record) @DOCSTRING(setaudio) @DOCSTRING(wavread) @DOCSTRING(wavwrite)