Matlab
Octave
Appendix B
Tools for Sound Processing
(with Nicola Bernardini)
Audio signal processing is essentially an engineering discipline. Since engineer-
ing is about practical realizations the discipline is best taught using real-world
tools rather than special didactic software. At the roots of audio signal pro-
cessing there are mathematics and computational science: therefore we strongly
recommend using one of the advanced maths softwares available off the shelf.
In particular, we experienced teaching with Matlab, or with its Free Software
counterpart Octave
1
. Even though much of the code can be ported from Matlab
to Octave with minor changes, there can still be some significant advantage in
using the commercial product. However, Matlab is expensive and every special-
ized toolbox is sold separately, even though an less-expensive student edition is
available. On the other hand, Octave is free software distributed under the GNU
public license. It is robust, highly integrated with other tools such as Emacs for
editing and GNUPlot for plotting.
For actual sound applications, there are at least three other categories of
softwares for sound synthesis that it is worth considering: languages for sound
processing, interactive graphical building environments, and inline sound edi-
tors.
When sound applications are targeted to the market of information appli-
ances, it is likely that the processing algorithms will be implemented on low-cost
hardware specifically tailored for typical signal-processing operations. Therefore,
it is also useful to look at how signal-processing chips are usually structured.
B.1
Sounds in Matlab and Octave
In Octave/Matlab, monophonic sounds are simply one-dimensional vectors (rows
or columns), so that they can be transformed by means of matrix algebra, since
vectors are first­class variables. In these systems, the computations are vector-
ized, and the gain in efficiency is high whenever looped operations on matrices
are transformed into compact matrix-algebra notation [9]. This peculiarity is
sometimes difficult to assimilate by students, but the theory of matrices needed
1
http://www.octave.org
139
Next Page >>
<< Previous Page
Back to the Table of Contents