Case Study

Desenvolvimento da aplicação Audio Quality Tool

Back-end Developer a aperfeiçoar a Audio Quality Tool para o cliente

Cliente

 

Logo-1

 

Indústria
  • Automóvel
  • 4º maior grupo automóvel do mundo (resultante da fusão entre Fiat-Chrysler e Grupo PSA)
  • Inclui 14 marcas, entre elas: Peugeot, Citroën, Fiat, Alfa Romeo, Opel, Chrsyler, Jeep, entre outras

Desafio

Este projeto surgiu devido à necessidade de visualização dos ruídos dos ficheiros áudio de uma forma mais user-friendly. Para tal, foi desenvolvida a aplicação Audio Quality Tool, que permite a classificação de ficheiros áudio e a sua visualização de uma forma percetível para todos os utilizadores.

A aplicação recebe um conjunto de ficheiros áudio e classifica cada um deles de acordo o ruído encontrado. No fim do processo de classificação, os utilizadores podem saber quais as partes do ficheiro áudio que têm boa qualidade, ou não.

Além disso, também existe a possibilidade de efetuar comparações de qualidade entre os diferentes ficheiros áudio, através de gráficos intuitivos para os utilizadores.


Solução

A solução passou pelo desenvolvimento de 3 grandes componentes com finalidades bem definidas:

  • Audio Quality Tool: aplicação desenvolvida em Java Swing, responsável por receber os ficheiros áudio do utilizador e enviá-los para o Python Package, para que os mesmos possam ser classificados. 
    Este componente também é responsável por apresentar os resultados aos utilizadores;
  • Python Package: componente desenvolvido em Python para permitir a classificação dos ficheiros áudio. Esta classificação foi possível graças às diversas bibliotecas de data mining e machine learning que a linguagem python possui nativamente. 
    Além de permitir a classificação, este componente também gera ficheiros CSV com a classificação para cada instante temporal do ficheiro áudio;
  • License Key: componente desenvolvido em Java Swing, que permite a criação e gestão de licenças. 
    Devido a questões de segurança do Grupo PSA – também conhecido por Peugeot S.A. ou PSA Peugeot Citroën – foi necessário desenvolver licenças à base de criptografia avançada, de modo a que só alguns utilizadores do Grupo PSA, devidamente autorizados, pudessem aceder à aplicação Audio Quality Tool (para entrar na aplicação, o utilizador deveria ter uma licença devidamente instalada no seu computador, que tivesse informações fidedignas do mesmo). Só assim determinados utilizadores poderiam utilizar a aplicação. 
    Além disso, o administrador do Grupo PSA poderia gerir as licenças, bem como atribui-las aos utilizadores que quisesse.

Metodologia

Foi utilizada uma metodologia híbrida, que envolveu práticas das abordagens Waterfall e Scrum.


Tecnologias

  • Audio Quality Tool: Java 8; Spring Boot
  • Python Package: Python 3.6.5 x64 R2 (Pandas)
  • License Key: Java 8; Spring Boot
  • Database: SQLite

Resultados

Os utilizadores passaram a conseguir visualizar os ruídos dos ficheiros áudio de uma forma mais user-friendly.

Além disso, o Grupo PSA conseguiu desenvolver sistemas de som com maior qualidade, que pudessem ser integrados nos seus automóveis.


Tempo e recursos

Projeto de 3 meses. A equipa envolvida incluiu:

  • Gestor de Projeto;
  • Analista Funcional;
  • 1 Back-end Developer.

Arquitetura

Audio Quality Tool:

Imagem 1-1

License Key:

Imagem 2-1

 


Imagens da aplicação

Audio Quality Tool:

Imagem 3-1

Imagem 4

Imagem 5

 

License Key:

Imagem 6

Imagem 7