improvement in hoarse voice denoising for real - time dsp implementation claudia manfredi, fabrizio...

23
IMPROVEMENT IN HOARSE IMPROVEMENT IN HOARSE VOICE DENOISING VOICE DENOISING FOR REAL - TIME DSP FOR REAL - TIME DSP IMPLEMENTATION IMPLEMENTATION Claudia Manfredi, Fabrizio Dori, Ernesto Claudia Manfredi, Fabrizio Dori, Ernesto Iadanza Iadanza Department of Electronics and Department of Electronics and Telecommunications Telecommunications Università degli Studi di Firenze, Firenze, Italy Università degli Studi di Firenze, Firenze, Italy

Upload: madisen-crenshaw

Post on 29-Mar-2015

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IMPROVEMENT IN HOARSE VOICE DENOISING FOR REAL - TIME DSP IMPLEMENTATION Claudia Manfredi, Fabrizio Dori, Ernesto Iadanza Department of Electronics and

IMPROVEMENT IN HOARSE IMPROVEMENT IN HOARSE VOICE DENOISING VOICE DENOISING

FOR REAL - TIME DSP FOR REAL - TIME DSP IMPLEMENTATIONIMPLEMENTATION

Claudia Manfredi, Fabrizio Dori, Ernesto IadanzaClaudia Manfredi, Fabrizio Dori, Ernesto Iadanza

Department of Electronics and TelecommunicationsDepartment of Electronics and TelecommunicationsUniversità degli Studi di Firenze, Firenze, ItalyUniversità degli Studi di Firenze, Firenze, Italy

Page 2: IMPROVEMENT IN HOARSE VOICE DENOISING FOR REAL - TIME DSP IMPLEMENTATION Claudia Manfredi, Fabrizio Dori, Ernesto Iadanza Department of Electronics and

AIMSAIMS

Voice hoarseness is mainly related to airflow Voice hoarseness is mainly related to airflow turbulence in the vocal tract. It can be due to vocal turbulence in the vocal tract. It can be due to vocal fold paralysis, polyps, cordectomisation or other fold paralysis, polyps, cordectomisation or other dysfunction, which alter regular speech production.dysfunction, which alter regular speech production.

Standard but reliable procedures and devices are Standard but reliable procedures and devices are desirable, as far as medical, surgical and logopaedic desirable, as far as medical, surgical and logopaedic treatments are concerned.treatments are concerned.

Simple, user-friendly and cheap devices are needed, Simple, user-friendly and cheap devices are needed, to be easily found on the market.to be easily found on the market.

To this aim, a portable device is proposed, as an aid To this aim, a portable device is proposed, as an aid for dysphonic speakers. It could be of help for for dysphonic speakers. It could be of help for diminishing effort in speaking and improve diminishing effort in speaking and improve communication quality, which is closely related to communication quality, which is closely related to social problems due to awkwardness of voicesocial problems due to awkwardness of voice.

Page 3: IMPROVEMENT IN HOARSE VOICE DENOISING FOR REAL - TIME DSP IMPLEMENTATION Claudia Manfredi, Fabrizio Dori, Ernesto Iadanza Department of Electronics and

INTRODUCTIONINTRODUCTION

This paper presents an approach for reducing This paper presents an approach for reducing voice hoarseness, based on low-order Singular voice hoarseness, based on low-order Singular Value Decomposition (SVD) of data matrices.Value Decomposition (SVD) of data matrices.

Quantitative (SNR/PSD) indexes are evaluated for Quantitative (SNR/PSD) indexes are evaluated for testing the filtering procedure. testing the filtering procedure.

A prototype DSP board implementing the A prototype DSP board implementing the procedure is developed, by means of properly procedure is developed, by means of properly optimised C and Assembler code. optimised C and Assembler code.

A new step is implemented in the filtering chain to A new step is implemented in the filtering chain to reduce noise and increase output signal quality.reduce noise and increase output signal quality.

Page 4: IMPROVEMENT IN HOARSE VOICE DENOISING FOR REAL - TIME DSP IMPLEMENTATION Claudia Manfredi, Fabrizio Dori, Ernesto Iadanza Department of Electronics and

WHY SVDWHY SVD

SVD of noisy data provides a factorization of data matrix SVD of noisy data provides a factorization of data matrix A where singular vectors of A corresponding to the A where singular vectors of A corresponding to the dominant singular values are a good estimate of noise-dominant singular values are a good estimate of noise-free matrix.free matrix.

SVD is a numerically reliable and robust means for SVD is a numerically reliable and robust means for estimating the space of clean data (estimating the space of clean data (signal subspacesignal subspace) from ) from the white noise corrupted data, and is thus particularly the white noise corrupted data, and is thus particularly suited for speech denoising. suited for speech denoising.

The resulting low-rank approximation gaves a variable The resulting low-rank approximation gaves a variable subspace of dimension p, linked to the signal dynamics. subspace of dimension p, linked to the signal dynamics. However, from the denoising point of view, the best However, from the denoising point of view, the best results were obtained with results were obtained with p=2 p=2 both with synthetic and both with synthetic and real data.real data.

Page 5: IMPROVEMENT IN HOARSE VOICE DENOISING FOR REAL - TIME DSP IMPLEMENTATION Claudia Manfredi, Fabrizio Dori, Ernesto Iadanza Department of Electronics and

SVD DENOISING PROCEDURESVD DENOISING PROCEDURE

repeat on subsequent frames until the whole speech signal is cleaned

N-points frame

extraction

SVD Analysys

Clean speech frame

reconstruction

IN OUT

Page 6: IMPROVEMENT IN HOARSE VOICE DENOISING FOR REAL - TIME DSP IMPLEMENTATION Claudia Manfredi, Fabrizio Dori, Ernesto Iadanza Department of Electronics and

QUANTITATIVE MEASURE:QUANTITATIVE MEASURE:SNRSNR

y(n) = noisy signal sample at time ny(n) = noisy signal sample at time nyyfiltfilt(n) = filtered signal sample at time n(n) = filtered signal sample at time n

Low SNR values correspond to strong filtering.Low SNR values correspond to strong filtering.

M

1nfilt

M

1n

2

10 2(n))y(y(n)

(n)y10logSNR

M

1nfilt

M

1n

2

10 2(n))y(y(n)

(n)y10logSNR

Page 7: IMPROVEMENT IN HOARSE VOICE DENOISING FOR REAL - TIME DSP IMPLEMENTATION Claudia Manfredi, Fabrizio Dori, Ernesto Iadanza Department of Electronics and

QUANTITATIVE MEASURE:QUANTITATIVE MEASURE:PSDPSD

For good denoising: For good denoising: PSD and PSDPSD and PSDlow low around zero (no loss of power)around zero (no loss of power)

High PSDHigh PSDhighhigh (loss of power due to noise) (loss of power due to noise)

filtPSD

filtnonPSD

10log10PSD

filtPSD

filtnonPSD

10log10PSD

)kHz4f(filt

PSD

)kHz4f(filtnon

PSD

10log10

lowPSD

)kHz4f(

filtPSD

)kHz4f(filtnon

PSD

10log10

lowPSD

)kHz4f(filt

PSD

)kHz4f(filtnon

PSD

10log10

highPSD

)kHz4f(

filtPSD

)kHz4f(filtnon

PSD

10log10

highPSD

Page 8: IMPROVEMENT IN HOARSE VOICE DENOISING FOR REAL - TIME DSP IMPLEMENTATION Claudia Manfredi, Fabrizio Dori, Ernesto Iadanza Department of Electronics and

Realized in C.N.R. Labs, Institute of Clinical Physiology, PisaRealized in C.N.R. Labs, Institute of Clinical Physiology, Pisa

HW IMPLEMENTATION:HW IMPLEMENTATION:DSP BOARDDSP BOARD

Page 9: IMPROVEMENT IN HOARSE VOICE DENOISING FOR REAL - TIME DSP IMPLEMENTATION Claudia Manfredi, Fabrizio Dori, Ernesto Iadanza Department of Electronics and

DSP BOARD: SW TOPICSDSP BOARD: SW TOPICS

The The SVD algorithmSVD algorithm is implemented by means of a is implemented by means of a two-step procedure:two-step procedure:

1 - The data matrix A is bi-diagonalised applying a 1 - The data matrix A is bi-diagonalised applying a sequence of Householder reflections;sequence of Householder reflections;2 - A is made diagonal using a modified QR 2 - A is made diagonal using a modified QR algorithm.algorithm.

C language routinesC language routines build data matrices, perform build data matrices, perform computations and collect filtered data for the output computations and collect filtered data for the output frame reconstruction.frame reconstruction.Assembler codeAssembler code is used for SVD factorisation. is used for SVD factorisation. Pipelining is used for loops.Pipelining is used for loops.

Page 10: IMPROVEMENT IN HOARSE VOICE DENOISING FOR REAL - TIME DSP IMPLEMENTATION Claudia Manfredi, Fabrizio Dori, Ernesto Iadanza Department of Electronics and

RESULTS: REAL DATARESULTS: REAL DATA

Adult male patients that underwent partial Adult male patients that underwent partial cordectomisation, pronouncing the cordectomisation, pronouncing the Italian Italian word /aiuole/word /aiuole/ (flowerbeds), which is composed of (flowerbeds), which is composed of the five principal vowels /a/, /e/, /i/, /o/, /u/.the five principal vowels /a/, /e/, /i/, /o/, /u/.

Nine lancet (A1-A9) and seven laser (B1-B7) Nine lancet (A1-A9) and seven laser (B1-B7) operated subjects were analysed (all results are operated subjects were analysed (all results are not presented here).not presented here).

Page 11: IMPROVEMENT IN HOARSE VOICE DENOISING FOR REAL - TIME DSP IMPLEMENTATION Claudia Manfredi, Fabrizio Dori, Ernesto Iadanza Department of Electronics and

0 2000 4000 6000 8000 10000 12000

-50

-40

-30

-20

-10

0

PSDtot

=0.56198 PSDlow

=0.53911 PSDhigh

=20.7645 [dB]

SNR=7.4194 Freq. [Hz]

PS

D [d

B]

RESULTS: PSDRESULTS: PSD

0 2000 4000 6000 8000 10000 12000

-60

-50

-40

-30

-20

-10

0

PSDtot

=0.018502 PSDlow

=-0.0037879 PSDhigh

=14.6047 [dB]

SNR=16.3975 Freq. [Hz]

PS

D [d

B]

Before improvement After improvement

•PSD lower on the whole frequency range (PSD=0.56 PSD lower on the whole frequency range (PSD=0.56 dB), especially on the high frequency region dB), especially on the high frequency region (PSDhigh=20.76 dB). (PSDhigh=20.76 dB). •Small negative effect on the low one (PSDlow=0.54), Small negative effect on the low one (PSDlow=0.54), with some lowering of the output signal level. with some lowering of the output signal level. •Strong denoising is achieved (SNR=7.42 dB).Strong denoising is achieved (SNR=7.42 dB).

•Better values for the PSD on whole frequency range Better values for the PSD on whole frequency range (PSD=0.02 dB) and on the low frequency range (PSD=0.02 dB) and on the low frequency range (PSDlow=-0.004 dB), corresponding to a good voice level (PSDlow=-0.004 dB), corresponding to a good voice level at the output. at the output. •Lower PSD on the high frequency region Lower PSD on the high frequency region (PSDhigh=14.6 dB), and correspondingly a higher SNR (PSDhigh=14.6 dB), and correspondingly a higher SNR value (SNR=16.4 dB). value (SNR=16.4 dB).

originaloriginal

filteredfiltered

Page 12: IMPROVEMENT IN HOARSE VOICE DENOISING FOR REAL - TIME DSP IMPLEMENTATION Claudia Manfredi, Fabrizio Dori, Ernesto Iadanza Department of Electronics and

RESULTS: SPECTROGRAMRESULTS: SPECTROGRAM

Time [s]

Fre

qu

ency

[H

z]

Spectrogram - Non-filtered signal

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500 6000

Time [s]

Freq

uenc

y [H

z]

Spectrogram - Filtered signal

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500 6000

Time [s]

Freq

uenc

y [H

z]

Spectrogram - Enhanced filtering

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8

500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500 6000

The noise level is reduced (middle and right plot), especially above 4 kHz. The noise level is reduced (middle and right plot), especially above 4 kHz.

Middle plot clearly shows the presence of click noise, which appears as almost regularly spaced Middle plot clearly shows the presence of click noise, which appears as almost regularly spaced vertical lines of rather high intensity. vertical lines of rather high intensity.

Right plot shows that the new approach allows reducing this side effect, that has almost disappeared. Right plot shows that the new approach allows reducing this side effect, that has almost disappeared. Moreover, harmonics have been enhanced and often recovered, as their intensity colour clearly Moreover, harmonics have been enhanced and often recovered, as their intensity colour clearly shows. shows.

Page 13: IMPROVEMENT IN HOARSE VOICE DENOISING FOR REAL - TIME DSP IMPLEMENTATION Claudia Manfredi, Fabrizio Dori, Ernesto Iadanza Department of Electronics and

RESULTS: FORMANTSRESULTS: FORMANTS

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.80

500

1000

1500

2000

2500

3000

3500

4000

4500

5000

Time [s]

Frequency [Hz]

Formants - o=Non-filt.; *=SVD-filt.; +=Enhanced SVD-filt

Formant trajectory is Formant trajectory is obtained by means of obtained by means of Autoregressive (AR) Autoregressive (AR) PSD estimation, with a PSD estimation, with a model order: p=25=Fmodel order: p=25=Fss..

This choice is in fact a This choice is in fact a good compromise good compromise between parsimony and between parsimony and good resolution.good resolution.

Formant enhancementFormant enhancement

Page 14: IMPROVEMENT IN HOARSE VOICE DENOISING FOR REAL - TIME DSP IMPLEMENTATION Claudia Manfredi, Fabrizio Dori, Ernesto Iadanza Department of Electronics and

FINAL REMARKSFINAL REMARKS

The proposed algorithm has been successfully The proposed algorithm has been successfully implemented on the DSP board and useful implemented on the DSP board and useful objective parameters for voice analysis are objective parameters for voice analysis are evaluated.evaluated.

The DSP board is a prototype of an HW tool for The DSP board is a prototype of an HW tool for real-time voice processing and enhancing.real-time voice processing and enhancing.

The DSP board is the first step towards a portable The DSP board is the first step towards a portable device, which could be of help for dysphonic device, which could be of help for dysphonic people.people.

Page 15: IMPROVEMENT IN HOARSE VOICE DENOISING FOR REAL - TIME DSP IMPLEMENTATION Claudia Manfredi, Fabrizio Dori, Ernesto Iadanza Department of Electronics and

FUTURE WORKFUTURE WORKCompare SVD with other methods (already Compare SVD with other methods (already

successfully done with Least Squares and some successfully done with Least Squares and some wavelet family).wavelet family).

Further optimise filtered voices (increase energy and Further optimise filtered voices (increase energy and reduce spikes). Sreduce spikes). Specifically, a selective procedure pecifically, a selective procedure should be defined for the normalisation step, in order should be defined for the normalisation step, in order to avoid enhancing undesired frequency ranges.to avoid enhancing undesired frequency ranges.

Find correlation between GIRBAS scale and Find correlation between GIRBAS scale and quantitative parameters, also for classification quantitative parameters, also for classification purposes.purposes.

Optimise the device, as an aid for non-invasive Optimise the device, as an aid for non-invasive diagnosis, rehabilitation and dysphonic patients diagnosis, rehabilitation and dysphonic patients speaking.speaking.

Page 16: IMPROVEMENT IN HOARSE VOICE DENOISING FOR REAL - TIME DSP IMPLEMENTATION Claudia Manfredi, Fabrizio Dori, Ernesto Iadanza Department of Electronics and

THANKS FOR YOUR THANKS FOR YOUR ATTENTIONATTENTION

Page 17: IMPROVEMENT IN HOARSE VOICE DENOISING FOR REAL - TIME DSP IMPLEMENTATION Claudia Manfredi, Fabrizio Dori, Ernesto Iadanza Department of Electronics and

DENOISING WITH SVDDENOISING WITH SVD

SVD allows solving the problem of finding the nxm SVD allows solving the problem of finding the nxm matrix Amatrix App, p, prank(A), which will best approximate rank(A), which will best approximate A in the 2-norm sense. A in the 2-norm sense.

The unique solution to this problem isThe unique solution to this problem is

AApp = U = UppVVTT

where U and V are as before and where U and V are as before and pp is obtained from is obtained from by setting to zero all but its p largest singular by setting to zero all but its p largest singular values. values.

The accuracy of this approximation is given by The accuracy of this approximation is given by p+1p+1..

Page 18: IMPROVEMENT IN HOARSE VOICE DENOISING FOR REAL - TIME DSP IMPLEMENTATION Claudia Manfredi, Fabrizio Dori, Ernesto Iadanza Department of Electronics and

SINGULAR VALUE DECOMPOSITION SINGULAR VALUE DECOMPOSITION (SVD)(SVD)

00

0ΣAVUT

00

0ΣAVUT

AAnxmnxm = data matrix; U, V = left and right = data matrix; U, V = left and right singular vectorssingular vectors of of A, respectively; rA, respectively; r = min (n, m) = rank(A)). = min (n, m) = rank(A)).

rxr rxr = diag(= diag(1122……rr), ), ii>0>0, , thethe singular valuessingular values of Aof A. .

They display the distance of A from low-rank matrices. They display the distance of A from low-rank matrices.

Together with U and V, Together with U and V, ii are used to construct are used to construct optimal low-optimal low-

rank approximantsrank approximants of A: of A: AApp, p, p r r

Page 19: IMPROVEMENT IN HOARSE VOICE DENOISING FOR REAL - TIME DSP IMPLEMENTATION Claudia Manfredi, Fabrizio Dori, Ernesto Iadanza Department of Electronics and

THE DATA MATRIX ATHE DATA MATRIX A

)1L(y.)3(y)2(y

....

....

)1N(y.)1LN(y)LN(y

)N(y.)2LN(y)1LN(y

)LN(y.)2N(y)1N(y

....

....

)2(y.)2L(y)1L(y

)1(y.)1L(y)L(y

A

TTT

TTT

TTT

)1L(y.)3(y)2(y

....

....

)1N(y.)1LN(y)LN(y

)N(y.)2LN(y)1LN(y

)LN(y.)2N(y)1N(y

....

....

)2(y.)2L(y)1L(y

)1(y.)1L(y)L(y

A

TTT

TTT

TTT

y(t)=signal y(t)=signal sample at sample at time t time t

N=3FN=3Fss/F/Fminmin

FFss=sampling =sampling

frequencyfrequency

FFminmin=min F=min F00

L=FL=Fss + 4 + 4

FFss in kHz in kHz

Page 20: IMPROVEMENT IN HOARSE VOICE DENOISING FOR REAL - TIME DSP IMPLEMENTATION Claudia Manfredi, Fabrizio Dori, Ernesto Iadanza Department of Electronics and

FINDING THE SIGNAL FINDING THE SIGNAL SUBSPACE DIMENSION pSUBSPACE DIMENSION p

Classical system identification techniques, as well as a Classical system identification techniques, as well as a new new approach (DME)approach (DME) were applied to the decreasing sequence were applied to the decreasing sequence

of singular values of singular values 1122……rr>0 of A, on each data >0 of A, on each data

frame. This gave a variable subspace dimension p, linked frame. This gave a variable subspace dimension p, linked to the signal dynamics.to the signal dynamics.However, from the denoising point of view, the best results However, from the denoising point of view, the best results were obtained with were obtained with

p=2p=2both with synthetic and real data.both with synthetic and real data.

Page 21: IMPROVEMENT IN HOARSE VOICE DENOISING FOR REAL - TIME DSP IMPLEMENTATION Claudia Manfredi, Fabrizio Dori, Ernesto Iadanza Department of Electronics and

QUALITATIVE MEASURE: GRBAS SCALE

It comprises five qualitative parameters, ranging from 0 (healthy voice) to 3 (severe disease):

G = grade of dysphony, related to shimmer and noise

R = roughness, related to jitterB = breathiness, related to shimmerA = asthenicityS = strainess

quantitative measures:PSD quantitative measures:SNR

Page 22: IMPROVEMENT IN HOARSE VOICE DENOISING FOR REAL - TIME DSP IMPLEMENTATION Claudia Manfredi, Fabrizio Dori, Ernesto Iadanza Department of Electronics and

RESULTS - GRBAS and SNRA3-SVD-DWT A7-SVD-DWT B3-SVD-DWT B6-SVD-DWT

G 1 - 0 - 2 2 - 1 - 1 2 - 1 - 1 1 - 1 - 2

R 1 - 1 - 1 0 - 0 - 1 1 - 0 - 0 1 - 0 - 0

B 1 - 0 - 1 2 - 1 - 1 2 - 1 - 1 2 - 1 - 1

A 0 - 0 - 0 0 - 0 - 1 2 - 1 - 1 1 - 0 - 1

S 0 - 0 - 1 0 - 0 - 0 0 - 0 - 0 0 - 0 - 0

SNR 3.97-11.2 7.56-15.4 13.5-16.9 6.57-13.1

quantitative measures:SNRquantitative measures:PSD

Page 23: IMPROVEMENT IN HOARSE VOICE DENOISING FOR REAL - TIME DSP IMPLEMENTATION Claudia Manfredi, Fabrizio Dori, Ernesto Iadanza Department of Electronics and

OTHER SOUND EXAMPLESOTHER SOUND EXAMPLES

results:spectrogram

Original Svd filtered New Svd

GRBAS and SNR results