Skip to content

Aplicativo de reconhecimento de fala feito em Python utilizando técnicas de programação dinâmica.

Notifications You must be signed in to change notification settings

projeto-de-algoritmos/Final_SpeechRecognition

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Final_SpeechRecognition

Conteúdo da Disciplina: Trabalho final

Alunos

Matrícula Aluno
16/0049733 Felipe Borges de Souza Chaves
18/0055241 Victor Jorge da Silva Gonçalves

Sobre

Aspectos gerais

Este projeto implementa um aplicativo desktop cujo proposito é o reconhecimento de fala. O aplicativo é criado em Python e é munido de funcionalidades para registro de novas palavras e consultas sobre o dataset de palavras. O usuário do aplicativo cadastra uma nova palavra através do envio de sua string e seu áudio correspondente. O usuário do aplicativo pode então enviar um áudio de uma palavra para o campo de consulta e receber de volta a sua string correspondente. Para que uma palavra seja reconhecida, a mesma deve ser previamente cadastrada.

Reconhecimento de fala

O reconhecimento de fala é feito através da comparação de um áudio, que não se sabe a priori a que palavra se refere, com todas as outras palavras cadastradas anteriormente, e retornando assim aquela cuja diferença for a menor. A rotina de comparação de áudio é composta de duas etapas:

  1. Extração dos atributos Mel-Frequency Cepstral Coefficients
    Faz-se uma análise de características espectrais de tempo curto, baseando-se no uso do espectro da voz convertido para uma escala de frequências denominada MEL que é uma escala que visa imitar as características únicas perceptíveis pelo ouvido humano (MFCC).

  2. Comparação entre os atributos MFCC de cada palavra
    Utilizando o algoritmo Dynamic Time Warping (DTW) que utiliza de técnicas de programação dinâmica para computar um melhor match de duas sequências, conseguimos descobrir qual é a palavra mais próxima do áudio fornecido para consulta. Nesta API, em específico, estaremos utilizando uma versão aproximada do DTW chamada Fast DTW que possui complexidade linear, mas que para os nosso proposito se mostrou extremamente eficiente.

Screenshots

screen1 screen2 screen3

Instalação

Linguagem: Python 3
Framework: Qt

É altamente aconselhavel que você utilize uma virtualenv e instale as dependências neste ambiente.

Com a virtualenv ligada instale as dependências com o comando abaixo:

pip3 install -r requirements.txt

Descreva os pré-requisitos para rodar o seu projeto e os comandos necessários.

Uso

No ambiente com os pacotes instalados execute o comando no root do projeto:

python3 main.py

Outros

Quaisquer outras informações sobre seu projeto podem ser descritas abaixo.

About

Aplicativo de reconhecimento de fala feito em Python utilizando técnicas de programação dinâmica.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages