360 likes | 584 Views
Computação Musical. Síntese de Sons: introdução e síntese aditiva. Gravador. Theremin. Síntese Direta. Martenot. RCA Mark II. Telharmonium. Schaeffer. Trautonium. Varese. Histórico. Sintetizador Moog . 40. 50. 50. 60. 70. 30. 1900. John Cage. Stockhausen. Max Mathews.
E N D
Computação Musical Síntese de Sons: introdução e síntese aditiva
Gravador Theremin Síntese Direta Martenot RCA Mark II Telharmonium Schaeffer Trautonium Varese Histórico SintetizadorMoog 40 50 50 60 70 30 1900 John Cage Stockhausen Max Mathews Musique Concrète Música Eletrônica
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
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
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 1° + 3° + 5° + 7° + ... 65°
Síntese Aditiva • Idéia: mistura de ondas senoidais com envoltória
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?
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.
Alta Demanda do Sistema Oscilador por Leitura de Tabela Hardware x Software
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)
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
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”
.75 (.5) .25 Amp 27 28 (27.5) Index 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
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
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
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
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
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
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
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
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
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
Envoltória de Amplitude • Envoltória: ((ordenada1, abcissa1) (ordenada2, abcissa2) ... ) Amplitude 0 0 lim-env Tempo
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.
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
Exemplo Ver: http://www.cin.ufpe.br\~musica\cmps\som-a http://primordial.cic.unb.br/lcmm/linguagens/som-a.html
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
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/index,idossier,12.html