Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

(2014-08-09) [TDC] AudioLazy 0.6 will robotize you!

6,503 views

Published on

Palestra sobre a AudioLazy no TDC 2014 (the developer's conference) que ocorreu na Universidade Anhembi Morumbi no dia 2014-08-09.

Site do evento: www.thedevelopersconference.com.br/tdc/2014/

Descrição da palestra:

Trata-se de uma exposição prática sobre o que é/faz um DSP (Digital Signal Processing), utilizando recursos da AudioLazy. Os tópicos incluem:

- Processamento: amostra-por-amostra e em blocos, STFT, filtros lineares variantes no tempo, processamento não linear "memoryless", distorção, flanger.
- Análise de áudio: Altura/nota musical, espectro (DFT/FFT/STFT), formantes, LPC, taxa de cruzamento no zero.
- Síntese: Aditiva, modulação (AM/Ring, FM), subtrativa.
- Psicoacústica: filtros gammatone, volume sonoro / loudness em phon e dB SPL (ISO/FDIS 226:2003 e Fletcher-Munson), modelo helicoidal de Shepard.
- Imagem: resposta em frequência, diagrama de polos e zeros, imagens artísticas com DSP de áudio.
- Outros: conversão de valores (nome de nota - altura MIDI - frequência), arquivos WAV e I/O de áudio via PyAudio (PortAudio com ALSA e Jack), cálculo numérico, aspectos gerais da biblioteca, interatividade e uso em jogos.

Published in: Technology
  • Be the first to comment

(2014-08-09) [TDC] AudioLazy 0.6 will robotize you!

  1. 1. AudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobelliniAudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobellini 2014-08-09 – São Paulo / SP2014-08-09 – 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 https://groups.google.com/forum/#!https://groups.google.com/forum/#! forum/audiolazyforum/audiolazy
  2. 2. AudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobelliniAudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobellini 2014-08-09 – São Paulo / SP2014-08-09 – São Paulo / SP AudioLazy ● DSP (Digital Signal Processing) – Análise – Síntese – Processamento – Psicoacústica ● 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+! 85% py.test branch coverage Cálculo numérico Imagens ...
  3. 3. AudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobelliniAudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobellini 2014-08-09 – São Paulo / SP2014-08-09 – São Paulo / SP Processamento ● Distorção ● Flanger ● Phaser ● Wah ● Robotização de voz ● Delay ● Reverb ● ... Novidade: STFT Arquivos WAV ou ao vivo?
  4. 4. AudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobelliniAudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobellini 2014-08-09 – São Paulo / SP2014-08-09 – São Paulo / SP Loudness Fletcher-Munson (1933)? Imagem extraída de Moore, Elements of Computer Music, 1990 ISO226:2003! Modelo antigo/tradicional Atual! Exemplo iso226_plot.py na AudioLazy E Hoje?
  5. 5. AudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobelliniAudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobellini 2014-08-09 – São Paulo / SP2014-08-09 – São Paulo / SP Altura (pitch)! Shepard ● 2 dimensões: – Altura (pitch height) ● Dimensão “linear” – Croma (pitch chroma) ● Dimensão “circular” ● Lembra Escher → Exemplo shepard.pyExemplo shepard.py ““Hélice”Hélice”
  6. 6. AudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobelliniAudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobellini 2014-08-09 – São Paulo / SP2014-08-09 – São Paulo / SP Síntese ● Modulação – Ring/anel – AM – FM ● Síntese aditiva ● Síntese 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 keyboard.py: GGGSUGSUG LLLPUTSUG
  7. 7. AudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobelliniAudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobellini 2014-08-09 – São Paulo / SP2014-08-09 – São Paulo / SP Envoltória espectral FormantesFormantes Modelo fonte-filtroModelo fonte-filtro para a vozpara a voz LPC (LinearLPC (Linear Predictive Coding)Predictive Coding) Classificação deClassificação de vogaisvogais (análise e síntese)(análise e síntese) Exemplos lpc_plot.py e formants.pyExemplos lpc_plot.py e formants.py
  8. 8. AudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobelliniAudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobellini 2014-08-09 – São Paulo / SP2014-08-09 – São Paulo / SP Análise ● ZCR (Taxa de cruzamento no zero) ● DFT (Transformada Discreta de Fourier) ● AMDF (Average Magnitude Difference Function)
  9. 9. AudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobelliniAudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobellini 2014-08-09 – São Paulo / SP2014-08-09 – 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
  10. 10. AudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobelliniAudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobellini 2014-08-09 – São Paulo / SP2014-08-09 – São Paulo / SP Imagens feitas com a AudioLazyImagens feitas com a AudioLazy
  11. 11. AudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobelliniAudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobellini 2014-08-09 – São Paulo / SP2014-08-09 – São Paulo / SP
  12. 12. AudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobelliniAudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobellini 2014-08-09 – São Paulo / SP2014-08-09 – São Paulo / SP
  13. 13. AudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobelliniAudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobellini 2014-08-09 – São Paulo / SP2014-08-09 – São Paulo / SP
  14. 14. AudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobelliniAudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobellini 2014-08-09 – São Paulo / SP2014-08-09 – São Paulo / SP
  15. 15. AudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobelliniAudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobellini 2014-08-09 – São Paulo / SP2014-08-09 – São Paulo / SP
  16. 16. AudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobelliniAudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobellini 2014-08-09 – São Paulo / SP2014-08-09 – São Paulo / SP
  17. 17. AudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobelliniAudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobellini 2014-08-09 – São Paulo / SP2014-08-09 – São Paulo / SP
  18. 18. AudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobelliniAudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobellini 2014-08-09 – São Paulo / SP2014-08-09 – São Paulo / SP
  19. 19. AudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobelliniAudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobellini 2014-08-09 – São Paulo / SP2014-08-09 – São Paulo / SP
  20. 20. AudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobelliniAudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobellini 2014-08-09 – São Paulo / SP2014-08-09 – São Paulo / SP
  21. 21. AudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobelliniAudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobellini 2014-08-09 – São Paulo / SP2014-08-09 – São Paulo / SP
  22. 22. AudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobelliniAudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobellini 2014-08-09 – São Paulo / SP2014-08-09 – São Paulo / SP AudioLazy + Matplotlib + “hipsterplot”
  23. 23. AudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobelliniAudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobellini 2014-08-09 – São Paulo / SP2014-08-09 – São Paulo / SP
  24. 24. AudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobelliniAudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobellini 2014-08-09 – São Paulo / SP2014-08-09 – São Paulo / SP
  25. 25. AudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobelliniAudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobellini 2014-08-09 – São Paulo / SP2014-08-09 – São Paulo / SP
  26. 26. AudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobelliniAudioLazy 0.6 will robotize you! – Danilo J. S. Bellini – @danilobellini 2014-08-09 – São Paulo / SP2014-08-09 – São Paulo / SP ? Obrigado! Perguntas?Perguntas? https://github.com/dhttps://github.com/danilobellini/audiolazyanilobellini/audiolazy

×