Title: Implementa
1Implementação de filtros
2Implementação de filtros
- Abordagem
- equações de diferença linear filtragem
construída a partir de atrasos e operações
aritméticas simples - em engenharia teoria matemática dos polos e
zeros no espaço dos números complexos... - Notação
- xn amostra número n do sinal de entrada
- yn1 amostra número n 1 do sinal de saída
- D atraso (delay)
- ? atraso de uma amostra
- soma de sinais
- multiplicação do sinal por um fator
3Filtros IIR e FIR
- Dois tipos principais de filtros
- Finite Impulse Response (FIR)
- Infinite Impulse Response (IIR)
4Passa-Baixas FIR
- Equação
- yn (0,5 xn) (0,5 x n - 1)
- Comentário
- equivalente a encontrar a média aritmética de
pares de amostras subseqüentes - efeito amaciar a forma de onda (passa-baixas)
- Circuito/algoritmo
Freqüência de amostragem
5Passa-Altas FIR
- Equação
- yn (0,5 xn) - (0,5 x n - 1)
- Comentário
- equivalente a enfatizar as diferenças entre pares
de amostras subseqüentes - efeito enfatizar altas freqüências (passa-altas)
- Circuito/algoritmo
6Filtro FIR geral
- Equação
- yn (a0 xn) (a1 xn - 1) ... (aj
xn - j) - Circuito/algoritmo de filtro com j estágios
7Filtro FIR geral
- A resposta do filtro dependerá de
- quantidade de estágios do filtro (valor de j)
- operações de adição ou subtração
- coeficientes a1,..., aj
- Observações
- quanto mais longo (mais estágios) for o filtro,
mais estreita pode ser sua banda de transição
(inclinação) - mas isto vai requerer mais computação
- depois de certos estágios o ganho em precisão de
corte do filtro é mínimo, não valendo a pena o
custo benefício
8Aumento de estágios nos filtros FIR
Passa baixas FIR de 15 estagios
Passa baixas FIR de 31 estagios
9Filtro IIR simples
- Equação
- yn (0,5 xn) (0,5 y n - 1)
- Comentário
- equivale a recursivamente adicionar vários
estágios de um filtro FIR - soma com a saída anterior e divide por dois. Com
coeficientes iguais a 0,5 gt passa-baixas - Circuito/algoritmo
10Filtro IIR geral
- Equação
- yn (a0 xn) ... (am xn - M) /-
b1 yn /- ... (bN yn - N) - ou simplesmente
- Comentário
- construído a partir das amostras anteriores de
entrada (multiplicadas por um fator diferente de
zero) e o feedback das amostras de saída
11FIR x IIR
12Filtro de pente (comb filter)
- Equação
- yn xn x n - D (FIR)
- Comentários
- D é um atraso bem mais longo do que ?
- Também é possível implementar com IIR
- yn (a xn) (b yn - D)
- Circuito/algoritmo
FIR
13Filtro de pente (comb filter)
- Interpretação intuitiva
- Quando um sinal é superposto a ele mesmo com
pequeno atraso, haverá momentos de reforço e
cancelamentos de algumas freqüências com se fosse
um pente (comb filter)
14Filtro Passa Tudo
- Equação
- yn (-g xn) xn - D (g yn - D)
- Comentários
- g é chamado de ganho
- o deslocamento de fase depende logaritmicamente
do atraso D (0 lt D lt freq. de amostragem) - Circuito/algoritmo
15Filtro Passa Tudo
- Idéia
- não altera o espectro mas impõe mudança de fase
que depende da freqüência de x
16Efeitos de atraso de tempo
- Efeitos com atraso (delay) fixo e variável
- reverberadores
17DDL
- Digital delay line ou digital delay unit
- Colocar amostras de entrada na memória antes de
mandá-las para saída misturando com amostras não
atrasadas - base para um série de efeitos de processamento
- parecido com o filtro passa baixas FIR e com o
pente, a diferença sendo o tempo de atraso - no PB FIR, D uma amostra
- no pente, D 0,1-10 ms
- no DDL, D gt 15 a 20 ms
amplitude
amplitude
DDL
tempo
tempo
18Implementando a DDL fila circular
- A cada ciclo (período de amostragem)
- lê-se a amostra mais antiga O
- escreve-se em seu lugar a nova amostra N
- incremementa-se a posição do ponteiro (tap)
- Com esta técnica (único ponteiro - single tap)
- implementa-se um atraso fixo, proporcional ao
tamanho da fila
Ciclo k 1
tap
19Multitap Delay Line
- Pode-se implementar atrasos mais curtos, mais
longos e variáveis na mesma fila circular - Permitindo que o ponteiro bata (tap) em
qualquer ponto da fila e que haja mais de uma
batida - Para 2 taps A cada ciclo
- simultaneamente, duas amostras são lidas nas
posições tap1 e tap2 - a nova amostra é escrita na posição O
- todas as posições são incrementadas de 1
- variando-se o incremento
- dinamicamente, pode-se implementar um valor de
atraso variável
20Efeitos de atraso fixo
- 2 Tipos de atraso fixo ou variável
- Atraso fixo pode ser pequeno, médio e longo e
gera efeitos como ecos e duplicação - Atraso variável gera efeitos como flanging,
phasing, chorus - Atraso fixo pequeno D lt 10ms
- introduz anomalias na resposta em freqüência
- D algumas amostras, funciona como filtro passa
baixas FIR - 0,1ms lt D lt 10ms, funciona como um filtro pente
21Efeitos de atraso fixo
- Atraso fixo médio 10 ms lt D lt 50ms
- cria ambiência e dá ilusão de aumento da
intensidade - cria efeito de duplicação doubling, pois sinal
atrasado e original se fundem - Atraso fixo longo D gt 50ms
- cria ecos
- Observação ecos múltiplos podem ser criados
realimentando-se o circuito
22Efeitos de atraso variável
- Efeito avião filtro pente sanfona
23Efeitos de atraso variável
- Parâmetros
- velocidade das variações (freqüência do LFO)
- profundidade das variações (amplitude do LFP)
- forma de onda do LFO (senoidal, triangular, ...)
- atraso central D
D
24Efeitos de atraso variável
- Flanging (0ms lt D lt 20ms)
- muito cancelamento devido ao filtro pente, que
vira uma sanfona - nome polegar na borda (flange) do carretel da
fita do gravador de rolo - Chorus (D gt 20 ms)
- ouve-se a cópia do som, como se fosse um coro
- é um tipo de efeito de duplicação mais realista
-
http//www.youtube.com/watch?vNAqQvs_WXs8feature
related
http//www.youtube.com/watch?vzmN7fK3fKUEfeature
related
25Flanging x Phasing
- Mesma classe de efeito mas obtida de forma
diferente - Flanging
- atraso variável independente da freqüência da
entrada - Cria muitos vales que seguem o padrão filtro-pente
26Efeitos de atraso variável
- Phasing
- atraso variável dependente da freqüência da
entrada (não lineridade do passa tudo). - Cria poucos vales. Por isso, soa mais suave que o
flanging
http//www.youtube.com/watch?vrpdFZ5VDGDs
27Reverberação
- História
- Anos 60 Manfred Shoeder, da Bell Labs,
implementou os primeiros algoritmos de
reverberação - Um reverberador
- filtro com resposta ao impulso que se assemelha à
resposta de uma sala
28Reverberação
- O efeito de Reverberação divide-se em 3 partes
- som direto
- primeiras reflexões
- pode ser simulado com uma DDL batida em
diferentes pontos - reverberação fusionada (fused reverberation)
- precisa de mais densidade do que uma DDL pode
prover - a sua implementação pode ser feita a partir de
dois filtros básicos filtros pente e/ou filtros
passa tudo - É desejável...
- manipular cada uma das 3 partes da reverberação
de forma relativamente independente, além do
pre-delay
29Reverberação c/ filtros pente
Resposta ao impulso
Filtro Pente IIR
- Comentário
- quando atraso lt 10ms o efeito restringi-se
basicamente à resposta em freqüência - quando atraso gt 10ms, cria-se uma séries de ecos
igualmente espaçados que decaem exponencialmente - Tempo que leva para saída cair 60dB
- decayTime (60 - g) ? loopDelayonde g (dB) e
loopDelay D/taxa de amostragem (s)
30Reverberação c/ filtros passa-tudo
Filtro Passa Tudo IIR
Resposta ao impulso
- Comentários
- quando o tempo de atraso é longo (5-100 ms),
cria-se uma séries de ecos igualmente espaçados
que decaem exponencialmente
31E aí?
- Resumo
- tanto o passa tudo quanto o pente são filtros que
podem gerar múltiplos ecos, mas como gerar a
reverberação fusionada? - Solução
- conectar vários filtros
- conexão em paralelo soma dos ecos
- conexão em série multiplicação dos ecos
- mais eficiente, porém menor controle
- Shoeder propôs dois esquemas de conexão
32Esquema pente passa tudo
- Pentes em paralelo para evitar anomalias no
espectro. Um compensa o efeito do outro - Passatudo em série para evitar anomalias na
resposta de fase. Um compensa o efeito do outro
33Esquema só passa tudo
- Cada passa tudo gera 4 ecos audíveis, o que
implica que este esquema gera 1024 ecos - Dica geral
- A característica do som dependerá da escolha do
tempo de atraso e ganho de cada unidade de
reverberação - melhor escolher tempos de atraso primos entre si
para que os ecos coincidam o mínimo possível
34Alguns Parâmetros da reverberação
- Tipo de sala pode ser hall, chamber, plate ou
gate - Tamanho tempo de atraso entre as unidades de
reverberação - Predelay tempo até a reverberação começar
- Atraso de entrada inverte a relação causa-efeito
(reverberação aparece antes do sinal - Tempo de reverberação tempo de decaimento
- Difusão densidade do eco
- Mix razão entre entrada e saída
35Pitch shifting Time stretching
36Alterações em altura e tempo
- Seria útil alterar a altura (pitch) da voz e
intrumentos... - para corrigir desafinações
- criar efeitos
- Seria útil ajustar durações de sinais de áudio
para casarem em intervalos de tempo determinados - Fluxo de mídia em tv
37Reamostragem (resampling)
- Um sinal amostrado em uma freqüência pode ser
reamostrado
http//www.youtube.com/watch?v67UlfiEd6mk
38Reamostragem (resampling)
- Sub-amostragem (Downsampling)
- Para reduzir a amostragem de um fator M, pega-se
apenas as m-ésimas amostras do sinal. - Sobre-amostragem (Upsampling)
- Para aumentar a amostragem de um fator L,
adiciona-se L-1 zeros entre duas amostras e
depois filtra-se o sinal com uma passa baixa
(equivalente a interpolar) - Mix
- Para reduzir de um fator M/L (racional), faz uma
sobre-amostragem de L seguida de uma
sub-amostragem de M
39Alterações em altura e tempo
- Problema da Reamostragem
- a mudança na altura está associada à mudança na
duração - Time stretch
- processo que mudar a duração de um sinal de áudio
sem alterar a sua altura - Pitch Shift
- processo que muda a altura do sinal de áudio sem
afetar a duração - Pitch correction Ao invés de aplicar o mesmo
desvio em todo o sinal, altera nota por nota
para se adequar ao tom escolhido
40Time stretch
- Como muda a duração sem mudar o pitch?
- No domínio do tempo (pouco usado)
- Overlap Add Method e Synchronized Overlap Add
Method Divide o sinal em quadros pequenos que
são eliminados e depois o sinal é interpolado
41Time stretch
- No domínio da frequencia Phase vocoder
- Converte sinal do tempo para o domínio da
freqüência, modifica amplitudes e fases, e
reconverte para o domínio do tempo - Basicamente altera o número de ciclos de
freqüências componentes de um sinal, sem mudar
quais são as freqüências. - Introduz algumas anomalias (reverberação)
http//www.youtube.com/watch?vO3_ihwhjHUw
42Pitch shift
- Como muda a altura sem mudar a duração?
- Muda a duração do sinal e depois reamostra
- Nem todos os métodos funcionam bem em todo tipo
de sinal e há limitações nos desvios (de pitch e
de tempo) que eles podem fazer - Orquestra 5 semitons (limite de pitch shift) e
30 (limite de tempo) - Instrumento monofônico uma oitava e 200 do tempo
43Referências
- Pohlman, Ken. (1995) Principles of Digital Audio.
McGraw Hill, 3rd Edition - http//www.dspdimension.com/admin/time-pitch-overv
iew/ - http//www.soundonsound.com/sos/mar06/articles/qa0
306_1.htm - http//www.geofex.com/Article_Folders/phasers/phas
e.html - Maranhão, Suzana (2006). Ajuste Elástico em Tempo
de Exibição para Fluxos de Áudio Comprimido.
Diss. de mestrado. PUC-RJ - http//en.wikipedia.org/wiki/Audio_timescale-pitch
_modification