Array di microfoni A. Farina, A. Capra SPEAKERS ARRAYS FOR A PHYSICAL MODELLING PIANO GOAL: the 3D sound of a real “grancoda” piano 3D Techniques: • Wave Field Synthesis • Beam Forming • CrossTalk Cancellation Spatialization Effects (1/4) 1. Stereo: Is the “reference” technique. 2. Recursive Ambiophonic Crosstalk Elimination (RACE): - Cancellation of the signal coming from the R speaker and arriving to the Left ear using, in the L speaker, a copy of that signal with a proper delay and a proper attenuation - The cancellation signal arrives to the Right ear: it needs to be cancelled with another copy coming from the R speaker… - … … and so on Spatialization Effects (2/4) 3. Beam Forming: 2 plane waves from +30° and -30°. Speaker arrays generate sound fields simulating sound sources placed to a finite or infinite distance. This effect is created by means of different gains and delays. 30 ° Spatialization Effects (3/4) 4. Convolution with real IRs: - Points of percussion: F#1, G#3, C6, F#7. 5. Gains and delays: - 4 point sources placed at a fixed distance from the listener. - Calculation of the delay from source to speaker. Piano recording in anechoic room Impulse Responses of the sound board Neumann stereo mics Eigenmike® 31 Bruel&Kjaer microphones Neumann Dummy Head MICROPHONE ARRAYS: TYPES AND PROCESSING Linear Array Planar Array x1(t) M inputs x2(t) .. . xM(t) x1(t) x2(t) .. . xM(t) Spherical Array y1(t) SIGNAL PROCESSOR h1,1(t) h2,1(t) hM,1(t) Processing Algorithm y2(t) .. . yV(t) y1(t) V outputs General Approach processor V outputs M inputs • Whatever theory or method is chosen, we always start with M microphones, providing M signals xm, and we derive from them V signals yv • And, in any case, each of these V outputs can be expressed by: M y v (t ) xm (t ) hm ,v (t ) m 1 Traditional approaches • The processing filters hm,v are usually computed following one of several, complex mathematical theories, based on the solution of the wave equation (often under certaing simplifications), and assuming that the microphones are ideal and identical • In some implementations, the signal of each microphone is processed through a digital filter for compensating its deviation, at the expense of heavier computational load Traditional Spherical Harmonics approach Spherical Harmonics (H.O.Ambisonics) Virtual microphones A fixed number of “intermediate” virtual microphones is computed, then the dynamically-positioned virtual microphones are obtained by linear combination of these intermediate signals. Novel approach • No theory is assumed: the set of hm,v filters are derived directly from a set of impulse response measurements, designed according to a least-squares principle. • In practice, a matrix of impulse responses is measured, and the matrix has to be numerically inverted (usually employing some regularization technique). • This way, the outputs of the microphone array are maximally close to the ideal responses prescribed • This method also inherently corrects for transducer deviations and acoustical artifacts (shielding, diffractions, reflections, etc.) Novel approach The microphone array impulse responses cm,d , are measured for a number of D incoming directions. d=1…D sources m=1…M mikes cki c1,1 c1,2 c c 2, 2 2,1 ... ... C c m,1 c m,2 ... ... c M,1 c M,2 ... c1,d ... ... c 2, d ... ... ... ... ... c m,d ... ... ... ... ... c M,d ... c1, D c 2, D ... c m, D ... c M, D We get a matrix C of measured impulse responses for a large number P of directions Target Directivity The virtual microphone which we want to synthesize must be specified in the same D directions where the impulse responses had been measured. Let’s choose a high-order cardioid of order n as our target virtual microphone. Qn , 0.5 0.5 cos( ) cos( ) n This is just a direction-dependent gain. The theoretical impulse response coming from each of the D directions is: pd Qd , Novel approach Applying the filter matrix H to the measured impulse responses C, the system should behave as a virtual microphone with wanted directivity δ(t) d = 1…D directions δ(t) c1,d(t) c2,d(t) h1(t) pd(t) A2,v A1,v h2(t) AM,v m = 1…M microphones cM,d(t) hM(t) Target function δ(t) M c m ,d hm pd d 1.. D m 1 But in practice the result of the filtering will never be exactly equal to the prescribed functions pd….. Novel approach We go now to frequency domain, where convolution becomes simple multiplication at every frequency k, by taking an N-point FFT of all those impulse responses: M C m 1 m ,d ,k H m,k Pd d 1..D k 0.. N / 2 We now try to invert this linear equation system at every frequency k, and for every virtual microphone v: H k MxV P DxV Ck DxM This over-determined system doesn't admit an exact solution, but it is possible to find an approximated solution with the Least Squares method Least-squares solution We compare the results of the numerical inversion with the theoretical response of our target microphones for all the D directions, properly delayed, and sum the squared deviations for defining a total error: P The inversion of this matrix system is now performed adding a regularization parameter b, in such a way to minimize the total error (Nelson/Kirkeby approach): H k MxV C Q DxV e * Ck MxD Ck DxM bk I MxM * k MxD jk It revealed to be advantageous to employ a frequency-dependent regularization parameter bk. Spectral shape of the regularization parameter bk • At very low and very high frequencies it is advisable to increase the value of b. eH eL Real-time synthesis of the filters h It is possible to compute just once the following term: * Ck MxD e jk Rk MxD * Ck MxD Ck DxM bk I MxM Then, whenever a new set filters is required, this is generated simply applying to R the gains Q of the target microphone: Hk MxV Rk MxD QDxV FIR filters realtime synthesis algorithm: [Rk]MxD N-point real-IFFT [Qk]DxV Time-domain windowing [hn]MxV [Hk]MxV Thanks to Hermitian symmetry properties, a real-FFT algorithm can be employed Critical aspects • LOW frequencies: wavelength longer than array width - no phase difference between mikes - local approach provide low spatial resolution (single, large lobe) - global approach simply fails (the linear system becomes singular) • MID frequencies: wavelength comparable with array width -with local approach secondary lobes arise in spherical or plane wave detection (negligible if the total bandwidth is sufficiently wide) the global approach works fine, suppressing the side lobes, and providing a narrow spot. • HIGH frequencies: wavelength is shorter than twice the average mike spacing (Nyquist limit) - spatial undersampling - spatial aliasing effects – random disposition of microphones can help the local approach to still provide some meaningful result - the global approach fails again Linear array • 16 omnidirectional mikes mounted on a 1.2m aluminium beam, with exponential spacing • 16 channels acquisition system: 2 Behringer A/D converters + RME Hammerfall digital sound card • Sound recording with Adobe Audition • Filter calculation, off-line processing and visualization with Aurora plugins Linear array - calibration • The array was mounted on a rotating table, outdoor • A Mackie HR24 loudspeaker was used • A set of 72 impulse responses was measured employing Aurora plugins under Adobe Audition (log sweep method) - the sound card controls the rotating table. • The inverse filters were designed with the local approach (separate inversion of the 16 on-axis responses, employing Aurora’s “Kirkeby4” plugin) Linear array - polar plots 500 Hz 250 Hz 330 325 320 315 310 305 300 5 10 15 20 340 25 -10 285 75 -25 280 85 275 90 270 95 265 100 260 -30 265 260 255 105 250 110 245 45 -10 255 250 10 40 315 45 -10 50 305 55 60 -15 295 65 285 -25 275 -30 265 260 255 250 280 85 275 90 270 95 265 100 260 110 245 115 240 120 235 125 230 130 225 135 220 140 215 145 210 150 205 155 175 170 180 105 250 110 245 115 240 120 235 125 230 130 225 135 220 175 170 165 140 215 145 210 150 205 160 155 200 195 190 185 165 160 340 335 355 0 345350 25 335 330 325 320 315 310 30 35 40 45 -10 50 55 60 -15 -25 -30 115 165 175 170 180 160 155 120 125 130 135 140 145 150 25 30 35 40 45 -10 50 55 60 -15 65 70 -20 285 80 280 85 275 90 270 95 265 100 260 110 245 10 15 20 -5 290 105 250 5 295 70 255 340 3550 345350 305 300 65 -20 190 185 160 8000 Hz 10 15 20 -5 205 200 195 165 0 5 75 240 235 230 225 220 215 210 175 170 180 285 80 105 190 185 100 255 150 190 185 295 75 195 260 155 290 70 -20 200 100 90 95 135 330 325 320 315 310 305 300 35 -5 270 265 140 20 320 280 95 80 85 145 195 70 -30 4000 Hz 15 30 290 270 120 25 300 90 0 5 335 310 275 180 330 325 65 75 125 200 60 -20 130 225 55 -15 -25 115 0 340 85 110 245 2000 Hz 350 355 0 280 105 240 50 285 80 -30 235 45 290 75 230 40 295 70 220 35 -10 300 65 215 30 305 60 -15 205 20 -5 310 55 180 345 50 210 15 315 -20 120 125 130 135 140 145 150 10 320 -25 115 5 25 325 285 80 275 155 35 40 290 350 355 0 330 295 70 -20 345 335 -5 300 65 160 340 305 60 165 175 170 20 30 310 50 55 190 185 15 315 -15 205 200195 10 320 295 240 235 230 225 220 215 210 0 5 25 325 35 45 270 350 355 0 330 40 280 345 335 30 -5 290 1000 Hz 0 0 350 355 0 340345 335 75 80 -25 85 -30 90 95 100 255 105 250 110 245 115 240 235 120 125 230 225 220 130 135 140 215 210 205 145 150 200 195 190 185 175 180 160 170 165 155 Linear array - practical usage • The array was mounted on an X-Y scanning apparatus • a Polytec laser vibrometer is mounted along the array • The system is used for mapping the velocity and sound pressure along a thin board of “resonance” wood (Abete della val di Fiemme, the wood employed for building high-quality musical instruments) • A National Instruments board controls the step motors through a Labview interface • The system is currently in usage at IVALSA (CNR laboratory on wood, San Michele all’Adige, Trento, Italy) Linear array - practical usage • The wood panel is excited by a small piezoelectric transducer • When scanning a wood panel, two types of results are obtained: • A spatially-averaged spectrum of either radiated pressure, vibration velocity, or of their product (which provides an estimate of the radiated sound power) • A colour map of the radiated pressure or of the vibration velocity at each resonance frequency of the board Linear array - test results (small loudspeaker) 250 Hz 500 Hz 1000 Hz 50 50 50 40 40 40 30 30 30 20 20 20 10 10 10 0 0 0 -10 -10 -10 -20 -20 -20 -30 -30 -30 -40 -40 -40 -50 -50 -40 -30 -20 -10 0 10 20 30 40 50 -50 -50 -40 -30 -20 2000 Hz -10 0 10 20 30 40 50 -50 -50 50 40 40 40 30 30 30 20 20 20 10 10 10 0 0 0 -10 -10 -10 -20 -20 -20 -30 -30 -30 -40 -40 -40 -30 -20 -10 0 10 -20 20 30 40 50 -50 -50 -40 -30 -20 -10 0 10 -10 0 10 20 30 40 50 20 30 40 50 8000 Hz 50 -40 -30 4000 Hz 50 -50 -50 -40 20 30 40 50 -50 -50 -40 -30 -20 -10 0 10 Linear array - test results (rectangular wood panel) 468 Hz 469 Hz 1359 Hz 1312 Hz 80 80 80 80 70 70 70 70 60 60 60 60 50 50 50 50 40 40 40 40 30 30 30 30 20 20 20 20 10 10 10 10 0 0 0 0 10 20 30 SPL (dB) 40 50 0 10 20 30 40 velocity (m/s) 50 0 0 10 20 30 SPL (dB) 40 50 0 10 20 30 40 velocity (m/s) 50