2013年05月24日

/*サンプルプレイバックも他の発振器と同じく、録音された音源をwavetableとしてループ再生します。*/

#include <MozziGuts.h>
#include <Sample.h> // Sample templateを使う
#include <samples/burroughs1_18649_int8.h>
#include <EventDelay.h>

#define CONTROL_RATE 64

Sample<BURROUGHS1_18649_NUM_CELLS, AUDIO_RATE>aSample(BURROUGHS1_18649_DATA);
/* burroughs1_18649_int8.hで代入された配列変数BURROUGHS1_18649_DATAの8bitデータをaSampleという変数に格納する。*/

EventDelay <CONTROL_RATE>  kTriggerDelay;
//1サンプルのデータをサンプルの時間長で繰り返すためのトリガー

void setup(){
    startMozzi(CONTROL_RATE);
    aSample.setFreq((float) BURROUGHS1_18649_SAMPLERATE /(float) BURROUGHS1_18649_NUM_CELLS);
//18649サンプルのデータをMozziのサンプルレート16384で再生されるよう修正

kTriggerDelay.set(1500);
// この音源の場合1500 msecの録音データなので、1.5秒毎にスタートするようトリガー設定
}

void updateControl(){
    if(kTriggerDelay.ready()){
        aSample.start();
        kTriggerDelay.start();
//1.5秒のトリガーでサンプルを再生
    }
}

int updateAudio(){
    return  aSample.next();
}

void loop(){
    audioHook();
}

コメントする

名前
 
  絵文字