1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António...

62
1 AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007

Transcript of 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António...

Page 1: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

1AT 2007

Conceitos de Sinais e SistemasMestrado em Ciências da Fala e da Audição

António Teixeira13 Janeiro 2007

Page 2: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

2AT 2007

Aula

12• Análise LPC• Análise Cepstral• Obtenção de F0 e

Formante

• MATLAB– lpc()– rceps()– xcorr()

Page 3: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

3AT 2007

Análise LPC

Uma introdução

Page 4: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

4AT 2007

• A análise de Fourier não é a única forma de determinar o espectro de um sinal

• Uma técnica muito utilizada na área do processamento de voz e Fonética envolve determinar os chamados coeficientes de predição linear (Linear Predictive Coding Coefficients)

• Este procedimento é conhecido por análise LPC– é um processo mais complexo que a DFT– mas é possível compreender os princípios sem entrar nos

detalhes matemáticos mais complexos

Page 5: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

5AT 2007

• Segundo a teoria-fonte filtro produz-se um som pela passagem de uma excitação por um filtro

“Entrada nula” cordas vocais tracto vocal rad vozisto é“Entrada nula” sistema (cordas vocais + tracto + rad) voz

• A noção base da análise LPC baseia-se no processo inverso

– voz sistema inverso (filtro LPC) “saída zero”

a saída será zero se o filtro LPC for exactamente o inverso do sistema

• No primeiro caso temos “síntese” ou produção, no segundo “análise”

Page 6: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

6AT 2007

• Na abordagem LPC as características espectrais da fonte glotal e radiação são incluídas conjuntamente com as relativas ao tracto vocal num mesmo filtro

Page 7: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

7AT 2007

• A análise LPC envolve determinar um filtro cujas características em termos de resposta em frequência seja o inverso do espectro do sinal de voz

• Como já vimos os filtros digitais são definidos por um conjunto de coeficientes– lembra-se dos vectores usados no comando filter ?

Page 8: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

8AT 2007

• Também é possível usar um conjunto de coeficientes para “prever” o valor de uma amostra do sinal com base em amostras anteriores– y[n]= função de y[n-1], y[n-2], y[n-3] ...

• O algoritmo LPC faz uma previsão desta forma usando um número reduzido de pontos anteriores, multiplicando cada por um coeficiente

Page 9: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

9AT 2007

• O princípio básico da análise LPC é a de que uma amostra pode ser considerado como simplesmente a soma de um número de amostras anteriores, cada multiplicada por um número adequado– os números são denominados coeficientes de

predição linear

– y[n]= a1 y[n-1] + a2 y[n-2] ....

Page 10: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

10AT 2007

• Para um sinal y, a análise LPC calcula os coeficientes a[1] ... a[p] tais quey[n]= a[1] y[n-1] +a[2] y[n-2]+ ... +a[p] y[n-p] +erro

Page 11: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

11AT 2007

Relação com a produção de voz• A produção pode ser descrito pela equação de convolução

y * a = b * xonde x é ma fonte, a e b coeficientes.

• Para sons sem anti-ressonâncias (exemplo: as vogais) b=1 e a equação reduz-se– y * a = xy[n] + a[1] y[n-1] +a[2] y[n-2] + ... +a[k]y[n-k]=x[n] ou rearranjandoy[n] = -a[1] y[n-1]-a[2] y[n-2]- ... -a[k]y[n-k]+x[n]

• Ou seja, num modelo sem anti-ressonâncias, a amostra actual é igual a uma combinação linear de amostras anteriores da saída mais a entrada

• O modelo proposto antes é, portanto, adequado

Page 12: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

12AT 2007

Um exemplo de como determinar os coeficientes

• Consideremos um sinal• tomemos 12 amostras (uma janela)

– designados por s1, s2, ..., s12

• a estimativa para s5 considerando as 4 amostras anteriores– s^5= a1 x s4 + a2 x s3 + a3 x s2 + a4 x s1– num caso concreto teríamos algo como– s^5 = -42 a1 + 17 a2 + 5 a3 + 90 a4

Page 13: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

13AT 2007

• continuando...– s^6= - 71 a1 – 42 a2 + 17 a3 + 50 a4– s^7= ....– s^8= ....– s^9= ....

• Se cada amostra fosse correctamente predicta, não haveria diferença entre s e s^

0=sn – s^n

Page 14: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

14AT 2007

• isto és6 – s^6 = 0

= -40 – (-71 a1 –42 +17 a3 + 50 a4)

s7-s^7=0= -4 –(-74 a1 –54 a2 + 16 a3 + 97 a4)

s8- s^8=0= 22 – (-40 a1 – 79 a2 – 54 a3 + 16 a4)

s9-s^9=0=49 – (-4 a1 –59 a2 – 79 a3 – 54 a4)

temos um sistema de 4 equações com 4 incógnitasfacilmente se obtem a1,a2,a3 e a4

neste caso: a1=0.5, a2=-0.6, a3=0.4 e a4=-0.7

Page 15: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

15AT 2007

generalizando• No entanto pretendemos obter os coeficientes

que sejam adequados não apenas a este conjunto restrito e específico de pontos mas para qualquer amostra– como vimos resolvendo a equação anterior

obtemos coeficientes adequados para s6 a s9– mas darão um erro se aplicados a outras amostras– o erro para cada ponto é designado por en

• en=(s^n – sn)2

– usa-se o quadrado para que seja sempre positivo

Page 16: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

16AT 2007

• teremos:e6=(s^6 – s6)2

(a1 s5 + a2 s4 + a3 s3 + a4 s2 – s6)2

e7=(s^7 – s7)2

(a1 s6 + a2 s6 + a3 s4 + a4 s3 – s7)2

...

e12=(s^12 – s12)2

(a1 s11 + a2 s10 + a3 s9 + a4 s8 – s7)2

• o algoritmo resolve este conjunto de equações tentando minimizar o erro– Usando o Matlab obtêm-se rapidamente usando o comando lpc()– Os coeficientes são uma forma eficiente de descrever o sinal de

voz

Page 17: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

17AT 2007

Matlab – lpc()• A = LPC(X,N) finds the coefficients, A=[ 1 A(2) ...

A(N+1) ], of an Nth order forward linear predictor– Xp(n) = -A(2)*X(n-1) - A(3)*X(n-2) - ... - A(N+1)*X(n-N)

– such that the sum of the squares of the errors err(n) = X(n) - Xp(n) is minimized.

• [A,E] = LPC(X,N) returns the variance (power) of the prediction error.

• LPC uses the Levinson-Durbin recursion to solve the normal equations that arise from the least-squares formulation. – This computation of the linear prediction coefficients is

often referred to as the autocorrelation method.

Page 18: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

18AT 2007

Métodos de obtenção dos coef.• Existem várias formas de obter os coeficientes• Sem entrar nos detalhes, refiram-se:

– método da autocorrelação– método da covariância– método da “lattice”

– Consultar livros como Rabiner & Schafer 1978 para os detalhes

Page 19: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

19AT 2007

Demo

lpclearn

Lpclearn.exe

Page 20: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

20AT 2007

Exemplo• Consideremos um segmento de sinal (de uma vogal)

• ak=lpc(frame,12)• resultado

1.0000 -2.3994 2.0545 -0.5626 -0.1950 0.0965 -0.0118 -0.1951

0.7283 -0.5366 -0.4562 0.8068 -0.3069

Page 21: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

21AT 2007

Resposta em frequência• Como após a determinação dos coeficientes

temos um filtro (em que a saída depende de valores da saída em instantes anteriores) podemos obter a sua resposta em frequência

Page 22: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

22AT 2007

• Como o filtro obtido será o inverso do filtro de produção, as características espectrais do segmento analisado serão:

Page 23: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

23AT 2007

Análise na frequência com LPC• Tendo os coeficientes a1...ak facilmente se

obtém o espectro– Exemplo:

• Material analisado: pequeno segmento de uma vogal

0 50 100 150 200 250 300-0.1

-0.05

0

0.05

0.1sinal no tempo

0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000-20

-10

0

10

20

30espectro

a0= 1.0000 a1= -0.1155

a2= -0.4197 a3= 0.1063

a4= 0.2854 a5= 0.6263

a6= -0.2841 a7= -0.2171

a8= -0.0904 a9 = 0.2207

a10= 0.2150 a11= -0.2755

a12= -0.3004

Raiz1 878Raiz2 1420Raiz3 2729Raiz4 3446

Page 24: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

24AT 2007

LPC vs FFT para obter espectro

0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000-50

-40

-30

-20

-10

0

10

20

30Espectro usando FFT e LPC

Page 25: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

25AT 2007

• A análise LPC separa os componentes relativos à fonte e ao filtro

• É importante para a determinação da frequência fundamental e as formantes

Page 26: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

26AT 2007

Questões práticas• Ordem a utilizar

– Regra prática• Frequência de amostragem em kHz + 2• Exemplo: 10000 Hz => 10+2=12

• Aplicar janelas• Usar pré-ênfase

– O espectro da fala decai com o aumento da frequência

– Para facilitar a análise LPC tenta-se corrigir esse efeito

• y(n)=x(n) – a x(n-1), a~0.98

Page 27: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

27AT 2007

Pré-ênfase• As primeiras formantes têm maior energia e são

preferencialmente modeladas – A maior energia deve-se ao efeito combinado da excitação

glotal e da radiação• Geralmente utiliza-se um filtro de pré-ênfase

– s’(n)=s(n) – a1 s(s-1)– Tipicamente 0.96<= a1 <= 0.99

• Para reconstruir o sinal deve usar-se o filtro inverso– s(n)= s’(n) + a1 s(n-1)

Page 28: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

28AT 2007

Leitura adicional• Capítulo 11 do livro “Elements of Acoustic

Phonetics” de Peter Ladefoged, 2ª ed., University of Chicago Press.– SDUA 801.4 17 2ed

• Capítulo 8 do livro “Techniques in Speech Acoustics” de J. Harrington e S. Cassidy, Kluwer Academic Press, 1999

• SDUA 800H 664• Apresenta:

– informação sobre a forma como são calculados os coeficientes LPC (secção 8.2)

– Obtenção do espectro com base nos coeficientes (sec. 8.4)

Page 29: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

29AT 2007

Exercícios Matlab• Obter um pequeno segmento (frame) de uma vogal • Obter os coeficientes com a ajuda do Matlab• Obter a resposta em frequência do filtro e do filtro

inverso– comparar com o espectro obtido pela DFT/FTT

• Obter o sinal de erro• Verificar o efeito de alterar o número de coeficientes• Repetir o processo para outro tipo de som (fricativa

por exemplo)

Page 30: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

30AT 2007

Análise Cepstral

Page 31: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

31AT 2007

Motivação• Como o sinal de voz pode ser obtido pela convolução

da excitação glotal com a resposta impulsional do filtro constituído pelo tracto torna-se necessário muitas vezes efectuar a operação inversa (desconvolução)

• A análise cepstral é uma das técnicas que permite estimar uma separação da fonte do filtro

• Uma das motivações é que os harmónicos da frequência fundamental podem dificultar a análise das formantes– uma muito melhor estimativa das formantes poderia ser

obtida se os harmónicos forem removidos de alguma forma

Page 32: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

32AT 2007

Propriedades importantes • Para compreender a análise cepstral interessa perceber

como são representados no espectro a fonte e o filtro

• Uma das propriedades da DFT é que se dois sinais x (a fonte) e h (o filtro) são convoluidos a sua DFT é igual ao produto da DFT de x pela DFT de h

• Quando se representa o espectro em dBs temos uma escala logaritmica – logaritmo(a x b) = logaritmo(a) + logaritmo (b)

• Portanto, o espectro em dBs representa a SOMA do espectro da fonte com o do filtro – o que nos fornece um caminho para os separar ...

Page 33: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

33AT 2007

• Uma pequena revisão:– se tivermos um sinal composto por duas

sinusóides, uma variando lentamente no tempo, outra rapidamente,

• isto é uma de baixa frequência e outra de frequência elevada

– onde apareceriam as riscas no espectro ?

– A correspondente à baixa frequência apareceria na parte “baixa” do espectro; a outra na parte “alta”

Page 34: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

34AT 2007

O cepstro• É esta lógica que está na base da separação das

variações rápidas do espectro devido à fonte das variações lentas do filtro

• Se considerarmos o espectro como um sinal (no tempo) e aplicarmos a DFT então a parte devida à fonte deverá aparecer nas frequências elevadas e a relativa ao filtro nas frequências baixas– Na prática não se aplica a DFT para a inversa (IDFT) para

converter da frequência para o tempo • o caminho inverso da DFT

– Curiosamente, apesar de inversas a DFT e a IDFT resultam no mesmo efeito de separação

• com a DFT ou IDFT a parte de variação rápida é separada da parte de variação lenta

Page 35: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

35AT 2007

Cepstro real

Definição:

Page 36: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

36AT 2007

Origem do nome • Como se trata de um espectro de outro

espectro, os seus “inventores” criaram uma variação da palavra “spectrum” chegado a “cepstrum”– adaptado ao Portugês: “espectro” “cepstro”

• Já agora:– filtering liftering– frequency quefrency

Page 37: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

37AT 2007

Em Matlab

z=rceps(x);0 10 20 30 40 50 60 70

-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

x

0 50 100 150 200 250-2

-1.5

-1

-0.5

0

0.5

zx

Page 38: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

38AT 2007

Espectro suave • Depois de separados podemos eliminar cada

uma das partes por um processo de filtragem– Se eliminarmos a parte de frequências mais

elevadas e voltarmos a efectuar uma DFT teremos um espectro “suave” com “apenas” as características devidas ao filtro (tracto)

Page 39: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

39AT 2007

Cepstro de sinal periódico• Se o sinal original é periódico então a fonte

manifesta-se como “picos” espaços da duração do período fundamental

Page 40: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

40AT 2007

Obtenção da Frequência Fundamental

Page 41: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

41AT 2007

Determinação de F0• F0 é uma propriedade fundamental dos sons

vozeados• Estimar F0 é muito mais difícil do que se

possa imaginar !!– A excitação é apenas quase-periódica

• Alguns Métodos – Método da autocorrelação– Método usando predição linear– Método cepstral

Page 42: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

42AT 2007

Pitch e frequência

• Pitch é a qualidade subjectiva relacionada com a frequência– No entanto, outros factores afectam a percepção de

pitch• por exemplo: o pitch depende em certa medida da

intensidade com que um tom é apresentado ao ouvinte

Page 43: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

43AT 2007

Determinação do pitch pelo método da autocorrelação

close all;clear all[x,fs]=wavread('seg4');t=(1:length(x))/fs*1000;plot(t,x)%Defina janela de observaçao de 20msN=floor(0.02*fs);t1=(1:N)/fs*1000;rx=xcorr(x,N,'coeff');figure(2)plot(t1,rx(N+1:2*N))%determine o maximo da autocorrelaçao para%desvios superiores a 2ms(500Hz)N1=floor(0.002*fs);[x0,imax]=max(rx(N+N1:2*N+1));imax=imax+N1;t0=imax/fs*1000;f0=1/t0*1000;fprintf(1,'O pitch e´: %6.2f ms\n',t0)fprintf(1,'A frequencia fundamental e´: %6.1f Hz\n',f0)

O pitch e´: 8.00 msA frequencia fundamental e´: 125.0 Hz

0 2 4 6 8 10 12 14 16 18 20-0.5

0

0.5

1

A janela deve conter pelo menos dois períodos de pitch

Page 44: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

44AT 2007

Determinação da autocorrelação

• Estimativa biased • Estimativa unbiased

0 100 200 300 400 500 600 700 800 900 1000-8

-6

-4

-2

0

2

4

6

8

10

12x 10

-3

0 50 100 150 200 250 300 350 400 450 500-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

0 100 200 300 400 500 600 700 800 900 1000-3

-2

-1

0

1

2

3

4

5

6

Page 45: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

45AT 2007

• A utilização directa da autocorrelação pode resultar em múltiplos máximos– Tornando difícil a decisão

• Um método para tentar resolver o problema é utilizar “center-clipping”– Colocando a zero as amostras que se situem abaixo

de um certa percentagem da amplitude máxima (por exemplo Sondhi usou 30 %)

Page 46: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

46AT 2007

exemploautocorrelação

O pitch e´: 4.60 msA frequencia fundamental e´: 217.4 Hz

Center-clipped 50 %0 2 4 6 8 10 12 14 16 18 20

-0.5

0

0.5

1

0 200 400 600 800 1000 1200 1400-0.08

-0.06

-0.04

-0.02

0

0.02

0.04

0.06

0.08

Page 47: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

47AT 2007

Determinação do pitch pelo cepstrum

Page 48: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

48AT 2007

Determinação do pitch pelo cepstrum

close all;clear all[x,fs]=wavread('seg4');N=length(x);t=(1:length(x))/fs*1000;plot(t,x)z=rceps(x);figure(2)plot(z(1:length(x)/2))N1=0.02*N[z0,imax]=max(z(N1:N/2));imax=imax+N1t0=imax/fs*1000;f0=1/t0*1000;fprintf(1,'O pitch e´: %6.2f ms\n',t0)fprintf(1,'A frequencia fundamental e´: %6.1f Hz\

n',f0)

0 10 20 30 40 50 60 70-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

0 50 100 150 200 250-2

-1.5

-1

-0.5

0

0.5

O pitch e´: 7.88 msA frequencia fundamental e´: 127.0 Hz

Page 49: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

49AT 2007

Outro exemplo• Mesmo sinal usado em center-clipped

0 100 200 300 400 500 600 700-1.6

-1.4

-1.2

-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

O pitch e´: 4.59 ms

A frequencia fundamental e´: 218.1 Hz

Page 50: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

50AT 2007

• O cepstrum contém harmónicos da frequência fundamental

• Os valores baixos de quefrency representam a forma do tracto

• Os valores elevados de quefrency representam a excitação– E no caso de sinais vozeados a frequência

fundamental

Page 51: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

51AT 2007

AMDF• AMDF – Average Magnitude Difference

Function

• Mais rápido, em especial quando se utiliza aritmética inteira– Não necessita de multiplicações

N

i

insnsN 0

|)()(|1

Page 52: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

52AT 2007

Determinação do pitch por filtragem inversa

0 5 10 15 20 25 30-0.25

-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

0.15

0.2

0.25

0 2 4 6 8 10 12 14 16 18 20-5

-4

-3

-2

-1

0

1

2

3

4x 10

-3

0 2 4 6 8 10 12 14 16 18 20-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

O pitch e´: 8.13 ms

A frequencia fundamental e´: 123.1 Hz

Filtro passa baixo

Janela Filtro inverso

Análise LPC

Autocorrelação

Page 53: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

53AT 2007

Determinação do pitch por filtragem inversaclose all;clear all[x,fs]=wavread('seg1');t=(1:length(x))/fs*1000;plot(t,x)%filtragem passa baixo[b,a]=butter(3,0.25);x=filter(b,a,x);%Defina janela de observaçao de 20msN=floor(0.02*fs);y=x(1:N).*hamming(N);t=(1:N)/fs*1000;%Determine o modelo LPC de ordem 16p=16;a=real(lpc(y,p));%determinação do residuo por filtragem%inversae=filter(a,1,y);

figure(2)plot(t,e)ry=xcorr(y,N,'coeff');figure(3)plot(t,ry(N+1:2*N))%determine o maximo da

autocorrelaçao para%desvios superiores a 2ms(500Hz)N1=floor(0.002*fs);[x0,imax]=max(ry(N+N1:2*N+1));imax=imax+N1;t0=imax/fs*1000;f0=1/t0*1000;fprintf(1,'O pitch e´: %6.2f ms\n',t0)fprintf(1,'A frequencia fundamental e´:

%6.1f Hz\n',f0)

Page 54: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

54AT 2007

Pós-processamento• Os métodos expostos podem cometer erros

– Produzindo variações bruscas do valor do pitch que são incorrectas

• Muitas vezes recorre-se a pós-processamento – Filtro de mediana

• Filtro de comprimento L (3 ou 5)• entrada L valores de pitch• saída a mediana (L-1)/2 valores abaixo, (L-1)/2 valores acima• Pode usar-se um filtro passa baixo depois do filtro de mediana

– Programação dinâmica• Algoritmo de optimização

Page 55: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

55AT 2007

F0 usando SFS

Page 56: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

56AT 2007

Formantes

Page 57: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

57AT 2007

Porquê calcular as formantes ?• As formantes são definidas perceptualmente• A propriedade física correspondente é a

frequência de ressonância do tracto vocal• Análise de formantes é útil para posicionar os

fonemas em termos das primeiras 2 ou 3 formantes– As duas primeiras formantes

identificam/caracterizam bastante bem as vogais

Page 58: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

58AT 2007

Obter valores candidatos• Procura de picos no espectro

– Designado em Inglês de “peak picking”

• Procura de picos no espectro obtido de análise LPC– Várias alternativas:

• Reter os N maiores picos, • Os N picos com menores frequências• Todos os picos • Pontos onde a segunda derivada é mais negativa

• Factorização das raízes do polinómio resultante da análise LPC

Page 59: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

59AT 2007

Processos habituais

Peak picking

Melhorado pela utilização de InterpolaçãoParabólica

(Boite et al. P 92)

p

k k

kp

kk

p

k

kk

zzC

zzza 11

1

1

1

)1()1(

1

1

1

Page 60: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

60AT 2007

Cálculo de Fk e Bk

• Uma raiz

• Próxima do circulo unitário corresponde a uma formante, com:

kjkk ez .

amostragemkdBfk

amostragemk

k

fB

fF

)1.(/1)(

2

3,

Page 61: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

61AT 2007

Exemplo “seg6”

-1 -0.5 0 0.5 1

-1

-0.5

0

0.5

1

Real part

Imag

inar

y pa

rt

F1 = 326.40 Hz

F2 = 1133.75 Hz

F3 = 2824.89 Hz

F4 = 4039.82 Hz0 10 20 30 40 50 60 70

-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

0.15 close all;clear all

[x,fs]=wavread('seg6');

t=(1:length(x))/fs*1000;

%Defina janela de observaçao de 20ms

N=floor(0.02*fs);

y=x(1:N).*hamming(N);

t=(1:N)/fs*1000;

%Determine o modelo LPC de ordem 12

p=12; a=real(lpc(y,p));

% raizes

zplane(1,a); rs=roots(a);

Miuk=abs(rs);tetak=angle(rs)

% eliminar metade

ind=find(tetak<=0);miuk(ind)=[];tetak(ind)=[];

% Fk

fk=tetak/(2*pi)*fs;

[fk,ind]=sort(fk);

% mostar resultados

fprintf(1,'F1 = %6.2f Hz\n',fk(1))

fprintf(1,'F2 = %6.2f Hz\n',fk(2))

fprintf(1,'F3 = %6.2f Hz\n',fk(3))

fprintf(1,'F4 = %6.2f Hz\n',fk(4))

Page 62: 1AT 2007 Conceitos de Sinais e Sistemas Mestrado em Ciências da Fala e da Audição António Teixeira 13 Janeiro 2007.

62AT 2007

No SFS

F1= 355

F2=1168

F3=2809