저는 악기 클래스와 playNote 함수 등을 사용하여 최소로 음악 시퀀서를 만드는 프로젝트를 시작했습니다. 하지만 나는 그들을 반복 할 방법이 없다.프로세싱에서 Minim 라이브러리로 기본 음악 시퀀서 만들기 - 루핑 문제
import ddf.minim.*;
import ddf.minim.ugens.*;
Minim minim;
AudioOutput out;
Delay myDelay;
int i;
int endSeq;
public void settings() {
size(800, 300, P2D);
}
void setup() {
minim = new Minim(this);
out = minim.getLineOut();
myDelay = new Delay(1.5,0.5, false,false);
bassSeq(); // starts bass sequence function
chordSeq(); // starts chord sequence function
}
void draw() {
}
을 그리고 여기에 전체베이스 순서를 설명 bassSeq 기능입니다 : 다음은 주요 코드는 내가 설정에서이 기능을 넣을 경우
void bassSeq(){
float[] stepArray = {0.00, 0.75, 2.00, 2.5, 2.75, 3.5, 4, 4.5};
float[] decayArray = {1.0, 0.5, 0.5, 0.5, 0.5, 0.2, 0.5, 1.0};
float[] noteArray = {C2, F2, E2, G2, B2, C2, C2, B2};
for (i = 0; i <= 7; i++){
out.pauseNotes();
out.setTempo(125);
out.playNote(stepArray[i], decayArray[i], new BassInstr(noteArray[i], 0.5, out));
out.resumeNotes();
}
}
문제는, 그들이 한 번만 재생합니다. 이상적으로는 i = 0의 시작 부분으로 돌아가서 하나의 루프를 마친 후에 배열의 시작 부분에서 악기에 시퀀스를 제공하기를 원합니다. 만약 드로잉 루프에 시퀀스 기능을 넣으면 인스트루먼트 노트가 놀라 울 정도 빨리 전송됩니다 (드로잉의 기본값 인 경우 약 60fps). 나는 실제로 시간이 지나면 음악을 반복하는 draw 루프에 delay() 함수를 넣었지만 완전히 지연된 숫자를 전달할 방법이 없으므로 정확하게 반복됩니다.
일부 도움을 주시면 감사하겠습니다.
크로스 포스트 사이를 연결하십시오. https://forum.processing.org/two/discussion/19217/making-a-basic-music-sequencer-with-minim –