51
Estudos de caso sobre processamento de ´ audio em tempo real em plataformas computacionais de alta disponibilidade e baixo custo Andr´ e J. Bianchi 08/05/2013

Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Estudos de caso sobre processamento de audioem tempo real em plataformas

computacionais de alta disponibilidade e baixocusto

Andre J. Bianchi

08/05/2013

Page 2: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Processamento de audio em tempo real

Algoritmos

Arduino

GPU

Android

Page 3: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Processamento de audio em tempo real

Page 4: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Exemplo de processamento digital de audioFUNDAMENTALS OF DIGITAL SIGNAL PROCESSING 21

DAFXADC DACx (n) y (n ) y (t )x (t )

fs =1__T

fs =1__T

0.5

0 500−0.05

0

0.05x (t )

t in μs → 0 10 20

−0.05

0

0.05

n →

x (n)

0 10 20−0.05

0

0.05

n →

y (n )

0 500−0.05

0

0.05

t in μs →

y (t )

T

Figure 1.11 Sampling and quantizing by ADC, digital audio effects and reconstruction by DAC.

fS = 1/T (sampling rate). The sampling frequency reflects the number of samples per second inHertz (Hz). According to the sampling theorem, it has to be chosen as twice the highest frequencyfmax (signal bandwidth) contained in the analog signal, namely fS > 2 · fmax. If we are forced touse a fixed sampling frequency fS , we have to make sure that our input signal to be sampled hasa bandwidth according to fmax = fS/2. If not, we have to reject higher frequencies by filteringwith a lowpass filter which only passes all frequencies up to fmax. The digital signal is then passedto a DAFX box (digital system), which in this example performs a simple multiplication of eachsample by 0.5 to deliver the output signal y(n) = 0.5 · x(n). This signal y(n) is then forwardedto a digital-to-analog converter DAC, which reconstructs the analog signal y(t). The output signaly(t) has half the amplitude of the input signal x(t).

Figure 1.12 shows some digital signals to demonstrate different graphical representations (seeM-file 1.1). The upper part shows 8000 samples, the middle part the first 1000 samples and thelower part shows the first 100 samples out of a digital audio signal. Only if the number of samplesinside a figure is sufficiently low, will the line with dot graphical representation be used for adigital signal.

M-file 1.1 (figure1_03.m)

% Author: U. Zolzer[x,FS,NBITS]=wavread(’ton2.wav’);

figure(1)subplot(3,1,1);plot(0:7999,x(1:8000));ylabel(’x(n)’);subplot(3,1,2);plot(0:999,x(1:1000));ylabel(’x(n)’);subplot(3,1,3);stem(0:99,x(1:100),’.’);ylabel(’x(n)’);xlabel(’n \rightarrow’);

Page 5: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Ciclo de processamento

I Entrada:

I (Conversao Analogico-Digital).I Frequencia de amostragem e amplitude de espectro.I Quantizacao e profundidade de bits.I Sinal digital: x : N→ {0, 1}b1 .

I Processamento.

I Manipulacao do sinal: analise, sıntese, recuperacao deinformacao, efeitos.

I Processamento em blocos, sobreposicao.I Representacoes: tempo e frequencia.

I Saıda.

I Sinal digital: y : N→ {0, 1}b2 .I Taxa de geracao de amostras e profundidade de bits.I (Conversao Digital-Analogico).

Page 6: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Processamento em tempo real

Processamento em blocos:

I Perıodo do bloco: N amostras.

I Frequencia de amostragem: R Hz.

I Atraso mınimo: NR s.

I Fator de sobreposicao: M.

I Cada ciclo avanca NM amostras ou N

MR s.

Restricoes de tempo real:

I O ciclo tem que ser executado periodicamente.

I O perıodo do ciclo tem que ser menor que tempo decomputacao tem que ser menor que o perıodo do ciclo deprocessamento.

Page 7: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Contexto da pesquisa

Perguntas sobre processamento em tempo real:

I Quais plataformas podem ser utilizadas? Quais as restricoes epossibilidades que cada uma delas possui?

I Como medir o desempenho de uma ferramenta para oprocessamento de audio em tempo real?

Proposta:

I Escolher plataformas de baixo custo e alta disponibilidade.

I Escolher uma serie de algoritmos de processamento de audiofrequentemente utilizados.

I Investigar a implementacao e o desempenho dos algoritmosnas plataformas.

Page 8: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Escolha das Plataformas de processamento

Criterios de interesse para a area de computacao musical:

I Sensores.

I Mobilidade.

I Poder de processamento.

I Licencas de uso.

I Expressao computacional.

Plataformas escolhidas:

I Arduino (microcontrolador).

I GPU (processamento paralelo).

I Android (sistemas moveis).

Page 9: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Algoritmos

Page 10: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Algoritmos representativos

Alguns algoritmos frequentemente utilizados em rotinas demanipulacao de audio:

I Convolucao no domınio do tempo.

I Sıntese aditiva.

I FFT.

Page 11: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Convolucao no domınio no tempo (filtros FIR)

y[n] = 0

para k=0 ate N, faca:

y[n] += b[k] * x[n-k]

Page 12: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Sıntese aditiva

y[n] = 0

para k=1 ate K, faca:

y[n] = r(k,n) * sin(f(k,n))

Page 13: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Transformada Rapida de Fourier (FFT)

Page 14: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

A FFT e O(N log(N))

Transformada Discreta de Fourier:

X (k) =N−1∑n=0

x(n)e−2πiN

nk

=

N2−1∑

m=0

x(2m)e−2πiN

(2m)k

︸ ︷︷ ︸Ek

+e−2πiN

k

N2−1∑

m=0

x(2m + 1)e−2πiN

(2m)k

︸ ︷︷ ︸Ok

.

Transformada Rapida de Fourier:

X (k) =

{Ek + e

−2πiN

kOk se k < N2

Ek−N2

+ e−2πiN

(k−N2

)Ok−N2

se k ≥ N2

Page 15: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Perguntas sobre os algoritmos

I Quais parametros de cada algoritmo influenciam nacomplexidade?

I Qual e o tempo gasto para computar uma certa instancia deum algoritmo?

I Qual e a maior instancia computavel em tempo real?

I Quais as possibilidades e restricoes de implementacao emcada plataforma?

Page 16: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Arduino

Page 17: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Arduino

Page 18: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

O projeto Arduino

Caracterısticas principais:

I Estrutura minimal para interface com um microcontrolador.

I Baixo custo: 20-50 USD.

I Baixo consumo de energia.

I Licenciamento livre.

Microcontrolador Atmel AVR ATmega328P:

I CPU: unidade aritmetica e registradores (16 MHz - 8 bits).

I Memorias: Flash (32 KB), SRAM (2 KB) e EEPROM (1 KB).

I Portas digitais de entrada (com ADC) e saıda (com PWM).

Page 19: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Entrada de audio: perıodo de amostragem

pre-escalonador Tconv (µs) Tconv (µs) fconv (≈KHz)

2 1,81 12,61 79,30

4 3,62 16,06 62,26

8 7,25 19,76 50,60

16 14,50 20,52 48,73

32 29,00 34,80 28,73

64 58,00 67,89 14,72

128 116,00 114,85 8,70

I Resolucao da funcao micros(): 4˜µs.

I R = 44.100˜Hz ⇒ 1/R ≈ 22, 67 µs.

I R = 31.250˜Hz ⇒ 1/R = 32, 00 µs.

Page 20: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Entrada de audio: ADC

Conversor analogico-digital:

I Resolucao: 8 ou 10 bits.

I Tempo de conversao: 13 a 260 µs.

I Conversao manual ou automatica.

Parametros escolhidos:

I Resolucao de 8 bits.

I Pre-escalonador igual a 8 (ate 50 KHz).

Page 21: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Saıda de audio: Pulse Width Modulation (PWM)

0

1

0

1

Page 22: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Frequencias de operacao de um contador de 8 bits

pre-escalonador fincr (KHz) foverflow (Hz)

1 16.000 62.500

8 2.000 7.812

32 500 1.953

64 250 976

128 125 488

256 62,5 244

1024 15,625 61

Page 23: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Saıda de audio

PWM no ATmega328P:

I Modos de operacao: Fast e Phase Correct.

I Pre-escalonador.

I 2 contadores de 8 bits e 1 de 16 bits.

I Interrupcao por overflow.

Parametros escolhidos:

I Fast PWM.

I Contador de 8 bits.

I Pre-escalonador igual a 1.

I Frequencia de overflow: 16˜MHz / 1 / 28 = 62.500˜Hz.

I Taxa de geracao de amostras: 31.250˜Hz.

Page 24: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Convolucao no Arduino (usando operacoes sobre bits)

0

1

2

3

4

5

6

7

8

9

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Syn

th t

ime

(m

s)

Order of the filter

Time-domain convolution on Arduino (mult/div)

0

1

2

3

4

5

6

7

8

9

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Syn

th t

ime

(m

s)

Order of the filter

Time-domain convolution on Arduino (variable pad)

0

1

2

3

4

5

6

7

8

9

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Syn

th t

ime

(m

s)

Order of the filter

Time-domain convolution on Arduino (constant pad)

block size 32rt period 32

block size 64rt period 64

block size 128rt period 128

block size 256rt period 256

Page 25: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Sıntese aditiva no Arduino: quantidade e tipos de operacaoutilizadas

0

1

2

3

4

5

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Synth

tim

e (

ms)

Number of oscilators

Operations in additive synth (R=31250/N=128)

mult/divdiv

var padrt period

Page 26: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Sıntese aditiva no Arduino: uso de lacos

0

1

2

3

4

5

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Synth

tim

e (

ms)

Number of oscilators

Additive Synthesis on Arduino (loop)

0

1

2

3

4

5

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Synth

tim

e (

ms)

Number of oscilators

Additive Synthesis on Arduino (inline)

block size 32rt period 32

block size 64rt period 64

block size 128rt period 128

Page 27: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

FFT no Arduino (a 1953 Hz)

0

50

100

150

200

250

300

... 64 128 256 512

Analy

sis

tim

e (

ms)

Block size

FFT on Arduino (at 1953 Hz)

fft sin()fft table

rt period

Page 28: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Algumas conclusoes sobre processamento de audio emtempo real em Arduino

Detalhes de implementacao que fazem a diferenca:

I Tipos utilizados (byte, unsigned long, int, float, etc) saofundamentais.

I Multiplicacao/divisao (de inteiros) demoram pelo menos odobro que operacoes sobre inteiros.

I A quantidade de lacos e condicionais faz diferenca.

I Consulta a variaveis e vetores tambem faz diferenca.

Page 29: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

GPU

Page 30: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

GPU: Graphics Processing Unit

Page 31: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Diferencas gerais em relacao a CPU

Page 32: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Analise de desempenho na GPU

Valores importantes:

I Tempo de transferencia de memoria (ida e volta).

I Tempo de execucao do programa.

I Tempo total (soma dos tempos acima).

Implementacoes paralelas:

I FFT (da API).

I Phase Vocoder (FFT + Sıntese Aditiva).

Page 33: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Placas utilizadas para testes

GF100GL GTX275 GTX400

CUDA cores 256 240 448

Memoria RAM (MB) 2000 896 1280

Banda de memoria (GB/s) 89.6 127.0 133.9

Page 34: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

FFT na GPU

0

0.5

1

1.5

2

2.5

3

... 214

215

216

217

Du

ratio

n (

s)

Block size

FFT roundtrip time - GTX275

0

0.5

1

1.5

2

2.5

3

... 214

215

216

217

Du

ratio

n (

s)

Block size

FFT roundtrip time - GTX470

0

0.5

1

1.5

2

2.5

3

... 214

215

216

217

Du

ratio

n (

s)

Block size

FFT roundtrip time - GF100GL

host to devicekernel time

device to hostroundtriprt period

Page 35: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

FFT na GPU (zoom)

0

0.1

0.2

0.3

0.4

0.5

0.6

... 214

215

216

217

Du

ratio

n (

s)

Block size

FFT roundtrip time - GTX275

0

0.1

0.2

0.3

0.4

0.5

0.6

... 214

215

216

217

Du

ratio

n (

s)

Block size

FFT roundtrip time - GTX470

0

0.1

0.2

0.3

0.4

0.5

0.6

... 214

215

216

217

Du

ratio

n (

s)

Block size

FFT roundtrip time - GF100GL

host to devicekernel time

device to hostroundtriprt period

Page 36: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Mais um algoritmo: Phase Vocoder220 TIME-FREQUENCY PROCESSING

Transformation

Time

Synthesis

n

f

n

n

n1 n2

Fre

qu

en

cyAnalysis

Short-timeSpectra

Figure 7.1 Digital audio effects based on analysis, transformation and synthesis (resynthesis).

Magnitude Phase

Sh

ort

-tim

eF

ou

rie

r tr

an

sfo

rm

FFT

Windowing

Time-domainsignal

An

aly

sis

Sta

ge

Syn

the

sis

Sta

geIFFT

Magnitude and Phasecalculation

Overlap-add

Time-domainsignal

Time-frequencyProcessing

Inve

rse

sh

ort

-tim

eF

ou

rie

r tr

an

sfo

rm

Figure 7.2 Time-frequency processing based on the phase vocoder: analysis, transformation and

synthesis.

1. Analise:I Janela deslizante de tamanho finito.I FFTs consecutivas do sinal x(n).I Espectro variante no tempo: X (n, k).

2. Transformacao: modificacoes em |X (n, k)| e ϕ(X (n, k)).

3. Sıntese: Sıntese aditiva.

Page 37: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Sıntese aditiva do Phase Vocoder na GPU

5

10

15

20

25

30

... 214

215

216

217

Du

ratio

n (

s)

Block size

PV synth kernel time - GTX275

5

10

15

20

25

30

... 214

215

216

217

Du

ratio

n (

s)

Block size

PV synth kernel time - GTX470

5

10

15

20

25

30

... 214

215

216

217

Du

ratio

n (

s)

Block size

PV synth kernel time - GF100GL

1. cubic interp2. linear interp

3. truncated4. builtin sine

5. texture interpno calculation

rt period

Page 38: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Sıntese aditiva do Phase Vocoder na GPU (zoom)

1

2

3

214

215

216

Du

ratio

n (

s)

Block size

PV synth kernel time - GTX275

1

2

3

214

215

216

Du

ratio

n (

s)

Block size

PV synth kernel time - GTX470

1

2

3

214

215

216

Du

ratio

n (

s)

Block size

PV synth kernel time - GF100GL

1. cubic interp2. linear interp

3. truncated4. builtin sine

5. texture interpno calculation

rt period

Page 39: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Algumas conclusoes sobre processamento de audio emtempo real em GPU

I Tempo de transferencia de memoria e comparavel ao da FFT.

I Diferencas na implementacao fazem diferenca:

I Consulta a tabela (truncada, ou com interpolacao linear oucubica).

I Consulta a tabela em memoria de textura.I Funcao seno da API.

Page 40: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Android

Page 41: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Sistema operacional Android

Page 42: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

O projeto Android

I Kernel do Linux.

I Drivers para muitos dispositivos.

I Aplicativos e API em Java (maquina virtual propria).

I Conectividade e sensores.

I Licenciamento livre (com excecao de drivers).

Page 43: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Processamento em tempo real em Android

I Entrada de audio:I Classe: AudioRecord.I Microfones, audio da chamada (garante 1 canal, 16 bits).

I Processamento:I Metodo: scheduleAtFixedRate.I Agendamento.

I Saıda de audio:I Classe: AudioTrack.I 8 e 16 bits.

Page 44: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Aplicacao para Android e testes

Cenario dos testes:

I Chamado por email.

I Instrucoes para execucaodo teste.

I Envio dos resultados poremail.

I 11 aparelhos testados.

I Menor numero de ciclos deteste para blocos grandes.

Page 45: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Android: Loopback em diferentes aparelhos

0

2

4

6

8

10

12

64 128 256 512

Dura

tion (

ms)

Block size

Callback times for loopback on each device (1/2)

0

20

40

60

80

100

120

140

160

1024 2048 4096 8192

Block size

Callback times for loopback on each device (2/2)

rt perioda853 v7a853 v8gti5500bgti9000gti9100

gtp1000lmz604

r800itf101x10i

xoom

Page 46: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Convolucao no Android: Filtro IIR em diferentes aparelhos

0

2

4

6

8

10

12

64 128 256 512

Dura

tion (

ms)

Block size

Callback times for reverb on each device (1/2)

0

20

40

60

80

100

120

140

160

1024 2048 4096 8192

Block size

Callback times for reverb on each device (2/2)

rt perioda853 v7a853 v8gti5500bgti9000gti9100

gtp1000lmz604

r800itf101x10i

xoom

Page 47: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Convolucao no Android: FFT em diferentes aparelhos

0

2

4

6

8

10

12

64 128 256 512

Dura

tion (

ms)

Block size

Callback times for FFT on each device (1/2)

0

20

40

60

80

100

120

140

160

1024 2048 4096 8192

Block size

Callback times for FFT on each device (2/2)

rt perioda853 v7a853 v8gti5500bgti9000gti9100

gtp1000lmz604

r800itf101x10i

xoom

Page 48: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Android: ordem maxima de um filtro

0

50

100

150

200

250

300

350

400

64 128 256 512

Maxim

um

# o

f F

IR c

oeffic

ients

Block size

Maximum filter size (1/2)

0

50

100

150

200

250

300

350

400

1024 2048 4096 8192

Block size

Maximum filter size (2/2)

a853 v7 a853 v8 gti5500b gti9000 gti9100

gtp1000l

mz604 r800i tf101 x10i

xoom

Page 49: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Algumas conclusoes sobre processamento de audio emtempo real em Android

I O modelo de aparelho faz diferenca significativa nodesempenho.

I O sistema desenvolvido pode ser usado para avaliacao dodesempenho (em tempo real ou nao).

Page 50: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Fim!

Obrigado pela atencao!

I Contato: [email protected]

I Grupo de Computacao Musical do IME/USP:http://compmus.ime.usp.br/

I Esta apresentacao: http://www.ime.usp.br/~ajb/

Page 51: Estudos de caso sobre processamento de áudio em tempo real …ajb/seminarios/trabalho-mestrado-final.pdf · em tempo real em plataformas computacionais de alta disponibilidade e

Credito aos autores das imagens

I Convolucao no domınio do tempo: Blanchardj -http://en.wikipedia.org/wiki/File:FIR_Filter.svg

I Sıntese aditiva: Chrisjohnson -http://en.wikipedia.org/wiki/File:Additive_synthesis.svg

I FFT: Virens -http://en.wikipedia.org/wiki/File:DIT-FFT-butterfly.png

I Arduino: domınio publico.

I PWM: CyrilB - http://en.wikipedia.org/wiki/File:Pwm.svg

I NVIDIA GPU: http://www.nvidia.com/

I Camadas do sistema operacional Android: Smieth - http://en.wikipedia.org/wiki/File:Android-System-Architecture.svg

I Software de analise de desempenho no Android: domınio publico.