










Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Os melhores documentos à venda: Trabalhos de alunos formados
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Comunidade
Peça ajuda à comunidade e tire suas dúvidas relacionadas ao estudo
Descubra as melhores universidades em seu país de acordo com os usuários da Docsity
Guias grátis
Baixe gratuitamente nossos guias de estudo, métodos para diminuir a ansiedade, dicas de TCC preparadas pelos professores da Docsity
Este trabalho teve por objetivo construir um programa de computador interativo ao usuário, onde fosse possível estudar e manipular de maneira prática os processos envolvidos durante o processamento de um áudio digital, proporcionando a assimilação e a compreensão, de modo visual e auditivo, da importância de cada etapa de tratamento do sinal e de cada parâmetro definido como padrão e utilizado na indústria para o processamento de áudio digital
Tipologia: Trabalhos
1 / 18
Esta página não é visível na pré-visualização
Não perca as partes importantes!
Em oferta
Av. dos Estados, 5001, Santa Terezinha, Santo André/SP, CEP 09210- 580 Bloco L, 3ºAndar, Fone (11) 3356 - 7617 iniciacao@ufabc.edu.br Relatório Final de Iniciação Científica referente ao Edital: 03/2019. Nome do aluno: Adinan Alves de Brito Filho Nome do orientador: Kenji Nose Filho Título do projeto: Construção de uma interface interativa para a requantização e rea- mostragem de sinais de áudio Palavras-chave do projeto: reamostragem, requantização, sinais de áudio, interface interativa Área do conhecimento do projeto: Codificação de sinais multimídia Bolsista: Não. Santo André
1 Resumo .......................................................................................................................... 2 2 Introdução ...................................................................................................................... 2 3 Fundamentação teórica .................................................................................................. 6 4 Metodologia ................................................................................................................. 11 5 Resultados, discussão dos resultados, conclusões e perspectivas de trabalhos futuros ... 16 Referências ....................................................................................................................... 17
Este trabalho teve por objetivo construir um programa de computador interativo ao usuário, onde fosse possível estudar e manipular de maneira prática os processos envolvidos durante o processamento de um áudio digital, proporcionando a assimilação e a compreensão, de modo visual e auditivo, da importância de cada etapa de tratamento do sinal e de cada parâmetro definido como padrão e utilizado na indústria para o processamento de áudio digital. Nesta interface interativa, construída/programada na linguagem Python, é possível realizar a reamostragem e a requantização de sinais de áudio e reproduzir este áudio recodificado simultaneamente, com as configurações de processamento definidas pelo próprio usuário, através de botões interativos, de modo que ele possa perceber as diferenças entre o áudio original e o áudio reamostrado (com e sem filtro anti-aliasing) e/ou requantizado. Junto ao áudio, também é exibido o gráfico de forma de onda dos sinais de áudio original e recodificado e seus respectivos espectrogramas.
Em 1969, a partir da concepção do que chamamos hoje de internet, o homem encontrou um meio revolucionário para a transmissão de informação. A ARPANET - sigla em inglês para Rede da Agência de Projetos de Pesquisa Avançados dos Estados Unidos, é o primeiro esquete desta grande rede que fora concebida para fins estratégicos de defesa dos Estados Unidos (SILVA, 2001). Desenvolvida por pesquisadores da DARPA, originalmente conhecida como ARPA (Agência de Pesquisa de Projetos Avançados), sua função era garantir e proteger a fluência das
A partir de 1982, com o esfriamento das tensões advindas da Guerra Fria, a ARPANET se distanciou de seu caráter primário como estratégia de defesa militar e se tornou reduto de compartilhamento de material científico grandemente utilizado pela academia americana, culminando na separação da rede entre MILNET, a rede militar, e ARPANET, centrada em interesses científicos. Contudo, apesar de ter ampliado seu alcance durante todos estes anos, a ARPANET ainda não havia experimentado grandes avanços no crescimento das taxas de transmissão de dados. Em meados da década de 80, grande maioria dos modens operava em 110 bps (bits por segundos), poucos chegavam a 1200 bps (BAZZINOTTI, 2014). Figura 2 : Mapa do backbone da NSFnet (National Science Foundation Network, ou Fundação Rede da Ciência Nacional dos Estados Unidos, tradução livre) inaugurado em 1986 e conectado à ARPANET, que operava a 56Kbps. Um dos primeiros backbones de cobertura nacional do país. Fonte: Internet History of 1980's - Computer History Museum. O número de computadores conectados à Internet cresceu de 2000 em 1985 para mais de 2.000.000 em 1993. Para lidar com o crescente tráfego de dados, o backbone da NSFnet, inaugurado em 1986, com seu mapa de distribuição sendo ilustrado pela Figura 2, substituiu permanentemente o da ARPANET em 1990, evoluindo para 45 Mbps em 1991 (NATIONAL SCIENCE FOUNDATION, 2003), e em seguida para 145 Mbps em 1994 (VALE, COSTA e JUNIOR, 2001 ). O lançamento da World Wide Web para o grande público, em 1991, contribuiu imensamente para a difusão e aceitação da internet. A criação de Tim Berners-Lee, que começou como uma tentativa de linkar as páginas dos bancos de dados internos das organizações entre si, facilitou a identificação e personalização na rede ao gerar um endereço único para documentos ou recursos (a URL), que são interligados por hipertexto e acessíveis em toda a internet. Esta ferramenta gerou uma gama de possibilidades, como, por exemplo, a criação de páginas multimídia, tornando a rede mais amigável ao usuário comum.
Nesse momento, em que havia a possibilidade de se disponibilizar conteúdo multimídia através da WWW, haviam dois obstáculos a serem rompidos: a velocidade da conexão dos usuários, que era limitada aos 56 Kbps dos modems de linha telefônica (EHA, 2013), e a disponibilidade de armazenamento restrita dos discos rígidos, que dava seus primeiros passos em relação aos gigabytes, inacessíveis ao consumidor final (DURKIN, 2018). Um arquivo de áudio não comprimido de três minutos de duração com os parâmetros de qualidade de um CD (2 canais, taxa de amostragem igual a 44,1kHz e 16 bits de quantização) ocuparia 31,752 MB, ou seja, 254016 Kb. Portanto, na velocidade padrão da época (56 Kbps), o download duraria cerca de 75 minutos, algo completamente inviável. Porém, este mesmo arquivo, com os mesmos parâmetros de configuração, porém em formato MP3, comprimido na taxa padrão de 128 Kbps, ocuparia um espaço de 2,88 MB, ou 23,040 Kb, tomando pouco mais de 7 minutos para download. Trazendo aos dias atuais pode parecer um período interminável, porém, para a época era algo revolucionário. Essa redução do tamanho do arquivo se dá ao fato do algoritmo do MP3 se basear em princípios da audição humana, eliminando dados redundantes e irrelevantes, que não podem ser percebidos pelo ouvido humano (SILVEIRA e ESPINDOLA, 2008). A diferença brutal entre o tempo de duração das duas transferências demonstra a importância, a eficácia e a necessidade de uma compressão de dados inteligente, assertiva e otimizada. Tal compressão se dá pelo processamento do áudio, modificando parâmetros e realizando procedimentos como a reamostragem e requantização do sinal. O objetivo deste trabalho foi construir um programa de computador que funciona como uma interface de áudio capaz de realizar esses procedimentos. Nesta interface, é possível inserir um arquivo de áudio de formato .wav da escolha do usuário, configurar os parâmetros dos processos de reamostragem e requantização e realizar a recodificação do áudio quantas vezes for desejado, podendo analisar cada resultado individualmente e compará-lo com outras configurações selecionadas anteriormente. A cada processamento, um novo arquivo de áudio recodificado é gerado e tocado simultaneamente, permitindo ao usuário ouvir o efeito da configuração escolhida e constatar por si próprio a importância do estudo de tais processos. Também são gerados gráficos de análise de frequência (espectrogramas) e de taxa de erros de requantização do sinal de áudio, permitindo a contemplação dos resultados não apenas de maneira auditiva, mas também visual, evidenciando sutilezas que poderiam não ser notadas apenas ouvindo o sinal recodificado.
assumir qualquer valor em uma faixa contínua, pode ser recuperado sem perdas desde que sua taxa de amostragem seja igual ou maior à duas vezes a componente de maior frequência do sinal original. Portanto, ao se converter um sinal cuja frequência mais aguda (alta) é 4000 [Hz], a uma taxa de amostragem de 8000 [Hz] ou mais, não haverá perda de informação ou distorção. A taxa de amostragem também pode ser referenciada como fator de decimação para
𝐹𝑠 𝑞 , onde Fr
decimação, um valor inteiro maior ou igual a 1. Portanto, quanto maior o fator de decimação, menor a taxa de amostragem a ser obtida. Ao longo dos avanços tecnológicos, a teoria de Nyquist tem sido fundamental para a formulação de técnicas para a reamostragem de sinais. Sabendo-se que ao reamostrar um sinal com uma taxa de amostragem igual ao dobro da maior frequência não há perda de informação, a escolha da taxa de amostragem torna-se uma estratégia fundamental para a compressão de dados, já que quanto menor a taxa de amostragem, menor o tamanho do arquivo, e menor a largura de banda necessária para a sua transmissão. Por isso, foram formulados convenções e padrões de taxas de amostragem relacionadas ao conteúdo que o sinal de áudio transmite. Por exemplo, adotou-se o valor de 44, 100 kHz para os CDs de áudio e plataformas digitais de distribuição de música, já que a maior frequência compreendida pelo ser humano é, em geral, em torno de 20 kHz. Todavia, nota-se que esta taxa de amostragem é superior ao dobro do limiar da audição humana. Isto se deve ao fato de que, na prática, a frequência máxima atingida pelo sinal após a conversão é ligeiramente menor do que a metade da taxa de amostragem (THE AUDACITY TEAM, 2020). As cadeias de rádio FM utilizam o padrão de 32 kHz, enquanto o padrão AM utiliza 22, kHz. Os sistemas de transmissão de voz humana, por exemplo, em telefonia, adotam como taxa de amostragem o padrão de 8 kHz, visando a baixa largura de banda requerida, já que o espectro de frequências abrangido pela fala humana está contido, em sua maior parte, entre 100 Hz e 4 kHz. Tal taxa é suficiente para preservar a clareza e a compreensão do diálogo. Contudo, ao se amostrar um sinal a uma taxa menor do que o dobro de sua maior frequência, ocorre o efeito chamado aliasing , ocasionado por frequências fora da faixa de cobertura da taxa de amostragem. Durante a reamostragem, tais frequências são codificadas erroneamente e mapeadas para o espectro de frequências assimiladas pela taxa escolhida, gerando distorção no sinal_._ Este efeito pode ser observado claramente em espectrogramas, como os representados pela Figura 4.
Figura 4 : Sinal de áudio antes e depois da reamostragem à uma taxa de 12 kHz. Fonte: Do próprio autor. Espectrogramas são gráficos que medem a densidade de energia (volume) por faixa de frequência e por faixa de tempo (CYSNE PRODUÇÕES, 2017). O espectro é apresentado verticalmente: a extremidade grave fica abaixo, crescendo em escala logarítmica à escala aguda. O gradiente de cores indica a intensidade de energia do sinal. A cor laranja representa os pontos de maior energia, enquanto o azul-marinho simboliza os de menor energia. Ao analisar a Figura 4, é possível notar que as frequências acima de 6 kHz foram rebatidas, ou espelhadas, após o processo, gerando um efeito altamente distorcivo ao áudio, comprometendo seu uso. Para evitar isso, torna-se necessário a aplicação de um filtro passa- baixas, também conhecido como filtro anti-aliasing (TARR, 2014), antes da reamostragem do sinal. Este filtro elimina as frequências acima do compreendido pela taxa de amostragem desejada, impedindo o ‘espelhamento’ de tais frequências e por assim o dano ao novo sinal almejado, como é demonstrado pela Figura 5.
Durante este processo, a quantidade de níveis de quantização é definida pela expressão
igual a um.
Figura 7 : Requantização de sinal de áudio, com taxa de bits a 4 bits. Sinal original com 16 bits de profundidade. A taxa de amostragem original (48000 Hz) não foi modificada. Fonte: Do próprio autor. Tomando como exemplo o sinal de áudio da Figura 7, temos um áudio de 12 segundos, com um canal apenas, taxa de amostragem a 48 kHz e 16 bits de profundidade. O tamanho estimado deste arquivo seria de 4,5 MB. Contudo, trocando a taxa de bits para 4 bits, como o exemplo do áudio digitalizado da Figura 7, o tamanho do arquivo seria de 1,1 MB, aproximadamente um quarto do áudio original. No entanto, apesar da compactação por meio da requantização ter sido efetiva, o resultado é insatisfatório e o áudio tornou-se inutilizável. Dependendo dos requisitos das aplicações e da capacidade dos equipamentos envolvidos, diferentes taxas de bit podem ser empregadas na quantização de arquivos de áudio. Dentre essas variações, nota-se o padrão de 8 bits para comunicações via redes de telefone definido pelo ITU-T (Setor de Normatização das Telecomunicações) (INTERNATIONAL TELECOMMUNICATION UNION, 1988). Outro método de quantização também se destaca na otimização e compressão de dados, o ADPCM (Adaptive Differential Pulse Code Modulation). Neste procedimento, os níveis de quantização podem ser variáveis no tempo, permitindo a redução da largura de banda de dados necessária (POHLMANN, 2010).
Tendo como base estes conceitos fundamentais, prosseguimos para a metodologia do presente projeto.
Os primeiros passos para a confecção do projeto foram a análise da linguagem de programação e a fundamentação da base teórica do projeto. Iniciamos o trabalho tendo como linguagem escolhida o Java, dado a experiência anterior do aluno na linguagem. Contudo, percebeu-se que a linguagem Python seria a mais adequada para este projeto, apesar do aluno não possuir o conhecimento prévio, devido a construção da linguagem facilitar a abordagem e o processamento nativo de sinais de áudio e pela grande disponibilidade de pacotes e bibliotecas como recursos adicionais para a elaboração da interface. Dentro da linguagem, optou-se por trabalhar na plataforma Jupyter Notebook por sua versatilidade para a criação de códigos, já que trabalha no formato de células comunicativas entre si, e é acessada por um navegador WEB, não demandando tantos recursos de processamento do dispositivo utilizado. Os trabalhos começaram antes mesmo do início do período letivo dos ingressantes, com aulas quinzenais onde o professor orientador explicava os conceitos fundamentais envolvidos na análise de sinais como a reamostragem, compressão e requantização de maneira simples e acessível, até que houvesse a fundamentação teórica necessária para que fosse possível dar início ao processo de escrita do código. Também foram criados esquetes e possíveis designs visuais para a interface, objetivando um leiaute simples, fácil de ser manipulado e interessante visualmente. A equipe do Laboratório de Sinais e Sistemas da UFABC também foi muito importante para a elaboração deste trabalho. A maior parte das aulas teóricas foi realizada nas dependências do laboratório, bem como boa parte da programação do projeto, ambos com a participação pontual de quaisquer pessoas que estivessem presentes ali no momento, somando conhecimento e auxílio na resolução de problemas. Com o início das aulas, a disciplina de Bases Computacionais da Ciência mostrou-se de grande importância para este projeto, ao abordar em sua ementa a linguagem oficial do projeto, o Python. Desta forma, os trabalhos de escrita do código se iniciaram, primeiramente em testes de manipulação dos botões responsivos. A biblioteca escolhida no início da jornada para a confecção dos botões do programa, a ipywidgets, funcionou muito bem em todos os testes e não apresentou problemas, sendo de
Figura 9 : Leiaute da interface após a inserção do arquivo de áudio a ser processado. Fonte: Do próprio autor. Figura 10 : Sinal de áudio recodificado, gerado a partir das configurações selecionadas pelo usuário. Fonte: Do próprio autor.
Figura 11 : Pacotes e bibliotecas utilizados para a construção da interface. Fonte: Do próprio autor. Figura 12: Código-fonte dos processos de amostragem e quantização do sinal de áudio. Fonte: Do próprio autor. Figura 13: Método para criação e exibição do botão de seleção do intervalo do sinal para criação de gráficos. Fonte: Do próprio autor.
Figura 16: Código-fonte da criação e exibição de alguns dos botões presentes na interface. Fonte: Do próprio autor.
Apesar da paralisação das atividades presenciais da Universidade, o projeto não foi severamente impactado. Boa parte do código já estava pronto antes da pandemia, restava-se apenas implementar a requantização, reajustar o leiaute do programa e dar início à escrita do relatório. Todos os objetivos iniciais foram concretizados e a interface opera plenamente.
Caso não houvesse a pandemia, talvez fosse possível agregar mais ideias e operações à interface, como a operação com múltiplos sinais, reinterpretando-os e analisando-os concomitantemente, bem como sofisticar mais ainda a interface gráfica do usuário. Este programa pode servir como objeto de estudo para os cursos de engenharia, sobretudo a Engenharia da Informação, evidenciando o impacto de cada processo de codificação de um sinal refletido sobre o produto final, e ilustrando de maneira prática conceitos abordados tradicionalmente de maneira teórica, principalmente aos ingressantes do curso, gerando entusiasmo e interesse ao correlacionar teoremas teóricos com o áudio processado digitalmente, tão presente em suas vivências diárias.
BARRETO, P. S. Aula 3 - Teoremas de Nyquist e Shannon - Teleinformática e Redes I. Departamento de Ciência da Computação - Universidade de Brasília , 7 maio 2015. Disponivel em: https://cic.unb.br/~pris/resources/Teaching/Redes-de-Computadores/aula3.pdf. Acesso em: setembro 2020. BAZZINOTTI, J. The Internet During The 1980s Was A Very Different Time | Thought Catalog. Thought Catalog , 8 setembro 2014. Disponivel em: <https://thoughtcatalog.com/jay- bazzinotti/2014/09/the-internet-during-the-1980s-was-a-very-different-time/>. Acesso em: 8 julho 2020. COMPUTER HISTORY MUSEUM. Internet History of 1980s | Internet History | Computer History Museum. Computer History Museum , 2020. Disponivel em: https://www.computerhistory.org/internethistory/1980s/. Acesso em: 8 julho 2020. CYSNE PRODUÇÕES. Espectrograma de Frequência, veja o áudio com novas cores. Cysne Produções , 4 outubro 2017. Disponivel em: <https://cysneproducoes.com.br/espectrograma- de-frequencia-veja-o-audio-com-novas-cores/>. Acesso em: setembro 2020. DURKIN, H. Evolution of the Hard Drive [Infographic] | MyMemory Blog. MyMemory , 6 novembro 2018. Disponivel em: <https://www.mymemory.co.uk/blog/evolution-of-the-hard- drive/>. Acesso em: 13 julho 2020. EHA, B. P. An Accelerated History of Internet Speed (Infographic). Entrepreneur , 2013. Disponivel em: https://www.entrepreneur.com/article/228489. Acesso em: 8 dezembro