(2014-04-12) [Python Vale] AudioLazy

19
Danilo J. S. Bellini Danilo J. S. Bellini @danilobellini @danilobellini AudioLazy – 2014-04-12 AudioLazy – 2014-04-12 São José dos Campos / SP São José dos Campos / SP AudioLazy AudioLazy Danilo de Jesus da Silva Bellini Danilo de Jesus da Silva Bellini (AudioLazy developer) (AudioLazy developer) https://github.com/danilobellini/audiolazy https://github.com/danilobellini/audiolazy https://pypi.python.org/pypi/audiolazy https://pypi.python.org/pypi/audiolazy

description

Palestra sobre a AudioLazy na Python Vale, que ocorreu na UNESP de São José dos Campos (prédio de Odontologia) no dia 2014-04-12, originalmente entitulada "Sweet Child[ren] o' AudioLazy!". Site do evento: http://pythonvale.com.br/ Descrição da palestra: Música, áudio e DSP (Digital Signal Processing) em Python com a biblioteca AudioLazy! Vai rolar música ao vivo! =) https://pypi.python.org/pypi/audiolazy

Transcript of (2014-04-12) [Python Vale] AudioLazy

Page 1: (2014-04-12) [Python Vale] AudioLazy

Danilo J. S. Bellini Danilo J. S. Bellini @danilobellini@danilobellini

AudioLazy – 2014-04-12AudioLazy – 2014-04-12São José dos Campos / SPSão José dos Campos / SP

AudioLazyAudioLazy

Danilo de Jesus da Silva BelliniDanilo de Jesus da Silva Bellini(AudioLazy developer)(AudioLazy developer)

https://github.com/danilobellini/audiolazyhttps://github.com/danilobellini/audiolazy

https://pypi.python.org/pypi/audiolazyhttps://pypi.python.org/pypi/audiolazy

Page 2: (2014-04-12) [Python Vale] AudioLazy

Danilo J. S. Bellini Danilo J. S. Bellini @danilobellini@danilobellini

AudioLazy – 2014-04-12AudioLazy – 2014-04-12São José dos Campos / SPSão José dos Campos / SP

AudioLazyAudioLazy

● DSP (Digital Signal Processing)– Análise

– Síntese

– Processamento

● Expressividade de código● Tempo real

Documentação (Sphinx)http://pythonhosted.org/audiolazy

Python 2.7

Python 2.7

e 3.2+!

e 3.2+!

82% branch coverage11k+ tests (2k+ por ambiente)

tox + py.testCpython 2.7/3.2/3.3/3.4

PyPyTRAVIS CI!

Page 3: (2014-04-12) [Python Vale] AudioLazy

Danilo J. S. Bellini Danilo J. S. Bellini @danilobellini@danilobellini

AudioLazy – 2014-04-12AudioLazy – 2014-04-12São José dos Campos / SPSão José dos Campos / SP

AnáliseAnálise

● ZCR (Taxa de cruzamento no zero)● DFT (Transformada Discreta de Fourier)● AMDF (Average Magnitude Difference Function)

Page 4: (2014-04-12) [Python Vale] AudioLazy

Danilo J. S. Bellini Danilo J. S. Bellini @danilobellini@danilobellini

AudioLazy – 2014-04-12AudioLazy – 2014-04-12São José dos Campos / SPSão José dos Campos / SP

Page 5: (2014-04-12) [Python Vale] AudioLazy

Danilo J. S. Bellini Danilo J. S. Bellini @danilobellini@danilobellini

AudioLazy – 2014-04-12AudioLazy – 2014-04-12São José dos Campos / SPSão José dos Campos / SP

SínteseSíntese

● Ring modulation, AM, FM, aditiva, subtrativa, …● Formas de onda

– Senoides

– Sawtooth

– Table lookup

● Ruído– Branco/uniforme

– Gaussiano

● Exemplos– FM: mcfm.py

– Subtrativa: formants.py

– Aditiva com senoides: shepard.py

Page 6: (2014-04-12) [Python Vale] AudioLazy

Danilo J. S. Bellini Danilo J. S. Bellini @danilobellini@danilobellini

AudioLazy – 2014-04-12AudioLazy – 2014-04-12São José dos Campos / SPSão José dos Campos / SP

Filtros linearesFiltros lineares● Síntese subtrativa (e.g. play_bach_choral.py)● Comb, ressonador, passa-baixas, passa-altas, …● Wah, knob guitarra (passa-baixas RC), ...

filt = 1./9. * (4 - z ** -2) / (1 + .8 * z ** -1 + .4 * z ** -2)filt.zplot().savefig("zeropolo.pdf")

fcomb = comb.fb(25, .95)fcomb.plot().savefig("plot-comb.pdf")

filt = 1./9. * (4 - z ** -2) / (1 + .8 * z ** -1 + .4 * z ** -2)filt.zplot().savefig("zeropolo.pdf")

fcomb = comb.fb(25, .95)fcomb.plot().savefig("plot-comb.pdf")

1 2

1

2

Page 7: (2014-04-12) [Python Vale] AudioLazy

Danilo J. S. Bellini Danilo J. S. Bellini @danilobellini@danilobellini

AudioLazy – 2014-04-12AudioLazy – 2014-04-12São José dos Campos / SPSão José dos Campos / SP

ProcessamentoProcessamento

● Distorção● Flanger● Phaser● Wah● Robotização de voz● Delay● Reverb● Remoção de ruído

...

Page 8: (2014-04-12) [Python Vale] AudioLazy

Danilo J. S. Bellini Danilo J. S. Bellini @danilobellini@danilobellini

AudioLazy – 2014-04-12AudioLazy – 2014-04-12São José dos Campos / SPSão José dos Campos / SP

Page 9: (2014-04-12) [Python Vale] AudioLazy

Danilo J. S. Bellini Danilo J. S. Bellini @danilobellini@danilobellini

AudioLazy – 2014-04-12AudioLazy – 2014-04-12São José dos Campos / SPSão José dos Campos / SP

Page 10: (2014-04-12) [Python Vale] AudioLazy

Danilo J. S. Bellini Danilo J. S. Bellini @danilobellini@danilobellini

AudioLazy – 2014-04-12AudioLazy – 2014-04-12São José dos Campos / SPSão José dos Campos / SP

Page 11: (2014-04-12) [Python Vale] AudioLazy

Danilo J. S. Bellini Danilo J. S. Bellini @danilobellini@danilobellini

AudioLazy – 2014-04-12AudioLazy – 2014-04-12São José dos Campos / SPSão José dos Campos / SP

Page 12: (2014-04-12) [Python Vale] AudioLazy

Danilo J. S. Bellini Danilo J. S. Bellini @danilobellini@danilobellini

AudioLazy – 2014-04-12AudioLazy – 2014-04-12São José dos Campos / SPSão José dos Campos / SP

Page 13: (2014-04-12) [Python Vale] AudioLazy

Danilo J. S. Bellini Danilo J. S. Bellini @danilobellini@danilobellini

AudioLazy – 2014-04-12AudioLazy – 2014-04-12São José dos Campos / SPSão José dos Campos / SP

Page 14: (2014-04-12) [Python Vale] AudioLazy

Danilo J. S. Bellini Danilo J. S. Bellini @danilobellini@danilobellini

AudioLazy – 2014-04-12AudioLazy – 2014-04-12São José dos Campos / SPSão José dos Campos / SP

Page 15: (2014-04-12) [Python Vale] AudioLazy

Danilo J. S. Bellini Danilo J. S. Bellini @danilobellini@danilobellini

AudioLazy – 2014-04-12AudioLazy – 2014-04-12São José dos Campos / SPSão José dos Campos / SP

Page 16: (2014-04-12) [Python Vale] AudioLazy

Danilo J. S. Bellini Danilo J. S. Bellini @danilobellini@danilobellini

AudioLazy – 2014-04-12AudioLazy – 2014-04-12São José dos Campos / SPSão José dos Campos / SP

Page 17: (2014-04-12) [Python Vale] AudioLazy

Danilo J. S. Bellini Danilo J. S. Bellini @danilobellini@danilobellini

AudioLazy – 2014-04-12AudioLazy – 2014-04-12São José dos Campos / SPSão José dos Campos / SP

Page 18: (2014-04-12) [Python Vale] AudioLazy

Danilo J. S. Bellini Danilo J. S. Bellini @danilobellini@danilobellini

AudioLazy – 2014-04-12AudioLazy – 2014-04-12São José dos Campos / SPSão José dos Campos / SP

https://github.com/RicardoBoccoliGallego/DigitalPedalBoard

Pedaleira Pedaleira feita com a feita com a AudioLazy AudioLazy

por 4 por 4 alunos da alunos da Poli-USPPoli-USP

Page 19: (2014-04-12) [Python Vale] AudioLazy

Danilo J. S. Bellini Danilo J. S. Bellini @danilobellini@danilobellini

AudioLazy – 2014-04-12AudioLazy – 2014-04-12São José dos Campos / SPSão José dos Campos / SP

Obrigado!Obrigado!

Perguntas?Perguntas?

https://github.com/dhttps://github.com/danilobellini/audiolazyanilobellini/audiolazy