CREDITS
This application attempts to bring together many ideas from a number of
different sources.
The original concept of this program was the idea of Steven Pliam, at the time
an associate of the noted architect Frank Gehry. Steven thought it might be useful
to architects and designers if they could convert recorded sound into three-dimensional
surfaces.
Brian Sherwood, then a graduate student at the University of Minnesota, did much of the
original core sampling programming. Michael Pliam programmed the interface
for the first release.
The program makes use of openNURBS. Further information can be obtained from
http://www.opennurbs.org/
The program uses the zlib general purpose compression library, version 1.1.3,
July 9th, 1998, Copyright (C) 1995-1998 Jean-loup Gailly and Mark Adler
The new interface design development, website support, online and other
documentation has been provided by PliaTech Software (see http://www.pliatech.com)
Rhinoceros is a registered trademark of Robert McNeel & Assoicates.
SoundPlot uses the openNURBS 4.0 .NET toolkit. The openNURBS Initiative provides CAD, CAM, CAE, and computer graphics software developers the tools to accurately transfer 3-D geometry between applications. For more information, see the OpenNURBS home page.
Code was compiled using Microsoft Visual Studio 2005 C++.NET.
The numerical algorithms for Fast Fourier Transforms, the packing and unpacking of complex spectra, and Savitsky-Golay smoothing were adopted from those described Numerical Recipes .W.H.Press, B.P.Flannery, S.A.Teukolsky and W.T. Vetterling, Numerical Recipies in C : The Art of Scientific Computing, Cambridge University Press, many editions in C, Pascal and FORTRAN.
Wavelet transform source code was was written and is copyrighted by Ian Kaplan, Bear Products International, www.bearcave.com, 2002.
This product includes software developed
by Tim Kientzle and published in ``The Programmer's Guide to Sound.''
Addison-Wesley, 1997. Kientzle's code was used largely to play WAV and AIF
files and to generate pure waveforms.
Source code for sound recording was provided by Thomas Holme and can be
downloaded from his article How to play and record sounds. A simple
application that shows how to play and record sounds under Windows. Mar 12,
2001. See http://www.codeproject.com/KB/audio-video/fister.aspx
Source code for writing AIF files came
from the article Creating AIFF Audio Formatted Files written by Paul
Bourke, September 1996
see: http://astronomy.swin.edu.au/~pbourke/dataformats/aiff/
Source code for reading writing WAV files was adopted from that provided by
Dr Fred DePiero at CalPoly State University. See:
http://courseware.ee.calpoly.edu/~fdepiero/STL/Software_for_Teaching_and_Learning.htm.
Also see:
http://people.msoe.edu/~taylor/examples/wav.htm
Algorithms for data sampling, complex data manipulation, channel isolation, and 2D graphical display were developed and copyrighted (c) PliaTech Software. The accompanying LineGraph module which enables the rapid 2-D plotting of digital signals was developed by PliaTech Software, but inherited many design ideas from previous projects and from several other software programs. Chief of these was the code generously provided by Yuantu Huang in his Codeguru article, "Simple to Use, Yet Powerful Graphics Classes". The source code is available at http://codeguru.earthweb.com/controls
SoundPlot utilizes data storage, retrieval, and manipulation through the use of the Template Numerical Toolkit (TNT), an interface for scientific computing in C++ designed by Roldan Pozo, PhD, and developed and made available by the Mathematical and Computational Sciences Division of the National Institute of Standards and Technology (NIST). The toolkit defines interfaces for basic data structures, such as multidimensional arrays and sparse matrices, commonly used in numerical applications. See http://math.nist.gov/tnt/ for details.
The MTX file type is a proprietary binary matrix data file developed and copyrighted (c) by PliaTech Software. Most of the source code involving data I/O, manipulation, and storage utilize TNT.