Я начинаю все это. Моя цель - создать файл обработки, который при загрузке будет воспроизводить мелодию в течение 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 Вам повезет, если вы попробуете что-нибудь. Вы могли хранить заметки и длительность их кадров в массивах, или вы могли бы создать класс, который хранит эту информацию. Затем просто перейдите по этой структуре данных и проверьте длительность кадров, а затем запустите соответствующие заметки. Попробуйте что-нибудь и опубликуйте новый вопрос, если вы застряли. –