Beruflich Dokumente
Kultur Dokumente
Marcelo Johann
Lucas Folle
Rodolfo Pirotti
In Context
• BSc, MsC, PhD in Computer Science
• Microeletronics, EDA, Audio, Music
• Why?
V Ubimus - 2014 - Vitória - ES
29 de Outubro a 1 de Novembro
By Marcelo Johann
DIY Audio Circuits
Workshop
The Arduino Due Board
• Introduced late in 2012
• ARM-Cortex M3
• RISC 32-bit
• 84MHz, 96KB RAM, 512 KB Flash
• Nested interrupt controller
• 14bit DACs
• No Floting-point unit in HW
• I2S interface implemented in HW
HW Platforms in Perspective
phase = phase + s;
output = waveTable[(t>>d) & tableSize-1];
Simple Oscillator is
output = sin(frequency1 * time);
FM Synthesis is:
modulation = sin(freq2 * time) * hardness;
output = sin(frequency1 * time + modulation);
SÍNTESE FM
http://www.mathsisfun.com/data/function-grapher.php
The 6-op FM Synth
• Lucas Folle, 2015, replicated most
functions of the famous DX7.
Inspiring to hear, but
Nightmare to program, as expected
Limited to 12-notes using
24KHz sampling (6 at 48KHz).
Demo
The Subtractive Synthesizer
pAmplifierEnvelopeGenerator = new EnvelopeGenerator();
pOscillator01 = new Oscillator();
pOscillator02 = new Oscillator();
pDelayWithFeedback = new DelayWithFeedback();
pLowPassFilter = new LowPassFilter();
• Linked at:
https://store.arduino.cc/usa/arduino-due
https://create.arduino.cc/projecthub/chnry/ocs-2-a-
digital-semi-modular-synthesizer-733ba9
Synthesizers with the
Arduino Due platform
Marcelo Johann
Lucas Folle
Rodolfo Pirotti
johann@inf.ufrgs.br
https://www.facebook.com/arduinoduesynth/