AudioLazy Python library overview by creator Danilo Bellini
1. AudioLazy – Danilo J. S. Bellini – @danilobelliniAudioLazy – Danilo J. S. Bellini – @danilobellini
2014-03-26 – São Paulo / SP2014-03-26 – São Paulo / SP
AudioLazy
Danilo de Jesus da Silva BelliniDanilo de Jesus da Silva Bellini
(Desenvolvedor da AudioLazy)(Desenvolvedor da AudioLazy)
Twitter: @danilobelliniTwitter: @danilobellini
https://github.com/danilobellini/audiolazyhttps://github.com/danilobellini/audiolazy
https://pypi.python.org/pypi/audiolazyhttps://pypi.python.org/pypi/audiolazy
2. AudioLazy – Danilo J. S. Bellini – @danilobelliniAudioLazy – Danilo J. S. Bellini – @danilobellini
2014-03-26 – São Paulo / SP2014-03-26 – São Paulo / SP
AudioLazy
● 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% py.test
branch
coverage
3. AudioLazy – Danilo J. S. Bellini – @danilobelliniAudioLazy – Danilo J. S. Bellini – @danilobellini
2014-03-26 – São Paulo / SP2014-03-26 – São Paulo / SP
Análise
● ZCR (Taxa de cruzamento no zero)
● DFT (Transformada Discreta de Fourier)
● AMDF (Average Magnitude Difference Function)
4. AudioLazy – Danilo J. S. Bellini – @danilobelliniAudioLazy – Danilo J. S. Bellini – @danilobellini
2014-03-26 – São Paulo / SP2014-03-26 – São Paulo / SP
5. AudioLazy – Danilo J. S. Bellini – @danilobelliniAudioLazy – Danilo J. S. Bellini – @danilobellini
2014-03-26 – São Paulo / SP2014-03-26 – São Paulo / SP
Síntese
● Ring modulation, AM, FM, aditiva, subtrativa, …
● Formas de onda
– Senoides
– Table lookup
● Ruído (branco/uniforme, gaussiano, …)
● Exemplos
– FM: mcfm.py
– Subtrativa: formants.py
– Aditiva com senoides: shepard.py
6. AudioLazy – Danilo J. S. Bellini – @danilobelliniAudioLazy – Danilo J. S. Bellini – @danilobellini
2014-03-26 – São Paulo / SP2014-03-26 – São Paulo / SP
Filtros 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
7. AudioLazy – Danilo J. S. Bellini – @danilobelliniAudioLazy – Danilo J. S. Bellini – @danilobellini
2014-03-26 – São Paulo / SP2014-03-26 – São Paulo / SP
Processamento
● Distorção
● Flanger
● Phaser
● Wah
● Robotização de voz
● Delay
● Reverb
● ...
8. AudioLazy – Danilo J. S. Bellini – @danilobelliniAudioLazy – Danilo J. S. Bellini – @danilobellini
2014-03-26 – São Paulo / SP2014-03-26 – São Paulo / SP
Obrigado!
Perguntas?Perguntas?
https://github.com/dhttps://github.com/danilobellini/audiolazyanilobellini/audiolazy