55
CENTRO UNIVERSITÁRIO POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ENGENHARIA DA COMPUTAÇÃO SISTEMA DE RECONHECIMENTO SONORO PARA INSTRUMENTOS DE CORDA Nathanael Mota de Vicente Monografia apresentada à disciplina de Projeto Final como requisito parcial à conclusão do Curso de Engenharia da Computação, orientada pelo Prof. Alessandro Zimmer UNICENP/NCET Curitiba 2007

SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

  • Upload
    dotruc

  • View
    218

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

CENTRO UNIVERSITÁRIO POSITIVO

NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS

ENGENHARIA DA COMPUTAÇÃO

SISTEMA DE RECONHECIMENTO SONORO PARA

INSTRUMENTOS DE CORDA

Nathanael Mota de Vicente

Monografia apresentada à disciplina de Projeto Final como requisito parcial à conclusão

do Curso de Engenharia da Computação, orientada pelo Prof. Alessandro Zimmer

UNICENP/NCET

Curitiba

2007

Page 2: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

12

TERMO DE APROVAÇÃO

Nathanael Mota de Vicente

Sistema de reconhecimento sonoro para instrumentos de corda Monografia aprovada como requisito parcial à conclusão do curso de Engenharia da Computação

do Centro Universitário Positivo, pela seguinte banca examinadora:

Prof. Alessandro Zimmer (Orientador) Prof. José Carlos da Cunha Prof. Maurício Perretto

Curitiba, 10 de Dezembro de 2007

Page 3: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

13

Dedico este projeto a minha mãe Dimenes e também a Deus para que a cada dia Ele

possa utilizar os meus conhecimentos para o bem da humanidade.

Page 4: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

14

AGRADECIMENTOS

Pelo desenvolvimento de projeto e conhecimento adquirido agradeço ao meu professor e

orientador Alessandro Zimmer. Nos momentos de dificuldade técnica e teórica ele soube de

forma precisa orientar-me para que o projeto caminha-se em uma direção concisa. Agradeço

também ao professor Maurício Perretto pela orientação em relação ao hardware do projeto e por

fazer-me acreditar que era possível realizar um sistema de reconhecimento de notas musicais.

Agradeço também ao professor José Carlos da Cunha que sobe realizar uma avaliação precisa do

projeto em momento de banca.

Agradeço também por todo apoio e paciência da minha mulher Natália que me apoiou

emocionalmente e psicologicamente para a realização do projeto. Por fim agradeço aos meus

familiares e principalmente ao meu pai Olívio que me apoiou nos momentos mais difíceis deste

curso tanto financeiramente quanto emocionalmente.

Page 5: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

15

RESUMO

O projeto se constitui de um circuito dedicado à captação do sinal gerado por um

instrumento musical (guitarra). Após a discretização, o sinal é processado e inserido em uma

rede neural. Após o reconhecimento, a representação das notas é feita graficamente, em forma de

tablatura, que é uma simbologia numérica de representação de notas e técnicas musicais. O tema

proposto auxilia músicos na composição e representação musical.

Palavras-Chave:

Guitarra, Discretização, Rede Neural, Tablatura.

Page 6: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

16

SYSTEM OF SONOROUS RECOGNITION FOR ROPE INSTRUMENTS

ABSTRACT

The project consists of a circuit dedicated to capture the signal generated by a musical

instrument (Guitar). After the acquisition the signal is processed and inserted into a neural

network. After the recognition process the note representation is done graphically through

musical representation in the shape of tablature which is a numerical representation of notes and

musical techniques. The theme helps musicians in musical composition and representation.

Keywords:

Guitar, Acquisition, Neural network, Tablature

Page 7: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

17

LISTA DE FIGURAS

Figura 1 – Exemplo de harmônicas ...........................................................................................24 Figura 2 – Onda dente-de-serra .................................................................................................25 Figura 3 – Onda triangular ........................................................................................................25 Figura 4 – Onda quadrada .........................................................................................................26 Figura 5 – Envolvente aplicado a uma onda ..............................................................................27 Figura 6 – Tablatura vazia.........................................................................................................33 Figura 7 – Exemplo de tablatura ...............................................................................................34 Figura 8 – Noção temporal na Tablatura ...................................................................................34 Figura 9 – Técnica Solo ............................................................................................................35 Figura 10 – Técnica Slide .........................................................................................................35 Figura 11 – Técnica Bend .........................................................................................................35 Figura 12 – Técnica Vibrato......................................................................................................36 Figura 13 – Técnica Vibrato......................................................................................................36 Figura 14 – Técnica Pull Off.....................................................................................................36 Figura 15 – Técnica Tapping ....................................................................................................37 Figura 16 – Técnica Harmonics ................................................................................................37 Figura 17 – Diagrama do sistema..............................................................................................38 Figura 18 – Circuito Geral Compressor.....................................................................................39 Figura 19 – Microcontrolador PIC16F977.................................................................................41 Figura 20 – Circuito da Aquisição do Sinal ...............................................................................42 Figura 21 – Ausência de sinal musical ......................................................................................45 Figura 22 – Sinais musicais reais ..............................................................................................46 Figura 23 – FFT original...........................................................................................................47 Figura 24 – Desvio padrão na FFT original ...............................................................................47 Figura 25 – Função do Perceptron e Função de Retropropagação..............................................48 Figura 26 – Uma rede multicamada...........................................................................................50 Figura 27 – Fluxograma de Treinamento...................................................................................53 Figura 28 – Fluxograma de Reconhecimento ............................................................................54 Figura 29 – Rede Neural ...........................................................................................................55 Figura 30 – Diagrama de classe ................................................................................................56 Figura 31 – Interface.................................................................................................................57 Figura 32 – Janela de treinamento.............................................................................................60 Figura 33 – Erros x Épocas .......................................................................................................62

LISTA DE TABELAS

Tabela 1 – Formas de onda simples e seus timbres....................................................................23 Tabela 2 – Harmônicos .............................................................................................................24 Tabela 3 – Exemplos de séries harmônicas................................................................................28 Tabela 4 – Saída desejada .........................................................................................................52 Tabela 5 – Tabela de Parâmetros da Serial ................................................................................55 Tabela 6 – Cronograma.............................................................................................................58 Tabela 7 – Valores do estudo de viabilidade .............................................................................59 Tabela 8 – Época por Nota........................................................................................................61

Page 8: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

18

LISTA DE SIGLAS

ADC

ADSR

ASCII

CAG

DAC

DSP

FFT

MIDI

MS-DOS

-

-

-

-

-

-

-

-

-

Conversor Analógico para Digital

Ataque, Decai mento, Sustentação e Relaxamento

Código de padrão americano para o intercâmbio de informação

Controle Automático de Ganho

Conversor Digital para analógico

Processador Digital de Sinais

Transformada Rápida de Fourier

Interface Digital para Instrumento Musical

Sistema Operativo de Disco da Microsoft

LISTA DE SÍMBOLOS

Hz

K

@

#

*

C

D

E

F

G

A

B

-

-

-

-

-

-

-

-

-

-

-

-

Hertz

Kilo

Arroba

Sustenido

Asterisco

Nota Musical Dó

Nota Musical Ré

Nota Musical Mi

Nota Musical Fá

Nota Musical Sol

Nota Musical Lá

Nota Musical Si

Page 9: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

19

SUMÁRIO

LISTA DE FIGURAS................................................................................................. 17

LISTA DE TABELAS................................................................................................. 17

LISTA DE SIGLAS.................................................................................................... 18

LISTA DE SÍMBOLOS .............................................................................................. 18

CAPÍTULO 1 – INTRODUÇÃO................................................................................. 21

CAPÍTULO 2 – FUNDAMENTAÇÃO TEÓRICA ....................................................... 22

2.1. Ondas Sonoras............................................................................................................................. 22

2.2. Altura Tonal ................................................................................................................................ 22

2.3. Volume........................................................................................................................................ 22

2.4. Timbre......................................................................................................................................... 22

2.5. Categorias Sonoras...................................................................................................................... 23

2.6. Envolvente da Onda .................................................................................................................... 27

2.7. Série Harmônica.......................................................................................................................... 28

2.8. Transformada de Fourier FFT (Fast Fourier Transform) ............................................................ 29

CAPÍTULO 3 – ESPECIFICAÇÃO DO PROJETO.................................................... 31

3.1. Objetivo....................................................................................................................................... 31

3.2. Descrição do Projeto ................................................................................................................... 31

3.3. A Tablatura na Prática................................................................................................................. 33

3.4 Descrição do Hardware ................................................................................................................ 38

3.5 Circuito Compressor e Limitador (CAG)..................................................................................... 39

3.6 Micontrolador PIC16F877 ........................................................................................................... 41

3.7. Componentes a serem utilizados................................................................................................. 43

CAPÍTULO 4 – SOFTWARE..................................................................................... 44

4.1. Especificação do Software .......................................................................................................... 44

4.2. Teorema da Amostragem ............................................................................................................ 44

4.3. Processamento do Sinal Digital com a Variância ....................................................................... 45

4.4. Processamento do Sinal Digital com o Desvio Padrão ............................................................... 46

4.5. Algoritmo Backpropagation........................................................................................................ 48

4.6. Fluxograma de Treinamento da Rede Neural ............................................................................. 51

4.7. Fluxograma de Reconhecimento Musical ................................................................................... 54

4.8. Rede Neural Utilizada ................................................................................................................. 55

4.9. Comunicação Serial .................................................................................................................... 55

4.10. Diagrama de Classe................................................................................................................... 56

4.11. Interface .................................................................................................................................... 57

CAPÍTULO 5 – CRONOGRAMA DE DESENVOLVIMENTO.................................... 58

CAPÍTULO 6 – ESTUDO DE VIABILIDADE ............................................................. 59

CAPÍTULO 7 – RESULTADOS OBTIDOS................................................................ 60

Page 10: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

20

CAPÍTULO 8 – CONCLUSÃO .................................................................................. 63

CAPÍTULO 7 – REFERÊNCIAS BIBLIOGRÁFICAS................................................. 65

ANEXO 01 – Código do Processador PIC ................... Erro! Indicador não definido.

ANEXO 02 – Código de Análise da Correlação Entre as AmostrasErro! Indicador não definido.

Page 11: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

21

CAPÍTULO 1 – INTRODUÇÃO

O projeto realiza a identificação de notas musicais tocadas por uma Guitarra através de

uma rede neural utilizando o algoritmo de Backpropagation. O resultado da identificação de uma

determinada nota é expresso em forma de uma tablatura. Com o aparecimento dos primeiros

instrumentos de cordas, este método foi logo adaptado devido ao seu caráter extremamente

prático e intuitivo e hoje é entendido por músicos de todo o mundo, principalmente iniciantes.

Existem diversos softwares que possuem pacotes de altíssima qualidade para o

processamento de audio como Sonar, ProTools, Guitar Pro. Na atualidade nenhum desses

softwares compõe um pacote capaz de identificar notas e acordes musicais para instrumentos de

corda. A utilidade de um reconhecimento de alto nível na composição musical pode ser capaz de

transcrever a partitura de todos os instrumentos em uma gravação de studio e os benefícios

seriam imediatos. Para o sistema proposto é realizado o reconhecimento de um único

instrumento de corda, pois em um primeiro momento o sistema auxiliará iniciantes, mas o ganho

do sistema pode ser extremamente expressivo. Com o sistema é possível realizar o

reconhecimento para qualquer outro instrumento de corda.

A idéia foi desenvolver um hardware e um software exclusivamente dedicado a

instrumentos de corda utilizando os seguintes componentes: PIC16F877 e um circuito

compressor. O compressor será necessário para melhorar a qualidade da transmissão do sinal de

áudio. Se o sinal for monitorado constantemente com a ajuda de um controle de volume, e

manualmente nivelar o sinal, ou seja, aumenta-se o ganho durante as passagens em que o sinal

está com nível baixo, e abaixa-se o ganho nas passagens em que o nível é alto.

Obviamente, esse tipo de controle manual é altamente restritivo, uma vez que é muito

difícil detectar picos de sinal, e mesmo que sejam detectados, é praticamente impossível nivelá-

los, por causa da rapidez com que ocorrem. Surge então a necessidade de um dispositivo

automático e rápido de controle de ganho, que monitore continuamente o sinal e ajuste o ganho

imediatamente de forma a maximizar a relação sinal/ruído sem que ocorra distorção. Tal

dispositivo é chamado de compressor ou limitador.

O PIC16F877 receberá o sinal analógico e converterá o sinal de tempo contínuo para o

tempo discreto. O software é capaz de identificar diversas variações de freqüências na guitarra

até a 4ª casa do instrumento.

Page 12: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

22

CAPÍTULO 2 – FUNDAMENTAÇÃO TEÓRICA

2.1. Ondas Sonoras

O som é a vibração do ar, ou seja, variações na pressão do ar, que percebemos com

nossos ouvidos. Se essa pressão varia de acordo com um padrão repetitivo dizemos que o som

tem uma forma de onda periódica. Se não há um padrão perceptível no som este pode ser

chamado de ruído.

2.2. Altura Tonal

Quando se toca as cordas de um violão, nota-se que os sons são mais agudos quanto mais

a direita e mais graves a esquerda. Essa “altura” de um som, ou seja, se é alto ou baixo, é

chamado “altura tonal”.

Uma repetição de uma onda periódica é chamada de ciclo. Quando são comparados em

um osciloscópio sons com alturas tonais diferentes, nota-se que difere o número de ciclos por

unidade de tempo.

Quanto mais agudo o som, maior o número de ciclos por unidade de tempo e quanto mais

grave o som, menor será este número (freqüência). Dobrando a freqüência de um som, este é

elevado em uma oitava, então é possível dizer que a freqüência e a altura tonal estão relacionadas

logaritmicamente. A faixa de freqüências que podem ser ouvidas por um ouvido humano é de

aproximadamente 20 Hz para os sons mais graves até 20.000 Hz para os sons mais agudos.

2.3. Volume

Se uma corda é tocada fortemente, o som produzido será forte. Se for tocada suavemente,

o som produzido será fraco. O hardware é preparado para captar e amplificar o sinal. Para o

software a característica do volume é transparente.

2.4. Timbre

Um clarinete e uma flauta não produzem o mesmo som ao serem tocados com a mesma

altura tonal e o mesmo volume. Isso se deve ao fato de haver um fator distinto a mais para o som

além da altura tonal e o volume. Este fator é o timbre.

Page 13: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

23

Observando-se sons com timbres diferentes, através de um osciloscópio, nota-se que as

formas de onda diferem entre si. De um modo geral, formas de ondas arredondadas produzem

um timbre mais suave enquanto que as formas de ondas pontiagudas dão um timbre mais

penetrante e estridente.

Na Tabela 1, são mostradas três formas de onda básicas, seus timbres característicos e os

instrumentos que se assemelham:

Tabela 1 – Formas de onda simples e seus timbres

A rede neural deve ser treinada para um tipo específico de instrumento musical, com uma

determinada marca ou determinado captador eletromagnético. As trocas de chaves e diferentes

regulagens no instrumento musical podem interferir no sucesso ou insucesso da identificação

sonora. Em uma aplicação de nível comercial o software poderia informar qual a característica

ideal e mais otimizada para que a identificação ocorra com sucesso. Para o treinamento da Rede

Neural será utiliza uma Guitarra Ibanez DX470 com captação NFS1.

2.5. Categorias Sonoras

Podemos encontrar dois tipos de sons: • Sons Complexos

• Sons Harmônicos ou Parciais

Os sons complexos são formados por ondas simples (ondas senoidais) que são os

harmônicos e a fundamental. Os harmônicos ou parciais são múltiplos da freqüência básica ou

fundamental. A fundamental de um som complexo é o componente de mais baixa freqüência. A

freqüência fundamental e seus harmônicos constituem a série harmônica. A resultante é uma

forma de onda que representa um som complexo. Na Tabela 2 está à representação matemática

correspondente à Figura 1 onde podemos encontrar exemplos de fundamental e seus harmônicos.

Page 14: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

24

Tabela 2 – Harmônicos

Figura 1 – Exemplo de harmônicas

A estrutura de uma onda produzida por um instrumento musical pode ser representada por

um espectro gráfico. Na Figura 1, as barras verticais representam a amplitude da fundamental p1

e a dos parciais. Note que podem ser desenvolvidas várias formas de onda a partir das estruturas

harmônicas mais complexas. Por exemplo, na Figura 2 é apresentada à forma de onda e a

equação de uma onda dente-de-serra. Para a produção de uma onda dente-de-serra é necessária

Page 15: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

25

uma série com um infinito número de senos. O espectro contém os componentes da onda até

2000 ciclos e possui uma fundamental de 100 ciclos. Esta onda contém todos os harmônicos.

Figura 2 – Onda dente-de-serra

Outra forma de onda bastante comum é a triangular. Um infinito número de co-senos

ímpares na série é necessário para produzir este tipo de onda. O espectro da Figura 3 contém os

componentes da onda até 2000 ciclos, com uma fundamental de 100 ciclos. Esta onda contém

somente os harmônicos ímpares.

Freqüências em ciclos por segundo ciclo amplitude tempo

Figura 3 – Onda triangular

Ciclos

(Hz)

Page 16: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

26

A onda quadrada mostrada na Figura4, assim como a triangular, também contém só os

harmônicos ímpares.

Figura 4 – Onda quadrada

A forma de onda e, portanto, o timbre, é determinado pela classe de harmônicas somadas

a onda senoidal básica. Dito de outra maneira, quase todos os sons (com seus timbres diferentes)

que chegam aos nossos ouvidos incluem uma variedade de harmônicas diferentes e são estas as

responsáveis pelos inúmeros timbres característicos. Os gráficos que mostram os componentes

harmônicos de uma forma de onda são chamados espectros harmônicos. Chama-se de

harmônicas as freqüências que são múltiplos integrais de uma onda básica. O timbre (forma de

onda) é determinado pelos componentes harmônicos.

O grande desafio do sistema proposto é a diferenciação de timbre nos instrumentos de

corda. Existem diversas formas de se tocar uma mesma nota ou um acorde em um instrumento

de corda. A freqüência nesses casos é a mesma, mas o timbre faz o ouvido humano perceber a

sutil diferença entre as notas musicais.

Ciclos

(Hz)

Page 17: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

27

2.6. Envolvente da Onda

Além dos três fatores básicos do som explicados anteriormente, altura tonal, volume do

som e o timbre, há outro fator importante que determina o som. Trata-se da variação de som em

um transcurso de tempo. Mais precisamente, a variação de cada um dos três elementos em um

transcurso de tempo que vai desde o começo do som até um ponto do tempo onde desaparece

completamente.

Se um violino for tocado com arco, por exemplo, geralmente o volume do som aumenta

gradualmente e também o timbre e altura tonal trocam ligeiramente. Estas trocas em um tempo

são o que determinam o timbre característico de um violino. Por outro lado, o relaxamento do

som de um piano é um caimento contínuo, sem este caimento seria muito difícil distingui-lo do

som de uma flauta.

Estas variações de um som em um transcurso de tempo são chamadas envolventes

(envelopes ou envoltórias). Envolventes são, portanto, as mudanças de altura tonal, volume e

timbre em um transcurso de tempo. Ocasionalmente, a mudança de volume (amplitude) em um

transcurso de tempo é também chamada envolvente. No caso da envolvente de amplitude de um

som, pode-se descrevê-la a partir de quatro parâmetros, conhecidos como ADSR:

• Ataque (A)

• Decaimento (D)

• Sustentação (S)

• Relaxamento (R)

Na Figura 5 vemos, em cima, a forma de onda original, sem variação na amplitude. Em baixo,

vemos a aplicação de um envelope na mesma onda, causando variações de volume no tempo.

Figura 5 – Envolvente aplicado a uma onda

Page 18: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

28

Uma onda gerada por um instrumento de corda segue o padrão ADSR, e na Figura 5 na

parte AD indica que uma nova nota foi tocada e o software nesse momento pode realizar uma

nova busca para identificar uma nova nota, e enviar a mesma para a interpretação na rede neural.

O processamento do sinal sonoro é fundamental para o encontro do princípio ADSR. No sistema

o princípio ADSR foi descartado. Portanto o sistema sabe que uma nota (Lá) é uma nota (Lá),

mas não sabe quantas vezes a nota foi tocada.

2.7. Série Harmônica

De forma geral, uma série harmônica é resultado da vibração de algum tipo de oscilador

harmônico. As principais aplicações práticas do estudo das séries harmônicas estão na música e

na análise de espectros eletromagnéticos, tais como ondas de rádio e sistemas de corrente

alternada. A altura da nota produzida pela corda é determinada pela freqüência fundamental. As

demais freqüências, embora ouvidas, não são percebidas como alturas discretas, mas sim como

parte do timbre característico da corda.

Devido à limitação da elasticidade da corda, os primeiros harmônicos soam com maior

intensidade que os posteriores e exercem um papel mais importante na determinação da forma de

onda e conseqüentemente, no timbre do instrumento. O mesmo resultado pode ser obtido ao

colocar uma coluna de ar em vibração, embora neste caso não seja possível ver os nós e ventres

da onda.

A série harmônica é uma série infinita, composta de ondas senoidais com todas as

freqüências múltiplas inteiras da freqüência fundamental. Não existe uma única série harmônica,

mas sim uma série diferente para cada freqüência fundamental. A Tabela 3 mostra dois exemplos

de séries. Uma se inicia no Lá1(110 Hz) e a outra no Do1(132 Hz). A freqüência dá nota Do1 foi

arredondada para simplificar a tabela.

Tabela 3 – Exemplos de séries harmônicas

Lá1 Do1 Observações #

Nota Freqüência(Hz) Nota Freqüência(Hz)

1(F) Lá1 110 Do2 131 Freqüência fundamental

2 Lá2 220 Do3 262 Uma oitava acima da fundamental

3 Mi3 330 Sol3 393

4 Lá3 440 Do4 524 Duas oitavas acima da fundamental

5 Do#4 550 Mi4 655 Todos os harmônicos ímpares

Page 19: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

29

subseqüentes soam desafinados em relação aos equivalentes temperados

6 Mi4 660 Sol4 786 Note que o Sol4 da série de Do é diferente da mesma nota na série de Lá (linha abaixo)

7 Sol4 770 Sib4 917

8 Lá4 880 Do5 1048 Três oitavas acima da fundamental

9 Si4 990 Ré5 1179

10 Do#5 1100 Mi5 1310

11 Ré#5 1210 Fa#5 1441

12 Mi5 1320 Sol5 1572

13 Fá5 1430 Lá5 1703

Veja que o Lá 5 é muito desafinado em relação à mesma nota na série de Lá (última linha)

14 Solb5 1540 Sib5 1834

Estas notas não pertencem a nenhuma escala ocidental por terem intervalo inferior a um semitom.

15 Sol5 1650 Si5 1965

16 Lá5 1760 Do6 2096 Quatro oitavas acima da fundamental

Matematicamente, representa-se o espectro sonoro como uma série de Fourier, uma função no

domínio das freqüências, em oposição à forma de onda que é uma função no domínio do tempo.

2.8. Transformada de Fourier FFT (Fast Fourier Transform)

A transformada de Fourier é um processo matemático extensamente utilizado hoje em dia

em espectrometria. É um processo de cálculo digital simplificado, desenvolvido por vários

autores, denominado FFT (Fast Fourier Transform). A simplificação introduzida por esse

algoritmo reduz as operações necessárias de N2 multiplicações complexa para N log2 N

multiplicações (N é o número de pontos da função a ser transformada).

Essencialmente, a Transformada de Fourier consiste em dada uma quantidade h como

função do tempo [h(t)], determinar a correspondente quantidade H como função da freqüência

[H(f)]. Geralmente, como um número complexo que também indica a fase, e vice-versa: dada

H(f), determinar h(t), onde h(t) é uma coleção de N números que indicam, por exemplo, a

intensidade em função do tempo de certa função periódica. Um exemplo seria uma nota musical

emitindo um determinado som por 1 segundo.

Page 20: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

30

A corda provoca uma oscilação do ar, que pode ser convertida em oscilação elétrica, e

gravada. Um computador pode "ler" essa oscilação como uma coleção de pontos (números) que

indicam a intensidade em função do tempo. A Transformada de Fourier, aplicada a esses

"pontos", fornecerá um "mapa" das várias freqüências que compõem o som do instrumento na

forma de uma função intensidade x freqüência. Se na função original o tempo é segundo, na

transformada a freqüência será em Hz.

O algoritmo da transformada de Fourier não foi reescrito do zero. Foi implementado um

algoritmo já desenvolvido em linguagem C++. Portanto foi apenas entendido como é o

funcionamento do algoritmo e sua aplicação . A Transformada de Fourier foi utilizada, pois

reduziu a complexidade do sinal de entrada, minimizando as entradas da Rede Neural.

Page 21: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

31

CAPÍTULO 3 – ESPECIFICAÇÃO DO PROJETO

3.1. Objetivo

A meta do projeto é produzir um software e um hardware capaz de reconhecer as notas

musicais de um instrumento (guitarra) de no máximo seis cordas, afinado em uma freqüência de

440 hz, e transcrevê-las em forma de tablatura. Caso ocorra sucesso na identificação das notas e

exista tempo disponível técnicas também serão submetidas ao algoritmo de identificação. O

software fará o reconhecimento e transcreverá toda a captação do sinal gerado pelo hardware em

tablatura. O software deverá gerar tablaturas para o padrão ASCII, portanto outros softwares

poderão utilizar o reconhecimento feito pelo projeto. O objetivo final deste projeto é alcançar um

nível elevado na análise, podendo iniciar o desenvolvimento de um produto futuramente

comercial e de alta utilidade e qualidade no ramo musical e digital. Atualmente, é preciso o

músico sentar e escrever a composição para um instrumento de corda. Futuramente, será possível

com total precisão o músico tocar e o computador registrar todos os toques musicais nos

mínimos detalhes, sem perdas de notas e técnicas musicais.

3.2. Descrição do Projeto

A idéia foi desenvolver um hardware e um software baseado em rede neural

exclusivamente dedicado a instrumentos de corda. O software é capaz de identificar as mais

diversas variações de freqüências possíveis em um instrumento de corda analisando todas as

harmônicas do instrumento. O conjunto hardware e software analisam a maneira que o músico

tocou no instrumento de corda, o que é representado em forma de tablaturas, uma forma mais

simplificada de representar uma nota musical em um instrumento de corda.

O circuito se dedica, primeiramente, a realizar toda a aquisição do sinal. O software

aplica a FFT, necessária para reconhecimento sonoro através de redes neurais. Caso haja

sucesso, e houver tempo suficiente, na identificação de notas o sistema poderá identificar, além

de toques básicos, técnicas que quando executadas nos dão uma simulação de efeitos sonoros,

que podem ser usados para dar mais brilho e vida na música, os mais conhecidos são:

1. LICK quando se tira duas ou mais notas de uma única palhetada ( Material Utilizado para

tocar instrumentos de corda).

Page 22: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

32

2. BAND quando se faz uma nota em uma casa e puxa uma nota um tom mais alto puxando

a corda.

3. BAND INVERSO quando se faz uma nota em uma casa com a corda já puxada, depois

você deixará de esticá-la.

4. TWO-HAND deixar o indicador pressionando uma casa e fazer um revezamento com o

anular da mesma mão e o dedo médio da mão direita, esse método é usado na guitarra e

no baixo.

5. HARMÔNICO é executado nas 5a, 7a e 12a casas, encostando de leve o dedo na corda,

nas casas já mencionadas.

6. SOLO é executado tocando apenas uma corda de cada vez, como na guitarra. (Esse é o

toque básico).

7. FISICATTO é muito semelhante ao harmônico, só que é feito em qualquer casa,

encostando a mão direita de leve nas cordas, mas o som não é tão claro, OBS: esse é um

arranjo de guitarra.

8. FEED BACK é um arranjo usado em guitarras, mas pode ser usado em alguns modelos

de violão, segure a palheta de forma que quando você tocar o polegar direito toque de

leve na corda para causar o efeito de grito.

9. SLIDE é feito a nota em uma casa e puxamos uma outra nota na mesma corda em uma

casa diferente arrastando o dedo para cima.

10. SLIDE INVERSO é feito a nota em uma casa e puxamos uma outra nota na mesma corda

em uma casa diferente arrastando o dedo para baixo.

11. LIGADO é feito em uma das cordas tocando uma nota qualquer, depois você irá tirar

duas ou mais notas alternando os dedos sem palhetar o instrumento.

Page 23: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

33

As técnicas identificadas pelo software são: BAND, BAND INVERSO, TWO-HAND,

HARMÔNICO, SOLO. O reconhecimento das técnicas será feito através de algoritmos que

serão aplicados após o reconhecimento sonoro realizado pela rede neural. Se houver tempo

disponível, novas técnicas serão representadas pelo sistema.

3.3. A Tablatura na Prática

A tablatura pretende representar uma progressão musical descrevendo o que deverá

ser tocado em cada corda. Há seis linhas, uma para cada corda, sendo a primeira linha a

correspondente à corda mais aguda, o Mi agudo (e), e sendo a última linha a do Mi grave (E).

Entre estas se encontram as correspondentes às outras cordas (B - Si, G - Sol, D - Ré e A - Lá).

Na figura 6, está um exemplo de uma tablatura vazia:

e|----------------------------------------------

B|----------------------------------------------

G|----------------------------------------------

D|----------------------------------------------

A|----------------------------------------------

E|----------------------------------------------

Figura 6 – Tablatura vazia

Conforme a figura 6 usa-se para desenhar cada corda o símbolo '-' repetido várias

vezes até ao fim da linha. Na figura 6, as cordas deverão encontrar-se afinadas. Note que o

primeiro “e” (Mi 1ª Corda) foi escrito em letra minúscula. Isto deverá ser feito para ajudar a

diferenciar as duas cordas Mi (diferencia 1ª corda (e) da 6 ª corda (E)). O “e” minúsculo indica a

corda Mi aguda e o “E” maiúsculo indica a corda Mi grave. Contudo, muitas tablaturas não têm

esta diferenciação, e então, a primeira corda é sempre (ou deverá ser sempre) a mais aguda.

Nota-se que outras afinações poderão ser indicadas. A letra no início de cada linha da tablatura

indica que nota deverá produzir a corda correspondente quando tocada solta. Isto é importante,

pois algumas músicas exigem afinações diferentes da normal.

Ao longo de cada linha irão ser escritas as notas que deverão ser tocadas na corda

correspondente. O sentido esquerda para a direita na leitura da tablatura significa o avançar do

tempo. Neste aspecto, a tablatura é similar à pauta. As notas são representadas por um número

que indica que divisão pisar, ou seja, antes de que trasto é que se deve colocar o dedo. A

tablatura não indica (normalmente) que dedo deve ser usado, tanto na mão esquerda para pisar as

cordas como na mão direita para fazê-las vibrar. Outra desvantagem da tablatura. Mas

geralmente a escolha do dedo é deixada ao critério do músico.

Page 24: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

34

e|-0-2-4-5-4-2-0------------------------------------

B|---------------4-2-0-2-4-5------------------------

G|--------------------------------------------------

D|--------------------------------------------------

A|--------------------------------------------------

E|--------------------------------------------------

Figura 7 – Exemplo de tablatura

Na figura 7, o número 0 indica que se deve tocar a corda solta. Um 2 significa pisar a

corda respectiva na segunda divisão, ou seja, antes do segundo trasto metálico, e por diante. Foi

colocado um traço de intervalo entre cada nota para informar que as notas deverão ser todas

tocadas com o mesmo intervalo temporal entre elas. Mas um traço representa quanto tempo?

É esse o maior problema da tablatura: representar os intervalos de tempo e a duração

das notas. Há pelo menos três métodos. O mais usado é o de dosear os traços de intervalo de

modo a dar ao músico a noção da distância temporal. Por exemplo, conforme a figura 8 alterando

um pouco a tablatura anterior:

e|-0-2-4-5-4-2-0-------------------------------------

B|---------------4-2---0--2--4--5--------------------

G|---------------------------------------------------

D|---------------------------------------------------

A|---------------------------------------------------

E|---------------------------------------------------

Figura 8 – Noção temporal na Tablatura

Agora, sabemos que até ao primeiro 2 na corda Si (B) temos que dar sempre um dado

intervalo igual entre cada nota. Após este 2 (que é um Dó sustenido, C#), deve-se fazer uma

pausa de duração tripla diferentemente da pausa usada anteriormente entre as notas. Depois,

toca-se a corda B solta (o símbolo 0 que vem a seguir aos três traços) e tocam-se as notas

seguintes, mas agora com um intervalo entre elas duplo do usado inicialmente, devido ao uso de

dois traços. Assim, consegue-se dar uma noção de relação entre os intervalos na mesma música,

mas continuamos sem saber quanto tempo decorre em cada intervalo. Abaixo estão descritas as

mais diversas técnicas que o sistema poderá identificar:

Page 25: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

35

Solo: Consiste em simplesmente tocar a nota musical normalmente sem nenhuma técnica. Apenas a batida normal na corda musical. Um exemplo da técnica pode ser mostrado na figura 9

E|-------------------------------------:||

B|-------------------------------------:||

G|-------------------------------------:||

D|-----------------------------:--------||

A|---------0---0---------2-----:--------||

E|-0-0-1-2---2---2-2-1-0---0-0---------:||

Figura 9 – Técnica Solo

Slide (Deslizada):

Consiste em deslizar o dedo no braço de uma posição para outra, de uma nota para outra.

Veja o exemplo abaixo. apertando na casa 2, desliza até a 10, da 6 desliza até a 7, etc. Um

exemplo da técnica pode ser mostrado na figura 10.

e|------------------------------------------------------

B|------------------------------------------------------

G|------------------------------------------------------

D|-2/10---6/7--6----3----2/10---6/7---6---3-------------

A|------------------------------------------------------

E|------------------------------------------------------

Figura 10 – Técnica Slide

Bend:

O bend consiste em fazer uma nota, espichar a corda de maneira que ela soe como a

próxima nota, pode ser full (bend completo), o que consiste em soar como dois frets (trastes)

mais próximos do corpo da guitarra ou half (meio bend), soa como um fret mais agudo apenas. A

notação varia, esteja atento na tablatura para a explicação da notação. Um exemplo da técnica

pode ser mostrado na figura 11.

e|-7b8-7b8-7b8-7b8-8b10-----------

B|--------------------------------

G|--------------------------------

D|--------------------------------

A|--------------------------------

E|--------------------------------

Figura 11 – Técnica Bend

Page 26: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

36

Vibrato:

Tensiona-se a corda como se fosse um bend, só que rapidamente, indo e voltando. O

símbolo mais usual é mesmo o ~ (til). Um exemplo da técnica pode ser mostrado na figura 12.

E|-------------12-15~--

B|----------13---------

G|-------14------------

D|----14---------------

A|-12------------------

E|---------------------

Figura 12 – Técnica Vibrato

Hammer on:

Poderia chamar de martelada. A idéia é esta, martela-se com o dedo no braço da guitarra

produzindo som sem dar palhetada. A notação normal é H, de hamer on. Na figura 13, 7h9h10

significa ter um dedo na casa 7, e com outro bater na casa nove e depois com outro ainda bater

na casa 10. Veja a figura 13 neste trecho da escala em B (si).

h = hammer-on E|----------------------------------

B|----------------------------------

G|----------------------7h9h10------

D|---------------7h9h10-------------

A|--------7h8h10--------------------

E|-7h8h10---------------------------

Figura 13 – Técnica Vibrato

Pull Off

Pull off é o complemento natural do hammer on. Desta vez retira-se o dedo, produzindo o som.

Vamos aproveitar à mesma escala do exemplo descrito na figura 13, só que voltando como

descrito na figura 14.

p = pull-off E|---------------------------------

B|---------------------------------

G|-10p9p7--------------------------

D|--------10p9p7-------------------

A|---------------10p8p7------------

E|----------------------10p8p7-----

Figura 14 – Técnica Pull Off

Page 27: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

37

Tapping:

Tapping consiste em combinar hammer ons e pull offs utilizando as duas mãos, não

utilizando a palheta. No Lick descrito na figura 15, Se utiliza o dedo indicador da mão direita

para pressionar as casas 8 e 10 (ou outro dedo como preferir). Não esquecendo que H é hammer

on e P é de Pull off .

E|-0h5h8p5-0h5h8p5--0h5h8p5--0h5h8p5--0h5h10p5--0h5h10p5--

B|--------------------------------------------------------

G|--------------------------------------------------------

D|--------------------------------------------------------

A|--------------------------------------------------------

E|--------------------------------------------------------

E|-0h5h10p5------

B|---------------

G|---------------

D|---------------

A|---------------

E|---------------

Figura 15 – Técnica Tapping

Harmonics - Harmônicos:

Pode-se criar um harmônico natural (natural harmonic - NA) tocando no fret

correspondente a uma oitava acima da nota tocada. Na figura 16, se é tocada uma nota na casa 3,

deve-se encostar levemente o dedo na casa 15 (12 casas, uma oitava).

E|----------NH-----

B|-------NH-9------

G|----NH-7---------

D|-NH-5------------

A|-3---------------

E|-----------------

Figura 16 – Técnica Harmonics

Page 28: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

38

3.4 Descrição do Hardware

O hardware do projeto é composto por uma guitarra elétrica (Ibanez DX470). A guitarra

vai gerar o sinal puramente analógico. O sinal será tratado primeiramente pelo circuito

compressor ou CAG (Controle automático de ganho). O CAG é responsável por criar um padrão

de ganho para o sinal de entrada, o sinal não terá uma amplitude inferior a zero Volt, mas

também não terá um ganho superior a cinco Volts. É evidente que esse tratamento é feito no

momento em que o músico estará tocando o instrumento, com os volumes liberados. O

tratamento do sinal realizado pelo CAG é de forma contínua, ou seja, após a alimentação elétrica

do circuito. Posteriormente o sinal é direcionado ao PIC16F877 que realizará a conversão

analógica digital, e também realizará a comunicação serial com o computador. Conforme

descrito na figura 17.

Figura 17 – Diagrama do sistema

Page 29: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

39

3.5 Circuito Compressor e Limitador (CAG)

O circuito compressor nada mais é do que um controle automático de ganho. Em contato com a Fabricante de equipamentos eletrônicos Onner foi possível obter a teoria de funcionamento do circuito compressor. Na figura 18 demonstra a forma geral do circuito.

Figura 18 – Circuito Geral Compressor

1. O sinal passa por um buffer. Existe um trimpot entre esse buffer e o OTA, afim de ajustar um

offset entre os pinos + e -;

2. A saída do OTA é conectada à um estágio de buffers, pois esse pino possui alta impedância,

fato este que impossibilita a excitação direta de um estágio de controle.

3. Esse estágio de buffer possui 3 saídas, sendo uma, o sinal processado, outra o sinal em fase e,

por último, uma saída com sinal em contra-fase;

4. Esses sinais em fase e contra fase são encaminhados a circuitos retificadores, com ganhos

diferentes.

5. Os sinais provindos dos retificadores são somados, cada um com o seu respectivo (fase e

contra-fase)

Page 30: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

40

6. Os sinais, somados, de fases opostas são aplicados ao potenciômetro Attack e juntamente com

o capacitor C ajustam uma constante RC de carga, que determina o Attack;

7. Esse sinal passa pelo potenciômetro Sustain, que ajusta a constante RC de descarga de C,

determinando o Sustain.

8. O sinal (DC) é direcionado então ao controle de ganho do OTA, que controla, assim, a

amplitude do sinal.

9. Por fim, a chave permite comutar a saída, afim de utilizar o sinal processado ou "bypass" (sem

compressão, "original")

Esse tipo de circuito também é conhecido como AGC ou CAG (Controle automático de

ganho). Porém, com algumas particularidades para a utilização com guitarras (relativos aos

tempos, ganhos e impedâncias envolvidos.

Page 31: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

41

3.6 Micontrolador PIC16F877

Para a discretização do sinal sonoro será utilizado o microntrolador PIC16F877, descrito

na Figura 19 que receberá o sinal analógico através do pino RA0 e realizará a comunicação serial

através dos pinos RC7/RX/DT e RC6/TX/CK.

Figura 19 – Microcontrolador PIC16F977

Dentre as principais características deste microcontrolador, estão:

• Possui arquitetura RISC;

• Conjunto de apenas 35 instruções;

• Freqüência máxima de operação de 20MHz;

• Ciclo de instrução de 200us;

• Freqüência de trabalho interna dividida por 4;

• 8K de memória de programa;

• 368 bytes de memória RAM;

• Instruções executadas em 1 ciclo de clock;

• Modos de endereçamento direto e indireto;

• Opções de seleção do oscilador de clock;

• Consumo de corrente típico de 0,6 mA a 3V e 4MHz;

• Interface serial USART;

• Conversor A/D de 8 a 10 bits.

Page 32: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

42

A aquisição do sinal realizada pelo microcontrolodor PIC é descrita conforme a figura 20.

Antes de o sinal puramente analógico ser injetado do pino RA0, é submetido ao circuito

grampeador. O circuito além de enquadrar o sinal entre zero Volt e cinco Volts aplica um

ganho no sinal para aumentar a amplitude do sinal.

Após o tratamento do microcódigo aplicado ao sinal, é preciso transcrever o sinal no

padrão RS232. O PIC realiza comunicação serial em nível TTL (0 a 5V). O padrão RS232

utilizado pelo computador é de +12V a -12V. Por esse motivo foi utilizado o MAX232.

Figura 20 – Circuito da Aquisição do Sinal

Page 33: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

43

O programa escrito em Linguagem C para o PIC 16F877 terá as seguintes características:

• 8 Bits de Conversão ADC;

• Clock = 20Mhz;

• Baund Rate = 115000;

• Amostragem de 4 Khz;

3.7. Componentes a serem utilizados

• PIC16F877;

• Guitarra;

• Cabos de Rede;

• Resistores, Capacitores, Diodos;

• Circuito CAG;

• DB9;

• TL081;

• XTAL – 20 Mhz;

Page 34: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

44

CAPÍTULO 4 – SOFTWARE

4.1. Especificação do Software

O software é desenvolvido utilizando conceitos de orientação a objetos na linguagem

C++. Sua estrutura tem como base a forma de conceito de três camadas, sendo uma delas de

interface e outra de negócio. Para a aplicação não é necessário à camada de banco de dados, pois

o número de amostras é insuficiente para utilização desta camada. A classe interface possui

todos os métodos que interagem com o usuário graficamente através da tablatura. As classes de

negócio foram divididas em três níveis: a classe cSerial, responsável pela comunicação com o

circuito. A classe cTablatura responsável pela representação gráfica dos timbres e técnicas

musicais na tela e a classe cNeural responsável pelo treinamento e reconhecimento do sinal

sonoro.

4.2. Teorema da Amostragem

O teorema de Nyquist ou da amostragem, provê uma regra que determina o intervalo de

freqüência ideal para que um sinal seja amostrado e recuperado sem perda de informação.

Um sinal limitado em freqüência, que não tem nenhuma componente espectral acima da

freqüência fm Hz, é determinado univocamente por seus valores tomados a intervalos uniformes

menores que 1/2fm . Portanto podemos representar a relação conforme a Eq. (1).

max2 mo ff ≥ (1)

Com base no teorema de Nyquist, foi determinado que a maior freqüência utilizada no

projeto fosse 2 kHz. Esta freqüência foi escolhida pela tabela 3 que possui a freqüência da nota

Lá quatro oitavas abaixo da freqüência fundamental. Com quatro oitavas abaixo, a nota Lá

possui uma freqüência maior do que a última nota a ser reconhecida pelo projeto. No caso seria a

nota Mi aguda na 4ª casa do instrumento musical. A nota Lá com quatro oitavas encontra-se na

corda Mi aguda 17ª casa do instrumento musical.

Portanto a taxa de amostragem utilizada foi de 4 kHz. Internamente o microcontrolador

consegue uma resolução de 1024 pontos do sinal com essa taxa de amostragem.

Page 35: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

45

4.3. Processamento do Sinal Digital com a Variância

O hardware envia 1024 pontos do sinal por vez ao computador. A cada envio de amostras

é aplicado a variância para selecionar as amostras mais significativas. A variância testa a

variabilidade do sinal, caso o músico não tocar o instrumento não haverá sinal e

conseqüentemente a variância ficará próxima de zero conforme a figura 21.

O variação do sinal é diferente para cada corda. Na figura 22 é demonstrado que para a corda Mi

grave solta, que possui freqüência aproximada de 330Hz, a variância é alta (Var = 1139,815).

Por outro lado a corda Mi aguda tocada na 4ª casa do instrumento que possui freqüência

aproximada de 1760 Hz e possui uma variância baixa (Var = 304,5776). A figura 21 mostra que

a variância aplicada a ausência do sinal musical fica próxima de zero. Portanto são selecionadas

amostras que possuem variância superior a 100. Este padrão foi adotado experimentalmente e

resultou em amostras significativas do sinal musical.

O processo facilitará a construção do universo de amostras para o treinamento da rede

neural, pois será possível tocar a mesma nota por minutos e capturar um alto número de

amostras. Para um tempo de aproximadamente 20 segundos tocando a mesma nota é possível

capturar em torno de 40 amostras de uma mesma nota. Esta proporção foi determinada

experimentalmente, pois pode variar se o clock do microcontrolador for alterado, se a velocidade

de comunicação for alterada e se a quantidade de pontos amostrados for alterada. Essa etapa

facilitará o treinamento e a precisão da rede neural. A equação (5) demonstra a relação que será

aplicada ao sinal discretizado.

Var = 1,265143 (Nenhuma Nota)

0

20

40

60

80

100

120

140

160

180

1 13 25 37 49 61 73 85 97 109 121 133 145 157 169 181 193 205 217 229 241 253

Figura 21 – Ausência de sinal musical

Page 36: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

46

Var = 304,5776 (Nota e - 4)

0

20

40

60

80

100

120

140

160

1 13 25 37 49 61 73 85 97 109 121 133 145 157 169 181 193 205 217 229 241 253

Var = 1139,815 (Nota E - 0)

0

20

40

60

80

100

120

140

160

180

1 13 25 37 49 61 73 85 97 109 121 133 145 157 169 181 193 205 217 229 241 253

Figura 22 – Sinais musicais reais

A variância considera que os argumentos são uma amostra da população. Na Eq. (2), x é

média total da amostra MÉDIA(núm1,núm2,…) , _

x é um único ponto da amostra e n é o

tamanho da amostra.

(2)

4.4. Processamento do Sinal Digital com o Desvio Padrão

Após o processo descrito na sessão 4.2 é aplicado a FFT nas 1024 amostras que reduzirá

o universo de amostras inicial de 1024 para 512. Tal fato ocorre, pois as primeiras 512 amostras

são a FFT e as 512 seguintes são os espelhos das primeiras 512 amostras. Esse ainda é um

universo de amostras muito amplo e custará a rede neural um grande processamento e um

universo muito elevado de amostras.

Page 37: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

47

A rede neural realiza uma série de multiplicações matriciais, basicamente seria o número

de neurônicas da camada de entrada*neurônicos da camada oculta*neurônios da camada de

saída. O custo computacional cresce exponencialmente, pois conforme descrito na sessão 4.5

existem cálculos matriciais distintos e repetitivos no processo algorítmico. Os cálculos são

baseados no número de neurônios de cada camada.

Portanto será aplicado o desvio padrão na FFT que reduzira o universo de amostras de

512 para 64 amostras. Dos 512 pontos resultantes da FFT a cada 8 pontos é aplicado o desvio

padrão. O cálculo estatístico mede a variabilidade dos 8 valores fazendo com que a FFT resulte

na aparência da figura 24.

O conjunto da figura 23 e a figura 24 mostram uma simulação do que é realizado pelo

software antes de o sinal ser apresentado a rede neural. O desvio padrão é calculado usando-se o

método "não-polarizado" ou "n-1". Na Eq. (3), x é média da amostra MÉDIA(núm1,núm2,…) ,

_

x é um único ponto da amostra e n é o tamanho da amostra.

(3)

512 Amostras

0

2000

4000

6000

8000

10000

12000

14000

16000

18000

20000

1 20 39 58 77 96 115 134 153 172 191 210 229 248 267 286 305 324 343 362 381 400 419 438 457 476 495

Figura 23 – FFT original

64 Amostras

0

1000

2000

3000

4000

5000

6000

7000

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63

Figura 24 – Desvio padrão na FFT original

Page 38: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

48

4.5. Algoritmo Backpropagation

Para o desenvolvimento do sistema é utilizada uma rede multicamadas que é uma etapa

importante na direção da construção de máquinas inteligentes.

O objetivo é adquirir uma massa de áudio aparentemente amorfa de elementos parecidos

e ensina-la a executar tarefas úteis. Uma rede multicamada pode computar qualquer coisa. Dado

um conjunto de entradas, podemos usar unidades de soma de limites como se fossem simples

portas AND, OR e NOT, ajustando corretamente o limite dos pesos das conexões.

Para o tema proposto será aplicado um algoritmo da rede de retropropagação. Espera-se

obter a solução para a classificação das notas musicais geradas. A unidade em uma rede de

retropropagação requer uma função de ativação ligeiramente diferente dos perceptrons. Ambas

as funções estão descritas na Figura 25. Uma unidade de retropropagação ainda soma as suas

entradas ponderadas, mas, ao contrário do perceptron, ela produz um valor real entre 0 e 1 como

saída, com base em uma função sigmóide, que é contínua e diferenciável, conforme exigência do

algoritmo de retropropagação. Seja a soma ponderada das entradas de uma unidade. A equação

para o produto da unidade é fornecido pela Eq. (4):.

somae

saida−+

=1

1 (4)

Observe que a soma é 0, o resultado será 0,5. Conforme aumenta a soma, o resultado

passa a ficar mais próximo de 1. Conforme ela diminui, por outro lado, o resultado fica mais

próximo de 0.

Figura 25 – Função do Perceptron e Função de Retropropagação

Assim como o perceptron a rede de retropropagação começa com um conjunto de pesos

aleatórios. A rede ajusta seus pesos toda vez que recebe um par entrada-saída. Cada par requer

dois estágios: uma passagem para frente e uma para trás. A passagem para frente envolve

Page 39: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

49

apresentar um exemplo de entrada para a rede e deixar as ativações fluírem até chegarem a

camada de saída. Durante a passagem para trás, o produto da rede obtido é comparado com a

saída objeto, e estimativas de erro são computadas para as unidades de saída. Os pesos

conectados as unidades de saída podem ser ajustados para reduzir esses erros. Depois podemos

utilizar as estimativas de erro das unidades de saída a fim de derivar estimativas porá unidades

das camadas ocultas. Finalmente os erros são propagados para trás até a conexão cuja raiz está

nas unidades de entrada

Ao contrário do algoritmo de aprendizagem por perceptrons o algoritmo da

retropropagação atualiza seus pesos incrementalmente, depois de ver cada par entrada-saída.

Depois que ele tiver visto todos os pares entrada-saída, podemos dizer que uma época foi

concluída. O treinamento de uma rede de retropropagação em geral requer muitas épocas.

O processo algorítmico descrito foi utilizado no sistema pela classe cNeural. A rede

neural construída no sistema possui a mesma arquitetura do algoritmo descrito ou seja 3

camadas.

Algorítmo

Dado: Um conjunto de pares de vetor entrada-saída.

Computar: Um conjunto de pesos para uma rede de três camadas que mapeia entrada nas

saídas correspondentes.

1. Seja o número de unidades da camada de entrada, conforme determinado pelo comprimento

dos vetores de entrada de treinamento. Seja C o número de unidades da camada de saída. Agora

escolha B, o número de unidades da camada oculta. Conforme mostra a Figura 26 as camadas de

entrada e oculta têm, cada uma, uma unidade extra usada como limite; portanto, as unidades

dessas camadas as vezes serão indexadas pelos intervalos (0, ... , A) e (0, ... , B). Denotamos os

níveis de ativação das camadas de entrada por xj, da camda oculta por hj e da camada de saída

por oj, as unidades ocultas. Da mesma maneira, os pesos que conectam a camada oculta a

camada de saída são denotados por ω 2ij com i indexando as unidades ocultas e j, as unidades

de saída.

Page 40: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

50

Figura 26 – Uma rede multicamada

2. Inicializa os pesos da rede. Cada peso deve ser ajustado aleatoriamente entre um número

entre -0,1 e 0,1.

ω 1ij = aleatório(-0,1 , 0,1) para todo i = 0, ... , A, j=1, ... B

ω 2ij = aleatório(-0,1 , 0,1) para todo i = 0, ... , B, j=1, ... C

3. Inicialize a ativação das unidades de limite. Seus valores nunca mudam.

x0 = 1,0

h0 = 1,0 4. Escolha um par entrada-saída. Suponha que o valor de entrada seja xi e que o vetor de saída

objeto seja yi, Atribua níves de ativação as unidades de entrada.

5. Propague a ativação das unidades da camada de entrada para as unidades da camada oculta

usando a função de ativação descrito pela Eq. (5).

Bjtodoparaijxiw

hjA

ie,...,1

11

1

0

=+

=

∑ =

(5)

Observe que em Eq. (5) i varia de 0 a A, ω1oj é o peso-limite para a unidade oculta j e x0 é sempre 1,0. 6. Propague as ativações das unidades da camada oculta para as unidades de camada de saída. Conforme a Eq. (6)

Cjtodoparaijhiw

ojB

ie,...,1

21

1

0

=+

=

∑ =

(6)

Page 41: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

51

Novamente em Eq. (6) o peso limite ω20j da unidade de saída j tem importância na soma

ponderada. h0 é sempre 1,0.

7. Compute os erros das unidades das camadas de saída, denotada por j2δ conforme Eq. (7). Os

erros baseiam-se na saída real da rede (oj) e na saída objeto (yi).

Cjtodoparaojyjojojj ,...1))(1(2 =−−=δ (7)

8. Compute os erros das unidades da camada oculta, denotada por S1j conforme Eq. (8)

BjtodoparajiwihjhjjC

i

,...,12*2)1(1

=−= ∑=

δδ (8)

9. Ajuste os pesos entre a camada oculta e a camada de saída. O coeficiente de aprendizagem é

denotado por η ; sua função é a mesma da aprendizagem por perceptrons. Um valor razoável

para é 0.35, conforme Eq. (9)

hjijij .2.2 δηω =∆ para todo i = 0, ... , B; j = 1, .... , C (9)

10. Ajuste os pesos entre a camada de entrada e a camada oculta conforme Eq. (10)

xijij .1.1 δηω =∆ para todo i = 0, ..., A; j = 1, ..., B (10)

11. Vá para a etapa 4 e repita. Quando todos os pares entrada-saída tiverem sido apresentados à

rede, uma época terá sido completada. Repita as etapas de 4 a 10 para tantas épocas quanto

forem desejadas.

4.6. Fluxograma de Treinamento da Rede Neural

No treinamento da rede neural os sinais de uma mesma nota são armazenados em um

arquivo por um período de aproximadamente quatro minutos. Após esse intervalo de tempo é

parado a gravação manualmente. A saída desejada para uma determinada nota é preenchida

conforme a tabela 4. A nota “E – 0”, por exemplo, que dizer tocar a nota Mi grave com a corda

solta e assim por diante.

Page 42: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

52

Após a aplicação do algoritmo da FFT e do desvio padrão os sinais são armazenados no

arquivo de treinamento que é utilizado pela rede neural. O fluxo geral do treinamento é descrito

na figura 27.

Tabela 4 – Saída desejada

Nota Saída Desejada Nota Correspondente

1 00000 E - 0 2 00001 E - 1 3 00010 E - 2 4 00011 E - 3 5 00100 E - 4 6 00101 A - 0 7 00110 A - 1 8 00111 A - 2 9 01000 A - 3 10 01001 A - 4 11 01010 D - 0 12 01011 D - 1 13 01100 D - 2 14 01101 D - 3 15 01110 D - 4 16 01111 G - 0 17 10000 G - 1 18 10001 G - 2 19 10010 G - 3 20 10011 G - 4 21 10100 B - 0 22 10101 B - 1 23 10110 B - 2 24 10111 B - 3 25 11000 B - 4 26 11001 e - 0 27 11010 e - 1 28 11011 e - 2 29 11100 e - 3 30 11101 e - 4

Page 43: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

53

Figura 27 – Fluxograma de Treinamento

Page 44: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

54

4.7. Fluxograma de Reconhecimento Musical

Os processos algorítmicos, realizados pelo fluxograma de classificação da nota musical

descritos na figura 28, são semelhantes aos processos do fluxograma de treinamento, descrito na

figura 27. Nesta etapa algorítmica, o que diferencia os dois fluxogramas é que o software não

utiliza o arquivo de treinamento, e sim o arquivo de amostras real. Para a classificação do

arquivo de notas o software carrega o arquivo de pesos que foi gerado na etapa de treinamento.

Caso obtenha sucesso no reconhecimento o software monta a tablatura musical.

Figura 28 – Fluxograma de Reconhecimento

Page 45: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

55

4.8. Rede Neural Utilizada

A configuração da rede neural foi determinada experimentalmente, ou seja, no momento

do treinamento da rede neural. É relacionando o número de neurônios na camada de entrada,

camada oculta e a taxa de aprendizagem. O número de neurônios na camada de saída foi

determinado pelo conjunto de notas a serem identificadas, que no total são 30 notas musicas

gerando 52 combinações, conforme a tabela 4.

A figura 29 mostra a rede utilizada, que possui 64 neurônios na camada de entrada, 27 na

camada oculta e 5 na camada de saída.

O algoritmo da rede neural foi escrito exatamente como descrito na sessão 4.5 guardando

os pesos em um arquivo de texto para a classificação das notas músicais.

Figura 29 – Rede Neural

4.9. Comunicação Serial

A comunicação entre o software e o hardware é feita através da porta RS232, utilizando

uma API de comunicação (ActiveX Automation) que a ferramenta Borland Builder

disponibiliza. Os parâmetros de configuração são definidos de acordo com a Tabela 5.

Tabela 5 – Tabela de Parâmetros da Serial

Bits por segundo 115200 Bits de dados 8 Paridade Nenhum Bits de parada 1 Controle de fluxo Nenhum

..................................

.............

..................................

.............

1 2 3 4 63 64

1 2 3 27

1 2 3 4 5

Page 46: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

56

4.10. Diagrama de Classe

O diagrama de classes descrito na figura 30 mostra de que forma os componentes dos

fluxogramas dos itens 4.6 e 4.7 existem no software. Existe um classe cErro descrita no modelo

que foi utilizada para o tratamento de erros.

Figura 30 – Diagrama de classe

Page 47: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

57

4.11. Interface

A figura 31, mostra a interface utilizada pelo software. A interfece foi montada pensando

em futuramente utilizar outros instrumentos para o reconhecimento em forma de tablaturas. Para

o sistema construído o software funciona apenas selecionando a opção Guitarra.

Figura 31 – Interface

Page 48: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

58

CAPÍTULO 5 – CRONOGRAMA DE DESENVOLVIMENTO

O cronograma de desenvolvimento utilizado ao longo do projeto está representado na

tabela 6. Para o controle das atividades durante a fase de projeto foi utilizada a ferramenta

Microsoft Excel 2003.

Tabela 6 – Cronograma

Page 49: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

59

CAPÍTULO 6 – ESTUDO DE VIABILIDADE

O estudo de viabilidade leva em conta o custo de componentes, horas de trabalho e o

custo de placas padrões disponíveis para compra no Unicenp.

Tabela 7 – Valores do estudo de viabilidade

Recurso Quantidade Custo Unitário Custo Guitarra 1 R$ 2500,00 R$ 2500,00 Circuito CAG 1 R$ 230,00 R$ 230,00 Cabo RCA 1 R$ 8,00 R$ 8,00 Componentes Eletrônicos 100 R$ 200,00 R$ 200,00 Horas de trabalho 1200 R$ 20,00 R$ 24000,00 Total R$ 26938,00

Neste estudo de viabilidade não esta sendo levada em consideração à infra-estrutura de

laboratórios, licenças de ferramentas de desenvolvimento de software, ferramentas de projeto de

hardware e nem software de acompanhamento de projetos.

Page 50: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

60

CAPÍTULO 7 – RESULTADOS OBTIDOS

Os testes foram realizados após a montragem do arquivo de treinamento descrito na

sessão 4.6. Na figura 32 extraída diretamento do software final é possível escolher o número de

épocas e a taxa de treinamento. Após a escolha dos valores é precionado o botão “Treinar Rede”.

Quando o treinamento estiver completo a taxa de acerto é obtida na label “Taxa de Acerto”. Os

valores Número de épocas, Taxa de Aprendizagem, Neurônios na camada de entrada e

Neurônios na camada oculta, foram se alternando até que a rede apresenta-se uma taxa de acerto

significativa. O processo completo de treinamento e ajuste dos valores da rede neural foi

realizado em aproximadamente duas semanas.

Figura 32 – Janela de treinamento

O sistema obteve uma taxa de acerto aproximada de 92,20 % para 3181 épocas com uma

taxa de aprendizagem de 0,6. Esse resultado foi obtido experimentalmente após várias tentativas

e combinações distintas. O treinamento da Rede Neural Backpropagation foi aplicado apenas

para a técnica de solo. Na tabela 8 encontra-se a taxa de acerto para cada nota musical utilizada

no treinamento. Foi utilizado um arquivo com 2533 registros para o treinamento. Esse número

foi determinado automaticamente pela quantidade de amostras extraídas e pela correlação

aplicada no arquivo original de amostras que possuia 4555 amostras.

Inicialmente foi embaralhando o arquivo de 4555 amostras e inserido o mesmo na rede

neural. O objetivo do sistema estaria praticamente completo, mas essa abordagem não obteve

sucesso. Ao adicionar o arquivo completo na rede, a mesma não obteve taxa de acerto qualquer.

Várias tentativas e configurações diferentes foram abordadas em relação a taxa de aprendizagem

Page 51: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

61

e número de neurônios nas camadas da rede, mas a mesma não conseguia classificar o arquivo de

notas. Portanto foi desenvolvido um algorítmo que testava a correlação de uma nota (por

exemplo E-0) excluíndo ela mesma em relação ao resto do arquivo. O algororítmo utilizado para

auxilio no treinamento foi implementado em Microsoft Visual Studio 6.0. O código pode ser

encontrado em Anexo 2. A implementação não foi feita no software final devido ao termino de

tempo para o desenvolvimento do sistema.

Após essa abordagem algorítmica foi percebido que muitas amostras continham uma

correlação muito alta em relação ao resto das amostras. A nota “G-4” teve uma correlação muito

alta em relação a nota “B-0”. Tal fato ocorre devido a nota ter praticamente as mesmas

características restando apenas a diferenciação através do timbre.

Uma outra parte também desenvolvida no algoritmo de correlação seleciona notas que

possuem correlação menor que 0,75. Experimentalmente quando se ultrapassava tal valor de

correlação a rede não conseguia classificar significativamente o arquivo de notas musicais. Esse

critério trouxe algumas consequências como a não classificação das notas: “A-0”, “A-1”, “A-2”,

“G-4”, “B-0”, “e-0” e “e-1” . Experimentalmente após várias tentativas e números de épocas

relativamente altos, tais notas não obtiveram uma taxa de treinamento significativamente alta,

para que as mesmas pudessem ser utilizadas em um processo algorítmico.

Tabela 8 – Época por Nota

Nota Taxa Acerto Taxa Erro Qtd Testada

E - 0 78,15 21,85 238

E - 1 93,61 6,39 266

E - 2 56,36 43,64 220

E - 3 100,00 0,00 297

A - 3 87,68 12,32 341

A - 4 99,54 0,46 216

D - 0 82,52 17,48 143

D - 1 97,05 2,95 237

D - 2 96,08 3,92 153

D - 3 98,50 1,50 133

D - 4 100,00 0,00 146

G - 0 100,00 0,00 245

G - 1 91,14 8,86 158

G - 2 99,28 0,72 278

G - 3 100,00 0,00 254

B - 1 100,00 0,00 145

B - 2 98,37 1,63 184

B - 3 37,19 62,81 121

B - 4 98,09 1,91 157

e - 3 96,64 3,36 119

e - 4 100,00 0,00 122

e - 2 100,00 0,00 148

Page 52: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

62

A Figura 33 demonstra a taxa de erros em relação ao número de épocas obtido pelo software.

Figura 33 – Erros x Épocas

Foi observado experimentalmente que não existia evolução significativa da taxa de acerto

após a época 3181. Testes foram realizados e algumas notas obtinham um sucesso mais

expressivo mas em compensação outras notas fracassavam mais no processo de classificação.

A tabela 8 contém todas as notas que foram utilizadas para a montagem da tablatura. Um

outro fator que não foi reconhecido algoritmicamente foi à quantidade de vezes que o músico

tocou a mesma nota no instrumento musical. Uma análise mais profunda poderia ser realizada

para resolver o problema baseando-se no princípio ADSR descrito na sessão 2.6.

Experimentalmente poderia ser feita uma análise no sinal antes da rede neural, dessa forma seria

possível saber onde foi o ataque e quantas vezes ele ocorreu para uma determinada nota musical.

Em relação às técnicas musicais descritas na sessão 3.3, não houve tempo suficiente para

realizar tais reconhecimentos, a inclusão das técnicas no sistema não é trivial. Análises

matemáticas e algorítmicas diferenciadas poderiam ser feitas para que o timbre pudesse ser

tratado de forma diferenciada. Algumas técnicas podem ser reconhecidas com o processo

algorítmico realizado com a FFT, mas para analisar formas de timbres diferentes a FFT não foi

suficiente, é o caso das notas G – 4 e B – 0.

Page 53: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

63

CAPÍTULO 8 – CONCLUSÃO

Uma das principais dificuldades no desenvolvimento deste trabalho foi não ter

encontrado referências concretas sobre o reconhecimento de áudio em instrumentos de corda. O

desenvolvimento do trabalho foi todo construído por referências que realizam reconhecimento de

voz. A maioria das referências com o reconhecimento de voz não utilizam a FFT por não

apresentar resultados significativos usando tal método.

Ao concluir o desenvolvimento dos módulos de hardware e software foi possível iniciar o

processo de treinamento da rede neural. Existiram dificuldades para estabelecer uma forma de

treinar o sistema. Se fosse montada uma base de notas musicais, em que fosse inserido na base

nota a nota, certamente o tempo de testes teria que ser dobrado. Para solucionar o problema um

ajudante teria que ser necessário. Algo que era inviável no momento da fase de testes. Foi

utilizado então o cálculo da variância, que possibilitou a separação das notas musicais

automaticamente. O cálculo estatístico além de solucionar o problema da quantidade de

amostras, fez com que uma base de testes pudesse ser construída por hora se necessário. A fase

de testes foi então agilizada. Foi possível testar várias configurações da rede neural.

Surgiu então outro problema, a rede neural não estava conseguindo uma taxa de acerto

significativa. Busquei então informações com o orientador do projeto que sugeriu realizar o

cálculo estatístico da correlação entre as amostras.

A correlação estatística fez perceber que a FFT não continha informações em relação ao

timbre musical. Basta analisar as notas “G – 4” e “B – 0” através da FFT. A correlação entre as

duas notas era extremamente alta, o que levou a decisão de cortar uma dessas notas do

reconhecimento. Com a correlação outras notas tiveram problemas e também foram cortadas do

reconhecimento. As notas foram cortadas, pois não havia mais tempo para a investigação do

problema. Utilizando a metodologia de excluir notas com alta correlação a rede neural obteve

êxito no treinamento de todas as notas. Foi possível identificar a técnica solo e transcrever as

notas reconhecidas em forma de tablatura.

Existem diversas melhorias que ainda podem ser feitas no projeto. O hardware utilizado

poderia ser concentrado em um DSP (Digital Signal Processor). O DSP certamente melhoraria a

performance do hardware fazendo com que mais notas pudessem ser reconhecidas em um

intervalo curto de tempo. O software poderia buscar informações da quantidade de notas tocada

analisando o princípio ADSR ( Ataque, Decaimento, Sustentação e Relaxamento). Outra

melhoria importante no software, seria utilizar além da FFT, outros métodos de inteligência

artificial que consigam resolver o problema do timbre musical.

Page 54: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

64

Muitos esforços ainda serão dispensados em testes e pesquisas sobre o reconhecimento de

áudio e timbre musical. Este trabalho é uma humilde contribuição, apenas para sinalizar um

caminho ou mostrar outros caminhos que podem ser percorridos para o sucesso completo do

projeto.

Page 55: SISTEMA DE RECONHECIMENTO SONORO … 8 – Noção temporal na Tablatura.....34 Figura 9 – Técnica Solo.....35 Figura 10 – Técnica Slide.....35 ... Em uma aplicação de nível

65

CAPÍTULO 7 – REFERÊNCIAS BIBLIOGRÁFICAS

1 - Livros Halliday Resnick Walker - Funfamentos de Física Gravitação, Ondas e Termodinâmica Paulo Sergio R.D, Eduardo A.B.S, Sérgio Lima Netto - Processamento Digital de Sinais – Projeto e Análise de Sistemas Francisco Estevam Martins de Oliveira – Estatística e Probabilidade Fábio Pereira – Microcontroladores PIC Programação em C 2 – Periódico Dígitro Tecnologia. Glossário Tecnológico. Coordenação Eng. Juliano Anderson Pacheco, desenvolvida por Adm. Claudio Brancher Kerber, apresenta termos tecnológicos na área de telecomunicações. Disponível em: <http://www.digitro.com/glossario_digitro.php>. Acesso em: 07 dezembro 2007 3 - Artigo de Periódico E. M. Miletto, L. L. Costalonga, L. V. Flores, E. F. Fritsch, M. S. Pimenta e R. M. Vicari Instituto de Informática - Laboratório de Computação & Música Universidade Federal do Rio Grande do Sul Disponível em: < http://www.inf.ufrgs.br/lcm/web/textos/aula1/CMintro2.pdf> 4 – Monografia, Teste Cristiano Nogueira dos Santos – Representação Espectral de Sinais Para Transcrição Musical Automática. Tese (Graduação). Rio de Janeiro. Universidade Federal do Rio de Janeiro 2004. Lílian Franco. Brito de Luca. Controle On-Off de Dispositivos Eletrônicos através do reconhecimento de voz. Monografia (Graduação) Curitiba. UNICENP 2002. 5 - Internet Informações sobre componentes eletrônicos utilizados Disponível em: <http://www.texasinstruments.com/> Material de Reconhecimento de FALA baseado em diversos autores: Disponível em: <http://www.eps.ufsc.br/disserta96/tafner/index/index.htm#sum> Timbre sonoro e Análise de Fourier <http://www.cefetba.br/fisica/NFL/fge2/praticas/timbreCoolEdit.html> Acessado em 01/12/2007