<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;font-family:Calibri,Arial,Helvetica,sans-serif;" dir="ltr">
<p><br>
</p>
<p>Hi,</p>
<p>I'm still struggling with this a bit.</p>
<p>I'm trying to understand more about float-vectors and output to be able to debug them.</p>
<p><br>
</p>
<p>How would you go about putting float-vector values on the output, or do they always need a generator of some sort?</p>
<p><br>
</p>
<p>&nbsp;&nbsp; ex. (I'm imagining) something like...<br>
</p>
<p><span>&nbsp;&nbsp;&nbsp; (map-channel (lambda (y) (myfloatvector)))</span></p>
<p><span>&nbsp;&nbsp; or</span></p>
<p><span>&nbsp;&nbsp; if snd object is already open</span></p>
<p><span>&nbsp;&nbsp; <span>&nbsp;(testme (channel-&gt;float-vector 0 fsize snd 0))</span></span></p>
<p><span><span>&nbsp;&nbsp; then</span></span></p>
<p><span><span>&nbsp;&nbsp;&nbsp; (map-channel (lambda (y) (testme)))<br>
</span></span></p>
<p><span><span>&nbsp;&nbsp; or open from a file...</span></span></p>
<p><span><span>&nbsp;&nbsp;&nbsp; (im (make-float-vector mysize))<br>
</span></span></p>
<p><span><span><span>&nbsp;&nbsp;&nbsp; (mus-sound-read &quot;test.wav&quot;&nbsp; 0 mysize 2 im)</span><br>
</span></span></p>
<p><span><span>&nbsp;&nbsp; then<br>
</span></span></p>
<p><span><span></p>
<div>&nbsp;&nbsp;&nbsp; (do ((i 0 (&#43; i 1)))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ((= i 22050))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (outa i (im)))<br>
&nbsp;&nbsp;&nbsp;&nbsp; <br>
</div>
I can't seem to find what I'm looking for in the documentation to work with just the numbers for freq, amp, and phase for testing as audio. &nbsp;I know that's a bit spartan, so seems I need to work thru a generator such as maybe use table lookup, for ex. then apply
 the vocoder.</span></span>
<p></p>
<p><span><span><br>
</span></span></p>
<p><span><span>Thank You,</span></span></p>
<p><span><span>Jim<br>
</span></span></p>
<p><span><span><br>
</span></span></p>
<p><span><span><br>
</span></span></p>
<p><span><span>&nbsp;&nbsp; </span></span><br>
</p>
<br>
<div style="color: rgb(0, 0, 0);">
<div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font style="font-size:11pt" face="Calibri, sans-serif" color="#000000"><b>From:</b> cmdist-bounces@ccrma.Stanford.EDU &lt;cmdist-bounces@ccrma.Stanford.EDU&gt; on behalf of cmdist-request@ccrma.Stanford.EDU &lt;cmdist-request@ccrma.Stanford.EDU&gt;<br>
<b>Sent:</b> Friday, May 26, 2017 7:00 PM<br>
<b>To:</b> cmdist@ccrma.Stanford.EDU<br>
<b>Subject:</b> Cmdist Digest, Vol 109, Issue 4</font>
<div>&nbsp;</div>
</div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">Send Cmdist mailing list submissions to<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cmdist@ccrma.stanford.edu<br>
<br>
To subscribe or unsubscribe via the World Wide Web, visit<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="https://cm-mail.stanford.edu/mailman/listinfo/cmdist" id="LPlnk283327" previewremoved="true">
https://cm-mail.stanford.edu/mailman/listinfo/cmdist</a>
<div id="LPBorder_GT_14975487664360.9343013930950658" style="margin-bottom: 20px; overflow: auto; width: 100%; text-indent: 0px;">
<table id="LPContainer_14975487664310.5464212351428696" style="width: 90%; background-color: rgb(255, 255, 255); position: relative; overflow: auto; padding-top: 20px; padding-bottom: 20px; margin-top: 20px; border-top: 1px dotted rgb(200, 200, 200); border-bottom: 1px dotted rgb(200, 200, 200);" role="presentation" cellspacing="0">
<tbody>
<tr style="border-spacing: 0px;" valign="top">
<td id="TextCell_14975487664320.009232182927341293" style="vertical-align: top; position: relative; padding: 0px; display: table-cell;" colspan="2">
<div id="LPRemovePreviewContainer_14975487664320.9415299086149554"></div>
<div id="LPTitle_14975487664320.912694532367825" style="top: 0px; color: rgb(0, 120, 215); font-weight: 400; font-size: 21px; font-family: &quot;wf_segoe-ui_light&quot;,&quot;Segoe UI Light&quot;,&quot;Segoe WP Light&quot;,&quot;Segoe UI&quot;,&quot;Segoe WP&quot;,Tahoma,Arial,sans-serif; line-height: 21px;">
<a id="LPUrlAnchor_14975487664330.174097580067049" style="text-decoration: none;" href="https://cm-mail.stanford.edu/mailman/listinfo/cmdist" target="_blank">Cmdist Info Page - Center for Computer Research in Music ...</a></div>
<div id="LPMetadata_14975487664340.9150916693344748" style="margin: 10px 0px 16px; color: rgb(102, 102, 102); font-weight: 400; font-family: &quot;wf_segoe-ui_normal&quot;,&quot;Segoe UI&quot;,&quot;Segoe WP&quot;,Tahoma,Arial,sans-serif; font-size: 14px; line-height: 14px;">
cm-mail.stanford.edu</div>
<div id="LPDescription_14975487664350.13505787458668017" style="display: block; color: rgb(102, 102, 102); font-weight: 400; font-family: &quot;wf_segoe-ui_normal&quot;,&quot;Segoe UI&quot;,&quot;Segoe WP&quot;,Tahoma,Arial,sans-serif; font-size: 14px; line-height: 20px; max-height: 100px; overflow: hidden;">
Common Music, Common Lisp Music, Common Music Notation and Snd mailing list. To see the collection of prior postings to the list, visit the Cmdist Archives.</div>
</td>
</tr>
</tbody>
</table>
</div>
<br>
or, via email, send a message with subject or body 'help' to<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cmdist-request@ccrma.stanford.edu<br>
<br>
You can reach the person managing the list at<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cmdist-owner@ccrma.stanford.edu<br>
<br>
When replying, please edit your Subject line so it is more specific<br>
than &quot;Re: Contents of Cmdist digest...&quot;<br>
<br>
<br>
Today's Topics:<br>
<br>
&nbsp;&nbsp; 1. make-pvocoder (James Hearon)<br>
&nbsp;&nbsp; 2. Re: make-pvocoder (bil@ccrma.Stanford.EDU)<br>
<br>
<br>
----------------------------------------------------------------------<br>
<br>
Message: 1<br>
Date: Thu, 25 May 2017 19:00:15 &#43;0000<br>
From: James Hearon &lt;j_hearon@hotmail.com&gt;<br>
To: &quot;cmdist@ccrma.Stanford.EDU&quot; &lt;cmdist@ccrma.Stanford.EDU&gt;<br>
Subject: [CM] make-pvocoder<br>
Message-ID:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;BN6PR1001MB206736A3CF55B6980475A01CE5FF0@BN6PR1001MB2067.namprd10.prod.outlook.com&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
Content-Type: text/plain; charset=&quot;iso-8859-1&quot;<br>
<br>
Hi,<br>
<br>
I'm working thru snd make-pvocoder, clm make-phase-vocoder trying to find more info on the analyze, edit, and synthesize methods, such as the one below the manual which shows a lambda func for the synthesis or resynthesis method.&nbsp; Most of what I've been able
 to find is based on a gen from readin of a file or input samples to access spectral data.&nbsp;&nbsp; I know this is a bit odd, but I was trying to create designer spectra, by filling empty vectors with various numbers etc, as opposed to getting the data from a readin
 generator.&nbsp; So far mine just sounds like noise, so I don't have it quite right.&nbsp; I'm wondering if I'm on the right track by using original vectors in the analyze, edit, and synthesize methods.&nbsp; Or maybe I should just be creating sound files using something
 like infinite sums, for example, and sticking with the readin generator to analyze those sounds?&nbsp; I've looked at at the moving-spectrum and pins insts too.<br>
<br>
<br>
Thank you,<br>
<br>
Jim<br>
<br>
(with-sound (:srate 22050 :statistics #t)<br>
&nbsp; (let ((pv (make-phase-vocoder<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (make-readin &quot;oboe.snd&quot;)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 512 4 128 1.0<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #f ; no change to analysis method<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #f ; no change to spectrum<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (lambda (gen) ; resynthesis function<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (float-vector-add! (phase-vocoder-amps gen) (phase-vocoder-amp-increments gen))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (float-vector-add! (phase-vocoder-phase-increments gen) (phase-vocoder-freqs gen))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (float-vector-add! (phase-vocoder-phases gen) (phase-vocoder-phase-increments gen))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (let ((sum 0.0)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (n (length (phase-vocoder-amps gen))))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (do ((k 0 (&#43; k 1)))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ((= k n))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (set! sum (&#43; sum (* (float-vector-ref (phase-vocoder-amps gen) k)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (sin (* 0.5 (float-vector-ref (phase-vocoder-phases gen) k)))))))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sum)))))<br>
&nbsp;&nbsp;&nbsp; (do ((i 0 (&#43; i 1)))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ((= i 44100))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (outa i (phase-vocoder pv)))))<br>
<br>
--------------------<br>
<br>
<br>
(with-sound (:reverb nrev :srate 48000 :channels 2 :header-type&nbsp; mus-riff :statistics #t :output &quot;/myTest.wav&quot; :play #t )<br>
&nbsp; (let* ((samps (* 2 (mus-sound-framples &quot;/Sample1.wav&quot;)))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (hop 512)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (jsampvec (make-float-vector hop))&nbsp; ;create empty vectors<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (jsampincvec (make-float-vector hop))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (jsfreqvec (make-float-vector hop))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (jsphasevec (make-float-vector hop))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (jsphaseincvec (make-float-vector hop))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (pv (make-phase-vocoder<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (make-readin &quot;/Sample1.wav&quot;)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 512 4&nbsp; 128&nbsp; 1.75&nbsp;&nbsp;&nbsp; ;fft-size, overlap, interp, pitch<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #f ; no change to analysis<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #f ; no change to edit<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (lambda (gen) ; *attempt resynthesis function*<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (do ((i 0 (&#43; i 1)))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ((= i hop))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (set! (jsampvec i) (mus-random .02) ) ;fill vectors with numbers<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (set! (jsampincvec i) (mus-random .05) )<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (set! (jsfreqvec i) (mus-random 500) )<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (set! (jsphasevec i) (mus-random 360) )<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (set! (jsphaseincvec i) (mus-random .02) )<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ) ;end do<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (float-vector-add! jsampvec jsampincvec)&nbsp; ;add the vectors<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (float-vector-add! jsphaseincvec&nbsp; jsfreqvec)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (float-vector-add! jsphasevec&nbsp; jsphaseincvec)<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (let ((sum 0.0)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (n hop))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (do ((k 0 (&#43; k 1)))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ((= k n))<br>
&nbsp;&nbsp; (set! sum (&#43; sum (* (jsampvec k)(sin (* 0.5 (jsphasevec k)))))) ;create waveform<br>
&nbsp;&nbsp;&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; sum)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )))<br>
&nbsp;&nbsp;&nbsp; (do ((i 0 (&#43; i 1)))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ((= i samps))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (outa i (* 4 (phase-vocoder pv)))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (outb i (* 4 (phase-vocoder pv)))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )))<br>
<br>
-------------- next part --------------<br>
An HTML attachment was scrubbed...<br>
URL: &lt;<a href="https://cm-mail.stanford.edu/mailman/private/cmdist/attachments/20170525/8c447611/attachment-0001.html" id="LPlnk902989" previewremoved="true">https://cm-mail.stanford.edu/mailman/private/cmdist/attachments/20170525/8c447611/attachment-0001.html</a>&gt;<br>
<br>
------------------------------<br>
<br>
Message: 2<br>
Date: Thu, 25 May 2017 14:40:33 -0700<br>
From: bil@ccrma.Stanford.EDU<br>
To: James Hearon &lt;j_hearon@hotmail.com&gt;<br>
Cc: &quot;cmdist@ccrma.Stanford.EDU&quot; &lt;cmdist@ccrma.Stanford.EDU&gt;<br>
Subject: Re: [CM] make-pvocoder<br>
Message-ID: &lt;6940b572444d077c52c1342ced6d1baf@ccrma.stanford.edu&gt;<br>
Content-Type: text/plain; charset=US-ASCII; format=flowed<br>
<br>
Your instrument fills all the vocoder arrays<br>
with noise, so you get noise as the output.<br>
Are you trying to do additive synthesis?<br>
<br>
<br>
<br>
------------------------------<br>
<br>
_______________________________________________<br>
Cmdist mailing list<br>
Cmdist@ccrma.stanford.edu<br>
<a href="https://cm-mail.stanford.edu/mailman/listinfo/cmdist" id="LPlnk740706" previewremoved="true">https://cm-mail.stanford.edu/mailman/listinfo/cmdist</a>
<div id="LPBorder_GT_14975488245080.6815237795994226" style="margin-bottom: 20px; overflow: auto; width: 100%; text-indent: 0px;">
<table id="LPContainer_14975488245000.4516606910598502" style="width: 90%; background-color: rgb(255, 255, 255); position: relative; overflow: auto; padding-top: 20px; padding-bottom: 20px; margin-top: 20px; border-top: 1px dotted rgb(200, 200, 200); border-bottom: 1px dotted rgb(200, 200, 200);" role="presentation" cellspacing="0">
<tbody>
<tr style="border-spacing: 0px;" valign="top">
<td id="TextCell_14975488245020.1714074722144865" style="vertical-align: top; position: relative; padding: 0px; display: table-cell;" colspan="2">
<div id="LPRemovePreviewContainer_14975488245030.19857277604731582"></div>
<div id="LPTitle_14975488245030.43573468643031654" style="top: 0px; color: rgb(0, 120, 215); font-weight: 400; font-size: 21px; font-family: &quot;wf_segoe-ui_light&quot;,&quot;Segoe UI Light&quot;,&quot;Segoe WP Light&quot;,&quot;Segoe UI&quot;,&quot;Segoe WP&quot;,Tahoma,Arial,sans-serif; line-height: 21px;">
<a id="LPUrlAnchor_14975488245050.9360755455177524" style="text-decoration: none;" href="https://cm-mail.stanford.edu/mailman/listinfo/cmdist" target="_blank">Cmdist Info Page - Center for Computer Research in Music ...</a></div>
<div id="LPMetadata_14975488245060.8971991546552376" style="margin: 10px 0px 16px; color: rgb(102, 102, 102); font-weight: 400; font-family: &quot;wf_segoe-ui_normal&quot;,&quot;Segoe UI&quot;,&quot;Segoe WP&quot;,Tahoma,Arial,sans-serif; font-size: 14px; line-height: 14px;">
cm-mail.stanford.edu</div>
<div id="LPDescription_14975488245070.030548090605756806" style="display: block; color: rgb(102, 102, 102); font-weight: 400; font-family: &quot;wf_segoe-ui_normal&quot;,&quot;Segoe UI&quot;,&quot;Segoe WP&quot;,Tahoma,Arial,sans-serif; font-size: 14px; line-height: 20px; max-height: 100px; overflow: hidden;">
Common Music, Common Lisp Music, Common Music Notation and Snd mailing list. To see the collection of prior postings to the list, visit the Cmdist Archives.</div>
</td>
</tr>
</tbody>
</table>
</div>
<br>
<br>
<br>
End of Cmdist Digest, Vol 109, Issue 4<br>
**************************************<br>
<br>
</div>
</span></font></div>
</div>
</body>
</html>