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
1. Danilo J. S. BelliniDanilo J. S. Bellini
@danilobellini@danilobellini
AudioLazy – 2014-04-12AudioLazy – 2014-04-12
Sã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
2. Danilo J. S. BelliniDanilo J. S. Bellini
@danilobellini@danilobellini
AudioLazy – 2014-04-12AudioLazy – 2014-04-12
Sã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 coverage
11k+ tests (2k+ por ambiente)
tox + py.test
Cpython 2.7/3.2/3.3/3.4
PyPy
TRAVIS CI!
3. Danilo J. S. BelliniDanilo J. S. Bellini
@danilobellini@danilobellini
AudioLazy – 2014-04-12AudioLazy – 2014-04-12
Sã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)
4. Danilo J. S. BelliniDanilo J. S. Bellini
@danilobellini@danilobellini
AudioLazy – 2014-04-12AudioLazy – 2014-04-12
São José dos Campos / SPSão José dos Campos / SP
5. Danilo J. S. BelliniDanilo J. S. Bellini
@danilobellini@danilobellini
AudioLazy – 2014-04-12AudioLazy – 2014-04-12
Sã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
6. Danilo J. S. BelliniDanilo J. S. Bellini
@danilobellini@danilobellini
AudioLazy – 2014-04-12AudioLazy – 2014-04-12
Sã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
7. Danilo J. S. BelliniDanilo J. S. Bellini
@danilobellini@danilobellini
AudioLazy – 2014-04-12AudioLazy – 2014-04-12
Sã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
...
8. Danilo J. S. BelliniDanilo J. S. Bellini
@danilobellini@danilobellini
AudioLazy – 2014-04-12AudioLazy – 2014-04-12
São José dos Campos / SPSão José dos Campos / SP
9. Danilo J. S. BelliniDanilo J. S. Bellini
@danilobellini@danilobellini
AudioLazy – 2014-04-12AudioLazy – 2014-04-12
São José dos Campos / SPSão José dos Campos / SP
10. Danilo J. S. BelliniDanilo J. S. Bellini
@danilobellini@danilobellini
AudioLazy – 2014-04-12AudioLazy – 2014-04-12
São José dos Campos / SPSão José dos Campos / SP
11. Danilo J. S. BelliniDanilo J. S. Bellini
@danilobellini@danilobellini
AudioLazy – 2014-04-12AudioLazy – 2014-04-12
São José dos Campos / SPSão José dos Campos / SP
12. Danilo J. S. BelliniDanilo J. S. Bellini
@danilobellini@danilobellini
AudioLazy – 2014-04-12AudioLazy – 2014-04-12
São José dos Campos / SPSão José dos Campos / SP
13. Danilo J. S. BelliniDanilo J. S. Bellini
@danilobellini@danilobellini
AudioLazy – 2014-04-12AudioLazy – 2014-04-12
São José dos Campos / SPSão José dos Campos / SP
14. Danilo J. S. BelliniDanilo J. S. Bellini
@danilobellini@danilobellini
AudioLazy – 2014-04-12AudioLazy – 2014-04-12
São José dos Campos / SPSão José dos Campos / SP
15. Danilo J. S. BelliniDanilo J. S. Bellini
@danilobellini@danilobellini
AudioLazy – 2014-04-12AudioLazy – 2014-04-12
São José dos Campos / SPSão José dos Campos / SP
16. Danilo J. S. BelliniDanilo J. S. Bellini
@danilobellini@danilobellini
AudioLazy – 2014-04-12AudioLazy – 2014-04-12
São José dos Campos / SPSão José dos Campos / SP
17. Danilo J. S. BelliniDanilo J. S. Bellini
@danilobellini@danilobellini
AudioLazy – 2014-04-12AudioLazy – 2014-04-12
São José dos Campos / SPSão José dos Campos / SP
18. Danilo J. S. BelliniDanilo J. S. Bellini
@danilobellini@danilobellini
AudioLazy – 2014-04-12AudioLazy – 2014-04-12
São José dos Campos / SPSão José dos Campos / SP
https://github.com/RicardoBoccoliGallego/DigitalPedalBoard
PedaleiraPedaleira
feita com afeita com a
AudioLazyAudioLazy
por 4por 4
alunos daalunos da
Poli-USPPoli-USP
19. Danilo J. S. BelliniDanilo J. S. Bellini
@danilobellini@danilobellini
AudioLazy – 2014-04-12AudioLazy – 2014-04-12
São José dos Campos / SPSão José dos Campos / SP
Obrigado!Obrigado!
Perguntas?Perguntas?
https://github.com/dhttps://github.com/danilobellini/audiolazyanilobellini/audiolazy