WHITELF_SOUND(1) WHITELF_SOUND(1) NAME whiteLF_sound - generate white noise directly to the sound card SYNOPSIS whiteLF_sound [-d device] [-i infilename] [-v] DESCRIPTION WhiteLF_sound is for generating low passed white noise directly to the sound card. Sealed speaker enclosures exhibit a dual pole roll off below the enclo- sure cutoff frequency, F3, (this is exactly true, in theory, for a critically damped design, almost true for a Bessel design or maximally flat Butterworth design, and, approximately true for a Chebyshev design or acoustic suspension design.) To use a sealed enclosure for measuring room acoustics, low frequency contouring is necessary for the speaker to supply a flat white noise response-meaning, providing the speaker with a dual pole bass boost. This program is a modification of the white_sound(1) program, and pro- vides two poles and two zeros in the generated white noise response. The pole frequency should be approximately a decade lower than the -6 dB frequency of the speaker, (slightly below the -3 dB F3 cutoff fre- quency-a decade is not absolutely necessary, however,) and extends the generated response to down -6 dB at approximately a decade lower in frequency, i.e., it extends the flat response of the speaker down approximately a decade, albeit with very significant power ineffi- ciency, (but adequate for measuring most room acoustics in a quiet environment.) The flat band high frequency gain and the pole frequency can be iter- ated, (via stdin,) in a near field measurement of the speaker for cali- bration of flat response, then measurements taken at various locations in a room to derive the room's acoustical characteristics. A note about the algorithm. For each time sample, a white noise element is generated and input to two recursive pole functions in series, (the pole frequency is specified by the double pole frequency, p or f.) A second white noise element is generated, and the amplitude reduced, (by the factor of the flat band high frequency gain, g,) and summed with the output of the two recursive poles to approximate the two zeros, thus generating a "flat band high frequency" white noise. This tech- nique is adequate for most purposes, and avoids the instability issues of generating zeros in the transfer function. Theoretically, this gives a 3 dB. error, (since the two noise amplitudes add root-mean-square, instead of linearly,) which can be reduced, adequately, by altering the pole frequency when doing the near-field speaker alignment. The commands controlling the program are read from stdin, as EOL termi- nated records, and consist of a single character command followed by a value, (if any): Quit: e, q Help: h Print Values: p, v Amplitude: a n, v n, 0 <= n <= 100, (1.0) Double Pole Frequency: f n, p n, 1 <= n <= 1000, (5.3) Flat Band High Frequency Gain: g n, 0 <= n <= 1, (0.01) Note: the program waits for an input record on stdin before generating the white noise, (i.e., hit the Enter key when ready.) OPTIONS -d device sound device, (/dev/dsp). -i infilename Input filename, (stdin). -v Print the version and copyright banner of the program. AUTHORS ---------------------------------------------------------------------- A license is hereby granted to reproduce this software source code and to create executable versions from this source code for personal, non-commercial use. The copyright notice included with the software must be maintained in all copies produced. THIS PROGRAM IS PROVIDED "AS IS". THE AUTHOR PROVIDES NO WARRANTIES WHATSOEVER, EXPRESSED OR IMPLIED, INCLUDING WARRANTIES OF MERCHANTABILITY, TITLE, OR FITNESS FOR ANY PARTICULAR PURPOSE. THE AUTHOR DOES NOT WARRANT THAT USE OF THIS PROGRAM DOES NOT INFRINGE THE INTELLECTUAL PROPERTY RIGHTS OF ANY THIRD PARTY IN ANY COUNTRY. Copyright (c) 1994-2008, John Conover, All Rights Reserved. Comments and/or bug reports should be addressed to: john@email.johncon.com (John Conover) ---------------------------------------------------------------------- February 18, 2008 WHITELF_SOUND(1)