1 / 38

Voicebox – Matlab toolbox

Voicebox – Matlab toolbox. Marcelo Lucena de Souza mls2@cin.ufpe.br Análise de Voz e Vídeo. Roteiro. Signal Processing LPC Analysis of Speech Random Numbers and Probability Distributions. Signal Processing. findpeaks maxfilt meansqrt zerocross ditherq schmitt dlyapsq momfilt.

etta
Download Presentation

Voicebox – Matlab toolbox

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Voicebox – Matlab toolbox Marcelo Lucena de Souza mls2@cin.ufpe.br Análise de Voz e Vídeo

  2. Roteiro • Signal Processing • LPC Analysis of Speech • Random Numbers and Probability Distributions

  3. Signal Processing • findpeaks • maxfilt • meansqrt • zerocross • ditherq • schmitt • dlyapsq • momfilt

  4. findpeaks (Signal Processing) • Encontraospicos de um sinalusandointerpolaçãoquadrática • Uso: • [k,v]=findpeaks(x,m,w) • Entradas • x → sinal de entrada • m → modo • 'q' interpolaçãoquadrática • 'v' encontraos vales aoinvés dos picos • w → tolerância, picosfora do intervalo +-w sãoignorados • Saídas • k → localização dos picos • V → amplitude dos picos

  5. findpeaks - Exemplo • Sinal de entrada: m='q' w=1

  6. findpeaks - Exemplo • Saída: k → peak locations

  7. Findpeaks - Exemplo • Saída: v → peak amplitudes

  8. maxfilt (Signal Processing) • Encontra o máximovalor do sinaldentro de umajanelaponderadaexponencialmente • Uso: [y,k]=maxfilt(x,f,w) • Entradas • x → sinal de entrada • f → fator de esquecimentoexponencial [f = exp(-1/T)]. f=1 paranenhumesquecimento • w → janela de +-w • Saídas • y → vetor de saída (mesmotamanho de x) • k → array de índices, y=x(k)

  9. maxfilt - Exemplo • [y,k]=maxfilt(x,1,9)

  10. maxfilt - Exemplo • Resultado

  11. meansqrtf (Signal Processing) • Calcula a média quadrática da função de transferência de um filtro • Uso: d=meansqtf(b,a) • Entrada • b → coeficientes do numerador da F.T. do filtro • a → coeficientes do denominador da F.T. Do filtro • Saída • d → nova função de transferência

  12. meansqrtf - Exemplo • Filtro de Pré-Enfase • H(z) = 1 – 0.95/z • b = [1 -0.95] • a = 1 • Resultado • d=meansqtf(b,a) • d = 1.9025

  13. windows – (Signal Processing) • Gera umafunção de janela • Uso: w = windows(wtype,n,mode,p) • Entrada: • wtype → tipodajanela (Hamming, Hanning, Kaiser,...) • n → número de pontos • Mode → sequencia de 3 caracteres de configuraçãodajanela. Padrão 'ubv'. • p → parâmetroespecíficospara a janela • Saída: • w → funçãojanela

  14. windows – Exemplo • Janela de Hamming • w = windows('hamming',100)

  15. windows – Exemplo • Hamming

  16. zerocros (Signal Processing) • Encontra as passagens pelo zero de um sinal • Uso: [t,s]=zerocros(x,m) • Entrada • x → sinal • m → modo, pode ser passagens positivas, negativas ou ambas (padrão) • Saída • t → posições das passagens pelo zero • s → inclinação estimada na passagem pelo zero

  17. zerocros - Exemplo

  18. ditherq (Signal Processing) • Adicionadither e quantiza o sinal. Dither é a adição de um ruídopararandomizar o erro de quantização. • Uso: [y,zf]=ditherq(x,m,zi) • Entrada • X → sinal de entrada • M → modo. Tipo do dither: ruídobranco (padrão), passa-alta, passa-baixa, sem dither. • Zi → númerorandômico • Saída • y → sinal de saída • zf → númerorandômico

  19. ditherq - Exemplo

  20. schmitt (Signal Processing) • Passa o sinalpor um schmitt trigger • Uso: [y,t]=schmitt(x,thresh,minwid) • Entrada • x → sinal de entrada • thresh → vetor com oslimiares superior e inferior do schmitt trigger • midwin → larguramínima. Pulsosmenoresquemidwinsãoignorados • Saída • y → sinal de saída • t → contém o índice das amostrasnaqual x atravessouoslimiares

  21. schmitt - Exemplo • y = schmitt(x, [-0.05 0.05]);

  22. dlyapsq (Signal Processing) • Soluciona a equação de Lyapunov (AV'VA' - V'V +BB' =0), usada na análise de estabilidade em teoria do controle • Uso: v=dlyapsq(a,b) • Entrada • a, b → parametros da equação • Saída • V → solução da equação

  23. momfilt (Signal Processing) • Calcula o momento de um sinalusandoumajanela • Uso: [y,mm]=momfilt(x,r,w,m) • Entrada • x → sinal de entrada • r → lista de momentos (relativo a médiaou a zero) • w → janela (hamming é o padrão) • m → índice de w usadocomocentro (padrão é o meio) • Saída • y → sinal de saída • mm → m usado no momento

  24. LPC Analysis of Speech • lpcauto • lpccovar • lpcrr2am • lpcbwexp • ccwarpf • lpcifilt • lpcrand

  25. lpcauto (LPC) • Realiza a análise LPC baseadanaautocorrelação • Uso: [ar,e,k]=lpcauto(s,p,t) • Entrada • s → sinal de entrada • p → ordemdaanálise (Padrão: 12) • t → vetor com parametrosopcionais dos frames • Saída • ar → coeficientes LPC • e → energia do sinal residual • k → primeira e últimaamostra do intervalo de análise

  26. lpcauto - Exemplo • x = sinal dos exemplos anteriores • [ar e k] = lpcauto(x); • ar = [1.0000 -1.0169 0.0903 0.4222 -0.2532 -0.2300 0.5742 -0.2297 -0.2633 0.1441 0.1043 -0.0837 -0.0438] • e = 0.0038 • k = [1 100]

  27. lpccovar (LPC) • Realiza a análise LPC baseadanacovariância • Uso: [ar,e,dc]=lpccovar(s,p,t,w) • Entrada • s → sinal de entrada • p → ordemdaanálise (Padrão: 12) • t → parametrosopcionais dos frames • w → erro de ponderaçãoparacadaamostra (Padrão: 1) • Saída • ar → coeficientes LPC • e → energia do sinal residual • dc → componente DC do sinal de entrada

  28. lpccovar - Exemplo • x = mesmo sinal do exemplo anterior • [ar e dc] = lpccovar(x); • ar = [1.0000 -1.1087 0.4279 0.0894 0.0695 -0.2697 0.3888 -0.0864 -0.3764 0.3216 0.0043 -0.0714 -0.0445] • e = [0.0145 0.0512] • dc = -1.5469e-04

  29. lpcrr2am (LPC) • Converte coeficientes de autocorrelação para a matriz de autocorrelação • Uso: [am,em]=lpcrr2am(rr); • Entrada • Rr → coeficientes • Saída • Am → matriz de autocorrelação (Toeplitz) • Em → coeficientes LPC

  30. lpcbwexp (LPC) • Expande a largura de banda do filtro LPC • Uso: arx=lpcbwexp(ar,bw) • Entrada • ar → coeficientes LPC • bw → largura de banda mínima a ser expandida • Saída • arx → novos coeficientes LPC

  31. ccwarpf (LPC) • Realiza warping de coeficientes cepstral • Uso: m=ccwarpf(f,n,s) • Entrada • F → [f1 f2], vetor com a frequencia de amostragem original (f1) e a nova frequencia de amostragem (f2) • N → [n1 n2], vetor com o número original de coeficientes (n1) e o novo número (n2). • S → escala linear, 'l' ou mel, 'm' • Saída • m → matriz de transformação

  32. lpcifilt (LPC) • Aplicafiltroinverso no sinal de voz. Usadonaestimação do glottal waveform. • Uso: u=lpcifilt(s,ar,t,dc,fade) • Entrada • S → sinal de voz • Ar → coeficientes LPC • T → índicedaprimeiraamostra • Dc → Componente DC a ser subtraído do sinal • Fade → amostras de fade • Saída • U → resultado do filtro

  33. lpcrand (LPC) • Gera polinômio randômico estável de ordem p. Usado para fins de teste. • Uso: ar=lpcrand(p,n,bw) • Entrada • P → ordem do polinômio • N → número de polinômios a serem gerados • Bw → largura de banda • Saída • Ar → coeficientes do(s) polinômio(s) gerado(s)

  34. lpcrand - Exemplo • teste = lpcrand(12,1); • teste = [1.0000 -0.1091 -0.2139 -0.7055 -0.3406 0.6335 0.5740 -0.0618 -0.3154 -0.1504 -0.2432 0.3939 -0.3346]

  35. Random Numbers and Probability Distributions • Random Number Generation • Randvec • Randiscr • Usasi • Randfilt • Rnsubset • Probability Density Functions • Gmmlpdf • Lognmpdf • Miscellaneous • Histndim • Gausprod • Maxgauss

  36. histndim • Gera e ou plota um histograma n-dimensional • Uso: [v,t]=histndim(x,b,mode) • Entrada • X -> dados de entrada, x = (m,d) • B -> níveis do histograma para cada dimensão • Mode -> configuração • Saída • V -> histograma • T -> dimensão do histograma

  37. histndim - Exemplo • [v t] = histndim(v1,20,'h');

  38. Referências • Voicebox home page • http://www.ee.ic.ac.uk/hp/staff/dmb/voicebox/voicebox.html • Wikipedia • http://em.wikipedia.org

More Related