0
我是所有這些的初學者。我的目標是創建一個處理文件,在加載時會播放30秒鐘的旋律。旋律應該在序列中多次改變。處理中音頻的循環和音量增加
我期待循環我的outplaynotes
30秒。還有一種方法可以增加這些音符的音量嗎?我想在playnotes的頂部播放音頻樣本,但樣本比playnotes響得多。衡量它們的最佳方法是什麼,體積明智?
import ddf.minim.*;
import ddf.minim.ugens.*;
Minim minim;
AudioOutput out;
myDelay;
void setup() {
size(800, 300, P2D);
minim = new Minim(this);
out = minim.getLineOut();
myDelay = new Delay(1.5,0.5, false,false);
out.pauseNotes();
out.setTempo(240);
out.playNote(0.00, 1.0, new ToneInstrument(80, 0.5, out));
out.playNote(2.00, 0.5, new ToneInstrument(100, 0.5, out));
out.playNote(3.00, 0.5, new ToneInstrument(250, 0.5, out));
out.playNote(4.00, 1.0, new ToneInstrument(90, 0.5, out));
out.playNote(5.00, 1.0, new ToneInstrument(100, 0.5, out));
out.playNote(6.00, 0.5, new ToneInstrument(120, 0.5, out));
out.playNote(7.00, 0.5, new ToneInstrument(270, 0.5, out));
out.playNote(8.00, 1.0, new ToneInstrument(110, 0.5, out));
out.resumeNotes();
}
class ToneInstrument implements Instrument {
Oscil wave;
Damp damp;
ToneInstrument(float frequency, float amplitude, AudioOutput output) {
out = output;
wave = new Oscil(frequency, amplitude, Waves.TRIANGLE);
damp = new Damp(0.0001, 1.5);
wave.patch(damp);
wave.patch(myDelay);
}
void noteOn(float dur) {
damp.setDampTimeFromDuration(dur);
damp.activate();
damp.patch(out);
}
void noteOff() {
damp.unpatchAfterDamp(out);
}
}
void draw() {
}
我有16個playnotes,我怎樣才能把它們全部放在一起,幀數呢? – Ham
@Ham如果你嘗試一些東西,你會有更好的運氣。您可以將註釋和幀持續時間存儲在數組中,或者可以創建一個包含該信息的類。然後,只需遍歷該數據結構並檢查幀持續時間,然後觸發相應的註釋。如果您遇到問題,請嘗試一下併發布新問題。 –