Hi !
I have some problems converting SAOL+SASL to mp4-files which contain
samples.
When encoding the "claps" example ("claps.saol" and "claps.sasl", as
being attached to this mail) with SFRONT, during decoding, SAOLC detects
an error, saying that there is an
unknown symbol which should represent the included sample-name ( in the
attached example: "clap.aiff").
Does SFRONT include the sample incorrectly, or doesn´t SAOLC find the
right relation between the symbol and the referring sample included in
the mp4-file ?
Does anyone experienced the same porblems ?
The answer would be very usefull, because I want to write some
mp4-examples which use different sythesis methods for one audio result.
Therefore I would like to include some samples, aswell.
mareK
claps.saol:
----------
global {
srate 32000;
krate 400;
outchannels 2;
table oneclap(sample,-1,"clap.aiff");
route(rvb_bus,clap);
send(schroeder; 0.5; rvb_bus);
}
instr schroeder(rt) {
asig ap1, ap2;
asig c1, c2, c3, c4;
asig outL, outR;
ap1 = allpass(input, 0.0017, 0.7);
ap2 = allpass(ap1, 0.005, 0.7);
c1 = comb(ap2, 0.030, combgain(0.030, rt));
c2 = comb(ap2, 0.0343, combgain(0.0343, rt));
c3 = comb(ap2, 0.0393, combgain(0.0393, rt));
c4 = comb(ap2, 0.045, combgain(0.045, rt));
outL = (c1 + c2 + c3 + c4)/4;
outR = (c1 - c2 + c3 - c4)/4;
output(input + outL,input + outR);
}
instr clap(amp) {
ivar shift,outamp;
imports table oneclap;
//idump(amp);
shift = 1+irand(0.2);
outamp = amp*(1+irand(0.5))/3;
// output(doscil(oneclap) * amp);
output(doscil_shift(oneclap,shift,s_rate)*outamp);
}
instr multi_clap(num,amp,x) {
table delayt(random,20,3,0.01);
ksig ct,t,st;
//idump(0,0,0,num);
ct = 0;
if (!itime) {
while (ct < num) {
st = abs(tableread(delayt,ct));
instr clap(st,0.25,amp/2);
ct = ct + 1;
}
}
}
instr applause(pmax,amp,decay) {
// pmax is number of people scaled 0 (none) - 1 (full crowd)
ksig prn,kct,new,kphase[50],kinit,cur_ppl;
ivar pd[50],mppl,ct,klast;
mppl = pmax * 50;
while (ct < mppl) {
pd[ct] = ilinrand(1.5,3); // random periods
ct = ct + 1;
}
prn = kline(0,dur/5,pmax,dur-(dur/5+decay),pmax,decay,0);
if (prn > 0.4) {
// stochastic clapping texture
if (kpoissonrand(0.1/prn)) {
instr clap(0,0.1,amp/(kexprand(1)+0.8));
}
} else {
cur_ppl = prn * 50;
// model several people each clapping rhythmically
// i-time
// k-time
if (!kinit) { // random phases
kinit = 1;
while (kct < cur_ppl) {
kphase[kct] = klinrand(0,1);
kct = kct+1;
}
}
kct = 0;
while (kct < cur_ppl) {
kphase[kct] = kphase[kct] + 1/k_rate * pd[kct];
if (kphase[kct] > 1) {
kphase[kct] = kphase[kct] - 1;
instr clap(0,0.1,amp/(kexprand(1)+0.8));
}
kct = kct + 1;
}
}
}
aopcode doscil_shift(table t, ivar shift, ivar sr) {
asig idx,fl,cl,x1,x2;
idx = idx + (ftsr(t)*shift)/sr;
if (idx > ftlen(t)) { return(0); }
else { return(tableread(t,idx)); }
}
opcode combgain(xsig t, xsig rt) {
xsig temp;
temp = 1;
return(exp(log(10) * -3 * t / rt));
}
claps.sasl:
----------
0.00 clap 0.15 1
0.50 clap 0.15 1
1.00 clap 0.15 1
1.50 clap 0.15 1
2.00 clap 0.15 1
2.50 clap 0.15 1
3.00 clap 0.15 1
3.50 clap 0.15 1
4.00 clap 0.15 1
4.50 clap 0.15 1
5.00 clap 0.15 1
5.50 clap 0.15 1
6.00 clap 0.15 1
6.50 clap 0.15 1
7.00 clap 0.15 1
7.50 clap 0.15 1
8.00 clap 0.15 1
8.50 clap 0.15 1
9.00 clap 0.15 1
9.50 clap 0.15 1
10.00 clap 0.15 1
10.25 clap 0.15 1
10.50 clap 0.15 1
10.75 multi_clap 0.25 3 1
11.00 clap 0.15 1
11.25 clap 0.15 1
11.50 clap 0.15 1
11.75 multi_clap 0.25 5 1
12.00 clap 0.15 1
12.25 clap 0.15 1
12.50 multi_clap 0.25 7 1
12.75 multi_clap 0.25 9 1
13.00 clap 0.15 1
13.25 clap 0.15 1
13.50 multi_clap 0.25 9 1
13.75 clap 0.15 1
14.00 clap 0.15 1
14.25 multi_clap 0.25 7 1
14.50 clap 0.15 1
14.75 clap 0.15 1
15.00 clap 0.15 1
15.25 multi_clap 0.25 3 1
15.50 clap 0.15 1
15.75 multi_clap 0.25 7 1
16.00 clap 0.15 1
16.25 multi_clap 0.25 9 1
16.50 clap 0.15 1
16.75 multi_clap 0.25 7 1
16.875 multi_clap 0.25 4 1
17.00 multi_clap 0.25 4 1
17.25 clap 0.15 1
17.375 clap 0.15 1
17.50 multi_clap 0.25 7 1
17.75 multi_clap 0.25 9 1
18.15 multi_clap 0.35 9 1
19.00 end
error:
------
Line 6: Unknown symbol '_sym_44'.
) ;
referring to the line 6 of the temp-file:
global {
srate 32000 ;
krate 400 ;
outchannels 2 ;
table _sym_2 ( sample , - 1 , _sym_44 <- here´s the "unknown"
symbol...
) ;
route ( _sym_3 , _sym_0 ) ;
send ( _sym_4 ;
0.5 ;
_sym_3 ) ;
}
-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Internet: http://i.am/marek e-mailto:marek@bigfoot.de Tel.: +49 (0) 40 / 220 72 88 Fax-Box: +49 (0) 89 / 2443 22 487 (new!!) TUHH: +49 (0) 40 / 428 78 - 40 71 ICQ-#: 15375072 guestbook: http://www.guestbook.de/yasg.cgi?X=83297 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
This archive was generated by hypermail 2b29 : Wed May 10 2000 - 12:15:40 EDT