目的
Processingで音源を加工して再生したかったのですが、普段使っているminimではできなかったのでBeadsというライブラリを使ってみました。
Processingの公式ページで紹介されてたので多分便利だと思います。
導入
Beads公式でProcessingのライブラリをDL。
その後Processingのライブラリフォルダに追加してProcessingを再起動。
コード
processing.pde
import beads.*;
import org.jaudiolibs.beads.*;
AudioContext ac;
SamplePlayer sp;
Gain sampleGain;
Glide rateValue;
void setup(){
size(500, 500);
ac = new AudioContext();
try{
sp = new SamplePlayer(ac, new Sample(sketchPath("") +"sound1.wav"));
rateValue = new Glide(ac, 0.8);
sp.setRate(rateValue);
rateValue = new Glide(ac, 1.5);
sp.setPitch(rateValue);
rateValue = new Glide(ac, 1.5);
sp.setValue(0.5);
sp.setLoopType(SamplePlayer.LoopType.LOOP_FORWARDS);
sp.setLoopType(SamplePlayer.LoopType.LOOP_FORWARDS);
sp.start();
sampleGain = new Gain(ac, 1);
sampleGain.addInput(sp);
ac.out.addInput(sampleGain);
ac.start();
}catch(Exception e){
println("Error");
}
}
void draw(){
}
解説
今回はsound1.wav
という音を加工している。
sound1.wav
はprocessing.pdeと同じ階層のディレクトリに配置している。
注意点としてはSamplePlayerの読み込み時にtry catchを書かなければならないこと。これを知らなくてかなり困ってた。
基本的な使い方はAudioContextを作成し、その中にSamplePlayerから作成したSampleGainを追加していく。
SamplePlayerの中でRate
, Pitch
, Value
, Loop
の値を編集することができる。