2013年05月25日

//一定時間でリニアに振幅減衰する正弦波

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

Oscil <SIN2048_NUM_CELLS, AUDIO_RATE> aSin(SIN2048_DATA);

unsigned char gain = 255;
//音量の変数を gain と名付け最大値255 に

void setup(){
    startMozzi(); // ()になにも入れない場合は初期値 64
    aSin.setFreq(440);
}

void updateControl(){
    gain = gain - 3 ;  //255 から 0 になるまで3減を繰り返す
}

int updateAudio(){
    return (aSin.next()* gain)>>8;
/*正弦波aSinに振幅増減値のgainをかける。 >>8は最大値255をかけるため、出力オーバーにならないよう2^8で割っておく(>>8)*/
}

void loop(){
    audioHook();


コメントする

名前
 
  絵文字