Mercurial > hg > octave-nkf
annotate doc/interpreter/audio.txi @ 19705:bf27e21f0bfb
maint: Merge default to temporary audio-gsoc branch.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Wed, 31 Dec 2014 14:59:42 -0500 |
parents | da6173d4e384 0850b5212619 |
children | 651f12640c90 |
rev | line source |
---|---|
17744
d63878346099
maint: Update copyright notices for release.
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
1 @c Copyright (C) 1996-2013 Kurt Hornik |
7018 | 2 @c |
3 @c This file is part of Octave. | |
4 @c | |
5 @c Octave is free software; you can redistribute it and/or modify it | |
6 @c under the terms of the GNU General Public License as published by the | |
7 @c Free Software Foundation; either version 3 of the License, or (at | |
8 @c your option) any later version. | |
9 @c | |
10 @c Octave is distributed in the hope that it will be useful, but WITHOUT | |
11 @c ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
12 @c FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
13 @c for more details. | |
14 @c | |
15 @c You should have received a copy of the GNU General Public License | |
16 @c along with Octave; see the file COPYING. If not, see | |
17 @c <http://www.gnu.org/licenses/>. | |
18 | |
5428 | 19 @c Written by Kurt Hornik <Kurt.Hornik@wu-wien.ac.at> on 1996/05/14 |
3294 | 20 |
4167 | 21 @node Audio Processing |
19690
e36c9a2b2919
doc: add docstrings for audio file utilities, audiodevinfo, audioplayer and audiorecorder
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19687
diff
changeset
|
22 |
e36c9a2b2919
doc: add docstrings for audio file utilities, audiodevinfo, audioplayer and audiorecorder
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19687
diff
changeset
|
23 @chapter Audio File Utilities |
e36c9a2b2919
doc: add docstrings for audio file utilities, audiodevinfo, audioplayer and audiorecorder
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19687
diff
changeset
|
24 |
19692
da6173d4e384
doc: included docstrings for audioinfo, audioread and audiowrite in audio.txi
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19691
diff
changeset
|
25 The following functions allow you to read, write and retrieve information about audio files. Various formats are supported including wav, flac and ogg vorbis. |
da6173d4e384
doc: included docstrings for audioinfo, audioread and audiowrite in audio.txi
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19691
diff
changeset
|
26 |
19690
e36c9a2b2919
doc: add docstrings for audio file utilities, audiodevinfo, audioplayer and audiorecorder
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19687
diff
changeset
|
27 @DOCSTRING(audioinfo) |
e36c9a2b2919
doc: add docstrings for audio file utilities, audiodevinfo, audioplayer and audiorecorder
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19687
diff
changeset
|
28 @DOCSTRING(audioread) |
e36c9a2b2919
doc: add docstrings for audio file utilities, audiodevinfo, audioplayer and audiorecorder
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19687
diff
changeset
|
29 @DOCSTRING(audiowrite) |
e36c9a2b2919
doc: add docstrings for audio file utilities, audiodevinfo, audioplayer and audiorecorder
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19687
diff
changeset
|
30 |
e36c9a2b2919
doc: add docstrings for audio file utilities, audiodevinfo, audioplayer and audiorecorder
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19687
diff
changeset
|
31 @chapter Audio Device Information |
e36c9a2b2919
doc: add docstrings for audio file utilities, audiodevinfo, audioplayer and audiorecorder
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19687
diff
changeset
|
32 |
19691
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
33 @DOCSTRING(audiodevinfo) |
19690
e36c9a2b2919
doc: add docstrings for audio file utilities, audiodevinfo, audioplayer and audiorecorder
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19687
diff
changeset
|
34 |
e36c9a2b2919
doc: add docstrings for audio file utilities, audiodevinfo, audioplayer and audiorecorder
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19687
diff
changeset
|
35 @chapter Audio Player |
e36c9a2b2919
doc: add docstrings for audio file utilities, audiodevinfo, audioplayer and audiorecorder
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19687
diff
changeset
|
36 |
19691
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
37 The following methods are used to create and use audioplayer objects. These objects can be used to play back audio data stored in Octave matrices and arrays. The audioplayer object supports playback from various devices available to the system, blocking and non-blocking playback, convenient pausing and resuming and much more. |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
38 |
19690
e36c9a2b2919
doc: add docstrings for audio file utilities, audiodevinfo, audioplayer and audiorecorder
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19687
diff
changeset
|
39 @DOCSTRING(@audioplayer/audioplayer) |
e36c9a2b2919
doc: add docstrings for audio file utilities, audiodevinfo, audioplayer and audiorecorder
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19687
diff
changeset
|
40 |
19691
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
41 @section Playback |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
42 |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
43 The following methods are used to control player playback. |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
44 |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
45 @DOCSTRING(@audioplayer/play) |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
46 @DOCSTRING(@audioplayer/playblocking) |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
47 @DOCSTRING(@audioplayer/pause) |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
48 @DOCSTRING(@audioplayer/resume) |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
49 @DOCSTRING(@audioplayer/stop) |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
50 @DOCSTRING(@audioplayer/isplaying) |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
51 |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
52 @section Properties |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
53 |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
54 The remaining couple of methods are used to get and set various properties of the audioplayer object. |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
55 |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
56 @DOCSTRING(@audioplayer/get) |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
57 @DOCSTRING(@audioplayer/set) |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
58 |
19690
e36c9a2b2919
doc: add docstrings for audio file utilities, audiodevinfo, audioplayer and audiorecorder
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19687
diff
changeset
|
59 @chapter Audio Recorder |
e36c9a2b2919
doc: add docstrings for audio file utilities, audiodevinfo, audioplayer and audiorecorder
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19687
diff
changeset
|
60 |
19691
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
61 The following methods are used to create and use audiorecorder objects. These objects can be used to record audio data from various devices available to the system. You can use convenient methods to retrieve that data or audioplayer objects created from that data. Methods for blocking and non-blocking recording, pausing and resuming recording and much more is available. |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
62 |
19690
e36c9a2b2919
doc: add docstrings for audio file utilities, audiodevinfo, audioplayer and audiorecorder
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19687
diff
changeset
|
63 @DOCSTRING(@audiorecorder/audiorecorder) |
e36c9a2b2919
doc: add docstrings for audio file utilities, audiodevinfo, audioplayer and audiorecorder
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19687
diff
changeset
|
64 |
19691
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
65 @section Recording |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
66 |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
67 The following methods control the recording process. |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
68 |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
69 @DOCSTRING(@audiorecorder/record) |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
70 @DOCSTRING(@audiorecorder/recordblocking) |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
71 @DOCSTRING(@audiorecorder/pause) |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
72 @DOCSTRING(@audiorecorder/resume) |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
73 @DOCSTRING(@audiorecorder/stop) |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
74 @DOCSTRING(@audiorecorder/isrecording) |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
75 |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
76 @section Data Retrieval |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
77 |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
78 The following methods allow you to retrieve recorded audio data in various ways. |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
79 |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
80 @DOCSTRING(@audiorecorder/getaudiodata) |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
81 @DOCSTRING(@audiorecorder/getplayer) |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
82 @DOCSTRING(@audiorecorder/play) |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
83 |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
84 @section Properties |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
85 |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
86 The remaining two methods allow you to read or alter the properties of audiorecorder objects. |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
87 |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
88 @DOCSTRING(@audiorecorder/get) |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
89 @DOCSTRING(@audiorecorder/set) |
3954d835436b
doc: included all docstrings for the @audioplayer class in audio.txi as well as added additional explanations for the functionality
Vytautas Jančauskas <unaudio@gmail.com>
parents:
19690
diff
changeset
|
90 |
3294 | 91 @chapter Audio Processing |
92 | |
93 Octave provides a few functions for dealing with audio data. An audio | |
94 `sample' is a single output value from an A/D converter, i.e., a small | |
95 integer number (usually 8 or 16 bits), and audio data is just a series | |
10828
322f43e0e170
Grammarcheck .txi documentation files.
Rik <octave@nomad.inbox5.com>
parents:
10791
diff
changeset
|
96 of such samples. It can be characterized by three parameters: the |
9072
bd8e388043c4
Cleanup documentation for signal.texi, image.texi, audio.texi
Rik <rdrider0-list@yahoo.com>
parents:
7018
diff
changeset
|
97 sampling rate (measured in samples per second or Hz, e.g., 8000 or |
bd8e388043c4
Cleanup documentation for signal.texi, image.texi, audio.texi
Rik <rdrider0-list@yahoo.com>
parents:
7018
diff
changeset
|
98 44100), the number of bits per sample (e.g., 8 or 16), and the number of |
3294 | 99 channels (1 for mono, 2 for stereo, etc.). |
100 | |
101 There are many different formats for representing such data. Currently, | |
102 only the two most popular, @emph{linear encoding} and @emph{mu-law | |
103 encoding}, are supported by Octave. There is an excellent FAQ on audio | |
19232
0850b5212619
doc: Add @nospell macro around proper names in documentation.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
104 formats by @nospell{Guido van Rossum} @email{guido@@cwi.nl} which can be |
0850b5212619
doc: Add @nospell macro around proper names in documentation.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
105 found at any FAQ ftp site, in particular in the directory |
3294 | 106 @file{/pub/usenet/news.answers/audio-fmts} of the archive site |
107 @code{rtfm.mit.edu}. | |
108 | |
109 Octave simply treats audio data as vectors of samples (non-mono data are | |
110 not supported yet). It is assumed that audio files using linear | |
111 encoding have one of the extensions @file{lin} or @file{raw}, and that | |
112 files holding data in mu-law encoding end in @file{au}, @file{mu}, or | |
113 @file{snd}. | |
114 | |
3332 | 115 @DOCSTRING(lin2mu) |
3294 | 116 |
3332 | 117 @DOCSTRING(mu2lin) |
3294 | 118 |
3332 | 119 @DOCSTRING(loadaudio) |
3294 | 120 |
3332 | 121 @DOCSTRING(saveaudio) |
3294 | 122 |
123 The following functions for audio I/O require special A/D hardware and | |
124 operating system support. It is assumed that audio data in linear | |
125 encoding can be played and recorded by reading from and writing to | |
126 @file{/dev/dsp}, and that similarly @file{/dev/audio} is used for mu-law | |
127 encoding. These file names are system-dependent. Improvements so that | |
128 these functions will work without modification on a wide variety of | |
129 hardware are welcome. | |
130 | |
3332 | 131 @DOCSTRING(playaudio) |
3294 | 132 |
3332 | 133 @DOCSTRING(record) |
3294 | 134 |
3332 | 135 @DOCSTRING(setaudio) |
136 | |
6549 | 137 @DOCSTRING(wavread) |
138 | |
139 @DOCSTRING(wavwrite) |