• Nenhum resultado encontrado

Algoritmo de Estima¸ c˜ ao de Pitch pelo M´ etodo de Janelamento

No documento 2008.2DaviCaldas-Monografia (páginas 37-40)

Danielson-Lanczos e no bit reversal

3.1.3 Algoritmo de Estima¸ c˜ ao de Pitch pelo M´ etodo de Janelamento

At´e agora foi discutido sobre os algoritmos que comp˜oem a parte de an´alise de Fourier de um sinal. Por´em, deve-se ter em mente que, considerando-se que j´a ocorreu a transformada de Fourier do vetor de amostras, o passo seguinte ´e determinar qual a frequˆencia de pitch de tal sinal. Para tanto, foi preciso determinar um m´etodo num´erico de busca em vetor para encontrar a frequˆencia de pitch do sinal.

A ideia do algoritmo ´e que se fosse poss´ıvel determinar um intervalo de busca (onde seria procurada a frequˆencia de maior magnitude ali contida), seria fact´ıvel estimar a frequˆencia de pitch. Como foi visto na se¸c˜ao sobre teoria musical, a frequˆencia de pitch na m´usica ´e aquela que define a nota, ou seja, ´e a primeira frequˆencia caracter´ıstica de maior magnitude encontrada. E importante aqui perceber a singularidade deste fato:´ n˜ao basta apenas o sinal possuir grande magnitude de uma frequˆencia qualquer. Para ser a frequˆencia de pitch, ela deve conter a primeira maior magnitude que caracterize o som da corda. Isso acontece porque as pr´oximas grandes magnitudes presentes em um sinal, s˜ao m´ultiplas dessa primeira frequˆencia de grande magnitude. Para analisar sob a vis˜ao musical, ser´a tomado como exemplo o caso da nota “l´a”. Tal nota deve possuir sua frequˆencia de pitch igual a 110 Hz para estar afinada. Nessa frequˆencia de 110 Hz, dever´a haver a primeira maior magnitude de componentes de frequˆencia presentes no sinal. Ou seja, tem-se em 110 Hz uma consider´avel magnitude e as pr´oximas frequˆencias de grandes magnitudes dever˜ao ser frequˆencias m´ultiplas inteiras dessa frequˆencia de 110 Hz. Haver´a, ent˜ao, grandes magnitudes em 220 Hz, 330 Hz, 440Hz e assim por diante.

3.1 Projeto de Algoritmo de Estima¸c˜ao de Pitch 37

Essas frequˆencias m´ultiplas recebem o nome de oitavas da nota.

Ou seja, se houver um algoritmo que capture a primeira maior magnitude, tal algoritmo retornar´a a frequˆencia de pitch do sinal. Para realizar tal c´alculo, n˜ao basta procurar pela frequˆencia de maior magnitude. Isso seria um erro. Na Figura 4, por exemplo, ´e exibido o espectro da corda “l´a” do viol˜ao, que possui sua frequˆencia de pitch igual a 110 Hz. Entretanto, 110 Hz, n˜ao ´e a frequˆencia de maior magnitude. A frequˆencia de 440 Hz, por exemplo, tem uma magnitude maior. Para obter-se a frequˆencia de pitch n˜ao se pode, portanto, utilizar a solu¸c˜ao de basicamente procurar no vetor a frequˆencia de maior magnitude.

A solu¸c˜ao definida e implementada durante as simula¸c˜oes foi a de fazer uma esp´ecie de janelamento no vetor e procurar, nessa janela, a maior magnitude ali contida. O algoritmo criado no presente projeto apresenta um novo m´etodo de estima¸c˜ao de pitch e foi denominado de m´etodo de janelamento. Para o exemplo da Figura 4, dever´a ser definido um intervalo que conter´a a frequˆencia de 110 Hz. Por exemplo, se fossem analisadas apenas as frequˆencias entre 60 Hz e 160 Hz, n˜ao haveria gasto computacional para an´alise de todas as amostras. Nesse intervalo, a maior magnitude seria o pitch do sinal. Esse intervalo ´e razo´avel porque ser˜ao identificadas as frequˆencias de pitch em instrumentos que podem ou n˜ao estar desafinados. ´E sensato observar que o limite inferior do intervalo seria facilmente identificado pelo usu´ario (devido `a corda afrouxada), enquanto que o limite superior tem a limita¸c˜ao de n˜ao poder adentrar as oitavas. Seria poss´ıvel, por exemplo, tentar identificar a afina¸c˜ao de um instrumento afinado que possui a corda “l´a” com 110 Hz de frequˆencia de pitch. O algoritmo de janelamento aqui proposto indicar´a 110 Hz de frequˆencia de pitch, j´a que cuidadosamente foi adotada uma janela que cobre intervalos razo´aveis e n˜ao adentra no janelamento das oitavas dos 110 Hz. Se fosse considerada uma janela muito maior, como 60 a 450 Hz, poderia ser cometido o erro de indicar que o instrumento afinado em 110 Hz est´a fora da afina¸c˜ao porque a oitava de 440 Hz possui maior magnitude que a frequˆencia de 110 Hz. Por isso, o janelamento, como j´a dito, n˜ao pode adentrar as oitavas da nota.

Foram adotados, nas simula¸c˜oes, intervalos de 50 Hz para mais e para menos, visto que esse limite satisfaz as caracter´ısticas f´ısicas do sistema. Empiricamente, foi observado que abaixo do limite inferior de adotado a corda encontra-se notadamente afrouxada, enquanto acima do limite superior a corda poderia estourar, j´a que ela possui uma limita¸c˜ao f´ısica. Como a ideia ´e conseguir realizar a extra¸c˜ao de pitch atrav´es de um m´etodo FFT, ´e interessante adotar uma faixa dita aceit´avel de frequˆencias. O Algoritmo 5 exibe a solu¸c˜ao

3.1 Projeto de Algoritmo de Estima¸c˜ao de Pitch 38

da estima¸c˜ao de pitch desenvolvida, atrav´es do uso da ideia de janelamento.

begin 1 fs ←− taxaAmostragemConversorA/D 2 N ←− length(amostra) 3 tempo total ←− fN s 4 ff ←− tempo1 5 K ←− 0 : N − 1 6 Kf ←− ff ∗ K 7 k1 ←− ffi f 8 k2 ←− ffs f 9 ... 10 calcula F F T 11 ... 12 temp ←− 0 13

para j ←− k1 at´e j ←− k2 fa¸ca 14

magnitude ←− abs(f f tCorda(j))

15

se magnitude > temp ent˜ao

16

erro ←− abs(fpitch− Kf(j)) 17 temp ←− magnitude 18 pitch estimado ←− Kf(j) 19 fim 20 fim 21 end 22

Algoritmo 4: Algoritmo de janelamento definido.

Primeiramente, obt´em-se a frequˆencia de amostragem do conversor A/D utilizado e armazena-se esse valor na vari´avel fs, que ´e a taxa com que os dados s˜ao amostrados.

Ap´os isso, armazena-se na vari´avel N a quantidade de amostras e calcula-se o tempo total do sinal (vari´avel tempo total ). Esse tempo ´e dado por Nf

s. Obt´em-se, em seguida, a

frequˆencia ff, que ´e a frequˆencia fundamental de todo o sinal.

Define-se tamb´em um vetor K, de tamanho N, e um vetor Kf que ´e o produto de

cada posi¸c˜ao de amostra com a frequˆencia ff. Essa rela¸c˜ao resulta, para determinada

No documento 2008.2DaviCaldas-Monografia (páginas 37-40)

Documentos relacionados