// music for replicants X.T => dur M; M - (now % M) => now; M / 4 => dur T; // patch Gain g => X.out; VoicForm voc1=> g; VoicForm voc2=> g; VoicForm voc3=> g; 0.2 => voc1.gain => voc2.gain => voc3.gain; 0 => int phoneme; [[pitch.M, pitch.M+3, pitch.M+7], [ pitch.M+2, pitch.M+5, pitch.M+8], [ pitch.M, pitch.M+3, pitch.M+7], [ pitch.M+3, pitch.M+5, pitch.M+8], [ pitch.M-1, pitch.M+2, pitch.M+5], [ pitch.M-4, pitch.M, pitch.M+3], [ pitch.M-2, pitch.M+2, pitch.M+5]] @=> int chord[][]; while (true) { chord[pitch.C][0]=> Std.mtof => voc1.freq; chord[pitch.C][1]=> Std.mtof => voc2.freq; chord[pitch.C][2]=> Std.mtof => voc3.freq; Std.rand2(50,100) => phoneme; <<>>; voc1.phonemeNum(phoneme); voc2.phonemeNum(phoneme); voc3.phonemeNum(phoneme); M=> now; }