Digital Audio Signal Processing Lecture3 Noise Reduction Marc

  • Slides: 32
Download presentation
Digital Audio Signal Processing Lecture-3 Noise Reduction Marc Moonen Dept. E. E. /ESAT-STADIUS, KU

Digital Audio Signal Processing Lecture-3 Noise Reduction Marc Moonen Dept. E. E. /ESAT-STADIUS, KU Leuven marc. moonen@esat. kuleuven. be homes. esat. kuleuven. be/~moonen/

Overview • Spectral subtraction for single-micr. noise reduction – – Single-microphone noise reduction problem

Overview • Spectral subtraction for single-micr. noise reduction – – Single-microphone noise reduction problem Spectral subtraction basics (=spectral filtering) Features: gain functions, implementation, musical noise, … Iterative Wiener filter based on speech signal model • Multi-channel Wiener filter for multi-micr. noise red. – Multi-microphone noise reduction problem – Multi-channel Wiener filter (=spectral+spatial filtering) • Kalman filter based noise reduction – Kalman filters for noise reduction Digital Audio Signal Processing Version 2015 -2016 Lecture-3: Noise Reduction p. 2

Single-Microphone Noise Reduction Problem • Microphone signal is desired signal s[k] y[k] desired signal

Single-Microphone Noise Reduction Problem • Microphone signal is desired signal s[k] y[k] desired signal noise contribution ? desired signal estimate noise signal(s) • Goal: Estimate s[k] based on y[k] • Applications: Speech enhancement in conferencing, handsfree telephony, hearing aids, … Digital audio restoration • Will consider speech applications: s[k] = speech signal Digital Audio Signal Processing Version 2015 -2016 Lecture-3: Noise Reduction p. 3

Spectral Subtraction Methods: Basics • Signal chopped into `frames’ (e. g. 10. . 20

Spectral Subtraction Methods: Basics • Signal chopped into `frames’ (e. g. 10. . 20 msec), for each frame a frequency domain representation is (i-th frame) • However, speech signal is an on/off signal, hence some frames have speech +noise, i. e. some frames have noise only, i. e. • A speech detection algorithm is needed to distinguish between these 2 types of frames (based on energy/dynamic range/statistical properties, …) Digital Audio Signal Processing Version 2015 -2016 Lecture-3: Noise Reduction p. 4

Spectral Subtraction Methods: Basics • Definition: ( ) = average amplitude of noise spectrum

Spectral Subtraction Methods: Basics • Definition: ( ) = average amplitude of noise spectrum • Assumption: noise characteristics change slowly, hence estimate • Estimate clean speech spectrum Si( ) (for each frame), using corrupted speech spectrum Yi( ) (for each frame, i. e. short-time estimate) + estimated ( ): ( ) by (long-time) averaging over (M) noise-only frames based on `gain function’ Digital Audio Signal Processing Version 2015 -2016 Lecture-3: Noise Reduction p. 5

Spectral Subtraction: Gain Functions Digital Audio Signal Processing Version 2015 -2016 Lecture-3: Noise Reduction

Spectral Subtraction: Gain Functions Digital Audio Signal Processing Version 2015 -2016 Lecture-3: Noise Reduction p. 6

s Spectral Subtraction: Gain Functions la r fo u m • Example 1: Ephraim-Malah

s Spectral Subtraction: Gain Functions la r fo u m • Example 1: Ephraim-Malah Suppression Rule (EMSR) p i sk with: • • modified Bessel functions This corresponds to a MMSE (*) estimation of the speech spectral amplitude |Si( )| based on observation Yi( ) ( estimate equal to E{ |Si( )| | Yi( ) } ) assuming Gaussian a priori distributions for Si( ) and Ni( ) [Ephraim & Malah 1984]. Similar formula for MMSE log-spectral amplitude estimation [Ephraim & Malah 1985]. (*) minimum mean squared error Digital Audio Signal Processing Version 2015 -2016 Lecture-3: Noise Reduction p. 7

Spectral Subtraction: Gain Functions • Example 2: Magnitude Subtraction – Signal model: – Estimation

Spectral Subtraction: Gain Functions • Example 2: Magnitude Subtraction – Signal model: – Estimation of clean speech spectrum: – PS: half-wave rectification Digital Audio Signal Processing Version 2015 -2016 Lecture-3: Noise Reduction p. 8

Spectral Subtraction: Gain Functions • Example 3: Wiener Estimation – Linear MMSE estimation: find

Spectral Subtraction: Gain Functions • Example 3: Wiener Estimation – Linear MMSE estimation: find linear filter Gi( ) to minimize MSE – Solution: <- cross-correlation in i-th frame <- auto-correlation in i-th frame Assume speech s[k] and noise n[k] are uncorrelated, then. . . – PS: half-wave rectification Digital Audio Signal Processing Version 2015 -2016 Lecture-3: Noise Reduction p. 9

Spectral Subtraction: Implementation y[k] Y[n, i] Short-time analysis Gain functions Short-time synthesis Short-time Fourier

Spectral Subtraction: Implementation y[k] Y[n, i] Short-time analysis Gain functions Short-time synthesis Short-time Fourier Transform (=uniform DFT-modulated analysis filter bank) = estimate for Y( n ) at time i (i-th frame) N=number of frequency bins (channels) n=0. . N-1 D=downsampling factor K=frame length h[k] = length-K analysis window (=prototype filter) frames with 50%. . . 66% overlap (i. e. 2 -, 3 -fold oversampling, N=2 D. . 3 D) subband processing: synthesis bank: matched to analysis bank (see DSP-CIS) Digital Audio Signal Processing Version 2015 -2016 Lecture-3: Noise Reduction p. 10

Spectral Subtraction: Musical Noise • Audio demo: car noise magnitude subtraction • Artifact: musical

Spectral Subtraction: Musical Noise • Audio demo: car noise magnitude subtraction • Artifact: musical noise What? Short-time estimates of |Yi( )| fluctuate randomly in noise-only frames, resulting in random gains Gi( ) statistical analysis shows that broadband noise is transformed into signal composed of short-lived tones with randomly distributed frequencies (=musical noise) Digital Audio Signal Processing Version 2015 -2016 Lecture-3: Noise Reduction p. 11

Spectral Subtraction: Musical Noise Solutions? - Magnitude averaging: replace Yi( ) in calculation of

Spectral Subtraction: Musical Noise Solutions? - Magnitude averaging: replace Yi( ) in calculation of Gi( ) by a local average over frames average instantaneous - EMSR (p 7) - augment Gi( ) with soft-decision VAD: Gi( ) P(H 1 | Yi( )). Gi( ) … probability that speech is present, given observation Digital Audio Signal Processing Version 2015 -2016 Lecture-3: Noise Reduction p. 12

Spectral Subtraction: Iterative Wiener Filter Example of signal model-based spectral subtraction… • Basic: Wiener

Spectral Subtraction: Iterative Wiener Filter Example of signal model-based spectral subtraction… • Basic: Wiener filtering based spectral subtraction (p. 9), with (improved) spectra estimation based on parametric models • Procedure: 1. Estimate parameters of a speech model from noisy signal y[k] 2. Using estimated speech parameters, perform noise reduction (e. g. Wiener estimation, p. 9) 3. Re-estimate parameters of speech model from the speech signal estimate 4. Iterate 2 & 3 Digital Audio Signal Processing Version 2015 -2016 Lecture-3: Noise Reduction p. 13

Spectral Subtraction: Iterative Wiener Filter pulse train voiced … … pitch period unvoiced all-pole

Spectral Subtraction: Iterative Wiener Filter pulse train voiced … … pitch period unvoiced all-pole filter u[k] speech signal x white noise generator frequency domain: time domain: = linear prediction parameters Digital Audio Signal Processing Version 2015 -2016 Lecture-3: Noise Reduction p. 14

Spectral Subtraction: Iterative Wiener Filter For each frame (vector) y[m] 1. Estimate (i=iteration nr.

Spectral Subtraction: Iterative Wiener Filter For each frame (vector) y[m] 1. Estimate (i=iteration nr. ) and 2. Construct Wiener Filter (p. 9) Repeat until some error criterion is satisfied with: • • estimated during noise-only periods 3. Filter speech frame y[m] Digital Audio Signal Processing Version 2015 -2016 Lecture-3: Noise Reduction p. 15

Overview • Spectral subtraction for single-micr. noise reduction – – Single-microphone noise reduction problem

Overview • Spectral subtraction for single-micr. noise reduction – – Single-microphone noise reduction problem Spectral subtraction basics (=spectral filtering) Features: gain functions, implementation, musical noise, … Iterative Wiener filter based on speech signal model • Multi-channel Wiener filter for multi-micr. noise red. – Multi-microphone noise reduction problem – Multi-channel Wiener filter (=spectral+spatial filtering) • Kalman filter based noise reduction – Kalman filters for noise reduction Digital Audio Signal Processing Version 2015 -2016 Lecture-3: Noise Reduction p. 16

Multi-Microphone Noise Reduction Problem speech source (some) speech estimate microphone signals noise source(s) speech

Multi-Microphone Noise Reduction Problem speech source (some) speech estimate microphone signals noise source(s) speech part Digital Audio Signal Processing Version 2015 -2016 noise part Lecture-3: Noise Reduction M= number of microphones ? p. 17

Multi-Microphone Noise Reduction Problem Will estimate speech part in microphone 1 (*) (**) ?

Multi-Microphone Noise Reduction Problem Will estimate speech part in microphone 1 (*) (**) ? (*) Estimating s[k] is more difficult, would include dereverberation. . . (**) This is similar to single-microphone model (p. 3), where additional microphones (m=2. . M) help to get a better estimate Digital Audio Signal Processing Version 2015 -2016 Lecture-3: Noise Reduction p. 18

Multi-Microphone Noise Reduction Problem • Data model: See Lecture-2 on multi-path propagation, with q

Multi-Microphone Noise Reduction Problem • Data model: See Lecture-2 on multi-path propagation, with q left out for conciseness. Hm(ω) is complete transfer function from speech source position to mthe microphone Digital Audio Signal Processing Version 2015 -2016 Lecture-3: Noise Reduction p. 19

Multi-Channel Wiener Filter (MWF) • Data model: • Will use linear filters to obtain

Multi-Channel Wiener Filter (MWF) • Data model: • Will use linear filters to obtain speech estimate (as in Lecture-2) • Wiener filter (=linear MMSE approach) Note that (unlike in DSP-CIS) `desired response’ signal S 1(w) is unknown here (!), hence solution will be `unusual’… Digital Audio Signal Processing Version 2015 -2016 Lecture-3: Noise Reduction p. 20

Multi-Channel Wiener Filter (MWF) • Wiener filter solution is (see DSP-CIS) compute during speech+noise

Multi-Channel Wiener Filter (MWF) • Wiener filter solution is (see DSP-CIS) compute during speech+noise periods compute during noise-only periods – All quantities can be computed ! – Special case of this is single-channel Wiener filter formula on p. 9 – In practice, use alternative to ‘subtraction’ operation (see literature) Digital Audio Signal Processing Version 2015 -2016 Lecture-3: Noise Reduction p. 21

Multi-Channel Wiener Filter (MWF) • Note that… MWF combines spatial filtering (as in Lecture-2)

Multi-Channel Wiener Filter (MWF) • Note that… MWF combines spatial filtering (as in Lecture-2) with single-channel spectral filtering (as in single-channel noise reduction) if then… Digital Audio Signal Processing Version 2015 -2016 Lecture-3: Noise Reduction p. 22

Multi-Channel Wiener Filter (MWF) …then it can be shown that represents a spatial filtering

Multi-Channel Wiener Filter (MWF) …then it can be shown that represents a spatial filtering (*) ① Compare to superdirective & delay-and-sum beamforming (Lecture-2) – Delay-and-sum beamf. maximizes array gain in white noise field – Superdirective beamf. maximizes array gain in diffuse noise field – MWF maximizes array gain in unknown (!) noise field. MWF is operated without invoking any prior knowledge (steering vector/noise field) ! (the secret is in the voice activity detection… (explain)) (*) Note that spatial filtering can improve SNR, spectral filtering never improves SNR (at one frequency) Digital Audio Signal Processing Version 2015 -2016 Lecture-3: Noise Reduction p. 23

Multi-Channel Wiener Filter (MWF) …then it can be shown that represents a spatial filtering

Multi-Channel Wiener Filter (MWF) …then it can be shown that represents a spatial filtering (*) ① ② represents an additional `spectral post-filter’ i. e. single-channel Wiener estimate (p. 9), applied to output signal of spatial filter (prove it!) Digital Audio Signal Processing Version 2015 -2016 Lecture-3: Noise Reduction p. 24

Multi-Channel Wiener Filter: Implementation • Implementation with short-time Fourier transform: see p. 10 •

Multi-Channel Wiener Filter: Implementation • Implementation with short-time Fourier transform: see p. 10 • Implementation with time-domain linear filtering: filter coefficients Digital Audio Signal Processing Version 2015 -2016 Lecture-3: Noise Reduction p. 25

Multi-Channel Wiener Filter: Implementation • Implementation with time-domain linear filtering: Solution is… compute during

Multi-Channel Wiener Filter: Implementation • Implementation with time-domain linear filtering: Solution is… compute during speech+noise periods compute during noise-only periods Digital Audio Signal Processing Version 2015 -2016 Lecture-3: Noise Reduction p. 26

r e Overview 6 t f e a r y u l t n

r e Overview 6 t f e a r y u l t n c • Spectral subtraction for single-micr. noise reduction o e L – Single-microphone noise reduction problem e u d – Spectral subtraction basics (=spectral filtering) n e i i t ud functions, implementation, musical noise, … –n Features: gain o t – Iterative s C g Wiener filter based on speech signal model n • Multi-channel Wiener filter for multi-micr. noise red. i v – Multi-microphone noise reduction problem a h – Multi-channel Wiener filter (=spectral+spatial filtering) • Kalman filter based noise reduction – Kalman filters : See Lecture-6 – Kalman filters for noise reduction Digital Audio Signal Processing Version 2015 -2016 Lecture-3: Noise Reduction p. 27

Kalman filter for Speech Enhancement • Assume AR model of speech and noise u[k],

Kalman filter for Speech Enhancement • Assume AR model of speech and noise u[k], w[k] = zero mean, unit variance, white noise • Equivalent state-space model is… y=microphone signal Digital Audio Signal Processing Version 2015 -2016 Lecture-3: Noise Reduction p. 28

Kalman filter for Speech Enhancement Digital Audio Signal Processing s[k] and n[k] are included

Kalman filter for Speech Enhancement Digital Audio Signal Processing s[k] and n[k] are included in state vector, hence can be estimated by Kalman Filter with: Version 2015 -2016 Lecture-3: Noise Reduction p. 29

Kalman filter for Speech Enhancement Iterative algorithm (details omitted) iterations y[k] split signal in

Kalman filter for Speech Enhancement Iterative algorithm (details omitted) iterations y[k] split signal in frames estimate parameters Kalman Filter reconstruct signal Disadvantages iterative approach: • complexity • delay Digital Audio Signal Processing Version 2015 -2016 Lecture-3: Noise Reduction p. 30

Kalman filter for Speech Enhancement Sequential algorithm (details omitted) iteration index time index (no

Kalman filter for Speech Enhancement Sequential algorithm (details omitted) iteration index time index (no iterations) D State Estimator (Kalman Filter) Parameters Estimator (Kalman Filter) D Digital Audio Signal Processing Version 2015 -2016 Lecture-3: Noise Reduction p. 31

CONCLUSIONS • Single-channel noise reduction – Basic system is spectral subtraction – Only spectral

CONCLUSIONS • Single-channel noise reduction – Basic system is spectral subtraction – Only spectral filtering, hence can only exploit differences in spectra between noise and speech signal: • noise reduction at expense of speech distortion • achievable noise reduction may be limited • Multi-channel noise reduction – Basic system is MWF, – Provides spectral + spatial filtering (links with beamforming!) • Iterative Wiener filter & Kalman filtering – Signal model based approach Digital Audio Signal Processing Version 2015 -2016 Lecture-3: Noise Reduction p. 32