<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;background-color:#FFFFFF;font-family:Calibri,Arial,Helvetica,sans-serif;">
<p><br>
</p>
<br>
<p>anders wrote...<br>
</p>
<div style="color: rgb(0, 0, 0);">
<div class="PlainText"><br>
You can take the body of each of your two with-sound calls and place<br>
within one single with-sound:<br>
<br>
(let ((var '())<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (aaa (make-heap '(360 800.345 1200 600)))&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;freq<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (bbb (make-cycle '(1 1 .75 .25 .20 .15 .10 .10 .10 .10))) ;dur<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (ccc (make-heap '(241 840.345 1000 960 500)))&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;freq<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (ddd (make-cycle '(.2 1.25 .75 .25 .20 .15 .10 .10 .50 .10 .50))) ;dur<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br>
&nbsp; (with-sound (:reverb nrev :output &quot;Test1.wav&quot; :srate 48000 :channels 2&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :header-type mus-riff :statistics #t :play #t)<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;; BODY OF CALL 1:<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (let ((i 0))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (do ((k 0 (&#43; k 1)))&nbsp; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ((&gt;= k 25))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (let ((v (next bbb)))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (examp1 i v (next aaa) .3)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (set! i (&#43; (round-off i 2) v)))))<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;; BODY OF CALL 2:<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (let ((j 1))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (do ((k 0 (&#43; k 1)))&nbsp; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ((&gt;= k 25))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (let ((v (next ddd)))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (examp2 j v (next ccc) .1)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (set! j (&#43; (round-off j 2) v)))))))<br>
<br>
I'm 100% sure what you want to do is possible.&nbsp; If the above doesn't<br>
come close, please try to be more explicit as to what you want to<br>
achieve, perhaps detail in words.<br>
<br>
Cheers,<br>
<br>
-anders<br>
<br>
------------------------------<br>
<br>
Hi,<br>
Yes, this is coming along better now.&nbsp; Bill gave me a couple of pointers too.<br>
I'm finding myself using Snd more for help with composing than audio editing these days,<br>
but takes a while to get used to scheme.<br>
<br>
Regards,<br>
Jim<br>
<br>
(load &quot;/opt/snd-16/CM_patterns.scm&quot;)<br>
<br>
(define (round-off z n)<br>
&nbsp; (let ((power (expt 10 n)))<br>
&nbsp;&nbsp;&nbsp; (/ (round (* power z)) power)))<br>
<br>
(definstrument (examp1 start-time duration frequency amplitude)<br>
(let* ((beg (seconds-&gt;samples start-time))<br>
(end (&#43; beg (seconds-&gt;samples duration)))<br>
(sine-wave (make-oscil :frequency frequency)))<br>
(do ((i beg (&#43; i 1)))<br>
((= i end))<br>
(let ((x (* amplitude (oscil sine-wave))))<br>
(outa i x)<br>
(outb i x)))))<br>
<br>
(definstrument (examp2 start-time duration frequency amplitude)<br>
(let* ((beg (seconds-&gt;samples start-time))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (end (&#43; beg (seconds-&gt;samples duration)))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (gen (make-polywave :frequency frequency :partials '(1 1.69 3 5))))<br>
(do ((i beg (&#43; i 1)))<br>
&nbsp;&nbsp;&nbsp; ((= i end))<br>
(let ((x (* amplitude (polywave gen))))<br>
(outa i x)<br>
(outb i x) ))))<br>
<br>
(let ((aaa (make-heap '(360 800.345 1200 600))) ;freqs<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (bbb (make-cycle '(1 1 .75 .25 .20 .15 .10 .10 .10 .10))) ;durs<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (ccc (make-heap '(500 440 880 1620 591.23))) ;freqs<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (ddd '(600 700 800 900) ) ;just freqs, no pattern<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (eee (make-cycle '(.2 1.25 .75 .25 .20 .15 .10 .10 .50 .10 .50))) ;durs<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (var1 '() )<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (var2 '() )<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (set! var1 (append (next aaa #t) (next ccc #t) ))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (set! var2 (append var1 ddd) )<br>
&nbsp;&nbsp; (let ((var3 (make-heap var1))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (var4 (make-heap var2))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br>
(with-sound (:reverb nrev :output &quot;/home/test.wav&quot; :srate 48000 :channels 2&nbsp; &nbsp;<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :header-type mus-riff :statistics #t :play #t)<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; (let ((i 0))<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; (do ((k 0 (&#43; k 1))) &nbsp;<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ((&gt;= k 4))<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (let ((v (next bbb)))<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (examp1 i v (next var3) .3) <br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;(set! i (&#43; (round-off i 2) v))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ))) &nbsp;<br>
<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; (let ((j 4))<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; (do ((k 0 (&#43; k 1))) &nbsp;<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ((&gt;= k 15))<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (let ((v (next eee)))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (examp2 j v (next var4) .05)<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;(set! j (&#43; (round-off j 2) v))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ))) &nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )))&nbsp; ;;end of with-sound<br>
<br>
<br>
<br>
</div>
<div>
<hr tabindex="-1" style="display:inline-block; width:98%">
</div>
<font size="2"><span style="font-size:10pt;"></span></font></div>
</div>
</body>
</html>