UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO

Tamanho: px
Começar a partir da página:

Download "UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO"

Transcrição

1 UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO TRATAMENTO DE SINAIS SONOROS NO COMPUTADOR SIMULANDO PEDAIS VIRTUAIS Área de Computação Musical por Daniel Krueger Adhemar Maria do Valle Filho, Dr. Orientador Itajaí (SC), junho de 2008

2 UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO TRATAMENTO DE SINAIS SONOROS NO COMPUTADOR SIMULANDO PEDAIS VIRTUAIS Área de Computação Musical por Daniel Krueger Relatório apresentado à Banca Examinadora do Trabalho de Conclusão do Curso de Ciência da Computação para análise e aprovação. Orientador: Adhemar Maria do Valle Filho, Dr. Itajaí (SC), junho de 2008

3 SUMÁRIO LISTA DE ABREVIATURAS...iv LISTA DE FIGURAS...v LISTA DE TABELAS...vii LISTA DE EQUAÇÕES...viii RESUMO...ix ABSTRACT...x 1 INTRODUÇÃO PROBLEMATIZAÇÃO Formulação do Problema Solução Proposta OBJETIVOS Objetivo Geral Objetivos Específicos METODOLOGIA ESTRUTURA DO TRABALHO FUNDAMENTAÇÃO TEÓRICA COMPUTAÇÃO MUSICAL Som DSP Efeitos Digitais SOFTWARES SIMILARES Guitar R.A FX-Box Revalver BIBLIOTECAS DE SOM E LINGUAGENS DE PROGRAMAÇÃO DirectX SDL (Simple DirectMedia Layer) PortAudio OpenAL VST JUCE ASIO CONSIDERAÇÕES DESENVOLVIMENTO MODELAGEM DO SISTEMA Levantamento de Requisitos Projeto do Sistema ii

4 3.2 IMPLEMENTAÇÃO Programa Host DK Guitar Plugins TESTES E VALIDAÇÃO CONCLUSÕES...80 REFERÊNCIAS BIBLIOGRÁFICAS...82 GLOSSÁRIO...85 iii

5 LISTA DE ABREVIATURAS API ASIO DFT DSP FFT JUCE MIDI OPENAL OPENGL PC SDK SDL TCC UML UNIVALI VST VSTi Application Programming Interface Audio Stream Input/Output Discrete Fourier Transform Digital Signal Processing Fast Fourier Transform Jules Utility Class Extensions Musical Instrument Digital Interface Open Audio Library Open Graphics Library Personal Computer Software Development Kit Simple DirectMedia Layer Trabalho de Conclusão de Curso Unified Modeling Language Universidade do Vale do Itajaí Virtual Studio Technology Virtual Studio Technology Instrument iv

6 LISTA DE FIGURAS Figura 1. Conexão Guitarra Computador...2 Figura 2. Onda com freqüência de 3 Hertz...7 Figura 3. Amplitude de uma onda...7 Figura 4. Duração de uma onda...8 Figura 5. Filtros Digitais: (a) Passa-baixas; (b) Passa-altas; (c) Passa-banda; (d) Rejeita-banda...10 Figura 6. Filtro Comb...10 Figura 7. Cancelamento de fases...11 Figura 8. Transformada de Fourier aplicada em uma onda simples...12 Figura 9. Transformada de Fourier aplicado em uma onda composta...12 Figura 10. (a) Pedaleira V-Amp2; (b) Pedal Digital Reverb; (c) Mesa de som Behringer...13 Figura 11. Ligação de pedais em série...14 Figura 12. Pedal de Chorus...15 Figura 13. Onda sonora do efeito Chorus...15 Figura 14. Pedal de Tremolo...16 Figura 15. Onda sonora do efeito Tremolo...16 Figura 16. Pedal de Delay...17 Figura 17. Onda sonora do efeito Delay...18 Figura 18. Pedal de Reverb...19 Figura 19. Onda sonora do efeito Reverb...19 Figura 20. Pedal de compressão...20 Figura 21. Onda sonora do efeito Compressor...21 Figura 22. Pedal de equalização...22 Figura 23. Onda sonora do efeito Equalizador...22 Figura 24. (a) Pedal de Overdrive; (b) Pedal de Distorção...23 Figura 25. (a) Onda sonora do efeito Overdrive; (b) Onda sonora do efeito Distorção...24 Figura 26. Software Guitar R.A Figura 27. Software Fx-Box...26 Figura 28. Software Revalver...27 Figura 29. Comunicação Host VST...30 Figura 30. Interfaces do plugin e do Host...31 Figura 31. (a) Interface do SynthEdit; (b) Interface do SynthMaker; (c) Interface do Quantum Fx.32 Figura 32. Bateria virtual EZ Drummer...33 Figura 33. (a) Placa M-AUDIO DELTA 1010 LT; (b) Placa Creative AUDIGY 2 ZS Figura 34. Tela de configuração do ASIO4ALL...35 Figura 35. Adaptador P10 x P Figura 36. Diagrama de Casos de Uso...39 Figura 37. Diagrama de Caso de Uso Configurações...40 Figura 38. Diagrama de Caso de Uso Seleção de Efeitos...41 Figura 39. Diagrama de Caso de Uso Ajuste de Parâmetros...42 Figura 40. Diagrama de Caso de Uso Importação/Exportação...43 Figura 41. Diagrama de Classes de Negócio: Host...44 Figura 42. Diagrama de Classes do Plugin VST...46 Figura 43. Diagrama de Classes de Projeto: Host...47 Figura 44. Diagrama de Seqüência...49 Figura 45. Diagrama de Componentes...50 Figura 46. Protótipos de Tela: Tela Principal (TELA 01)...51 v

7 Figura 47. Protótipos de Tela: Tela de Configurações (TELA 02)...52 Figura 48. Protótipos de Tela: Tela de Mensagem (TELA 03)...52 Figura 49. Protótipos de Tela: Tela de Diálogo (TELA 04)...53 Figura 50. Diagrama de Classes do DK Guitar...55 Figura 51. Tela Principal...56 Figura 52. Menu de contexto dos plugins...57 Figura 53. Tela de Configurações...58 Figura 54. Menu Arquivo...60 Figura 55. Código fonte do plugin Delay...62 Figura 56. (a) Interface do Delay; (b) Interface padrão do Delay no DK Guitar...63 Figura 57. Onda sonora do Delay...63 Figura 58. Código fonte do plugin Overdrive...65 Figura 59. (a) Interface do Overdrive; (b) Interface padrão do Overdrive no DK Guitar...66 Figura 60. Onda sonora do Overdrive...66 Figura 61. Diagrama Distortion no SynthEdit...67 Figura 62. Código fonte do plugin Distortion...69 Figura 63. (a) Interface do Distortion; (b) Interface padrão do Distortion no DK Guitar...70 Figura 64. Onda sonora do Distortion...70 Figura 65. Código fonte do Plugin Tremolo...71 Figura 66. (a) Interface do Tremolo; (b) Interface do Tremolo no DK Guitar...72 Figura 67. Onda sonora do Tremolo...72 Figura 68. Diagrama Chorus no SynthEdit...73 Figura 69. (a) Interface do Chorus; (b) Interface padrão do Chorus no DK Guitar...74 Figura 70. Onda sonora do Chorus...74 Figura 71. Diagrama Reverb no SynthEdit...75 Figura 72. (a) Interface do Reverb; (b) Interface padrão do Reverb no DK Guitar...76 Figura 73. Onda sonora do Reverb...77 Figura 74. Código fonte do plugin Volume...77 Figura 75. Interface do Volume...78 Figura 76. Onda sonora do Volume...78 Figura 77. (a) Distortion no FL Studio; (b) Distortion no Sonar; (c) Distortion no Audacity...79 vi

8 LISTA DE TABELAS Tabela 1. Formas de ondas...8 Tabela 2. Resumo dos Softwares Similares...27 Tabela 3. Peças da bateria virtual EZ Drummer...33 Tabela 4. Botões e teclas de atalho do Software DK Guitar...59 Tabela 5. Configuração dos computadores utilizados nos testes...78 vii

9 LISTA DE EQUAÇÕES Equação Equação Equação Equação viii

10 RESUMO KRUEGER, Daniel. Tratamento de Sinais Sonoros no Computador Simulando Pedais Virtuais. Itajaí, f. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação) Centro de Ciências Tecnológicas da Terra e do Mar, Universidade do Vale do Itajaí, Itajaí, A evolução da tecnologia em processamento de sinal de áudio tem possibilitado o desenvolvimento de vários softwares na área de Computação Musical que até então não eram possíveis. Este trabalho apresenta uma proposta de um software para produzir efeitos de guitarra através do processamento do sinal no computador, sem a necessidade de equipamentos externos. A solução proposta consiste em uma aplicação para rodar na Plataforma Windows que possibilita a simulação dos principais efeitos utilizados pelos guitarristas, na qual a guitarra é ligada diretamente em um computador. Esta monografia apresenta o desenvolvimento deste trabalho, discutindo conceitos estudados na pesquisa bibliográfica e descrevendo o projeto do software que foi implementado. No intuito de complementar o conhecimento obtido nas disciplinas do Curso de Bacharelado em Ciência da Computação da Universidade do Vale do Itajaí, foram pesquisados conceitos sobre Computação Musical, digital signal processing, pedaleiras virtuais, plugins VST (Virtual Studio Technology), ASIO (Audio Stream Input/Output) e soluções similares. O projeto do software foi desenvolvido seguindo os padrões da UML (Unified Modeling Language), com auxílio da ferramenta Enterprise Architect. Foram elaborados diagramas de caso de uso, classe, seqüência e componentes, além dos protótipos de telas. Para o desenvolvimento do software foi utilizado o ambiente de programação Visual Studio. Obteve-se uma aplicação robusta, simples e funcional, capaz de atender às necessidades levantadas. Além de possibilitar a reprodução de efeitos digitais sem a necessidade de equipamentos para este fim, foi adquirida competência no desenvolvimento de soluções em Computação Musical. Palavras-chave: Computação Musical. Pedaleira virtual. Efeitos digitais. Software para guitarra. Plugin VST. ix

11 ABSTRACT The evolution of technology in audio signal processing has turned possible the development of several software in the Computer Music area which until then they were not possible. This paper presents a proposal of software for producing effects of guitar through the processing of the signal on the computer without the necessity of external equipment. The proposed solution consists in an application to run the software at Windows platform that enables the simulation of the main effects used by the guitar players, in which the guitar is directly connected to a computer. This paper presents the development of this work, discussing concepts studied during the bibliographic research and describing the software project that was implemented. In order to improve the obtained knowledge in disciplines of Computer Science course from the UNIVALI, concepts about musical computing, digital signal processing, virtual guitar processors, VST (Virtual Studio Technology), ASIO (Audio Stream Input / Output) plug-ins and similar solutions were searched. The software project has been developed following the standards of UML (Unified Modeling Language), with the aid of Enterprise Architect tool. Diagrams of use case, class, sequence and components and prototypes of screens were prepared. For the development of the software the environment of Visual Studio programming was used. It was obtained a functional, simple and robust application that can be able to consider the listed necessities. Besides enabling the reproduction of digital effects without the necessity of equipment for this purpose, competence in the development of solutions in Musical Computer was acquired. Keywords: Computer music. Virtual guitar processor. Digital effects. Guitar software. VST plugin. x

12 1 INTRODUÇÃO Com o grande avanço da informática nas últimas décadas, hoje é possível desenvolver softwares para diversas áreas, entre elas, a música. Os músicos de hoje, podem se beneficiar de soluções em software que antigamente não existiam. Muitos equipamentos que funcionavam apenas com uma caixa amplificadora foram posteriormente ligados ao computador. Segundo Wanderley (2006, p.1), criou-se assim a possibilidade de utilização de computadores pessoais na criação de sons de alta qualidade (com pelo menos 16 bits e amostras/s) em modo de processamento nativo, isto é, sem a adição de placas de processamento extras para o cálculo das amostras sonoras. Os teclados, guitarras e contrabaixos possuíam acessórios para modificar os sons produzidos. Era um início de processamento, porém os dispositivos inicialmente eram muito caros. Com o crescente avanço da tecnologia, hoje é possível substituir grande parte desse equipamento por soluções em software. Um bom exemplo são os multi-efeitos ou pedaleiras virtuais, que são softwares utilizados em estúdios e até mesmo ao vivo, substituindo pedais e pedaleiras. Softwares na área de computação musical são importantes por facilitar o processamento de áudio e pelo fato de possibilitar um profissional da área trabalhar em qualquer lugar, apenas com um notebook, não sendo necessário estar em um estúdio com vários equipamentos. Por esse motivo, este trabalho consiste em um software que possui os principais efeitos de pedais e pedaleiras utilizadas por guitarristas, como por exemplo, efeitos denominados Chorus, Reverb, Delay, Overdrive e Distorção, que serão explicados na seção de Efeitos Digitais. O funcionamento consiste em ligar a guitarra à entrada de microfone do computador, e o software processa o som da guitarra, assumindo o papel de uma pedaleira. 1.1 PROBLEMATIZAÇÃO Formulação do Problema O uso de computadores para produções musicais está cada vez mais freqüente. Atualmente, os estúdios musicais do mundo inteiro utilizam computadores para fazer algum tipo de processamento no som, seja na mixagem, masterização, inclusão de efeitos, gravação ou até mesmo em todas essas etapas.

13 Com a tecnologia atual, é possível criar músicas e trilhas sonoras sem nenhum instrumento musical sequer, apenas com o computador. Existem instrumentos virtuais, que simulam os sons de instrumentos musicais reais, e programas poderosos de síntese sonora, que criam diversos tipos de sons. Mas esses softwares são extremamente caros, e difíceis de serem operados, o que requer um alto nível de conhecimento e treinamento. Desta forma, esse trabalho proporcionou a implementação de um software que simula os efeitos de pedais e pedaleiras utilizados por guitarristas, na qual sua principal característica é a simplicidade de operação. Atualmente, os efeitos mais conhecidos e utilizados pelos guitarristas são: Chorus, Reverb, Delay, Overdrive e Distorção, que são o foco deste trabalho Solução Proposta A solução proposta consiste em um software que processa o sinal de uma guitarra ligada a um computador, simulando os sons dos principais efeitos utilizados pelos guitarristas. A Figura 1 apresenta uma imagem de como é feita a conexão da guitarra, computador e caixas de som. Figura 1. Conexão Guitarra Computador Fonte: Adaptado de Gore (2007). 2

14 1.2 OBJETIVOS Objetivo Geral O objetivo geral desse trabalho é desenvolver um software capaz de adicionar efeitos sonoros ao som de uma guitarra ligada ao computador, substituindo o uso de pedais e pedaleiras. O software deverá possuir os principais efeitos de uma pedaleira ou pedais, como Chorus, Reverb, Delay, Overdrive e Distorção, podendo estes serem usados individualmente, combinados ou simultaneamente Objetivos Específicos Pesquisar conceitos sobre Computação Musical; Pesquisar softwares similares; Pesquisar e analisar bibliotecas de som e linguagens de programação utilizadas para o desenvolvimento desse tipo de software; Compreender conceitos relacionados ao processamento de áudio digital; Realizar a modelagem do software; Implementar o software; e Testar e validar o software implementado. 1.3 Metodologia Este trabalho inclui a execução das etapas previstas na proposta deste trabalho que são: (i) pesquisa; (ii) modelagem; (iii) desenvolvimento; (iv) testes e validação e (v) documentação. Na primeira etapa do trabalho, foram pesquisados softwares similares, conceitos de Computação Musical, tecnologias de processamento sonoro e a teoria necessária para o desenvolvimento do software proposto. A segunda etapa, referente à modelagem e o projeto do software, foi desenvolvida seguindo os padrões da UML 2.0, com auxílio da ferramenta case Enterprise Architect, que foi utilizada para elaborar diagramas de casos de uso, classe, seqüência e componentes, além dos requisitos funcionais e não funcionais. 3

15 Já na terceira etapa, desenvolvimento, a implementação do software foi colocada em prática seguindo a modelagem realizada na etapa anterior. Nessa etapa foram desenvolvidos os plugins VST e o software host.. Na etapa de validação e testes, foram realizados vários testes no software a fim de diagnosticar possíveis problemas e corrigi-los, para garantir seu correto funcionamento. Por fim, a etapa de documentação compreendeu o registro dos processos referentes às etapas anteriores, seguindo as normas exigidas pela Coordenação de TCC. 1.4 Estrutura do trabalho As páginas a seguir estão estruturadas em três capítulos adicionais: Fundamentação Teórica, Desenvolvimento e Conclusões. No Capítulo 2, Fundamentação Teórica, é apresentada uma revisão bibliográfica sobre Computação Musical e tecnologias de processamento de áudio, assim como uma análise a respeito de softwares similares. O Capítulo 3 apresenta detalhadamente o desenvolvimento do sistema, incluindo sua especificação e sua modelagem em UML. Por fim, no Capítulo 4, são apresentadas as conclusões do TCC. 4

16 2 FUNDAMENTAÇÃO TEÓRICA Neste capítulo, serão abordados os principais conceitos ao entendimento e desenvolvimento de aplicações para processamento de áudio, incluindo temas como: Computação Musical, softwares similares, efeitos de guitarra e tecnologias utilizadas, com maior ênfase para VST. Também serão apresentados conceitos e características sobre processamento de sinais digitais e os efeitos sonoros que serão implementados. 2.1 Computação Musical A Computação Musical é a área da Ciência da Computação dedicada ao estudo das aplicações computacionais destinados a problemas musicais, investigando métodos, técnicas e algoritmos para processamento e geração de música e sons, representações digitais e armazenamento de informação sônica e musical (MILETTO et al., 2004). Atualmente existem muitos softwares voltados à música, em áreas como produção musical, processamento sonoro, informática na educação, gravação, entre outras. Empresas como Steinberg e Cakewalk, possuem ótimos softwares para produção, gravação e seqüenciamento, que tornam o computador um verdadeiro home estúdio. Como exemplo, é possível citar softwares como o Sonar, Cubase e Cool Edit. Esses softwares são gravadores e seqüenciadores multi-pista, que oferecem suporte a vários recursos e efeitos digitais, que tornam possível a produção de músicas inteiramente pelo computador. Uma tecnologia muito utilizada na Computação Musical para representação de música em formato digital é o padrão MIDI (Musical Instrument Digital Interface). Pode-se encontrar uma definição de MIDI em Miletto et al. (2004, p.22), na qual é citado que O padrão MIDI usa tecnologia digital, codificando eventos musicais em dados binários (bits) que são transferidos por meio de uma linha física (cabo MIDI) de um equipamento para outro. Em Iazzetta (2000), é citado que MIDI não transmite áudio, apenas mensagens que comandam aparelhos que sejam capazes de entendê-las, como se fosse um controle remoto muito sofisticado. O MIDI surgiu no início da década de 80, para padronizar a comunicação entre instrumentos eletrônicos, que logo se tornou um padrão mundial. Diferente de outros formatos de áudio como wav e mp3, o MIDI não possui o áudio propriamente dito, e sim instruções para

17 reproduzi-lo, como se fosse uma partitura em formato digital. Dessa forma, o tamanho de arquivos do tipo MIDI são extremamente pequenos, o que facilita sua transmissão e armazenamento Som Segundo Miletto et al. (2004), o som é a vibração do ar, ou seja, variações na pressão do ar, que são percebidas através do ouvido. 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 é chamado de ruído. Pode-se encontrar outra definição de som em Brito (2003, p 17), onde é afirmado que som é tudo que soa! Tudo o que o ouvido percebe sob a forma de movimentos vibratórios. Esse autor descreve que o som possui quatro qualidades ou parâmetros: altura, intensidade, timbre e duração Altura A altura está relacionada com a freqüência do som, ou seja, define se o som é grave ou agudo. Por exemplo: ao tocar um piano, percebe-se que quanto mais à direita estiver uma tecla, mais alto ou agudo será o seu som, e quanto mais a esquerda, o som será mais baixo ou grave (MILETTO et al., 2004). Utilizando um osciloscópio 1 para comparar sons com alturas diferentes, nota-se que o número de ciclos por unidade de tempo se altera. Dessa forma, quanto mais agudo for o som, maior será seu número de ciclos dentro de um intervalo de tempo. O número de ciclos dentro do intervalo de um segundo é chamado freqüência, expresso em unidades chamadas hertz (Hz). Desta forma, um som com 500 Hz, indica que a vibração ocorre com uma freqüência de 500 ciclos por segundo. Ao dobrar a freqüência de um som, ele é elevado uma oitava acima, ficando mais agudo (MILETTO et al., 2004). Na Figura 2, está ilustrada uma onda com freqüência de 3 Hertz. Segundo Izecksohn (2005), o ouvido humano é capaz de perceber sons de aproximadamente 20 Hz a Hz, o que significa que o som ilustrado na Figura 2 não é perceptível ao ouvido humano. 1 Instrumento de teste e medição que fornece uma representação visual de sinais elétricos. 6

18 Figura 2. Onda com freqüência de 3 Hertz Fonte: Adaptado de Educom (2007) Intensidade Ao aumentar ou diminuir o som de um rádio ou uma televisão, a intensidade (também denominada amplitude) do som é alterada. Denominações como alto e baixo devem ser utilizadas apenas para se referenciar à altura do som, e não para a intensidade, como geralmente é utilizada. Para se referenciar de forma correta à intensidade do som, devem ser utilizados os adjetivos forte e fraco ou mais e menos. A unidade utilizada para a medida da intensidade de ondas sonoras e sinais de áudio costuma ser expressa em decibéis (db) (MILETTO et al., 2004). Ao comparar sons com intensidades diferentes em um osciloscópio, nota-se que a altura das ondas é alterada. A altura de uma onda é denominada amplitude, portanto um som com maior amplitude é um som mais forte. Na Figura 3, é ilustrada a amplitude de uma onda sonora, na qual a onda superior possui maior amplitude se comparada à onda inferior. Figura 3. Amplitude de uma onda Fonte: Adaptado de Educom (2007). 7

19 Timbre Um violão e um piano não produzem um som com as mesmas características ao serem tocados com a mesma altura e a mesma intensidade. Isso ocorre por existir outro fator além da altura e da intensidade em um som. Esse fator é denominado timbre, que é a característica peculiar de cada manifestação sonora. No caso de instrumentos relacionados com caixa acústica (como o violão), temos características como produção sonora, tamanho e expansão sonora (MILETTO et al., 2004). Ao observar sons com timbres diferentes em um osciloscópio, é percebida a mudança no formato da onda sonora. Na Tabela 1 são apresentadas três formas de onda, que são relacionadas com seu timbre característico e instrumentos que se assemelham a cada caso. Tabela 1. Formas de ondas Forma de onda Timbre Instrumento Suave, doce Flauta, assovio Claro, brilhante Simples, quente Violino, trompete Clarinete, oboé Fonte: Adaptado de Miletto et al., (2004) Duração Um som pode ser medido pelo seu tempo de ressonância e classificado como curto ou longo. Exemplos: a madeira produz sons curtos, ao passo que metais produzem sons que vibram durante um lapso maior (BRITO, 2003, p. 18). Na Figura 4, duas ondas sonoras são ilustradas, na qual a onda superior possui uma duração maior que a onda inferior. Figura 4. Duração de uma onda Fonte: Adaptado de Educom (2007). 8

20 2.1.2 DSP DSP (Digital Signal Processing) é o estudo de sinais em representação digital e de técnicas utilizadas para o processamento desses sinais (SMITH, 1999). O DSP é utilizado em várias áreas como matemática, engenharia elétrica, física, música, entre outras. Na música, o DSP é muito utilizado para criação de efeitos digitais através de técnicas denominadas filtros digitais Filtros Digitais No processamento de sinais o papel do filtro é de remover partes indesejadas do sinal, bem como ruídos, ou simplesmente extrair partes importantes do mesmo, como componentes de uma certa banda de freqüência. (NUNES et al., 2007). Para Scandelari (2007), um filtro digital é um sistema temporal discreto projetado para passar o conteúdo de um sinal de entrada em uma determinada banda de freqüências, ou seja, a função de transferência do filtro forma uma janela através da qual somente é permitida a passagem da parte desejada do sinal de entrada. Segundo Nunes et al. (2007), existem vários tipos de filtros digitais, entre eles destacam-se: Passa-baixas: filtro que impede a passagem de freqüências altas a partir de uma freqüência de corte, permitindo apenas a passagem de freqüências baixas; Passa-altas: ao contrário do filtro Passa-baixas, esse filtro é utilizado para impedir a passagem de freqüências baixas a partir de uma freqüência de corte, permitindo apenas a passagem de freqüências que estão acima da freqüência de corte; Passa-banda: permite a passagem de uma gama limitada de freqüências, ou seja, possui duas freqüências de corte, uma baixa e uma alta, na qual apenas as freqüências que estiverem entre as duas freqüências de corte passarão; e Rejeita-banda: bloqueia a passagem de uma gama limitada de freqüências. Na Figura 5, pode-se ver graficamente como os filtros atuam no sinal de entrada. 9

21 (a) (b) (c) (d) Figura 5. Filtros Digitais: (a) Passa-baixas; (b) Passa-altas; (c) Passa-banda; (d) Rejeita-banda Fonte: Adaptado de Valenzuela (2005). Outro filtro muito utilizado para a implementação de efeitos digitais é o filtro Comb. O filtro Comb adiciona uma parte levemente defasada do próprio sinal, o que gera cancelamentos de fase. Segundo Mendes (2007), os filtros Comb são utilizados para remover uma freqüência particular e seus harmônicos. A resposta em freqüência de um filtro Comb consiste de uma série de picos regularmente espaçados, de modo que ele parece um pente, conforme a Figura 6. Figura 6. Filtro Comb Fonte: Adaptado de Elliott (2006). O cancelamento de fase ocorre quando duas ondas se cancelam. Conforme Iazzetta (2000), para duas ondas de mesma freqüência e amplitude, mas defasadas em 180º, as amplitudes estão exatamente opostas, cancelando-se totalmente, como pode-se notar na Figura 7. 10

22 Figura 7. Cancelamento de fases Fonte: Adaptado de Iazzetta (2000) Modulação Modulação é o processo de variação de altura, intensidade, timbre ou duração de uma onda sonora. Para a implementação da modulação, uma técnica muito utilizada é o LFO (Low Frequency Oscilator), ou oscilador de baixa freqüência em português (AUDIOCOURSES, 2007). LFO é uma técnica utilizada em síntese e amostragem sonora para criação de muitos tipos diferentes de efeitos. Ao contrário dos osciladores convencionais, o LFO não é utilizado como fonte geradora de sons, e sim como uma forma de modulação de parâmetros como freqüência e intensidade (AUDIOCOURSES, 2007). Ao utilizar um LFO na intensidade de um sinal por exemplo, obtém-se o efeito Tremolo. O LFO também é muito utilizado na freqüência de sinais de áudio, a fim de obter efeitos como Chorus, Flanger e Vibrato Transformada de Fourier Segundo Neyra-Araoz (2007) a Transformada de Fourier é uma técnica largamente empregada em processamento de sinais, como processamento de sons e processamento de imagens. Denominada assim em homenagem ao físico francês Jean Baptiste Joseph Fourier ( ), a Transformada de Fourier é um procedimento matemático utilizado para transformar um sinal que está amostrado no domínio do tempo para o domínio das freqüências (MSP, 2008). A Transformada de Fourier pode ser classificada de diversas maneiras, mas para a utilização em computadores é empregada a DFT (Discrete Fourier Transform). Em 1965 J.W. Cooley e J.W. Tukey conseguiram uma revolução no tratamento digital de sinais com a publicação da Transformada Rápida de Fourier, a FFT (Fast Fourier Transform) (MSP, 2008) 11

23 Segundo Oliveira (2007), A FFT não é um tipo diferente de transformada e sim uma técnica que possibilita avaliar DFT de forma mais rápida e econômica, possibilitando o processamento de sinais digitais em tempo real. A Figura 8 ilustra o que ocorre ao aplicar a Transformada de Fourier em uma onda sonora. Figura 8. Transformada de Fourier aplicada em uma onda simples Fonte: Adaptado de MSP (2008). A onda mais à esquerda, possui uma amplitude de 10 decibéis e uma freqüência de 5 Hertz. Ao aplicar a Transformada de Fourier, a amostragem da onda é transferida do domínio do tempo para o domínio das freqüências, ilustrando apenas a freqüência contida na onda sonora. Da mesma forma, com a Transformada de Fourier pode-se analisar ondas sonoras compostas por mais de uma freqüência, conforme ilustra a Figura 9, composta por duas freqüências, sendo elas de 5 e 10 Hertz. Figura 9. Transformada de Fourier aplicado em uma onda composta Fonte: Adaptado de MSP (2008). 12

24 2.1.3 Efeitos Digitais Efeitos digitais são algoritmos que utilizam técnicas de DSP para processar o som, alterando-o de alguma forma. Essa alteração pode ser feita na intensidade do som, no timbre, na altura, na duração, enfim, existem várias técnicas e métodos de processamento sonoro. Esses diferentes efeitos proporcionados pelo processamento do som são nomeados e divididos em categorias (HARMONY CENTRAL, 2007). Atualmente, os efeitos digitais podem ser encontrados em forma de pedais, pedaleiras, racks de efeitos, mesas de som, softwares para computador, teclados, etc. Existem parâmetros para cada efeito, que podem ser ajustados pelo usuário. A Figura 10 ilustra alguns equipamentos da marca Behringer 2 que possuem algoritmos DSP. (a) (b) (c) Figura 10. (a) Pedaleira V-Amp2; (b) Pedal Digital Reverb; (c) Mesa de som Behringer Fonte: Adaptado de Behringer (2007). Na Figura 10a, é ilustrada uma pedaleira chamada V-Amp2. Essa pedaleira possui vários efeitos como Chorus, Reverb, Distorção, Delay, etc. Esses efeitos podem ser utilizados individualmente, ou simultaneamente. Já na Figura 10b, é ilustrado um pedal cujo único efeito é o Reverb. No caso da utilização de pedais com apenas um efeito, eles geralmente são ligados em conjunto, no qual a saída de som de um pedal é conectada na entrada de som de outro, formando uma ligação em série, ilustrada na Figura Mais detalhes disponíveis em 13

25 Figura 11. Ligação de pedais em série Fonte: Adaptado de Senfonimuzik (2007). Nas próximas subseções, serão abordados os principais efeitos digitais utilizados por guitarristas, entre eles o Chorus, Delay, Reverb, Distorção e Overdrive. Serão explicados conceitos, características, funcionamento e qual sua utilização Chorus Chorus é um efeito que pode ser utilizado em vários instrumentos, como guitarras, baixos, violões, etc. Chorus, que significa coro, é um efeito que duplica o som original, dando a impressão de ter mais de um instrumento sendo tocado ao mesmo tempo. Por exemplo, ao tocar uma guitarra ligada a um pedal de Chorus, tem-se a impressão de que outra guitarra está sendo tocada simultaneamente. No caso de utilizá-lo na voz (através de um microfone ligado a um efeito de Chorus), a impressão é de que existe mais de uma pessoa cantando (HARMONY CENTRAL, 2007). Para dar essa impressão de duplicidade ou coro, o som não é apenas duplicado, mas propositalmente atrasado e é acrescentada uma pequena modulação em relação ao som original. Essas alterações são mínimas, para que o som não perca suas características originais. Na Figura 12 é ilustrado um pedal de Chorus da marca Danelectro. 14

26 Figura 12. Pedal de Chorus Fonte: Adaptado de Danelectro (2007). Os parâmetros mais encontrados em pedais de Chorus são: Rate: ajusta o oscilador do efeito Chorus; e aplicado. Depth: ajusta a intensidade do efeito. Na Figura 13 são ilustradas duas ondas sonoras, na qual a inferior possui o efeito Chorus Figura 13. Onda sonora do efeito Chorus Tremolo Tremolo é um efeito que altera a intensidade do som em curtos períodos de tempo (geralmente menor que um segundo), dando a sensação para o ouvinte de que o som está oscilando. 15

27 Segundo Behringer (2007), o efeito Tremolo é obtido através da modulação periódica da intensidade sonora do sinal. Para tal, é produzida uma troca contínua entre os sinais altos e baixos, originando um som Tremolo. Na Figura 14 é ilustrado um pedal de Tremolo. Figura 14. Pedal de Tremolo Fonte: Adaptado de Behringer (2007). O Tremolo possui três parâmetros principais: Rate: ajusta o oscilador ou velocidade do efeito Tremolo; Wave: altera o formato de onda sonora; e aplicado. Depth: ajusta a intensidade do efeito. Na Figura 15 são ilustradas duas ondas sonoras, na qual a inferior possui o efeito Tremolo Figura 15. Onda sonora do efeito Tremolo 16

28 Delay O efeito Delay, também conhecido como eco, acrescenta um atraso ao som original. O Delay é um efeito muito utilizado pelos guitarristas para dar mais vida à guitarra, fazendo com que o som não fique tão seco cantando (HARMONY CENTRAL, 2007). Assim como o Chorus, o Delay também pode ser utilizado em outros instrumentos como violão, voz, teclados, etc. Na Figura 16, é ilustrado um pedal de Delay da marca Behringer. Figura 16. Pedal de Delay Fonte: Adaptado de Behringer (2007). Geralmente existem três parâmetros principais nos efeitos de Delay: Level: é a intensidade do efeito em relação ao som original. Com esse parâmetro, é possível fazer o Delay soar mais fraco do que o som original (que é o que geralmente acontece), para não embolar o som; Feedback: está relacionado com o número de repetições do som original. Esse parâmetro permite ajustar o Delay para que repita o som 1 ou 10 vezes por exemplo; e Time: é o intervalo de tempo entre uma repetição e outra. Esse intervalo geralmente é muito pequeno (na unidade de micro segundos), mas que pode chegar até 2,5 segundos aproximadamente. 17

29 aplicado. Na Figura 17 são ilustradas duas ondas sonoras, na qual a inferior possui o efeito Delay Figura 17. Onda sonora do efeito Delay Reverb É o efeito que adiciona ambientação ou reverberação ao som. Por exemplo, ao falar dentro de uma sala pequena, a voz não irá se propagar por muito tempo, o que não acontece dentro de uma Igreja. Esse efeito é muito utilizado nas gravações em estúdio. Em Iazzetta (2000), é afirmado que "Em um ambiente qualquer, as ondas sonoras são refletidas ao encontrarem uma superfície refletora. Essas primeiras reflexões (early reflections) são seguidas de outras reflexões menos intensas e mais atrasadas em relação ao sinal inicial. A soma de todas esses componentes cria o efeito de reverberação. O Reverb é classificado em relação ao tipo de espaço simulado, os principais são: Room: simula a reverberação de uma sala ou quarto pequeno; Hall: simula a reverberação de uma sala maior, como uma Igreja; e Plate: simula a reverberação de um lugar aberto. Seus principais parâmetros são: Time: permite ajustar a duração da reverberação; Tone: responsável pela equalização do efeito; e Mix ou Level: é a intensidade do efeito Reverb. Na Figura 18, é ilustrado um pedal de Reverb. 18

30 Figura 18. Pedal de Reverb Fonte: Adaptado de Boss (2007). Na Figura 19 são ilustradas duas ondas sonoras, na qual a inferior possui o efeito Reverb aplicado. Figura 19. Onda sonora do efeito Reverb Compressor Segundo Behringer (2007), o compressor é um efeito que comprime o som, normalizando a intensidade do sinal e retirando um pouco da dinâmica do som. Esse processamento é feito reduzindo o alcance dinâmico 3 de um sinal e os picos de intensidade sonora, o que diminui a diferença entre as passagens fortes e fracas de um sinal. Por exemplo, ao palhetar as cordas da 3 Alcance dinâmico: Relação entre o maior e o menor nível do sinal. 19

31 guitarra com força ou suavemente, a intensidade do som não irá alterar significativamente. Na Figura 20 é ilustrado um pedal de compressão. Figura 20. Pedal de compressão Fonte: Adaptado de Behringer (2007). Os principais parâmetros encontrados em pedais de compressão são: Tone: responsável pela equalização do efeito; Level: intensidade do efeito Compressor; Attack: ajusta a rapidez como que o Compressor reage ao sinal de entrada; e Sustain: ajusta a intensidade de sustentação ou prolongação do efeito. Na Figura 21 são ilustradas duas ondas sonoras, na qual a inferior possui o efeito compressor aplicado. 20

32 Figura 21. Onda sonora do efeito Compressor Equalizador O equalizador atua diretamente na intensidade de freqüências do som, aumentando ou diminuindo a intensidade de certas faixas de freqüência. Em amplificadores de guitarras e pedais de distorção, geralmente são encontrados três botões para ajustar a freqüência: Low, Mid e High. O controle Low lhe permite ajustar a intensidade das freqüências graves, o Mid as freqüências médias e o High as freqüências agudas (HARMONY CENTRAL, 2007). Conforme Izecksohn (2005), também existem os equalizadores gráficos, que podem possuir de quatro a vinte parâmetros de equalização, o que possibilita um ajuste mais refinado e preciso. A faixa de freqüência de equalização depende do equalizador, mas em pedais de guitarra geralmente varia de 100 Hz a 6.4 khz. Na Figura 22, é ilustrada a imagem de um pedal de equalizador gráfico. 21

33 Figura 22. Pedal de equalização Fonte: Adaptado de Behringer (2007). Os principais parâmetros encontrados em pedais de compressão são: Level: intensidade do efeito; e Sliders de equalização: ajustam os parâmetros da freqüência em questão. Na Figura 23 são ilustradas duas ondas sonoras, na qual a inferior possui o efeito equalizador aplicado. Nesse exemplo, as freqüências altas foram realçadas e as freqüências baixas atenuadas. Figura 23. Onda sonora do efeito Equalizador 22

34 Distorção O efeito de distorção, como o próprio nome sugere, distorce o som da guitarra. É o efeito mais utilizado pelos guitarristas, principalmente em estilos musicais como Blues, Rock e Heavy Metal. Para Luvizotto, Furlanete e Manzolli (2006), o fenômeno de distorção de um sinal está relacionado ao enriquecimento do espectro de freqüências, ou seja, quanto mais distorcido estiver o sinal, maior será o número de componentes espectrais. A distorção pode ser dividida em duas categorias: Overdrive e Distortion. Overdrive é uma saturação 4 mais leve no som da guitarra, se comparado ao Distortion. Como o Overdrive possui um ganho médio ou fraco, a dinâmica do guitarrista é valorizada, pois o som altera bastante com a performance instrumental. O Distortion possui mais ganho ou saturação do que o Overdrive, o que o torna um efeito mais pesado e agressivo. Pelo fato do alto ganho, a dinâmica do guitarrista não influencia muito no resultado final do som. Na Figura 24a, é ilustrado um pedal de Overdrive, e na Figura 24b, um pedal de distorção. (a) (b) Figura 24. (a) Pedal de Overdrive; (b) Pedal de Distorção Fonte: Adaptado de Boss (2007). 4 Ocorre quando a intensidade do sinal ultrapassa sua capacidade máxima permitida. 23

35 Os principais parâmetros dos efeitos Overdrive e Distortion são os mesmos: Gain/Dist/Drive: permite ajustar o ganho da saturação; Tone: é um equalizador que filtra freqüências agudas; e Level: é a intensidade geral do efeito. Na Figura 25a são ilustradas duas ondas sonoras, na qual a inferior possui o efeito Overdrive aplicado. Já na Figura 25b, a onda inferior possui o efeito de distorção. (a) (b) Figura 25. (a) Onda sonora do efeito Overdrive; (b) Onda sonora do efeito Distorção 2.2 Softwares Similares Neste tópico, serão apresentados softwares similares à proposta deste TCC, a fim de levantar as características de cada software, bem como identificar as tecnologias utilizadas em seu desenvolvimento. Os softwares abordados foram: Guitar R.A., FX-Box e Revalver Guitar R.A. O software Guitar R.A. é uma pedaleira virtual desenvolvida por Raphael Zimermann para rodar na plataforma Windows. O software utiliza plugins VST para simular vários efeitos de guitarra no seu computador, como Chorus, Reverb, Distorção, entre outros, além de possuir ferramentas interessantes, como redutor de ruídos, metrônomo 5, gravador de som e opção de tocar 5 Instrumento que marca o andamento de uma peça musical. 24

36 junto com playbacks 6. Também é utilizado o driver de som ASIO4ALL (ASIO para todos) para diminuir a latência 7 do processamento sonoro. Todos os plugins VST incluídos são freeware, assim como o Guitar R.A. A tecnologia VST foi criada pela empresa Steinberg, que a tornou pública para que desenvolvedores possam utilizá-la para criar seus próprios programas (ZIMERMANN, 2007). Na Figura 26 é ilustrada a tela principal do software. Figura 26. Software Guitar R.A. Fonte: Software Guitar R.A FX-Box O FX-Box é um software de processamento de áudio para guitarra, que possui efeitos DSP em tempo real e roda na plataforma Windows. A latência entre o processamento do sinal de entrada e sua saída é muito pequena. O software foi desenvolvido pelo russo Sasha Gojkovic utilizando a tecnologia DirectSound para acesso rápido à placa de som, além de algoritmos DSP rápidos e 6 Sonorização de uma música sem a presença da voz do cantor(a) ou de algum instrumento musical. 7 Diferença de tempo entre o início de um evento e o momento em que seus efeitos tornam-se perceptíveis. 25

37 otimizados. Entre eles, estão presentes efeitos como Overdrive, Distortion, Delay, Reverb, Chorus, Wah-wah, Pitch shifter, Tremolo, Equalizador, Compressor e Phaser, que podem ser utilizados simultaneamente (GOJKOVIC, 2002). É disponibilizada uma versão de demonstração que expira em trinta dias no site do fabricante. Na Figura 27, é mostrada a interface do FX-Box. Figura 27. Software Fx-Box Fonte: Software Fx-Box Revalver Revalver é um simulador de amplificador de guitarra desenvolvido pela Alien Connections que pode ser executado na plataforma Windows através dos drivers ASIO/WDM ou na plataforma Macintosh através do CoreAudio. O software permite o uso de dezesseis módulos simultaneamente, que possuem funções de pré-amplificadores, amplificadores de potência, auto-falantes, Delay, simulador de ambiente, Chorus, Reverb, Tremolo, compressor, equalizador gráfico, auto-wah, entre outros (ALIEN CONNECTIONS, 2005). Algumas combinações, (presets), pré-definidos acompanham o software, para facilitar a manipulação dos módulos. O Revalver também foi desenvolvido com a tecnologia VST disponibilizada pela Steinberg. Uma versão de demonstração do programa está disponível no site do 26

38 fabricante para download, que possui todas as funcionalidades do programa habilitadas, porém é emitido um ruído a cada quarenta e cinco segundos. A Figura 28 mostra a interface do Revalver. Figura 28. Software Revalver Fonte: Software Revalver. A Tabela 2 apresenta um resumo das principais características dos Softwares similares e do Software proposto neste trabalho. Tabela 2. Resumo dos Softwares Similares Software Tecnologia Free Interoperabilidade ASIO Plataforma Guitar R.A. VST Sim Sim Sim Win FX BOX DirectX Não Não Não Win Revalver VST Não Sim Sim Win/Mac Software implementado VST Sim Sim Sim Win 27

39 2.3 Bibliotecas de Som e linguagens de Programação Nesse item, serão apresentadas as principais bibliotecas e API s (Application Programming Interface) atualmente utilizadas para programação e desenvolvimento de aplicações voltadas à música, e processamento e manipulação de áudio. Essa pesquisa fez-se necessária para a comparação entre as tecnologias disponíveis, a fim de escolher a mais apropriada para o desenvolvimento do software proposto DirectX DirectX é uma coleção de bibliotecas multimídia desenvolvidas pela Microsoft, muito utilizada em programação de jogos para rodar na plataforma Windows. Ela possui uma biblioteca chamada DirectSound, com diversas funções para manipulação de áudio. A Microsoft disponibiliza gratuitamente o SDK (Software Development Kit) da DirectX para download em seu site, que permite utilizar linguagens de programação como C++, C# e VB.net (MICROSOFT, 2007). O DirectX permite a criação de plugins de áudio, que podem ser utilizados em vários programas como Band in a Box, Cakewalk Sonar, Cubase, Cool Edit, etc SDL (Simple DirectMedia Layer) O SDL é uma biblioteca multimídia multi-plataforma que possibilita a manipulação de som e vídeo. Ela pode ser programada em várias linguagens, como C++, C#, Java, PHP, Perl, Python, Ruby, dentre outras (SDL, 2006). Foi lançada em 1998 pelo desenvolvedor de jogos Sam Lantinga, e é distribuída sobre a licença LGPL, que permite utilizá-la em programas proprietários sem custo algum, porém a biblioteca deve ser referenciada no programa. Jogos para Linux como Sim City 3000 e Heretic II, utilizam a biblioteca SDL PortAudio PortAudio é uma plataforma de código aberto desenvolvida pelo programador e compositor Ross Bencina e pelo programador e designer Phil Burk. A plataforma foi escrita na linguagem C, que pode ser compilada para várias plataformas como Windows, Unix, Macintosh, etc. O SDK fornece recursos muito simples para gravar e tocar sons, além de bibliotecas de entrada e saída de áudio, onde os programas desenvolvidos podem ser testados (PORTAUDIO, 2006). 28

40 Vários programas foram desenvolvidos utilizando o PortAudio, como o Audacity, SoundHack, Mobius e AmbiLoop dentre outros OpenAL OpenAL (Open Audio Library) é uma API 3D para manipulação de áudio cuja estrutura de classes é muito parecida com a OpenGL (Open Graphics Library). Assim como o DirectX e a SDL, ela também é muito utilizada no desenvolvimento de jogos e aplicações de áudio, geralmente combinada com o OpenGL (OPENAL, 2006). A Creative Labs incluiu extensões ao OpenAL como EAX e XRAM, que possibilitaram uma extensão para efeitos de áudio. Essas extensões foram introduzidas no OpenAL para disponibilizar uma plataforma genérica com suporte a efeitos DSP avançados (CREATIVE, 2007) VST VST (Virtual Studio Technology) é uma tecnologia desenvolvida pela Steinberg em 1996 para a criação de plugins, cuja função é processar áudio e MIDI em tempo real com alta qualidade sonora. Os plugins VST tornaram-se um padrão na indústria de desenvolvimento de aplicativos e softwares para áudio e música, podendo ser utilizados em diversos softwares, como Logic Audio, Cubase SX, Pro Tools, Nuendo, Cakewalk Sonar, Fruity Loops, entre outros (JÚNIOR, 2005). Um plugin VST não é uma aplicação ou software, mas sim um componente de processamento de áudio que deve ser utilizado em um software hospedeiro, denominado host. O host disponibiliza o áudio que o plugin VST irá processar. O plugin VST processa o som normalmente utilizando o processador do computador, não sendo necessário um processador dedicado ao processamento digital de sinal. O sinal a ser processado pelo plugin é quebrado em vários blocos, no qual o programa host é o responsável em definir seu tamanho, e enviá-los na seqüência correta para o plugin (STEINBERG, 2007). Do ponto de vista do host, o plugin VST é uma caixa preta com um número de entradas, saídas e parâmetros associados, não sendo necessário ao host ter conhecimento sobre o processamento que é feito dentro do plugin. A Steinberg disponibiliza gratuitamente o SDK do VST na linguagem C++, que permite desenvolver plugins para Windows, Linux e Macintosh. Esse SDK já possui traduções para 29

41 linguagens de programação como Delphi e Java, criando mais opções para os programadores, porém perde-se a compatibilidade com vários sistemas operacionais. No Windows por exemplo, um plugin VST é um arquivo com extensão.dll. Na Figura 29, demonstra-se a comunicação entre um programa host e um plugin VST, na qual o host passa o áudio e parâmetros para o plugin, que processa o áudio recebido e devolve o som processado para o host. Figura 29. Comunicação Host VST O processamento de áudio no plugin é feito através de três métodos, chamados process(), processreplacing() e processdoublereplacing(). O método process(), recebe o som do host, aplica o algoritmo de processamento, e adiciona o resultado no buffer de saída (output) acumulando o sinal original, enquanto os métodos processreplacing() e processdoublereplacing(), sobrescrevem o buffer de saída. Para criar a interface do plugin, existe um framework 8 denominado VSTGUI, que está incluído no SDK. O VSTGUI permite ao desenvolvedor separar a interface do plugin do código de processamento sonoro, o que facilita a portabilidade e a programação. A interface também pode ser padronizada pelo host através de métodos que retornam o número de parâmetros, nome dos labels, etc, permitindo ao host criar interfaces dinâmicas para os plugins. 8 Conjunto de elementos e suas interligações constituindo a base de um sistema ou projeto. 30

42 Na Figura 30, é ilustrado o programa VstHost e um plugin de distorção chamado Soul Force, onde pode-se notar duas interfaces, sendo uma própria do plugin (interface à esquerda), e a outra disponibilizada pelo host (interface à direita). Figura 30. Interfaces do plugin e do Host Fonte: Software VstHost. Para facilitar a programação de plugins VST, existem softwares como SynthEdit 9 (Figura 31a), SynthMaker 10 (Figura 31b) e Quantum Fx 11 (Figura 31c). Esses softwares possuem blocos e módulos pré-definidos de processamento de áudio, que podem ser conectados para formar blocos maiores, criando seus próprios plugins. Com o diagrama montado, é possível criar a interface gráfica do plugin adicionando botões e controles para ajustar seus parâmetros. Esses plugins podem ser exportados para uma DLL, que pode ser utilizada em qualquer software que possua suporte à tecnologia VST. 9 Mais detalhes disponíveis em 10 Mais detalhes disponíveis em 11 Mais detalhes disponíveis em 31

43 (a) (b) (c) Figura 31. (a) Interface do SynthEdit; (b) Interface do SynthMaker; (c) Interface do Quantum Fx Fonte: Softwares SynthEdit, SynthMaker e Quantum Fx. Também existem os plugins VSTi (Virtual Studio Technology Instrument), que são conhecidos como instrumentos virtuais. Um plugin VSTi pode simular e sintetizar o som de diversos instrumentos como piano, guitarra, bateria, violão, violino e trompete, enquanto os plugins VST não têm a capacidade de gerar sons, eles apenas processam o som fornecido pelo host. Estes instrumentos virtuais, desenvolvidos com a tecnologia VST, necessitam de um programa host para seu funcionamento.. Nesse caso, o host não irá passar o som para o plugin processar, e sim informações MIDI. Como exemplo, é possível citar o EZ Drummer (Figura 32) da Toontrack, que é uma bateria virtual. O host apenas passa as informações MIDI para o plugin, e ele se encarrega de processar a informação e tocar o som correspondente. No caso de uma bateria, cada nota musical MIDI corresponde a uma peça da bateria. 32

44 Figura 32. Bateria virtual EZ Drummer Fonte: Plugin EZ Drummer. A Tabela 3 mostra a relação entre as notas musicais e as peças da bateria. Tabela 3. Peças da bateria virtual EZ Drummer Nota Peça Dó Bumbo Dó# Baqueta Ré Caixa Ré# Aro da caixa Mi Caixa 2 Fá Surdo Fá# Chimbal fechado Sol Tom 3 Sol# Chimbal semi aberto La Tom 2 La# Chimbal aberto Si Tom 1 33

45 2.3.6 JUCE JUCE (Jules Utility Class Extensions) é uma coleção de bibliotecas OpenSource desenvolvidas em C++ que podem ser compiladas em ambiente Windows, Linux ou Mac OSX. Ele foi desenvolvido pela empresa Raw Material Software e possui classes para criação de interfaces gráficas, manipulação de imagens, áudio, arquivos XML e têm uma ótima integração com a tecnologia VST e ASIO, ambas da Steinberg. (RAW MATERIAL SOFTWARE, 2008). O JUCE conta com exemplos e tutoriais que explicam como utilizá-lo e compilá-lo nas plataformas suportadas. Ele possui um exemplo com as principais funcionalidades encontradas em um software host para plugins VST que possui suporte ao driver ASIO ASIO ASIO é uma API desenvolvida pela Steinberg para a manipulação de áudio digital, para superar as limitações das tecnologias originais oferecidas pelos sistemas operacionais (RATTON, 2002). Atualmente o ASIO está presente na maioria das placas de som profissionais ou semiprofissionais, como a placa M-AUDIO DELTA 1010 LT (Figura 33a) e a Creative AUDIGY 2 ZS 7.1. (Figura 33b). (a) (b) Figura 33. (a) Placa M-AUDIO DELTA 1010 LT; (b) Placa Creative AUDIGY 2 ZS

46 A maior vantagem do ASIO é a pequena latência de processamento no som, que não é possível em todas as placas de som. Por exemplo, para se tocar um instrumento virtual através de um controlador MIDI com uma placa de som sem suporte ao ASIO, a latência ou atraso do processamento de som poderá será maior que 50ms, o que torna essa tarefa inviável para gravações ou performances ao vivo. Já com uma placa com ASIO, essa latência diminui para menos de 5ms, o que torna o atraso quase imperceptível ao ouvido humano. (RATTON, 2002). Para computadores com placas de som onboard ou com placas que não possuem suporte nativo ao ASIO, existe uma solução em software denominada ASIO4ALL. O ASIO4ALL é um software desenvolvido pelo engenheiro elétrico Michael Tippach, que age diretamente no núcleo do driver de som WDM, melhorando significativamente seu desempenho. Para utilizar o ASIO4ALL basta que a interface de áudio possua um driver WDM, na qual o ASIO4ALL se acopla e faz seu trabalho, sem alterar o driver original e sem prejudicar o sistema operacional. Ele está disponível para download gratuitamente no site O software possui apenas 284 KB, e é extremamente fácil de ser instalado e configurado. Na Figura 34, é mostrada a tela de configuração do ASIO4ALL. Figura 34. Tela de configuração do ASIO4ALL Fonte: Software ASIO4ALL. 35

47 2.4 Considerações No Capítulo 2, foi apresentada uma revisão bibliográfica sobre Computação Musical, com o objetivo de expor os principais conceitos e características dessa área da Ciência da Computação que pode ser largamente explorada. A pesquisa sobre softwares similares fez-se necessária para demonstrar que já existem algumas soluções disponíveis, e para situar esse trabalho em seu devido contexto. Através da pesquisa realizada em busca de tecnologias de processamento sonoro, conclui-se que existem várias opções. Analisando o objetivo proposto pelo TCC, a tecnologia VST da Steinberg foi a que mais se identificou para o desenvolvimento deste trabalho, devido ao seu SDK específico para tratamento de áudio e por ser bem documentado, bem como sua compatibilidade entre diversos softwares da área. A próxima etapa deste trabalho consiste em descrever o desenvolvimento do software, na qual são apresentados os requisitos, modelagem e desenvolvimento do mesmo. 36

48 3 DESENVOLVIMENTO Este trabalho possibilitou o desenvolvimento de um software para processar o som de uma guitarra conectada a um computador, assumindo o papel de uma pedaleira. Para que essa conexão entre guitarra e computador seja possível, é necessário o uso de um adaptador de plug P10 para P2, ilustrado na Figura 35. Figura 35. Adaptador P10 x P2 Na seção Modelagem do Sistema, está descrita a modelagem do software, que abrange diagramas de casos de uso, classe, seqüência e componentes, bem como o levantamento de requisitos e as regras de negócio. Na seção Implementação, serão explicadas as telas do sistema juntamente com suas funcionalidades e questões técnicas referentes à programação e implementação do software proposto. 3.1 MODELAGEM DO SISTEMA Em Melo (2004, p.31) é frisado que é indiscutível que a UML se tornou um padrão de mercado para modelagem de sistemas no paradigma da orientação a objetos. Desta forma, foi utilizada a ferramenta Case Enterprise Architect baseado na UML para a modelagem do software. Foram definidos requisitos funcionais e não funcionais, regras de negócio, diagramas de casos de uso, classe, componentes e seqüência Levantamento de Requisitos O levantamento de requisitos refere-se ao processo de compreensão do problema aplicado ao desenvolvimento de software. Com base nos softwares similares estudados, e conforme a proposta estabelecida nesse trabalho, foram levantados os seguintes requisitos:

49 Requisitos Funcionais RF01: O sistema deverá possuir os seguintes efeitos: Overdrive, Distortion, Chorus, Delay e Reverb; RF02: O sistema deverá permitir a utilização dos efeitos simultaneamente; RF03: Os efeitos deverão ter controles de ajuste de parâmetros individuais; RF04: Deverá ser possível salvar as configurações (presets) dos efeitos, para que não seja necessário ajustar os parâmetros toda vez ao iniciar o programa; RF05: O sistema deverá possibilitar ao usuário a opção de escolha das entradas (input) e saídas (output) de som do sistema; e RF06: A ordem e ligação entre os plugins VST poderão ser definidas pelo usuário Requisitos Não Funcionais RNF01: O sistema deverá ser compatível com o sistema operacional Windows XP; RNF02: O sistema deverá ser implementado utilizando a tecnologia VST; RNF03: O sistema deverá ser compatível com o driver de som ASIO4ALL; e RNF04: O sistema deverá permitir a utilização de outros plugins VST já existentes, que não serão implementados nesse trabalho Regras de Negócio O preset default do sistema deverá conter os efeitos na seguinte ordem 12 : Overdrive, Distortion, Chorus, Delay e Reverb Projeto do Sistema Neste item serão apresentados os diagramas de Caso de Uso, Classe, Seqüência e Componentes, bem como os protótipos de telas. 12 Essa ordem foi estabelecida conforme o fluxo de processamento do sinal de áudio na maioria das pedaleiras e pedais ligados em série. 38

50 Diagrama de casos de uso Segundo Pender (2004, p. 307), O diagrama de caso de uso (Use Case), é um elemento gráfico exclusivo, pois é um diagrama usado para modelar o modo como as pessoas esperam usar um sistema. O diagrama descreve quem serão os usuários relevantes, os serviços que eles exigem do sistema e os serviços que eles precisam oferecer ao sistema. Os diagramas de caso de uso deste trabalho estão divididos em quatro pacotes: Configuração, Seleção de Efeitos, Ajuste de Parâmetros e Exportação/Importação de presets, que estão representados na Figura 36. Figura 36. Diagrama de Casos de Uso Pacote 01: Configurações No pacote Configurações, está modelada a parte de configuração de áudio do software. Na Figura 37 é ilustrado o Diagrama de Caso de Uso Configurações. 39

51 Figura 37. Diagrama de Caso de Uso Configurações Relações RF05: O sistema deverá possibilitar ao usuário a opção de escolha das entradas (input) e saídas (output) de som do sistema. Cenários Fluxo Principal: Configurar o som do sistema 1. O sistema apresenta uma tela de configuração de áudio para o usuário (TELA 02); 2. O usuário seleciona as entradas de som (input); 3. O usuário seleciona as saídas de som (output); 4. O usuário seleciona o samplerate e o buffer size; 5. O usuário clica no botão para fechar a tela; e 6. O sistema salva as configurações em um arquivo de configuração. Pacote 02: Seleção de Efeitos O pacote Seleção de Efeitos descreve a seleção ou ativação/desativação dos efeitos. Na Figura 37 é ilustrado o Diagrama de Caso de Uso Seleção de Efeitos. 40

52 Figura 38. Diagrama de Caso de Uso Seleção de Efeitos Relações RF01: O sistema deverá possuir os seguintes efeitos: Overdrive, Distortion, Chorus, Delay e Reverb; RF02: O sistema deverá permitir a utilização dos efeitos simultaneamente; e RF06: A ordem e ligação entre os plugins VST poderão ser definidas pelo usuário. Cenários Fluxo Principal: Selecionar Efeitos 1. O sistema apresenta a tela principal (TELA 01); 2. O usuário clica no botão Play para iniciar o processamento; 3. O usuário clica em algum preset; 4. Se existir o preset salvo em disco, o sistema o exibe na tela; 5. O usuário adiciona os efeitos desejados com o botão direito do mouse ou arrastando e soltando um plugin na tela; e 6. O usuário ativa os efeitos que irá utilizar. Fluxo de Exceção: Erro ao adicionar efeito Se no passo 5 o efeito selecionado pelo usuário não existir, o sistema exibe a mensagem "Erro ao criar plugin. O Plugin selecionado não existe. (TELA 03). 41

53 Pacote 03: Ajuste de Parâmetros Esse pacote descreve o caso de uso de ajuste dos parâmetros dos efeitos sonoros. Cada efeito possuirá parâmetros próprios que poderão ser ajustados, conforme a necessidade do usuário. Na Figura 39 é ilustrado o Diagrama de Caso de Uso Ajuste de Parâmetros. Figura 39. Diagrama de Caso de Uso Ajuste de Parâmetros Relações RF03: Os efeitos deverão ter controles de ajuste de parâmetros individuais. Cenários Fluxo Principal: Ajuste de parâmetros 1. O sistema apresenta a tela principal (TELA 01); 2. O usuário seleciona o efeito com duplo clique do mouse; 3. O sistema apresenta tela com interface do plugin; e 4. O usuário faz ajuste nos parâmetros do plugin. Pacote 04: Exportação/Importação Esse pacote possui dois cenários: Exportação e Importação. O caso de uso de Exportação descreve o processo de salvar um preset definido pelo usuário, enquanto o caso de uso de Importação descreve o processo para abrir um preset já salvo. Na Figura 40 é ilustrado o Diagrama de Caso de Importação/Exportação. 42

54 Figura 40. Diagrama de Caso de Uso Importação/Exportação Relações RF04: Deverá ser possível salvar as configurações (presets) dos efeitos, para que não seja necessário ajustar os parâmetros toda vez ao iniciar o programa. Cenários Fluxo Principal: Exportar Preset (Cenário 1) 1. O usuário clica no menu "Arquivo => Salvar Como..." (TELA 01); 2. O sistema apresenta tela de seleção de diretório e nome do arquivo (TELA 04); 3. O usuário digita o nome do arquivo e seleciona o diretório; 4. O usuário clica em salvar; e 5. O sistema salva o arquivo na pasta selecionada. Fluxo de Exceção: Nome incorreto ou em branco Se no passo 4 o nome do arquivo possuir caracteres inválidos, o sistema exibe mensagem "O nome do arquivo acima é inválido!", (TELA 03), e retorna ao passo 3. 43

55 Fluxo Principal: Importar Preset (Cenário 2) 1. O usuário clica no menu "Arquivo => Abrir" (TELA 01); 2. O sistema apresenta tela de seleção de diretório e nome do arquivo (TELA 05); 3. O usuário seleciona o arquivo desejado; 4. O usuário clica em Abrir; e 5. O sistema abre o arquivo selecionado. Fluxo de Exceção: Arquivo inválido Se no passo 5, o arquivo for inválido, o sistema exibe mensagem "Arquivo inválido ou corrompido!", (TELA 03), e retorna ao passo Diagrama de classes de negócio O diagrama de classes tem como objetivo ilustrar os atributos e métodos das principais classes do sistema, assim como os tipos de associações que existam entre elas. Como o programa host é independente dos plugins, foram modelados dois diagramas de classe, sendo um com as principais classes do host, e o outro com a estrutura principal de um plugin VST. A Figura 41 apresenta o modelo de classes de negócio, que ilustra as classes participantes do domínio do sistema e seus respectivos relacionamentos. Figura 41. Diagrama de Classes de Negócio: Host 44

56 O diagrama de classes do plugin VST foi elaborado estudando a estrutura de classes do SDK fornecido pela Steinberg, que é composto por cinco classes principais, sendo duas responsáveis pela interface do plugin, e as demais responsáveis pelas funcionalidades do plugin. A classe principal é a PluginVST, que é uma especialização da classe AudioEffectX, que por sua vez é uma especialização da classe AudioEffect. É na classe PluginVST que o programador define o nome do plugin, quantos e quais serão seus parâmetros, as funções ProcessReplacing() e ProcessDoubleReplacing() - que são responsáveis pelo processamento do som -, entre outras características básicas do plugin. Já as classes AEffEditor e AEffGUIEditor, são responsáveis pela interface gráfica do plugin. Devido ao grande número de métodos e atributos presente nas classes, apenas a classe PluginVST está com todos seus membros ilustrados no diagrama. Em anexo, está o código fonte do plugin VST Volume, que foi implementado para controlar a intensidade do sinal de áudio. Na Figura 42 é ilustrado o Diagrama de Classes de um plugin VST. 45

57 Figura 42. Diagrama de Classes do Plugin VST Diagrama de classes de projeto Na etapa de implementação do projeto, foi definido que para o desenvolvimento do host seria utilizada em conjunto com as tecnologias VST e ASIO da Steinberg a tecnologia JUCE. Por esse motivo, o número de classes do programa host aumentou consideravelmente. Este diagrama de classes está ilustrado na Figura

58 Figura 43. Diagrama de Classes de Projeto: Host. Diagrama de Classes de Projeto: Host 47

59 Onde: TelaPrincipal: principal tela do sistema; PainelPrincipal: painel que possui os botões de presets, Play, Stop e Bypass, e suas respectivas funcionalidades; PainelInterno: painel onde são desenhados os plugins; AudioDeviceSelectorComponent: classe nativa do JUCE para selecionar o dispositivo de áudio (tela de configurações); PluginListWindow: tela responsável por listar e gerenciar os plugins disponíveis; FiltroNaTela: possui informações sobre o plugin que está desenhado na tela; PluginWindow: tela que apresenta a interface gráfica dos plugins; ControlePlugins: classe que gerencia os presets em memória e arquivos XML; ConexaoEntreFiltros: guarda as informações sobre as conexões entre os plugins; FiltroComponente: representa um dos plugins na classe ControlePlugins; PinoConector: classe que implementa os conectores (input/output) dos plugins; e ConectorPlugin: classe que implementa o fio que é desenhando ao conectar os plugins Diagrama de seqüência Foi elaborado um diagrama de seqüência sobre a interação do usuário com o software, que engloba os principais casos de uso. O diagrama descreve o processo do usuário configurar o áudio do sistema, ajustar os parâmetros dos efeitos, e salvar o preset em disco, conforme ilustra a Figura

60 Figura 44. Diagrama de Seqüência 49

61 Diagrama de Componentes Foi elaborado um diagrama de componentes para ilustrar os principais arquivos que compõe o software. Cada plugin VST será um arquivo com extensão DLL, enquanto o programa principal (encarregado por fornecer o som para os plugins), será um arquivo executável do Windows. Figura 45. Diagrama de Componentes Protótipos de Telas Esta seção apresenta os protótipos de telas do sistema, citadas na descrição dos casos de uso através da referência TELA seguidas de um seqüencial de identificação. 50

62 TELA 01 - Tela Principal do sistema. É a tela principal do sistema, na qual o usuário terá acesso aos plugins VST e as demais telas Figura 46. Protótipos de Tela: Tela Principal (TELA 01) 51

63 TELA 02 - Tela de Configurações É a tela na qual o usuário terá a opção de selecionar as entradas e saídas de som do sistema. Figura 47. Protótipos de Tela: Tela de Configurações (TELA 02) TELA 03 - Tela de Mensagem Padrão Tela de mensagem, na qual serão exibidas informações para o usuário. Figura 48. Protótipos de Tela: Tela de Mensagem (TELA 03) 52

64 TELA 04 - Tela de Diálogo Tela na qual o usuário irá informar o destino para importar/exportar os presets do software. Figura 49. Protótipos de Tela: Tela de Diálogo (TELA 04) 3.2 IMPLEMENTAÇÃO A etapa de implementação compreendeu a codificação do projeto do sistema, através da linguagem de programação C++, consolidando o projeto elaborado em um produto final. Para o desenvolvimento dos efeitos e do software host, foi utilizado o ambiente de programação Visual Studio 2008 da Microsoft e o VST SDK versão 2.4 da Steinberg. Para o programa host, também foi utilizado o SDK ASIO versão 2.2 para obter uma baixa latência no processamento sonoro e o SDK JUCE versão 1.45, que é responsável pela interface gráfica do sistema. 53

65 O ambiente de programação Microsoft Visual Studio 2008 foi escolhido pelo fato das três tecnologias utilizadas (ASIO, JUCE e VST) possuírem projetos e exemplos desenvolvidos nele, o que facilita a programação e a compilação do código fonte. Os efeitos Chorus e Reverb foram implementados com o auxílio da ferramenta SynthEdit, pois foram encontradas dificuldades para desenvolver algoritmos de filtros digitais e a transformada de Fourier, técnicas necessárias para desenvolvimento desses efeitos. Além dos cinco efeitos definidos nos requisitos funcionais, foram implementados mais dois: Tremolo e Volume. Desta forma, foram implementados sete plugins ao total: Overdrive, Distortion, Chorus, Delay, Reverb, Tremolo e Volume. Para o desenvolvimento da interface gráfica dos plugins, foi utilizado o VSTGUI nativo do VST SDK, que é independente de plataforma. As próximas seções descrevem as funcionalidades implementadas no programa host e plugins e detalhes técnicos referentes à programação dos mesmos Programa Host DK Guitar O software host implementado foi nomeado DK Guitar, e é composto basicamente por duas telas: Tela Principal e Tela de Configurações Tela Principal A Tela Principal é responsável por fazer a comunicação com os plugins e exibi-los corretamente na tela. Funcionalidades como Importar e Exportar presets também estão atribuídos à Tela Principal, que possui um menu para tais finalidades. Como ponto de partida para o desenvolvimento, foram estudados exemplos integrantes do SDK JUCE. Um dos exemplos de aplicações é o PluginHost, um projeto que possui as principais funcionalidades de um programa host. Dessa forma, foram estudadas as classes e o código fonte do PluginHost para aquisição do conhecimento necessário para o desenvolvimento do DK Guitar. A estrutura de classes definida na modelagem do sistema foi mantida, porém novas classes tiveram que ser criadas e adicionadas para facilitar a programação e para manter a consistência com a estrutura do JUCE. Dessa forma, cada tela do software é um objeto de uma determinada classe. Também foram adicionadas classes para desenhar componentes gráficos, como os fios conectores 54

66 de plugins e os plugins minimizados na tela. A Figura 50 mostra o diagrama com classes nativas do JUCE e classes do PluginHost, que são utilizadas no DK Guitar para a manipulação do áudio. Figura 50. Diagrama de Classes do DK Guitar Onde: AudioPluginInstance: classe base para criar uma instância de um plugin; BaseDoFiltroInterno: classe derivada da AudioPluginInstance que implementa métodos utilizados pelas classes FiltroInternoAudioInput e FiltroInternoAudioOutput; VSTPluginInstance: instância de um plugin VST; FiltroInternoAudioInput: instância de um plugin do tipo Input; e FiltroInternoAudioOutput: instância de um plugin do tipo Output. As classes responsáveis pelo processamento sonoro são nativas do JUCE, como AudioPluginInstance e VSTPluginInstance, outras são do PluginHost, que foram aproveitadas e modificadas para adicionar funcionalidades previstas na modelagem através dos requisitos funcionais. Na Figura 51, está ilustrada a Tela Principal do software. 55

67 Figura 51. Tela Principal Os blocos Audio Input e Audio Output representam a entrada e saída de som respectivamente. Já os blocos intermediários são plugins VST. Os cabos ou fios que estão conectando os blocos entre si, são utilizados para definir o fluxo do sinal de áudio. Dessa forma, os plugins podem ser utilizados simultaneamente e conectados de diversas maneiras, possibilitando uma grande flexibilidade na conexão dos efeitos e contemplando os requisitos funcionais RF2 e RF6. Na Figura 51, percebe-se que o fluxo do sinal está dividido em duas partes, na qual o lado esquerdo possui os efeitos Tremolo e Overdrive e o lado direito Distortion e Delay. Desta forma, o som recebido pelo software é dividido e processado separadamente para cada saída de áudio, na qual cada caixa de som receberá um sinal diferente. Ao clicar com o botão direito sobre um plugin, é aberto um menu de contexto ilustrado na Figura

68 Figura 52. Menu de contexto dos plugins As opções do menu de contexto são: Excluir esse componente: remove o plugin da tela e exclui suas conexões caso existam; Desconectar todos os pinos: remove todas as conexões do plugin; Mostrar interface do plugin: abre uma tela com a interface do plugin. Caso a interface não exista, é aberta uma tela de interface padrão do DK Guitar com os parâmetros do plugin; e Mostrar todos os parâmetros: abre a tela padrão de plugins do DK Guitar. 57

69 Tela de Configurações de Áudio A Tela de Configurações (Figura 53) é utilizada para especificar as entradas e saídas de áudio. Ela também possui um botão que abre a tela de configurações do driver ASIO4ALL, para que o usuário possa definir configurações do driver de som. Figura 53. Tela de Configurações Os parâmetros da tela de configurações de áudio são: Audio device: lista os drivers de som disponíveis no computador. Essa lista varia conforme a quantidade de placas de som instaladas no PC; Sample rate: permite selecionar a taxa de amostragem do sinal de áudio. Quanto maior for esse valor, maior será a qualidade sonora, e menor será a velocidade de processamento. O valor padrão utilizado em softwares de gravação e reprodução de áudio é Hz; Áudio buffer size: define o tamanho do buffer de amostras sonoras. Quanto maior esse buffer, maior será a latência do processamento sonoro; Active output channels: lista das saídas de áudio disponíveis no computador; 58

70 Active intput channels: lista das entradas de áudio disponíveis no computador; Active midi inputs: lista das entradas MIDI no computador; e Midi Output: permite selecionar o dispositivo de saída MIDI. As duas últimas opções não são utilizadas no software, mas foram mantidas por questões de compatibilidade com o SDK JUCE. Com a implementação da tela de configurações, o requisito funcional RF5 foi cumprido Presets Para implementação dos presets, foi criada a classe ControlePlugins, que possui funcionalidades para seu gerenciamento e controle. Cada preset é um arquivo XML com extensão.preset, que é carregado em memória quando o programa é iniciado. Uma vez na memória, o usuário pode realizar alterações e salvá-los no computador. Para facilitar a troca entre presets, foram definidos botões de acesso rápido que possuem uma tecla de atalho para facilitar seu acionamento. A Tabela 4 ilustra a relação entre os presets, teclas de atalho, botões e arquivos XML. Tabela 4. Botões e teclas de atalho do Software DK Guitar Botões Presets Teclas de Atalho Arquivos Preset 1 F1 F1.Preset Preset 2 F2 F2.Preset Preset 3 F3 F3.Preset Preset 4 F4 F4.Preset Preset 5 F5 F5.Preset Preset 6 F6 F6.Preset Preset Bypass Barra de Espaço Bypass.Preset Enter Enter 59

71 Ao clicar em um botão, o preset ativo é salvo em memória e o preset referente ao botão clicado é carregado. Desta forma, o sistema permite ao usuário alterar ajustes de parâmetros sem a necessidade de salvá-lo a cada troca de preset. Para salvar ou carregar um preset salvo em disco, foi desenvolvida a opção Arquivo do menu na tela principal, que possui opções para tais finalidades, conforme ilustra a Figura 54. Com essas funcionalidades implementadas, o requisito funcional RF04 foi integralmente atendido. Figura 54. Menu Arquivo Plugins No desenvolvimento dos plugins, foram implementadas duas entradas e duas saídas de som para cada efeito, possibilitando o processamento em stereo. 60

72 As próximas seções abordam o processo de desenvolvimento e codificação, descrevendo as interfaces gráficas, trechos de código fonte e parâmetros, além de imagens de ondas sonoras que foram processadas pelos plugins Plugin Delay Para implementar o efeito de Delay, foi utilizada uma técnica de estrutura de dados denominada buffer circular, na qual os dados são armazenados e lidos de forma circular em um vetor com tamanho limitado, onde a última posição do buffer é sucedida pela primeira. O som é armazenado nesse buffer para ser posteriormente acrescentado ao som original, simulando o efeito de Delay. Os parâmetros implementados no plugin foram: Time: tempo entre as repetições do Delay; Feedback: quantidade de repetições; Level: intensidade do efeito; e On/Off: ativação e desativação do efeito. Na Figura 55, está ilustrada a função processreplacing do plugin, onde é feito o processamento sonoro. 61

73 1 void Delay::processReplacing(float** inputs, float** outputs, 2 VstInt32 sampleframes) 3 { 4 float* in1 = inputs[0]; //duas entradas 5 float* in2 = inputs[1]; 6 float* out1 = outputs[0]; //duas saídas 7 float* out2 = outputs[1]; 8 9 if (fenabled > 0.5) //Delay 10 { 11 while (--sampleframes >= 0) 12 { 13 float x1 = *in1++; 14 float x2 = *in2++; 15 float y1 = buffer1[cursor]; 16 float y2 = buffer2[cursor]; 17 long aux; aux = cursor++; 20 buffer1[aux] = x1 + y1 * ffeedback; 21 buffer2[aux] = x2 + y2 * ffeedback; if (cursor >= delay) cursor = 0; *out1++ = x1 + (y1 * fout); 26 *out2++ = x2 + (y2 * fout); 27 } 28 } 29 else //Bypass 30 { 31 while (--sampleframes >= 0) 32 { 33 *out1++ = *in1++; 34 *out2++ = *in2++; 35 } 36 } 37 } Figura 55. Código fonte do plugin Delay O IF da linha 9 divide o fluxo do processamento em duas partes: caso o parâmetro fenabled seja maior que 0.5, o efeito de Delay é acrescentado ao som original, caso contrário as variáveis de saída (out1 e out2) apenas recebem o sinal de entrada, não efetuando nenhum processamento no som original. Os plugins foram implementados dessa forma para satisfazer o requisito funcional RF02, na qual foi definido que o sistema deverá permitir a utilização dos efeitos simultaneamente, pois dessa forma, não é preciso retirar o plugin da conexão para desativá-lo. Nas linhas 20 e 21 está o código que acrescenta o sinal no buffer e nas linhas 25 e 26 o Delay é acrescentado ao som original. A Figura 56 ilustra a interface do plugin Delay, e sua interface padrão no DK Guitar. 62

74 (a) (b) Figura 56. (a) Interface do Delay; (b) Interface padrão do Delay no DK Guitar Na Figura 57, a onda sonora inferior ilustra o resultado do efeito Delay aplicado na onda sonora superior. Figura 57. Onda sonora do Delay Plugin Overdrive Para o desenvolvimento do efeito Overdrive, foram implementadas equações matemáticas aplicadas ao sinal de áudio, com propósito de modificar o formato da onda sonora. As equações implementadas estão ilustradas a seguir: 63

75 K = (2 * fganho) / (1 - fganho) Equação 1 X = ((1 + K) * X) / (1 + K * abs(x)) Equação 2 Onde: fganho: é a quantidade de Overdrive cujo valores variam de 0.1 a 0.7; e X: corresponde ao sinal digital do áudio. Os parâmetros implementados no plugin Overdrive foram: OverDrive: quantidade de saturação; Level: intensidade do efeito; e On/Off: ativação e desativação do efeito. Na Figura 58, está ilustrada a função processreplacing do plugin, onde é feito o processamento sonoro. 64

76 1 void overdrive::processreplacing(float** inputs, float** outputs, VstInt32 sampleframes) 2 { 3 float* in1 = inputs[0]; 4 float* in2 = inputs[1]; 5 float* out1 = outputs[0]; 6 float* out2 = outputs[1]; 7 8 if (fenabled > 0.5) //overdrive 9 { 10 while (--sampleframes >= 0) 11 { 12 float x1 = *in1++; 13 float x2 = *in2++; 14 float k1,k2; k1 = 2*fGanho/(1-fGanho); 17 x1 = (1+k1)*x1/(1+k1*abs(x1)); k2 = 2*fGanho/(1-fGanho); 20 x2 = (1+k2)*x2/(1+k2*abs(x2)); *out1++ = x1 * flevel; 23 *out2++ = x2 * flevel; 24 } 25 } 26 else //Bypass 25 { 28 while (--sampleframes >= 0) 29 { 30 *out1++ = *in1++; 31 *out2++ = *in2++; 32 } 36 } 34 } Figura 58. Código fonte do plugin Overdrive Nas linhas 16, 17, 19 e 20 estão implementadas as equações que transformam o sinal limpo em um sinal levemente distorcido, resultando o efeito de Overdrive. Na Figura 59 está ilustrada a interface do plugin Overdrive, e sua interface padrão no programa DK Guitar. 65

77 (a) (b) Figura 59. (a) Interface do Overdrive; (b) Interface padrão do Overdrive no DK Guitar Para a visualização gráfica da modificação que ocorre na onda sonora depois de ser processada pelo efeito Overdrive implementado, foi gravado um arquivo de áudio com o som da sexta corda solta de uma guitarra (nota Mi). Na parte superior da Figura 60 está ilustrada a onda sonora gerada pela guitarra, e na parte inferior a mesma onda depois de ser processada pelo plugin Overdrive. Figura 60. Onda sonora do Overdrive 66

78 Plugin Distortion A implementação do efeito Distortion foi baseada nas equações do efeito Overdrive. Para realizar modificações nestas equações, foi utilizado o programa SynthEdit. No SynthEdit foi criado um bloco WavePlayer para reproduzir um arquivo wave, um bloco Waveshaper2, na qual é possível expressar as equações matemáticas e um bloco SoundOut, para ouvir o resultado do processamento. No bloco Waveshaper2, a equação resultante é a compilação das duas equações utilizadas na implementação do Overdrive, na qual o parâmetro fgain foi substituído por valores numéricos.o diagrama do SynthEdit está ilustrado na Figura 61. Figura 61. Diagrama Distortion no SynthEdit Depois de vários testes com diferentes valores, as equações do plugin Distortion ficaram da seguinte forma: 67

79 K = (2 * fganho2) / (1 fganho2) Equação 3 X = ((fganho1 + K) * X) / (fganho1 + K * abs(x) ) Equação 4 Onde: fganho1: quantidade do primeiro nível de saturação; fganho2: quantidade do segundo nível de saturação; e X: sinal digital do áudio. A Equação 3 do plugin Distortion permaneceu igual à Equação 1 do plugin Overdrive, apenas o nome da variável foi alterado. A principal diferença ficou na Equação 4, onde a constante 1 foi substituída por uma variável. Desta forma o plugin Distortion possui dois parâmetros para controlar o ganho. Os parâmetros que foram implementados no plugin Distortion são: Boost: quantidade de saturação da variável fganho1; Gain: quantidade de saturação da variável fganho2; Level: intensidade do efeito; e On/Off: ativação e desativação do efeito. O código fonte do processamento sonoro do plugin Distortion está ilustrado na Figura

80 1 void distortion::processreplacing(float** inputs, float** outputs, 2 VstInt32 sampleframes) 3 { 4 float* in1 = inputs[0]; 5 float* in2 = inputs[1]; 6 float* out1 = outputs[0]; 7 float* out2 = outputs[1]; 8 9 if (fenabled > 0.5) //distortion 10 { 11 while (--sampleframes >= 0) 12 { 13 float x1 = *in1++; 14 float x2 = *in2++; 15 float k1, k2; //esquerda 18 k1 = 2*fGanhoAux/(1-fGanhoAux); 19 x1 = (fboostaux+k1)*x1/(fboostaux+k1*abs(x1)); 20 x1 = x1 * foutput; //direita 23 k2 = 2*fGanhoAux/(1-fGanhoAux); 24 x2 = (fboostaux+k2)*x2/(fboostaux+k2*abs(x2)); 25 x2 = x2 * foutput; *out1++ = x1; 28 *out2++ = x2; 29 } 30 } 31 else //Bypass 32 { 33 while (--sampleframes >= 0) 34 { 35 *out1++ = *in1++; 36 *out2++ = *in2++; 37 } 38 } 39 } Figura 62. Código fonte do plugin Distortion Nas linhas 18 e 23 está implementada a Equação 3, nas linhas 19 e 24 a Equação 4 e nas linhas 20 e 25 é aplicada a intensidade de saída do efeito. Na Figura 63 está ilustrada a interface do plugin Distortion, e sua interface padrão DK Guitar. 69

81 (a) (b) Figura 63. (a) Interface do Distortion; (b) Interface padrão do Distortion no DK Guitar O arquivo sonoro utilizado para ilustrar o efeito de Overdrive também foi utilizado para aplicar o efeito Distortion. A parte superior da Figura 64 ilustra a onda sonora original e a parte inferior mostra a onda sonora após ser processada pelo plugin Distortion. Figura 64. Onda sonora do Distortion Plugin Tremolo Para o desenvolvimento do efeito Tremolo foi implementado um oscilador (LFO) que varia de 0 a 1 que é incrementado com o valor definido pelo parâmetro ftempo. Quanto menor for esse parâmetro mais devagar será o efeito Tremolo. 70

82 Os parâmetros implementados no plugin foram: Time: velocidade do efeito Tremolo; Mix: mistura o efeito com o som original; e On/Off: ativa e desativa o efeito. Na Figura 65, está ilustrada a função processreplacing do plugin, onde é feito o processamento sonoro. 1 void Tremolo::processReplacing(float** inputs, float** outputs, 2 VstInt32 sampleframes) 3 { 4 float* in1 = inputs[0]; 5 float* in2 = inputs[1]; 6 float* out1 = outputs[0]; 7 float* out2 = outputs[1]; 8 9 if (fenabled > 0.5) //Tremolo 10 { 11 while (--sampleframes >= 0) 12 { 13 float x1 = *in1++; 14 float x2 = *in2++; 15 LFO(); *out1++ = x1 * (1-fGanho) + (x1* flfo * fganho); 18 *out2++ = x2 * (1-fGanho) + (x2* flfo * fganho); 19 } 20 } 21 else //Bypass 22 { 23 while (--sampleframes >= 0) 24 { 25 *out1++ = *in1++; 26 *out2++ = *in2++; 27 } 28 } 29 } Figura 65. Código fonte do Plugin Tremolo Nas linhas 17 e 18 o tremulo é acrescentado ao sinal original. O código x * (1-fGanho) corresponde à porcentagem do som original e o x* flfo * fganho corresponde à porcentagem do efeito Tremolo. A Figura 66 ilustra a interface do plugin Tremolo e sua interface padrão no DK Guitar.. 71

83 (a) (b) Figura 66. (a) Interface do Tremolo; (b) Interface do Tremolo no DK Guitar Para que seja possível perceber a presença do efeito Tremolo na onda sonora, ela tem que ser visualizada sem zoom. Como o oscilador é incrementado e decrementado com valores constantes, ele gera um gráfico de forma triangular, que está ilustrada na Figura 67. Figura 67. Onda sonora do Tremolo Plugin Chorus O plugin Chorus foi implementado com o auxílio do programa SynthEdit, pois foram encontradas dificuldades para desenvolver a transformada de Fourier para efetuar a modulação necessária no sinal do áudio. No programa SynthEdit, foi utilizado o conhecimento adquirido sobre o funcionamento do efeito Chorus (descrito na Fundamentação Teórica) para o desenvolvimento do plugin. A interface gráfica criada seguiu o mesmo padrão dos outros plugins. Os parâmetros implementados foram: 72

84 Depth: profundidade do efeito; e Mix: mixagem ou intensidade do efeito no sinal original. Na Figura 68, está ilustrado o diagrama de blocos implementado no SynthEdit. Figura 68. Diagrama Chorus no SynthEdit Onde: IO Mod: entrada e saída do sinal sonoro; DCA: controla a intensidade do sinal; Oscillator: oscilador de baixa freqüência; Fixed Values: valores fixos; e Delay: componente de Delay ou atraso do sinal. Os dois componentes DCA da esquerda, são utilizados para fazer o processamento em Stereo ligados à um botão On/Off para ligar e desligar o efeito. Quando o botão está acionado, o 73

85 sinal passa normalmente para o componente Delay. Este componente está com o tempo de Delay fixo em 27 milissegundos. Um LFO ou oscilador de baixa freqüência está ligado ao Delay para fazer a modulação característica do efeito Chorus. Para fazer a interface gráfica foi utilizado o mesmo layout do knob (potenciômetro) usado na implementação dos outros plugins. Na Figura 69, está ilustrada a interface do plugin Chorus implementada no software SynthEdit e sua interface padrão no DK Guitar. (a) (b) Figura 69. (a) Interface do Chorus; (b) Interface padrão do Chorus no DK Guitar Na Figura 70, a onda sonora inferior ilustra o resultado do efeito Chorus aplicado na onda sonora superior. Figura 70. Onda sonora do Chorus 74

86 Plugin Reverb Assim como o Chorus, o plugin Reverb foi implementado com o auxílio do programa SynthEdit. No SynthEdit, foram utilizados blocos de filtros digitais do tipo Comb e Allpass para o desenvolvimento do Reverb. Os parâmetros implementados foram: Time: ajustar a duração ou tempo da reverberação; Tone: tonalidade ou equalização do efeito; e Mix: mixagem ou intensidade do efeito no sinal original. Na Figura 71, está ilustrado o diagrama de blocos implementado no SynthEdit. Figura 71. Diagrama Reverb no SynthEdit Onde: IO Mod: entrada e saída do sinal sonoro; 75

87 Comb: este filtro adiciona um Delay com um curto intervalo de tempo acrescentando pequenas defasagens no som; Allpass: filtro Allpass, utilizado para passar todas as freqüências com a mesma amplitude; LevelAdj: utilizado pelo parâmetro Mix do plugin para controlar a intensidade do efeito Reverb no sinal original; DCA1 e DCA2: utilizado pelo botão On/Off para ativar e desativar o efeito; e Multiply: multiplica o valor do parâmetro Tone antes de passá-lo para o bloco Comb. Na Figura 72, está ilustrada a interface do plugin Reverb implementada no software SynthEdit e sua interface padrão no DK Guitar. (a) (b) Figura 72. (a) Interface do Reverb; (b) Interface padrão do Reverb no DK Guitar Na Figura 73, a onda sonora inferior ilustra o resultado do efeito Reverb aplicado na onda sonora superior. 76

88 Figura 73. Onda sonora do Reverb Plugin Volume A função do plugin Volume implementado é de controlar a intensidade de saída do áudio. Pode ser utilizado para obter uma diferença de intensidade necessária entre dois presets. Por exemplo, um preset configurado para ser utilizado para o guitarrista executar um solo, geralmente possui maior intensidade que os outros presets. O único parâmetro do plugin Volume é o fgain, que ajusta a intensidade de saída do sinal. Na Figura 74, está ilustrada a função processreplacing do plugin, onde é feito o processamento sonoro. 1 void volume::processreplacing (float** inputs, float** outputs, 2 VstInt32 sampleframes) 3 { 4 float* in1 = inputs[0]; 5 float* in2 = inputs[1]; 6 float* out1 = outputs[0]; 7 float* out2 = outputs[1]; 8 9 while (--sampleframes >= 0) 10 { 11 *out1++ = *in1++ * fgain; 12 *out2++ = *in2++ * fgain; 13 } 14 } Figura 74. Código fonte do plugin Volume Nas linhas 11 e 12 o sinal de entrada é multiplicado pelo parâmetro fgain do plugin, alterando a amplitude do sinal. Na Figura 75 está ilustrada a interface do plugin Volume no programa DK Guitar. 77

89 Figura 75. Interface do Volume Na parte superior da Figura 76 está ilustrada uma onda sonora, na qual a segunda onda é o resultado da utilização do plugin Volume. Figura 76. Onda sonora do Volume 3.3 TESTES E VALIDAÇÃO O processo de testes e validação do sistema foi dividido em duas etapas, sendo que a primeira ocorreu em paralelo ao desenvolvimento e a segunda após a implementação. Para a utilização do software, é necessário um computador com placa de som e sistema operacional Windows XP ou Windows Vista. Dependendo da capacidade da placa de som, a utilização do driver ASIO4ALL torna-se indispensável para um processamento em tempo real. O software DK Guitar e os plugins VST foram testados em dois computadores com diferentes configurações e placas de som, conforme ilustrado na Tabela 5. Tabela 5. Configuração dos computadores utilizados nos testes Computador S.O. Processador Memória Placa de som PC Desktop Windows AMD 2.2GHz 1GB Onboard (Asus) XP Creative AUDIGY 2 ZS 7.1 Notebook HP Windows AMD Dual Core 2GB Behringer Guitar Link UCG102 Onboard (NVidia) Vista 1.9GHz Behringer Guitar Link UCG102 78

90 O software funcionou perfeitamente em todas as configurações acima. O driver de som utilizado foi o ASIO4ALL versão 2.8 para todas as placas de som. Em nenhum dos testes, foi detectado algum atraso significativo no processamento de áudio que inviabilizasse a utilização do DK Guitar em tempo real. Também foram testadas utilizações de plugins VST já existentes, como o JVM900 e SoulForce, e em todos os testes o software funcionou de acordo com o esperado. Os plugins implementados foram testados em outros softwares com suporte à tecnologia VST, como FL Studio, Sonar e Audacity, e funcionaram sem problemas. Na Figura 77 está ilustrado o efeito Distortion no software FL Studio, Sonar e Audacity respectivamente. (a) (b) (c) Figura 77. (a) Distortion no FL Studio; (b) Distortion no Sonar; (c) Distortion no Audacity Não foram realizadas comparações das ondas sonoras produzidas pelos plugins com ondas sonoras resultantes da utilização de pedais reais, mas auditivamente o resultado sonoro dos efeitos implementados são semelhantes ao som de pedais e pedaleiras que existem no mercado. 79

Prof. Daniel Hasse. Multimídia e Hipermídia

Prof. Daniel Hasse. Multimídia e Hipermídia Prof. Daniel Hasse Multimídia e Hipermídia AULA 02 Agenda: Algoritmos de Codificação/Decodificação; Codec de Áudio. Atividade complementar. Algoritmos de Codificação/Decodificação - Comunicação tempo real,

Leia mais

TRANSMITINDO CONHECIMENTO ON-LINE

TRANSMITINDO CONHECIMENTO ON-LINE TRANSMITINDO CONHECIMENTO ON-LINE POR MEIO WEB-RÁDIO E WEB-TV 1 BORGES, Caio C. A.; DEUS JÚNIOR, Getúlio A. de; CASTRO, Marcelo S. Escola de Engenharia Elétrica e de Computação, Universidade Federal de

Leia mais

Fundamentos de Hardware

Fundamentos de Hardware Fundamentos de Hardware Curso Técnico em Informática SUMÁRIO PLACAS DE EXPANSÃO... 3 PLACAS DE VÍDEO... 3 Conectores de Vídeo... 4 PLACAS DE SOM... 6 Canais de Áudio... 7 Resolução das Placas de Som...

Leia mais

Trabalhando com arquivos de som. Prof. César Bastos Fevereiro 2008

Trabalhando com arquivos de som. Prof. César Bastos Fevereiro 2008 Trabalhando com arquivos de som Prof. César Bastos Fevereiro 2008 Usando a mídia de som Vamos considerar os programas gratuitos como base de nossas ferramentas nesse curso, assim todos poderão usufruir

Leia mais

A música e a voz. A música e a voz. Síntese musical. A música e a voz. 2001 Wilson de Pádua Paula Filho. Tópicos: Definição:

A música e a voz. A música e a voz. Síntese musical. A música e a voz. 2001 Wilson de Pádua Paula Filho. Tópicos: Definição: A música e a voz Tópicos: A música e a voz Técnicas de síntese digital de som Definição: Técnicas de produção de seqüências de áudio a partir de uma seqüência de eventos musicais. Tipos de síntese: tempo

Leia mais

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3 DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3 Eduardo Laguna Rubai, Tiago Piperno Bonetti Universidade Paranaense (Unipar) Paranavaí PR- Brasil eduardorubay@gmail.com, bonetti@unipar.br Resumo.

Leia mais

Filtros de sinais. Conhecendo os filtros de sinais.

Filtros de sinais. Conhecendo os filtros de sinais. Filtros de sinais Nas aulas anteriores estudamos alguns conceitos importantes sobre a produção e propagação das ondas eletromagnéticas, além de analisarmos a constituição de um sistema básico de comunicações.

Leia mais

Aplicação Prática de Lua para Web

Aplicação Prática de Lua para Web Aplicação Prática de Lua para Web Aluno: Diego Malone Orientador: Sérgio Lifschitz Introdução A linguagem Lua vem sendo desenvolvida desde 1993 por pesquisadores do Departamento de Informática da PUC-Rio

Leia mais

17:47:08. Introdução à Informática com Software Livre

17:47:08. Introdução à Informática com Software Livre 17:47:08 Introdução à Informática com Software Livre 1 17:47:09 Audacity 2 Audacity 17:47:09 Audacity é um Software Livre de edição digital de áudio, disponível principalmente nas plataformas: Windows,

Leia mais

Tutorial Audacity. Índice

Tutorial Audacity. Índice Tutorial Audacity Índice Apresentação 2 Iniciando o Audacity 2 Gravando seu próprio áudio 2 Produzindo 2 Importando um arquivo de som 3 Editando 3 Efeitos 3 Manipulando seus dados 4 Salvando e Exportando

Leia mais

Introdução... 2. Características das placas de som... 2

Introdução... 2. Características das placas de som... 2 á Placa de som: principais características... 2 Introdução... 2 Características das placas de som... 2 Conversores ADC e DAC... 2 Resolução das placas de som... 2 Taxa de amostragem... 3 Resposta de freqüência...

Leia mais

Pesquisa e organização de informação

Pesquisa e organização de informação Pesquisa e organização de informação Capítulo 3 A capacidade e a variedade de dispositivos de armazenamento que qualquer computador atual possui, tornam a pesquisa de informação um desafio cada vez maior

Leia mais

INTRODUÇÃO BARRAMENTO PCI EXPRESS.

INTRODUÇÃO BARRAMENTO PCI EXPRESS. INTRODUÇÃO BARRAMENTO EXPRESS. O processador se comunica com os outros periféricos do micro através de um caminho de dados chamado barramento. Desde o lançamento do primeiro PC em 1981 até os dias de hoje,

Leia mais

Disciplina: Introdução à Informática Profª Érica Barcelos

Disciplina: Introdução à Informática Profª Érica Barcelos Disciplina: Introdução à Informática Profª Érica Barcelos CAPÍTULO 4 1. ARQUITETURA DO COMPUTADOR- HARDWARE Todos os componentes físicos constituídos de circuitos eletrônicos interligados são chamados

Leia mais

Um Driver NDIS Para Interceptação de Datagramas IP

Um Driver NDIS Para Interceptação de Datagramas IP Um Driver NDIS Para Interceptação de Datagramas IP Paulo Fernando da Silva psilva@senior.com.br Sérgio Stringari stringari@furb.br Resumo. Este artigo apresenta o desenvolvimento de um driver NDIS 1 para

Leia mais

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA RESUMO Ricardo Della Libera Marzochi A introdução ao Service Component Architecture (SCA) diz respeito ao estudo dos principais fundamentos

Leia mais

TECLADO. (aula 1) O Teclado é um instrumento musical eletrônico, composto por teclas onde simulam sons de forma digital! Origem do Instrumento

TECLADO. (aula 1) O Teclado é um instrumento musical eletrônico, composto por teclas onde simulam sons de forma digital! Origem do Instrumento TECLADO (aula 1) O Teclado é um instrumento musical eletrônico, composto por teclas onde simulam sons de forma digital! Origem do Instrumento O Piano e o Órgão são os instrumentos musicais mais tradicionais

Leia mais

Organização e Arquitetura de Computadores I. de Computadores

Organização e Arquitetura de Computadores I. de Computadores Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização Básica B de Computadores

Leia mais

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação Multiplexadores Permitem que vários equipamentos compartilhem um único canal de comunicação Transmissor 1 Receptor 1 Transmissor 2 Multiplexador Multiplexador Receptor 2 Transmissor 3 Receptor 3 Economia

Leia mais

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO 10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO UMA DAS GRANDES FUNÇÕES DA TECNOLOGIA É A DE FACILITAR A VIDA DO HOMEM, SEJA NA VIDA PESSOAL OU CORPORATIVA. ATRAVÉS DELA, ELE CONSEGUE

Leia mais

Tecnologia PCI express. Introdução. Tecnologia PCI Express

Tecnologia PCI express. Introdução. Tecnologia PCI Express Tecnologia PCI express Introdução O desenvolvimento de computadores cada vez mais rápidos e eficientes é uma necessidade constante. No que se refere ao segmento de computadores pessoais, essa necessidade

Leia mais

Equalização: Corrigir ou Criar

Equalização: Corrigir ou Criar Equalização: Corrigir ou Criar Equalizar Equalizar O termo equalizar pode ser entendido como "tornar igual". Mas, o que isso quer dizer exatamente? Se tomarmos como ponto de partida o comportamento do

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

Experimentos com o Microfone de Tablets e Smartphones. Leonardo Pereira Vieira & Carlos Eduardo Aguiar

Experimentos com o Microfone de Tablets e Smartphones. Leonardo Pereira Vieira & Carlos Eduardo Aguiar UNIVERSIDADE FEDERAL DO RIO DE JANEIRO Instituto de Física Programa de Pós-Graduação em Ensino de Física Mestrado Prossional em Ensino de Física Experimentos com o Microfone de Tablets e Smartphones Leonardo

Leia mais

PASSO A PASSO MOVIE MAKER

PASSO A PASSO MOVIE MAKER PASSO A PASSO MOVIE MAKER Nesta etapa, você deverá apresentar o programa e ajudá-los a montarem o filme. Veja como é fácil. Siga as instruções do passo-a-passo: DICA O que é o Movie Maker? Com o Microsoft

Leia mais

APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA

APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA Autores: Claudiléia Gaio BANDT; Tiago HEINECK; Patrick KOCHAN; Leila Lisiane ROSSI; Angela Maria Crotti da ROSA Identificação autores: Aluna do Curso

Leia mais

Espectro da Voz e Conversão A/D

Espectro da Voz e Conversão A/D INSTITUTO SUPERIOR TÉCNICO LICENCIATURA EM ENGENHARIA ELECTROTÉCNICA E DE COMPUTADORES GUIA DO 1º TRABALHO DE LABORATÓRIO DE SISTEMAS DE TELECOMUNICAÇÕES I Espectro da Voz e Conversão A/D Ano Lectivo de

Leia mais

Software de segurança em redes para monitoração de pacotes em uma conexão TCP/IP

Software de segurança em redes para monitoração de pacotes em uma conexão TCP/IP Software de segurança em redes para monitoração de pacotes em uma conexão TCP/IP Paulo Fernando da Silva psilva@senior.com.br Sérgio Stringari stringari@furbbr Resumo. Este artigo apresenta a especificação

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Conceitos Básicos Sistema Operacional: Um Sistema Operacional é um programa que atua como intermediário entre o usuário e o hardware de um computador. O Propósito do SO é fornecer

Leia mais

1. CAPÍTULO COMPUTADORES

1. CAPÍTULO COMPUTADORES 1. CAPÍTULO COMPUTADORES 1.1. Computadores Denomina-se computador uma máquina capaz de executar variados tipos de tratamento automático de informações ou processamento de dados. Os primeiros eram capazes

Leia mais

IW10. Rev.: 02. Especificações Técnicas

IW10. Rev.: 02. Especificações Técnicas IW10 Rev.: 02 Especificações Técnicas Sumário 1. INTRODUÇÃO... 1 2. COMPOSIÇÃO DO IW10... 2 2.1 Placa Principal... 2 2.2 Módulos de Sensores... 5 3. APLICAÇÕES... 6 3.1 Monitoramento Local... 7 3.2 Monitoramento

Leia mais

NAPNE / RENAPI. Software Educativo Smart Panda 1.0

NAPNE / RENAPI. Software Educativo Smart Panda 1.0 NAPNE / RENAPI Software Educativo Smart Panda 1.0 Julho de 2011 Sumário 1 Introdução... 3 2 Tela Inicial... 3 2.1 Tela de Abertura... 4 3 Como jogar... 5 4 Opções... 6 5 E como fazer para registrar este

Leia mais

Noções de. Microsoft SQL Server. Microsoft SQL Server

Noções de. Microsoft SQL Server. Microsoft SQL Server Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados

Leia mais

1 Problemas de transmissão

1 Problemas de transmissão 1 Problemas de transmissão O sinal recebido pelo receptor pode diferir do sinal transmitido. No caso analógico há degradação da qualidade do sinal. No caso digital ocorrem erros de bit. Essas diferenças

Leia mais

Sumário. O Programa. Módulos. Básico Intermediário Avançado. Níveis de Desenvolvimento

Sumário. O Programa. Módulos. Básico Intermediário Avançado. Níveis de Desenvolvimento Sumário O Programa Módulos Básico Intermediário Avançado Níveis de Desenvolvimento Básico (Conceitos e exemplos isolados) Intermediário (Produção completa de um techo musical) Avançado (Projeto de conclusão

Leia mais

CorelDRAW 11 1. UM PROGRAMA DE DESIGN

CorelDRAW 11 1. UM PROGRAMA DE DESIGN CorelDRAW 11 1. UM PROGRAMA DE DESIGN Com o Corel você vai trabalhar com um dos aplicativos mais usados no campo do design e da auto-edição, já que permite operar com dois tipos de gráficos (vetoriais

Leia mais

3 Classificação. 3.1. Resumo do algoritmo proposto

3 Classificação. 3.1. Resumo do algoritmo proposto 3 Classificação Este capítulo apresenta primeiramente o algoritmo proposto para a classificação de áudio codificado em MPEG-1 Layer 2 em detalhes. Em seguida, são analisadas as inovações apresentadas.

Leia mais

Esta ilustração mostra como utilizar o pedal Nova Modulator em uma configuração Mono (1 amplificador)

Esta ilustração mostra como utilizar o pedal Nova Modulator em uma configuração Mono (1 amplificador) Manual do usuário 1 Características do Nova Modulator Sete efeitos de modulação com qualidade de estúdio Pedal com duplo circuito 9/18 Presets programáveis pelo usuário Sincronizador LFO LFO trigger Tap

Leia mais

Montagem e Manutenção. Luís Guilherme A. Pontes

Montagem e Manutenção. Luís Guilherme A. Pontes Montagem e Manutenção Luís Guilherme A. Pontes Introdução Qual é a importância da Montagem e Manutenção de Computadores? Sistema Binário Sistema Binário Existem duas maneiras de se trabalhar e armazenar

Leia mais

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

Leia mais

Microsoft Office PowerPoint 2007

Microsoft Office PowerPoint 2007 INTRODUÇÃO AO MICROSOFT POWERPOINT 2007 O Microsoft Office PowerPoint 2007 é um programa destinado à criação de apresentação através de Slides. A apresentação é um conjunto de Sides que são exibidos em

Leia mais

Tutorial Passo a Passo de como usar Baterias Eletrônicas com Cubase e EZ-Drummer. dec. Mobi Diqui. Florianópolis-SC, Novembro de 2008

Tutorial Passo a Passo de como usar Baterias Eletrônicas com Cubase e EZ-Drummer. dec. Mobi Diqui. Florianópolis-SC, Novembro de 2008 Tutorial Passo a Passo de como usar Baterias Eletrônicas com Cubase e EZ-Drummer dec L Mobi Diqui Florianópolis-SC, Novembro de 2008 1 INTRODUÇÃO Primeiro vamos mostrar a especificação do computador utilizado

Leia mais

Oficina de Multimédia B. ESEQ 12º i 2009/2010

Oficina de Multimédia B. ESEQ 12º i 2009/2010 Oficina de Multimédia B ESEQ 12º i 2009/2010 Conceitos gerais Multimédia Hipertexto Hipermédia Texto Tipografia Vídeo Áudio Animação Interface Interacção Multimédia: É uma tecnologia digital de comunicação,

Leia mais

Informática. Informática. Valdir

Informática. Informática. Valdir Informática Informática Valdir Questão 21 A opção de alterar as configurações e aparência do Windows, inclusive a cor da área de trabalho e das janelas, instalação e configuração de hardware, software

Leia mais

Segundo Pré-teste. Data de realização. 18 de Novembro de 2007. Local.

Segundo Pré-teste. Data de realização. 18 de Novembro de 2007. Local. Segundo Pré-teste Data de realização. 18 de Novembro de 2007. Local. Duas salas de aula da Pós-graduação do Departamento de Arquitetura e Urbanismo da EESC/USP. Duração: 4 horas. Dos objetivos. Envolveu

Leia mais

http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho vi http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Administração de Redes de Computadores Resumo de Serviços em Rede Linux Controlador de Domínio Servidor DNS

Leia mais

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos MÓDULO 7 Modelo OSI A maioria das redes são organizadas como pilhas ou níveis de camadas, umas sobre as outras, sendo feito com o intuito de reduzir a complexidade do projeto da rede. O objetivo de cada

Leia mais

FIREWIRE. O logotipo padronizado: Suas principais vantagens:

FIREWIRE. O logotipo padronizado: Suas principais vantagens: FIREWIRE O barramento Firewire, também conhecido como IEEE 1394 ou como i.link, foi desenvolvido inicialmente pela Apple Computer em 1996, como um barramento serial de alta velocidade, e transfere um grande

Leia mais

1 Noções de software musical Conteúdo

1 Noções de software musical Conteúdo Introdução Conceitos básicos de software educacional e informática na educação O software musical como auxílio aos professores de música Software para acompanhamento Software para edição de partituras

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Sistemas Operacionais Prof. Marcelo Sabaris Carballo Pinto Gerenciamento de Dispositivos Gerenciamento de Dispositivos de E/S Introdução Gerenciador de Dispositivos Todos os dispositivos

Leia mais

Manual de Instruções. Crossover 4 Vias HD-X4W. Especificações Técnicas (Crossover 4 Vias) Nível máximo de entrada

Manual de Instruções. Crossover 4 Vias HD-X4W. Especificações Técnicas (Crossover 4 Vias) Nível máximo de entrada Especificações Técnicas (Crossover 4 Vias) Nível máximo de entrada 9V RMS Tweeter CH Crossover /octave 2K, 4K, 6K, 8K Mid CH Crossover /octave Low: 0, 0, 0Hz em Flat High:,, 1,Hz Mid Bass Crossover /octave

Leia mais

1) MANUAL DO INTEGRADOR Este documento, destinado aos instaladores do sistema, com informações de configuração.

1) MANUAL DO INTEGRADOR Este documento, destinado aos instaladores do sistema, com informações de configuração. O software de tarifação é uma solução destinada a rateio de custos de insumos em sistemas prediais, tais como shopping centers. O manual do sistema é dividido em dois volumes: 1) MANUAL DO INTEGRADOR Este

Leia mais

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES Prof. Ms. Carlos José Giudice dos Santos cpgcarlos@yahoo.com.br www.oficinadapesquisa.com.br Conceito de Computador Um computador digital é

Leia mais

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA INTRODUÇÃO O projeto de um banco de dados é realizado sob um processo sistemático denominado metodologia de projeto. O processo do

Leia mais

1. NÍVEL CONVENCIONAL DE MÁQUINA

1. NÍVEL CONVENCIONAL DE MÁQUINA 1. NÍVEL CONVENCIONAL DE MÁQUINA Relembrando a nossa matéria de Arquitetura de Computadores, a arquitetura de Computadores se divide em vários níveis como já estudamos anteriormente. Ou seja: o Nível 0

Leia mais

Dicas para usar melhor o Word 2007

Dicas para usar melhor o Word 2007 Dicas para usar melhor o Word 2007 Quem está acostumado (ou não) a trabalhar com o Word, não costuma ter todo o tempo do mundo disponível para descobrir as funcionalidades de versões recentemente lançadas.

Leia mais

2- Conceitos Básicos de Telecomunicações

2- Conceitos Básicos de Telecomunicações Introdução às Telecomunicações 2- Conceitos Básicos de Telecomunicações Elementos de um Sistemas de Telecomunicações Capítulo 2 - Conceitos Básicos de Telecomunicações 2 1 A Fonte Equipamento que origina

Leia mais

DIMENSIONANDO PROJETOS DE WEB-ENABLING. Uma aplicação da Análise de Pontos de Função. Dimensionando projetos de Web- Enabling

DIMENSIONANDO PROJETOS DE WEB-ENABLING. Uma aplicação da Análise de Pontos de Função. Dimensionando projetos de Web- Enabling DIMENSIONANDO PROJETOS DE WEB-ENABLING Uma aplicação da Análise de Pontos de Função Dimensionando projetos de Web- Enabling Índice INTRODUÇÃO...3 FRONTEIRA DA APLICAÇÃO E TIPO DE CONTAGEM...3 ESCOPO DA

Leia mais

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET 1 IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET Daniel da Silva Carla E. de Castro Franco Diogo Florenzano Avelino daniel.silva1@ext.mpsa.com

Leia mais

Operador de Computador. Informática Básica

Operador de Computador. Informática Básica Operador de Computador Informática Básica Instalação de Software e Periféricos Podemos ter diversos tipos de software que nos auxiliam no desenvolvimento das nossas tarefas diárias, seja ela em casa, no

Leia mais

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior MRP II Introdução A lógica de cálculo das necessidades é conhecida há muito tempo Porém só pode ser utilizada na prática em situações mais complexas a partir dos anos 60 A partir de meados da década de

Leia mais

PROJETO INFORMÁTICA NA ESCOLA

PROJETO INFORMÁTICA NA ESCOLA EE Odilon Leite Ferraz PROJETO INFORMÁTICA NA ESCOLA AULA 1 APRESENTAÇÃO E INICIAÇÃO COM WINDOWS VISTA APRESENTAÇÃO E INICIAÇÃO COM WINDOWS VISTA Apresentação dos Estagiários Apresentação do Programa Acessa

Leia mais

Estudos Iniciais do Sistema didático para análise de sinais no domínio da frequência DSA-PC: tipos de janelas temporais.

Estudos Iniciais do Sistema didático para análise de sinais no domínio da frequência DSA-PC: tipos de janelas temporais. Estudos Iniciais do Sistema didático para análise de sinais no domínio da frequência DSA-PC: tipos de janelas temporais. Patricia Alves Machado Telecomunicações, Instituto Federal de Santa Catarina machadopatriciaa@gmail.com

Leia mais

Informática Aplicada

Informática Aplicada Informática Aplicada SO Windows Aula 3 Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo.com 2014 APRESENTAÇÃO Todo computador precisa de um sistema operacional. O Windows

Leia mais

INDICE 1. INTRODUÇÃO... 3 2. CONFIGURAÇÃO MÍNIMA... 4 3. INSTALAÇÃO... 4 4. INTERLIGAÇÃO DO SISTEMA... 5 5. ALGUNS RECURSOS... 6 6. SERVIDOR BAM...

INDICE 1. INTRODUÇÃO... 3 2. CONFIGURAÇÃO MÍNIMA... 4 3. INSTALAÇÃO... 4 4. INTERLIGAÇÃO DO SISTEMA... 5 5. ALGUNS RECURSOS... 6 6. SERVIDOR BAM... 1 de 30 INDICE 1. INTRODUÇÃO... 3 2. CONFIGURAÇÃO MÍNIMA... 4 3. INSTALAÇÃO... 4 3.1. ONDE SE DEVE INSTALAR O SERVIDOR BAM?... 4 3.2. ONDE SE DEVE INSTALAR O PROGRAMADOR REMOTO BAM?... 4 3.3. COMO FAZER

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

DESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID

DESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID DESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID Maik Olher CHAVES 1 ; Daniela Costa Terra 2. 1 Graduado no curso de Tecnologia em Análise e Desenvolvimento de Sistemas

Leia mais

TRBOnet MDC Console. Manual de Operação

TRBOnet MDC Console. Manual de Operação TRBOnet MDC Console Manual de Operação Versão 1.8 ÍNDICE NEOCOM Ltd 1. VISÃO GERAL DA CONSOLE...3 2. TELA DE RÁDIO...4 2.1 COMANDOS AVANÇADOS...5 2.2 BARRA DE FERRAMENTAS...5 3. TELA DE LOCALIZAÇÃO GPS...6

Leia mais

36 Anais da Semana de Ciência e Tecnologia, Ouro Preto, v. 4, p. 1 120, 2012.

36 Anais da Semana de Ciência e Tecnologia, Ouro Preto, v. 4, p. 1 120, 2012. CONTROLE À DISTÂNCIA DE UM MOTOR UTILIZANDO RECURSOS DE VISÃO COMPUTACIONAL Matheus Henrique Almeida Nascimento 1, Gean Carlo Neves Correa 2, Cristiano Lúcio Cardoso Rodrigues 3 e Sílvia Grasiella Moreira

Leia mais

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2 UML 2 Guia Prático Gilleanes T.A. Guedes Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2 Novatec capítulo 1 Introdução à UML A UML (Unified Modeling Language ou Linguagem de Modelagem

Leia mais

GUIA BÁSICO DA SALA VIRTUAL

GUIA BÁSICO DA SALA VIRTUAL Ambiente Virtual de Aprendizagem - MOODLE GUIA BÁSICO DA SALA VIRTUAL http://salavirtual.faculdadesaoluiz.edu.br SUMÁRIO 1. Acessando Turmas 4 2. Inserindo Material 4 3. Enviando Mensagem aos Alunos 6

Leia mais

Universidade de São Paulo Biblioteca Digital de Teses e Dissertações. MANUAL DO USUÁRIO Conversão de arquivos para PDF

Universidade de São Paulo Biblioteca Digital de Teses e Dissertações. MANUAL DO USUÁRIO Conversão de arquivos para PDF Universidade de São Paulo MANUAL DO USUÁRIO Conversão de arquivos para PDF Centro de Informática de São Carlos 2013 Versão 2.2 Última atualização: 07/05/2013 UNIVERSIDADE DE SÃO PAULO Reitor Vice-Reitor

Leia mais

UNIVERSIDADE FEDERAL DE UBERLÂNDIA Faculdade de Computação Curso de Introdução à Informática Prof: Anilton Joaquim da Silva / Ezequiel Roberto Zorzal

UNIVERSIDADE FEDERAL DE UBERLÂNDIA Faculdade de Computação Curso de Introdução à Informática Prof: Anilton Joaquim da Silva / Ezequiel Roberto Zorzal UNIVERSIDADE FEDERAL DE UBERLÂNDIA Faculdade de Computação Curso de Introdução à Informática Prof: Anilton Joaquim da Silva / Ezequiel Roberto Zorzal AULA Informática: Aplicações e Benefícios Advocacia

Leia mais

Tecnologia e Informática

Tecnologia e Informática Tecnologia e Informática Centro Para Juventude - 2014 Capitulo 1 O que define um computador? O computador será sempre definido pelo modelo de sua CPU, sendo que cada CPU terá um desempenho diferente. Para

Leia mais

Exercício 8 Busca de Músicas

Exercício 8 Busca de Músicas Exercício 8 Busca de Músicas Diversos softwares têm sido projetados para realizar a busca de músicas a partir de um trecho de áudio. Por exemplo, atualmente há ferramentas para celulares ou Web em que

Leia mais

Em que consiste o DOSVOX O programa é composto por:

Em que consiste o DOSVOX O programa é composto por: Projeto DOSVOX O que é o DOSVOX O DOSVOX é um sistema para microcomputadores que se comunica com o usuário através de síntese de voz, viabilizando, deste modo, o uso de computadores por deficientes visuais,

Leia mais

Perícia forense computacional aplicada a dispositivos de armazenamento e smartphones android

Perícia forense computacional aplicada a dispositivos de armazenamento e smartphones android Perícia forense computacional aplicada a dispositivos de armazenamento e smartphones android Raphael Pinheiro Afonso 1 ; Elvio Gilberto da Silva 1 ; Patrick Pedreira Silva 1 ; Henrique Pachioni Martins

Leia mais

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem

Leia mais

Aula 01 - Formatações prontas e condicionais. Aula 01 - Formatações prontas e condicionais. Sumário. Formatar como Tabela

Aula 01 - Formatações prontas e condicionais. Aula 01 - Formatações prontas e condicionais. Sumário. Formatar como Tabela Aula 01 - Formatações prontas e Sumário Formatar como Tabela Formatar como Tabela (cont.) Alterando as formatações aplicadas e adicionando novos itens Removendo a formatação de tabela aplicada Formatação

Leia mais

REAL LACOS: CONTROLE DIGITAL EM TEMPO REAL

REAL LACOS: CONTROLE DIGITAL EM TEMPO REAL REAL LACOS: CONTROLE DIGITAL EM TEMPO REAL Andreya Prestes da Silva 1, Rejane de Barros Araújo 1, Rosana Paula Soares Oliveira 1 e Luiz Affonso Guedes 1 Universidade Federal do ParáB 1 Laboratório de Controle

Leia mais

TRABALHO COM GRANDES MONTAGENS

TRABALHO COM GRANDES MONTAGENS Texto Técnico 005/2013 TRABALHO COM GRANDES MONTAGENS Parte 05 0 Vamos finalizar o tema Trabalho com Grandes Montagens apresentando os melhores recursos e configurações de hardware para otimizar a abertura

Leia mais

Dicas para um Áudio Mobile. www.mvmob.com.br

Dicas para um Áudio Mobile. www.mvmob.com.br www.mvmob.com.br 1 1. Introdução Este guia foi produzido para auxiliar educandos e educadores durante as ofi cinas oferecidas pelo projeto MVMob - Minha Vida Mobile, como material de subsídio pedagógico.

Leia mais

FUNDAMENTOS DE HARDWARE COMO FUNCIONA UM PC? Professor Carlos Muniz

FUNDAMENTOS DE HARDWARE COMO FUNCIONA UM PC? Professor Carlos Muniz FUNDAMENTOS DE HARDWARE COMO FUNCIONA UM PC? A arquitetura básica de qualquer computador completo, seja um PC, um Machintosh ou um computador de grande porte, é formada por apenas 5 componentes básicos:

Leia mais

Contil Informática. Curso Técnico em Informática Processadores Core

Contil Informática. Curso Técnico em Informática Processadores Core Contil Informática Curso Técnico em Informática Processadores Core Quais as diferenças entre os processadores Intel Core i3, i5 e i7? A tecnologia avançada na área de hardware possibilita um avanço desenfreado

Leia mais

Semântica para Sharepoint. Busca semântica utilizando ontologias

Semântica para Sharepoint. Busca semântica utilizando ontologias Semântica para Sharepoint Busca semântica utilizando ontologias Índice 1 Introdução... 2 2 Arquitetura... 3 3 Componentes do Produto... 4 3.1 OntoBroker... 4 3.2 OntoStudio... 4 3.3 SemanticCore para SharePoint...

Leia mais

REVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

REVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com REVISÃO ENGENHARIA DO SOFTWARE Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Software Sequencia de Instruções a serem seguidas ou executadas Dados e rotinas desenvolvidos por computadores Programas

Leia mais

dv dt Fig.19 Pulso de tensão típico nos terminais do motor

dv dt Fig.19 Pulso de tensão típico nos terminais do motor INFLUÊNCIA DO INVERSOR NO SISTEMA DE ISOLAMENTO DO MOTOR Os inversores de freqüência modernos utilizam transistores (atualmente IGBTs) de potência cujos os chaveamentos (khz) são muito elevados. Para atingirem

Leia mais

Desenvolvendo um Ambiente de Aprendizagem a Distância Utilizando Software Livre

Desenvolvendo um Ambiente de Aprendizagem a Distância Utilizando Software Livre Desenvolvendo um Ambiente de Aprendizagem a Distância Utilizando Software Livre Fabrício Viero de Araújo, Gilse A. Morgental Falkembach Programa de Pós-graduação em Engenharia de Produção - PPGEP Universidade

Leia mais

INSTITUTO DE EMPREGO E FORMAÇÃO PROFISSIONAL, I.P.

INSTITUTO DE EMPREGO E FORMAÇÃO PROFISSIONAL, I.P. INSTITUTO DE EMPREGO E FORMAÇÃO PROFISSIONAL, I.P. Centro de Emprego e Formação Profissional da Guarda Curso: Técnico de Informática Sistemas (EFA-S4A)-NS Trabalho Realizado Por: Igor_Saraiva nº 7 Com

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS

UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS VINICIUS DA SILVEIRA SEGALIN FLORIANÓPOLIS OUTUBRO/2013 Sumário

Leia mais

RECONHECIMENTO DE VOZ UTILIZANDO ARDUINO

RECONHECIMENTO DE VOZ UTILIZANDO ARDUINO RECONHECIMENTO DE VOZ UTILIZANDO ARDUINO Jessica Garcia Luz, Wyllian Fressatti Universidade Paranaense (Unipar) Paranavaí - PR - Brasil jessica.garcia.luz@gmail.com wyllian@unipar.br Resumo. Este artigo

Leia mais

Fundamentos de Hardware

Fundamentos de Hardware Fundamentos de Hardware Curso Técnico em Informática SUMÁRIO PROCESSADOR... 3 CLOCK... 4 PROCESSADORES COM 2 OU MAIS NÚCLEOS... 5 NÚCLEOS FÍSICOS E LÓGICOS... 6 PRINCIPAIS FABRICANTES E MODELOS... 6 PROCESSADORES

Leia mais

Aula 04 B. Interfaces. Prof. Ricardo Palma

Aula 04 B. Interfaces. Prof. Ricardo Palma Aula 04 B Interfaces Prof. Ricardo Palma Interface SCSI SCSI é a sigla de Small Computer System Interface. A tecnologia SCSI (pronuncia-se "scuzzy") permite que você conecte uma larga gama de periféricos,

Leia mais

3. Arquitetura Básica do Computador

3. Arquitetura Básica do Computador 3. Arquitetura Básica do Computador 3.1. Modelo de Von Neumann Dar-me-eis um grão de trigo pela primeira casa do tabuleiro; dois pela segunda, quatro pela terceira, oito pela quarta, e assim dobrando sucessivamente,

Leia mais

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho 20 Capítulo 3 Avaliação de Desempenho Este capítulo aborda como medir, informar e documentar aspectos relativos ao desempenho de um computador. Além disso, descreve os principais fatores que influenciam

Leia mais

RECEPTOR AM DSB. Transmissor. Circuito Receptor AM DSB - Profº Vitorino 1

RECEPTOR AM DSB. Transmissor. Circuito Receptor AM DSB - Profº Vitorino 1 RECEPTOR AM DSB Transmissor Circuito Receptor AM DSB - Profº Vitorino 1 O receptor super-heteródino O circuito demodulador que vimos anteriormente é apenas parte de um circuito mais sofisticado capaz de

Leia mais

Técnicas Assistivas para Pessoas com Deficiência Visual

Técnicas Assistivas para Pessoas com Deficiência Visual Técnicas Assistivas para Pessoas com Deficiência Visual Aula 15 Os direitos desta obra foram cedidos à Universidade Nove de Julho Este material é parte integrante da disciplina oferecida pela UNINOVE.

Leia mais

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas Microsoft Power Point 2003 No Microsoft PowerPoint 2003, você cria sua apresentação usando apenas um arquivo, ele contém tudo o que você precisa uma estrutura para sua apresentação, os slides, o material

Leia mais

CONHEÇA MELHOR SEU COMPUTADOR

CONHEÇA MELHOR SEU COMPUTADOR CONHEÇA MELHOR SEU COMPUTADOR Por: Pedro ( Lan House Viagem Virtual ) Sacie sua fome de conhecimento, veja em ordem alfabética os principais termos sobre hardware. Como muitos devem saber, os computadores

Leia mais