geber ramalho & osman gioia - ufpe síntese de sons: introdução e síntese aditiva...
TRANSCRIPT
Geber Ramalho & Osman Gioia - UFPE
Síntese de Sons: introdução e síntese aditiva
Computação Musical
Histórico
1900 30 40 50 60 70
Telharmonium
Martenot
Theremin
Gravador
RCA Mark II
Síntese Direta
SintetizadorMoog
Trautonium
John CageSchaeffer
Varese
Stockhausen
50
Max Mathews
Musique Concrète Música Eletrônica
Geber Ramalho & Osman Gioia - UFPE
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° + 3°harmônico
1° harmônico
3° harmônico
1° + 3° + 5° + 7° + ... 65°
Geber Ramalho & Osman Gioia - UFPE
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
27 28(27.5)Index
Amp
.75 (.5) .25
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
Geber Ramalho & Osman Gioia - UFPE
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
Amplitude
Tempo
00
lim-env
Envoltória: ((ordenada1, abcissa1) (ordenada2, abcissa2) ... )
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-ahttp://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/index,idossier,12.html