• Nenhum resultado encontrado

O Algoritmo implementado no PRAAT

Parte 2: Experimentos

3.2 Descritores acústicos e ferramentas de cálculo

3.2.2 O Algoritmo implementado no PRAAT

Os passos do algoritmo implementado para o cálculo da curva de f0 e demais atributos do som com vibrato podem ser divididos em três etapas: (1) cálculo das curvas dos descritores de amplitude, centroide e frequência fundamental; (2) cálculo do espectro da curva de f0, dos valores médio, máximo e mínimo de f0, e preparação para cálculo da taxa de vibrato e de sua extensão; (3) cálculo da taxa de vibrato e cálculo de sua extensão em cents.16

Na primeira etapa são calculados os envelopes de amplitude, a evolução do centroide espectral e a curva de f0, que podem ser examinadas visualmente em um mesmo gráfico. Na etapa seguinte, é calculado o espectro da curva de f0, cujos picos determinam a taxa de vibrato; neste processo são também calculados os valores médio, máximo e mínimo da frequência fundamental de cada nota. O script utilizado no programa Praat pode ser consultado no anexo A. A última etapa foi realizada no Excel, para o cálculo da taxa de vibrato (em Hz) e da extensão do vibrato (em cents).

Etapa 1:

a) fornecimento da frequência fundamental nominal da nota gravada: este valor será utilizado no cálculo do envelope dinâmico e da curva de f0.

16

A escala de cents divide a oitava em 1.200 unidades, na qual cada semitom temperado vale 100 cents.

68

b) determinação da margem a ser utilizada no cálculo de f0: como o vibrato no violão tem uma extensão bastante limitada, a aplicação de uma margem de 10% acima e abaixo da frequência nominal é suficiente tanto para dar conta das variações do vibrato quanto para evitar que componentes de frequência mais alta sejam lançados na curva.

c) normalização do áudio (pelo valor de pico): a normalização é feita para compensar possíveis diferenças de dinâmica presentes no conjunto de notas gravadas.

d) cálculo do envelope de amplitude e determinação da faixa dinâmica útil: como as notas do violão têm um rápido decaimento após o ataque, é útil determinar uma faixa dinâmica para o cálculo de f0. A partir do envelope de amplitude pode-se determinar até qual momento será aplicado o cálculo da curva de f0, que neste experimento foi fixada heuristicamente entre 22 e 28 dBs. Pode-se também determinar uma duração específica a ser analisada.

e) cálculo do espectrograma: os espectrogramas foram calculados com os seguintes parâmetros: janela de análise de 25 ms (com passos de 12,5 ms), frequência máxima de 10 KHz, janela gaussiana.

f) cálculo da curva de centroide: a partir do espectrograma, é possível calcular o centroide espectral de cada quadro de análise, que neste caso foi calculado utilizando-se o quadrado das amplitudes.

g) filtragem passa-banda do som normalizado (entre f0/2 e 10*f0): essa filtragem busca evitar que ruídos graves de fundo e que harmônicos mais agudos ou transientes venham a interferir no cálculo de f0.

h) cálculo da curva de f0 e filtragem da curva de f0 (passa-baixa a 20 Hz): a filtragem da curva de f0 com um filtro passa-baixa com corte em 20 Hz visa a eliminar variações muito rápidas da frequência fundamental (normalmente geradas pela movimentação da fonte, ou grande reverberação) que não fazem parte da expressão do vibrato.

i) desenho do gráfico das três curvas – envelope dinâmico, curva de centroide, curva de f0: os gráficos são importantes para um exame visual das curvas geradas, e ajustes da frequência nominal e da faixa dinâmica.

Etapa 2:

a) extração das frequências mínima e máxima da curva de f0: como o Praat, quando não consegue achar um valor adequado para a frequência fundamental, gera como resultado o valor 0 (zero), a extração desses valores neste momento pode indicar a necessidade de ajustes na etapa anterior.

b) cálculo do valor médio da curva de f0 e sua subtração de cada valor calculado: este procedimento confere à curva a média zero, de modo a evitar distorções espectrais consideráveis após a aplicação da janela de amplitude do passo seguinte.

c) multiplicação da curva de f0 do passo anterior por uma janela gaussiana: essa janela de amplitude força que o início e final da curva tenham o valor zero, evitando o aparecimento de altas frequências artificiais na análise espectral.

d) soma do valor médio à curva do passo anterior: após a multiplicação anterior, soma-se novamente o valor médio a cada ponto da curva, que agora tem os mesmos valores em seus pontos iniciais e finais.

e) cálculo da transformada discreta de Fourier (DFT) da curva do item anterior: foi implementado o método tradicional de cálculo da transformada discreta de Fourier, com a determinação dos componentes reais e imaginários, e posterior cálculo da amplitude de cada frequência de análise:

A( fi) = f 0(n) * (cos 1 N

(2πin N )) + i(sen(in N ))

N , onde N é o total de pontos da curva,

n o índice temporal de cada um dos pontos, e i o multiplicador da frequência base da análise espectral, variando de 1 a N.

f) cálculo do valor médio da curva de f0: este valor, a ser usado na determinação da extensão do vibrato, foi determinado pelo termo constante da DFT.

g) cálculo da frequência base da DFT: a frequência base é o inverso da duração total do trecho analisado.

h) desenho do gráfico do espectro da curva de f0: são colocados no gráfico os primeiros 100 valores das amplitudes do espectro, nos quais deve aparecer um claro pico nas frequências mais baixas, e eventualmente outros picos menores em frequências mais altas.

70

Etapa 3:

a) inspecção visual dos primeiros valores de pico da DFT: este exame é importante para verificar se há um ou dois valores formando o pico principal do gráfico. A existência de mais de um pico indica que a taxa e a forma do vibrato não são constantes durante todo o trecho, podendo sofrer variações durante sua execução. Esses valores de pico - A(p) ou A(p) e A(p+1)- são copiados da matriz do PRAAT, que guarda as amplitudes da DFT para uma planilha Excel.

b) cálculo da taxa de vibrato: no caso de um pico, a taxa de vibrato é calculada multiplicando-se a frequência base da DFT por p. No caso de dois picos, aplicamos a fórmula dada por Tempelaars em seu livro Signal Processing, Speech and Music (TEMPELAARS, 1996, p. 147):

taxa de vibrato = (p+q)*frequência base, onde: q = (2 − Ap/ Ap +1)

(1+ Ap/ Ap +1)

c) cálculo (em cents) dos desvios máximos (positivo e negativo) em relação ao valor médio de f0: para cada um dos desvios, utiliza-se a fórmula:

desvio =1200* log10( fmax(oumin)/ fmed) log10(2)

Após esta etapa, foi gerada, para cada nota gravada, uma imagem composta contendo a curva da variação da amplitude, a variação da centroide espectral, a curva da f0 (mostrando a variação da frequência da nota através do tempo) e os picos da DTF, como podemos ver na imagem a seguir:

Figura 3.2: Figura gerada no PRAAT, após a análise da Nota G# tocada na corda 3 com vibrato longitudinal rápido.

Todas as figuras geradas, assim como as informações iniciais (frequências média, mínima e máxima de cada nota, etc.) foram armazenadas num arquivo base, que pode ser consultado no anexo presente no DVD de arquivos e anexos. Os dados foram utilizados nos cálculos feitos no Excel, como descrito anteriormente.

Documentos relacionados