• Nenhum resultado encontrado

Acionamento de dispositivos via decodificações de sons utilizando a transformada rápida de Fourier em um microcontrolador.

N/A
N/A
Protected

Academic year: 2023

Share "Acionamento de dispositivos via decodificações de sons utilizando a transformada rápida de Fourier em um microcontrolador."

Copied!
71
0
0

Texto

Quando se trata de decodificação de voz, que é um método mais restritivo devido à exclusividade da voz, e relativamente seguro, é possível ativar dispositivos do sistema de segurança como armar ou desarmar um alarme, ou até mesmo abrir uma porta. Com base neste cenário, este trabalho desenvolveu um sistema capaz de decodificar sons através de suas frequências, utilizando a Transformada Rápida de Fourier (FFT), e através desta decodificação, representar o acionamento de dispositivos. Concluída a etapa de gravação, o sistema começa a funcionar, aguardando a palavra do usuário.

Nesta etapa, é realizada a FFT do sinal da palavra falada e suas frequências identificadas são comparadas com as frequências da palavra previamente gravada. Foram realizadas tentativas com várias palavras e observadas suas magnitudes e frequências, e posteriormente o reconhecimento de uma determinada palavra foi utilizado para ativar o LED. Palavras-chave: transformada rápida de Fourier, decodificação de áudio, reconhecimento de voz, ativação de dispositivo.

INTRODUÇÃO

Objetivo

Justificativa

Estrutura do Trabalho

Vários testes foram realizados para verificar os sons identificados, obtendo suas FFTs e especificando suas frequências, o que será demonstrado e especificado no capítulo 5. No capítulo 6, temos a conclusão do trabalho e sugestões para trabalhos futuros e, por fim, temos se as referências bibliográficas utilizadas.

REVISÃO BIBLIOGRÁFICA

Neste trabalho foram utilizados os coeficientes cepstral e mel-cepstral (obtidos por meio da Transformada de Fourier direta e inversa), que reduzem a quantidade de dados sem afetar as informações necessárias para o reconhecimento de fala. Perico, Shinohara e Sarmento (2014), em seu trabalho de conclusão de curso, aventuraram-se a utilizar a decodificação de sons para acionar dispositivos, elaborando um sistema para controlar uma plataforma elevatória por meio de reconhecimento de voz, com foco na área de tecnologia assistiva. Para reconhecimento de voz em português do Brasil, existe uma interface chamada Coruja, que possibilita o controle do software Julius.

Uma delas amplamente reconhecida e utilizada é o reconhecimento de voz do Google, que permite pesquisar sem digitar, usando apenas a fala encontrada em computadores e celulares. Outra ferramenta que pode ser citada, utilizada para reconhecimento de voz é o Módulo de Reconhecimento de Voz V3, mostrado na Figura 4. Compatível com Arduino, é um módulo de reconhecimento de voz do fabricante Elechouse dependente de um microfone, com volume único, caracterizado por fácil ao controle.

Figura 1 – Teclado DTMF  Fonte: Lima et al. (2004)
Figura 1 – Teclado DTMF Fonte: Lima et al. (2004)

MATERIAIS E MÉTODOS

  • Descrição do sistema
  • Arduino Nano
  • FFT
    • Séries de Fourier
    • Transformada de Fourier
    • Transformada Discreta de Fourier
  • Janelamento
  • Audacity
  • Reconhecimento de voz
  • Auxílio a deficientes auditivos
  • Melhoria da qualidade do sinal de voz
  • O sinal de voz
    • Modelo de produção da fala

Na Figura 5 pode ser vista a estrutura de hardware do Arduino Nano, com seus pinos correspondentes e a conexão para o cabo miniUSB. A Figura 6 mostra o projeto do monitor serial da IDE do Arduino, que nos ajudará a observar o comportamento da FFT (Fast Fourier Transform). Para entender o que é a transformada rápida de Fourier, primeiro é necessário introduzir os conceitos de Série de Fourier e Transformada de Fourier.

A função cos(x), representada graficamente na Figura 8, também é uma função periódica deslocada de π/2 em relação à função sin(x), o que significa que elas estão defasadas de π/2. A Figura 9 mostra a soma das funções sen(x) e cos(x), em vermelho, essa curva é obtida somando os valores de seno e cosseno de ponto a ponto. Na Figura 11, você pode ver o gráfico de onda quadrada junto com o gráfico de expansão com termos da série de Fourier, primeiro expandido por 1 termo e continuamente por 49 termos.

A série de Fourier nos mostrou como reescrever qualquer função periódica como uma soma de senoides e cossenos. Em sistemas de comunicação, o sinal de função é multiplicado por um sinal senoidal e o espectro de frequência é realocado, como pode ser visto na Figura 12. A transformada de Fourier unidimensional é utilizada em sinais biológicos, como o eletrocardiograma (ECG), que carrega. numa banda menor, onde o interesse principal é medir o ritmo e negligenciar os detalhes morfológicos, como pode ser visto na figura 14.

A transformada de Fourier bidimensional é utilizada em imagens onde o ponto (0, 0) indica a intensidade média da imagem. A Figura 15 mostra a aplicação da transformada de Fourier bidimensional em imagens, comparando o espectro de Fourier de imagens de impressões digitais, onde (a) e (b) são sem ruído e (c) e (d) com ruído. A Transformada Discreta de Fourier (DFT), ou Transformada Rápida de Fourier, FFT, usa um número limitado de pontos no domínio do tempo e define uma representação discreta do sinal no domínio da frequência.

O software foi utilizado na execução do projeto como base para gravação de voz e plotagem do espectro de frequência do sinal coletado, que é utilizado para testes. Na Figura 21, que analisa a forma de onda dos sons de áudio, podem ser observadas oscilações amortecidas, derivadas de ressonâncias espectrais, também chamadas de formantes, da cavidade vocal, que refletem aspectos únicos do aparelho vocal humano. Verifica-se a existência de dois componentes, sendo uma estrutura fina relacionada a , com um envelope espectral suave, relacionado a , que pode ser observado na Figura 23.

Figura 5 – Arduino Nano  Fonte: Arduino (2017)
Figura 5 – Arduino Nano Fonte: Arduino (2017)

DESENVOLVIMENTO

Esquemático da solução implementada

Análise de sinais

Implementação da Transformada de Fourier

  • Plain FFT
  • Algoritmo

Mais detalhadamente, a primeira etapa é dividida em duas seções, sendo a primeira responsável por identificar os picos através do limite definido para as magnitudes e seu armazenamento em um vetor que acumula 7 frequências. A segunda seção verifica se os picos armazenados na primeira seção se repetem quando a palavra é repetida. Para a detecção de picos de tamanho, foi feita uma rotina que os identifica através de um valor limite definido.

Como no caso desse projeto o volume é variável (o sinal pode vir do computador, celular ou microfone), então foi criada uma rotina para contornar essa divergência, que ajusta o limite assim que necessário. Na prática, o uso de um microfone externo de volume fixo contornaria esse problema de volume, assim como o uso de um telefone celular de volume fixo. Para o sistema telefônico, os EUA adotaram a faixa de frequência de 200 Hz a 3200 Hz, com a maior energia de sinal sendo preservada nessa faixa.

O teorema da amostragem, ou teorema de Nyquist, afirma que um sinal analógico transmitido em uma largura de banda de B Hz será reconstruído após a filtragem pelo receptor a uma frequência de pelo menos 2 bilhões de vezes por segundo. Isso comprova, assim, que a frequência escolhida de 8000 Hz é suficiente para essa decodificação, pois mesmo com um máximo de 4000 Hz para a frequência de fala, 8000 Hz estaria dentro do valor aceitável. O código começa com a chamada da biblioteca, depois cria o objeto FFT e define o número de amostras e a taxa de amostragem, além de criar algumas variáveis.

O 'void setup' inicializa as séries que servirão apenas para auxiliar na visualização das frequências na verificação dos testes, ou seja, o sistema não precisa disso. O uso da série usa o tempo de processamento do Arduino, portanto, o uso é estritamente dependente da necessidade de uso, controlado pelo 'void loop'. Um vetor armazena até 128 amostras do sinal de áudio que entra pela entrada analógica do Arduino.

Em seguida, é realizada a rotina de verificação do limiar de captura de pico e identificação das frequências associadas.

Figura 25 – Esquema do algoritmo utilizado  Fonte: Própria
Figura 25 – Esquema do algoritmo utilizado Fonte: Própria

RESULTADOS

Os testes também foram realizados com palavras diferentes que possuem os mesmos componentes vocálicos, neste caso foram utilizadas as palavras "abra" e "para" que são "a". Como pode ser visto nas Figuras 28 e 31, os espectros de frequência das palavras "abra" e "para" são semelhantes. No caso deste projeto, a condição para o reconhecimento de palavras é que pelo menos 5 frequências sejam repetidas durante a fase de gravação, sendo que 7 frequências são armazenadas e comparadas.

Para auxiliar na análise do sinal, o Arduino Serial é utilizado durante os testes, de forma que as frequências obtidas para cada pronúncia da palavra na fase de gravação possam ser acompanhadas pelo monitor serial, bem como quantas vezes. a mesma frequência foi repetida. Idealmente, todas as frequências serão repetidas em todas as reproduções de fala, mas a condição dada é menor, devido à presença de ruído e à limitação do tamanho da amostra a apenas 128 amostras, pela biblioteca que aciona a FFT. Nesse momento, o led verde acende, para demonstrar que o cadastro foi realizado com sucesso e que as frequências já foram recebidas, conforme ilustrado na Figura 33.

Quando um nível alto é definido no pino 8 para pronunciar a palavra, o LED verde se apagará e o vermelho começará a piscar novamente, enquanto a palavra é pronunciada ou reproduzida, comparando as frequências recebidas neste playback. com as frequências gravadas para a palavra. A qualquer momento, a opção de registrar uma nova palavra é dada pela configuração do pino 12 alto. Testes realizados com as palavras “direita”, “esquerda”, “aberto”, “alto”, “baixo” e “para” revelaram o número de repetições de cada palavra necessárias para registrá-la e o número de repetições necessárias para ela. realizar o acionamento da carga, após o registro da palavra, conforme pode ser observado na tabela 3.

Primeiramente, seus respectivos espectros de frequência foram comparados através do Audacity e foi constatado que suas frequências eram próximas e poderia haver um erro do sistema. A palavra "abra" foi gravada para acionar a carga, enquanto a palavra "para", com os mesmos componentes sonoros, foi tocada após a gravação da palavra "abra", para verificar se o sistema poderia identificá-la como a palavra "abra ". . correto para condução de carga. Percebeu-se então que algumas frequências não eram equivalentes à palavra registrada para reconhecimento e, portanto, o sistema não a reconhecia como palavra-estímulo.

Em seguida, foram feitas várias repetições da gravação da palavra "para" e, após algumas repetições, o sistema identificou frequências semelhantes e identificou como a palavra correta para ativar a carga, que foi ativada.

Figura 28 – Espectros de frequência da palavra “abra”
Figura 28 – Espectros de frequência da palavra “abra”

CONCLUSÕES E TRABALHOS FUTUROS

Para a continuação deste trabalho, propõe-se melhorar a precisão do sistema para uma identificação mais direta e imediata, sem a necessidade de muitas repetições da palavra. Aumentar o número de palavras identificadas, trabalhando com matrizes no código para armazenar e manipular as frequências identificadas. Testes com palavras faladas por mais de uma pessoa para ver se o sistema distingue os comandos.

Também é proposto melhorar o sistema para uso remoto, como emitir tons para auxiliar o usuário a gravar remotamente ou identificar o evento correto de acionamento da carga. Disponível em: < https://metodosmatematicosuff.files.wordpress.com/2011/03/sc3a9ries-de-furier_trabalho.pdf >. Disponível em: < https://www.elechouse.com/elechouse/images/product/VR3/VR3_ manual .pdf >.

Estudos iniciais do sistema didático para análise de sinais no domínio da frequência DSA-PC: tipos de janelas de tempo. Trabalho de Conclusão de Curso (Graduação em Engenharia Industrial Elétrica – Ênfase em Automação do Departamento Acadêmico de Eletrotécnica) – Universidade Tecnológica Federal do Paraná, Curitiba, 2014. Utilização de técnicas de processamento digital de sinais para identificação automática de pessoas por voz.

Trabalho de Conclusão de Curso (Diploma em Engenharia de Controle e Automação) - Universidade Federal de Ouro Preto, Ouro Preto, 2016. Serial.println("Ative o pino 10 para desativar o carregamento e reative a senha falando ou o pino 11 para gravar uma palavra nova. "); .

Imagem

Figura 1 – Teclado DTMF  Fonte: Lima et al. (2004)
Figura 2 – Algoritmo para detecção de limite das palavras  Fonte: Petry, Zanuz e Couto Barone (1999)
Figura 3 – Fluxograma do sistema de reconhecimento de voz  Fonte: Perico, Shinohara e Sarmento (2014)
Figura 4: Voice Recognition Module V3
+7

Referências

Documentos relacionados

Utilizando somente m´ odulos compactos compostos por um microcontrolador, um adaptador Wi-Fi e um receptor GNSS, faz-se a comunica¸c˜ ao entre as esta¸c˜ oes e o trem, de forma que