/******************************************************************************
 * 
 * Un signal sonore sinusoïdal est multiplié par un signal sinusoïdal de
 * basse fréquence afin de produire un effet trémolo.
 *  Utilisation de la bibliothèque Mozzi
 * https://sensorium.github.io/Mozzi/
 
 Plus d'infos:
 https://electroniqueamateur.blogspot.com/2019/04/synthese-sonore-avec-mozzi-et-arduino-1.html
 
 *
 *******************************************************************************/

#include <MozziGuts.h>
#include <Oscil.h> 
#include <tables/sin2048_int8.h>

// création de 2 oscillateurs
Oscil <SIN2048_NUM_CELLS, AUDIO_RATE> leSon(SIN2048_DATA);  // le son de base (haute fréquence)
Oscil <SIN2048_NUM_CELLS, AUDIO_RATE> leTremolo(SIN2048_DATA); // oscillateur de basse fréquence

#define CONTROL_RATE 64 

void setup(){
  startMozzi(CONTROL_RATE); 
  leSon.setFreq(440); // fréquence du son: 440 Hz
  leTremolo.setFreq(16); // fréquence du trémolo 16 Hz
}

void updateControl(){

}

int updateAudio(){
  return (int) (leTremolo.next() * leSon.next()) >> 8; 
}

void loop(){
  audioHook(); 
}