Computação Musical Síntese de Sons: introdução e síntese aditiva Geber Ramalho & Osman Gioia - UFPE Histórico Gravador Theremin Martenot Síntese Direta Sintetizador Moog RCA Mark II Telharmonium 1900 30 40 50 John Cage Schaeffer Varese Trautonium Musique Concrète 60 Stockhausen Max Mathews Música Eletrônica 70 Síntese Processo de compor ou combinar diversas partes ou elementos em um todo maior Síntese de sons • Controle da afinação, intensidade e espectro de um som • Criação de um espectro sônico Métodos • Síntese Aditiva • Síntese Subtrativa • Síntese FM • Amostragem digital (mais utilizado hoje) • Modelagem física Geber Ramalho & Osman Gioia - UFPE Síntese Aditiva Geber Ramalho & Osman Gioia - UFPE Síntese Aditiva Primeiras Manifestações • Órgãos de Tubo • Primeiro instrumento elétrico – Telharmonium • Mais famoso – Hammond Princípio (Fourrier) • Toda e qualquer forma de onda periódica é constituída por uma soma de ondas senoidais cujas frequências são múltiplos inteiros da fundamental Geber Ramalho & Osman Gioia - UFPE Síntese Aditiva com Formas de Onda Fixas Fundamental + Parciais • múltiplo da freqüência fundamental • amplitude • fase inicial (importante) 1° harmônico 3° harmônico 1° + 3° harmônico Geber Ramalho & Osman Gioia - UFPE 1° + 3° + 5° + 7° + ... 65° Síntese Aditiva Idéia: mistura de ondas senoidais com envoltória Geber Ramalho & Osman Gioia - UFPE Síntese Aditiva com Formas de Onda Fixas Crítica • Não reproduz a envoltória (ataque, etc.), só sustentação, logo, não pode simular perfeitamente um som acústico Solução • Utilizar o gerador de envoltórias para cada parcial Crítica? Geber Ramalho & Osman Gioia - UFPE Complexidade da Síntese Aditiva Crítica • A solução anterior aumenta mais ainda a complexidade Alta Demanda do Sistema • Ex: 20 parciais * 20 eventos (notas) = 400 osciladores * 44 Khz = 17.600.000 amostras por segundo * 750 operações por amostra = 13.200.000.000 de operações por segundo Alta Demanda de Parametrização • Ex: 20 parciais * 10.000 eventos = 200.000 envoltórias, fases iniciais, freqüências, etc. Geber Ramalho & Osman Gioia - UFPE Alta Demanda do Sistema Oscilador por Leitura de Tabela Hardware x Software Geber Ramalho & Osman Gioia - UFPE Síntese por Tabela de Formas de Onda (Wavetable lookup) Problema • É caro calcular individualmente as diversas senóides que compõe um determinado espectro • f(t) = ak + a0sen(f0t + 0) +... + ansen (fnt + n) Solução: Wavetable-lookup synthesis • Armazenar valores pré-calculados do ciclo de onda senoidal em uma lista denominada Wavetable • Para gerar o sinal, lê-se continuamente as amostras da lista • Técnica importante pois é usada atualmente em outro contexto (síntese por amostragem) Geber Ramalho & Osman Gioia - UFPE Oscilador por Leitura de Tabela Geber Ramalho & Osman Gioia - UFPE Oscilador Digital (Lookup Table) Algoritmo (laço principal) 1. phase_index = modL (fase_anterior + inc) // apontador da tabela de tamanho L 2. Saída = amplitude * wavetable [phase_index] Freqüência • Como tamanho da tabela (L) e a Fa são fixos, a freqüência do sinal (Freq) dependerá do incremento (inc) • Freq = Inc * Fa / L Inc = L * Freq / Fa – ex. se L = 1000, Fa = 40000, para Freq = 2000, inc = 50 Fase inicial • Phase-index > 0 Geber Ramalho & Osman Gioia - UFPE Oscilador Digital (Lookup Table) Calculando a saída • Como fazer quando o valor do incremento não “bate” com a posição das amostras? • Aumentar a quantidade de amostras da tabela custa caro Truncagem e Arredondamento • Causam imprecisões geradoras de pequenas distorções denominadas “Ruído da Tabela de Amostras” Geber Ramalho & Osman Gioia - UFPE Método corretivo Melhor método: interpolação • Valor que existiria caso fosse possível referenciá-lo na fase exata especificada pelo incremento • possibilita sinais boa qualidade com tabelas menores • Ex: Tabela[1024] no pior caso – Com interpolação linear = 104 dB SNR – Sem Interpolação = 48 dB SNR .75 Amp 27 Index Geber Ramalho & Osman Gioia - UFPE (.5) .25 (27.5) 28 Geradores de Envoltórias Agora é preciso controlar os parâmetros variantes no tempo Osciladores de Envoltória • Possibilitam a geração de funções temporais dentre as quais a ADSR (Attack, Decay, Sustain, Release) • Valores de f1 = [0,1] • Só passa uma vez pela tabela f1 • Incremento: depende da duração do evento • Nota = 2s => f =0,5 Hz – O que é uma limitação pois em notas longas o ataque fica comprometido Geber Ramalho & Osman Gioia - UFPE Software x Hardware Geber Ramalho & Osman Gioia - UFPE Implementando a Síntese 2 maneiras de implementar: Hardware e Software Síntese direta por software • Gera amostras e vai armazenando-as em um arquivo (ex. wav) para posterior execução • Método original de síntese digital • Exemplos: Music V (Max. Mathews 1957), Csound e SOM-A • Demanda linguagens de síntese e, eventualmente, editores gráficos de instrumentos Prós e contras + Total controle dos componentes do som (síntese e especificação) e polifonia ilimitada - Não é tempo real e processamento aumenta com a complexidade das partituras Geber Ramalho & Osman Gioia - UFPE Síntese por Hardware Características • Utiliza circuitos dedicados • Tempo real porém mais limitada (~246 osc) • Disponível em sintetizadores comerciais e DSPs (Digital signal processors) nas placas de computadores • MIDI => WAV => som Geber Ramalho & Osman Gioia - UFPE Alta Demanda de Parametrização Geber Ramalho & Osman Gioia - UFPE Especificação de Sons Partitura Musical • Orquestração (nome dos Instrumentos) • Notas com respectivas durações, alturas e articulações • Interpretação humana Partitura algorítmica • Objetos sonoros (Instrumentos) • Manipulação dos mesmos (notas) • Interpretação matemática Geber Ramalho & Osman Gioia - UFPE Instrumento para Síntese Aditiva Geber Ramalho & Osman Gioia - UFPE Especificação de Sons Muitos parâmetros para cada voz (harmônico) • Frequência Central de osc • (Pico de Amplitude de osc = 1.0) • Envoltória de Amplitude • Início e Duração da Envoltória de Amplitude • Envoltória de Frequência • Início e Duração da Envoltória de Frequência • Intensidade do desvio de freqüência Geber Ramalho & Osman Gioia - UFPE Especificação de Sons Técnicas • Instrumentos (MIDI) de entrada • Softwares de performance • Editores gráficos especiais • Linguagens de programação musical • Programas de composição algorítmica • Resíntese Geber Ramalho & Osman Gioia - UFPE Resíntese Geber Ramalho & Osman Gioia - UFPE Linguagem/Sistema SOM-A Geber Ramalho & Osman Gioia - UFPE SOM-A: Cartas Espectrais SOM-A • Software de síntese aditiva desenvolvido na UnB, baseado no Music V Carta Espectral (.car) • estrutura de dados composta de listas entre parênteses Instruções de uma carta • VAL - define os parâmetros iniciais de uma carta • INS - define instrumentos • EXE - bloco de execução de notas Geber Ramalho & Osman Gioia - UFPE Conjunto de Instruções (VAL T1 T2 Fa Ad Tp Nm Le ) • T1: Lapso de tempo inicial em segundos • T2: Lapso de tempo final em segundos • Fa: Freqüência de amostragem em ciclos por segundo • Ad: Andamento - multiplicador que aplicado aos tempos constantes da carta espectral transforma-os em segundos • Tp: Transposição - multiplicador transpositor das freqüências de execução de cada nota • Nm: Norma - multiplicador normalizador das amplitudes de execução de cada nota • Le: Limite de Envoltória - número de segmentos máximo que a envoltória de amplitude pode possuir no eixo das abicissas Geber Ramalho & Osman Gioia - UFPE Operador INS Instrumento: (INS <Vigência> <Nome> <Lista-de-componentes>) • Vigência: Número de tempos nos quais o instrumento existirá • Nome: nome do instrumento começando por um literal • Lista-de-Componentes: Harmônicos com as suas respectivas ordens, fases, envoltórias de amplitude e posicionamento espacial denominados Unidades-H (unidades harmônicas) Componentes: ((ordemn fasen (envoltórian) orton)...) • Ordemn: Ordem da enésima componente (fator que multiplica a freqüência da nota). • Fasen: Fase inicial da enésima componente. • Envoltórian: Listas de pares <ordenada, abscissa> da envoltória de amplitude. – Por default, x={1,...,512} e a ∑Y*a < ~32000, y= todos instrumentos simultâneos e a=amplitude das notas correspondentes • Orton: Índice de orto-estereofonia Geber Ramalho & Osman Gioia - UFPE Envoltória de Amplitude Envoltória: ((ordenada1, abcissa1) (ordenada2, abcissa2) ... ) A m p l i t u d e 0 0 lim-env Tempo Geber Ramalho & Osman Gioia - UFPE Operador EXE e associados Execução: (EXE Ta Tb) • Ta: Tempo de início do bloco • Tb: Tempo de término do bloco • A partir do aparecimento do comando EXE e até que o interpretador encontre a instrução STP Notas • representadas por listas contendo as informações necessárias a sua execução Operador STP • Encerra a ação do operador EXE anterior Operador FIM • Encerra a interpretação da carta. Geber Ramalho & Osman Gioia - UFPE Especificação das Notas (Nome-do-Instrumento Ti Dur Freq Amp) • Nome-do-instrumento: Rótulo definido pelo operador INS • Ti: Tempo de início da nota • Dur: Duração da nota • Freq: Frequência em ciclos por segundo • Amp: Intensidade relativa às amplitudes das envoltórias de cada componente do instrumento Geber Ramalho & Osman Gioia - UFPE Exemplo Ver: http://www.cin.ufpe.br\~musica\cmps\som-a http://primordial.cic.unb.br/lcmm/linguagens/som-a.html Geber Ramalho & Osman Gioia - UFPE Exercício Brincar de sintetizar uma musica • ~musica/aulas/som-a • copia tudo para c:/soma • aproveitar as notas de alguma carta espectral disponível (ex. marcha soldado) • edita os instrumentos • Na primeira vez que rodar... Definir os diretórios • Select spectral chart • Se quer uma coisa nova, renomear arquivo .car ou apagar o wav • Para ouvir: play soundblaster Geber Ramalho & Osman Gioia - UFPE Algumas referências Roads, C., Computer Music Tutorial (livro texto), cap. 3 e 4 http://www.harmony-central.com/Synth/ http://fr.audiofanzine.com/apprendre/dossiers/inde x,idossier,12.html Geber Ramalho & Osman Gioia - UFPE