<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Verdana;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.xmsonormal, li.xmsonormal, div.xmsonormal
        {mso-style-name:x_msonormal;
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.E-MailFormatvorlage22
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="DE" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">Hi!<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">Yes, the Rigol, Siglent and maybe other scopes nowadays have the I2C decoding option installed.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">For the keysight MSO scopes this option can be added – from time to time they offer a cheaper option pack with all option for the price of 3 or 4 options.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">A nice I2C analyzing option have the Saleae Logic 8 and others (and even the cheap clones on Amazon).<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">Their software is very intuitive to handle!<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">Ciao<br>
Peter<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b>Von:</b> Synth-diy <synth-diy-bounces@synth-diy.org> <b>Im Auftrag von
</b>Randy Dawson<br>
<b>Gesendet:</b> Freitag, 20. März 2020 08:33<br>
<b>An:</b> Dave Brown <davebr@modularsynthesis.com>; synth-diy@synth-diy.org<br>
<b>Betreff:</b> Re: [sdiy] MIDI I/O c code..<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black">Hi Dave,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black">Thats a really good tip to use the I2C decoding feature on the Tek.  I imagine by now its standard feature on the uhhh, clone Rigol scopes.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black">A look at basic circular buffer interrupt structure may help:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black">Buffer of length x is assigned;<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black">head and tail pointers to buffer are equal;<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black">Interrupt driven code is input from serial to buffer, moving head buffer and tail pointer +1 and storing new data;<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black">application reads from tail buffer pointer, non interrupt driven,  at its own speed, decrements tail pointer;<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black">Modulo buffer len math on the pointers, these two buffer pointers chase each other as interrupts and application run.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black">Randy<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:12.0pt;color:black"><o:p> </o:p></span></p>
</div>
<div class="MsoNormal" align="center" style="text-align:center">
<hr size="2" width="98%" align="center">
</div>
<div id="divRplyFwdMsg">
<p class="MsoNormal"><b><span style="color:black">From:</span></b><span style="color:black"> Synth-diy <<a href="mailto:synth-diy-bounces@synth-diy.org">synth-diy-bounces@synth-diy.org</a>> on behalf of Dave Brown <<a href="mailto:davebr@modularsynthesis.com">davebr@modularsynthesis.com</a>><br>
<b>Sent:</b> Thursday, March 19, 2020 11:13 PM<br>
<b>To:</b> <a href="mailto:synth-diy@synth-diy.org">synth-diy@synth-diy.org</a> <<a href="mailto:synth-diy@synth-diy.org">synth-diy@synth-diy.org</a>><br>
<b>Subject:</b> Re: [sdiy] MIDI I/O c code..</span> <o:p></o:p></p>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="xmsonormal"><span lang="EN-US" style="color:#1F497D">In 2005 I wrote a MIDI processing program to do minor manipulation such as transposing notes, changing CC messages, etc. I did it in assembly in an 8 MHZ ATTINY2313. Receive and transmit are interrupt
 driven out of 32 byte buffers each. It handles running status and can filter out some of the real time messages. It will take everything I can throw at it with two hands on the keyboard. It is highly optimized assembly but I suspect your issue is not emptying
 the buffers fast enough.</span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
<p class="xmsonormal"><span lang="EN-US" style="color:#1F497D"> </span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
<p class="xmsonormal"><span lang="EN-US" style="color:#1F497D">I also run this same code on a 16 MHz Basic Stamp which does have I2C D/As which do take some time so care has to be taken. The same code on an Arduino runs about 4.5X faster because the I2C is
 handled in hardware whereas on the Basic Stamp it is done in software.</span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
<p class="xmsonormal"><span lang="EN-US" style="color:#1F497D"> </span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
<p class="xmsonormal"><span lang="EN-US" style="color:#1F497D">I found my Tektronix scope with I2C decoding capability invaluable in seeing where my bottlenecks were in all the communications. Even without that capability I would often use an external pin to
 create timing signals so I could accurately measure code execution. But I’m a hw guy by nature.</span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
<p class="xmsonormal"><span lang="EN-US" style="color:#1F497D"> </span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
<p class="xmsonormal"><span lang="EN-US" style="color:#1F497D">FYI</span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
<p class="xmsonormal"><span lang="EN-US" style="color:#1F497D"><br>
Dave</span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
<p class="xmsonormal"><span lang="EN-US" style="color:#1F497D"> </span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt">
<div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt">
<div>
<div>
<p class="xmsonormal"><b><span lang="FR" style="font-size:10.0pt;font-family:"Tahoma",sans-serif">De :</span></b><span lang="FR" style="font-size:10.0pt;font-family:"Tahoma",sans-serif"> dougall [mailto:<a href="mailto:dougalli@gmail.com" target="_blank">dougalli@gmail.com</a>]
<br>
<b>Envoyé :</b> 19 mars 2020 21:06<br>
<b>À :</b> <a href="mailto:eidorian@aladan.net" target="_blank">eidorian@aladan.net</a><br>
<b>Cc :</b> Jean-Pierre Desrochers; <a href="mailto:Synth-diy@synth-diy.org" target="_blank">
Synth-diy@synth-diy.org</a><br>
<b>Objet :</b> Re: [sdiy] MIDI I/O c code..</span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
<div>
<p class="xmsonormal"><span lang="FR-CA" style="font-size:12.0pt;font-family:"Times New Roman",serif"> Are you handling running status and note off sent as zero velocity note on?</span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
<div>
<p class="xmsonormal"><span lang="FR-CA" style="font-size:12.0pt;font-family:"Times New Roman",serif"> -d</span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<p class="xmsonormal"><span lang="FR-CA" style="font-size:12.0pt;font-family:"Times New Roman",serif"> On Fri, 20 Mar 2020 at 11:55, <<a href="mailto:eidorian@aladan.net" target="_blank">eidorian@aladan.net</a>> wrote:</span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt">
<div>
<p><span lang="FR-CA" style="font-size:10.0pt;font-family:"Verdana",sans-serif">Sorry, I don't have example code for you, but here is some analysis that I hope might help point you in the right direction:</span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
<p><span lang="FR-CA" style="font-size:10.0pt;font-family:"Verdana",sans-serif">20MHz / 31,250Hz => ~640 instructions per MIDI data bit, or 6,400 instructions per MIDI data byte.  That's quite a lot of instruction execution time between notes, so I'd be checking
 the efficiency/optimisation of the code.</span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
<p><span lang="FR-CA" style="font-size:10.0pt;font-family:"Verdana",sans-serif">How long is it taking to update the analog outputs and do other processing?  If it's updating all 8 CVs via a "slow" protocol like I2C every time it loops then that might be taking
 a while, and maybe you need a different approach (i.e. only update a CV output when it changes).</span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
<p><span lang="FR-CA" style="font-size:10.0pt;font-family:"Verdana",sans-serif">How have you implemented the FIFO?  Do you have locking to ensure the interrupt isn't writing to it while the main loop is updating it?</span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
<p><span lang="FR-CA" style="font-size:10.0pt;font-family:"Verdana",sans-serif">Create a debug version that has checks on the FIFO size in the interrupt, and sets an LED on if it overflows, so you can confirm for certainly whether or not that's the problem.</span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
<p><span lang="FR-CA" style="font-size:10.0pt;font-family:"Verdana",sans-serif">What I do (with 30+ years of programming experience) is pretend I'm the CPU, and "execute" the code in my head (or on paper if complex) in order to try to work out what unplanned
 or unexpected things might be happening to cause the problematic behaviour.</span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
<p><span lang="FR-CA" style="font-size:10.0pt;font-family:"Verdana",sans-serif">Cheers,<br>
A.</span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
<div id="x_m_-1322366504434334221gmail-m_5822220122528591338signature">
<p class="xmsonormal"><span lang="FR-CA" style="font-size:10.0pt;font-family:"Verdana",sans-serif">---</span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
<div>
<p class="xmsonormal"><span lang="FR-CA" style="font-size:10.0pt;font-family:"Courier New""> </span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
</div>
</div>
<p><span lang="FR-CA" style="font-size:10.0pt;font-family:"Verdana",sans-serif"> </span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
<p id="x_m_-1322366504434334221gmail-m_5822220122528591338reply-intro"><span lang="FR-CA" style="font-size:10.0pt;font-family:"Verdana",sans-serif">On 20-03-2020 11:14, Jean-Pierre Desrochers wrote:</span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
<blockquote style="border:none;border-left:solid #1010FF 1.5pt;padding:0cm 0cm 0cm 5.0pt;margin-left:0cm;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt">
<blockquote style="border:none;border-left:solid #1010FF 1.5pt;padding:0cm 0cm 0cm 5.0pt;margin-left:0cm;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt">
<div>
<p class="xmsonormal"><span lang="FR-CA" style="font-size:10.0pt;font-family:"Verdana",sans-serif"> </span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
</div>
</blockquote>
</blockquote>
<blockquote style="border:none;border-left:solid #1010FF 1.5pt;padding:0cm 0cm 0cm 5.0pt;margin-left:0cm;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt">
<div id="x_m_-1322366504434334221gmail-m_5822220122528591338replybody1">
<div>
<div>
<p><span lang="FR-CA" style="font-size:10.0pt;font-family:"Verdana",sans-serif">I’m working on a new polyphonic MIDI to CV module (8 voices).</span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
<p><span lang="FR-CA" style="font-size:10.0pt;font-family:"Verdana",sans-serif">So far I did my tests with an old PIC16F887 @ 20Mhz micro I had on hand.</span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
<p><span lang="FR-CA" style="font-size:10.0pt;font-family:"Verdana",sans-serif">I use a USART interrupt driven c function to ‘catch’ all the incoming MIDI bytes.</span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
<p><span lang="FR-CA" style="font-size:10.0pt;font-family:"Verdana",sans-serif">My code is pretty fast, but still, since I only read one MIDI channel (1-16) at the time
<br>
when I play very fast chords on an external keyboard</span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
<p><span lang="FR-CA" style="font-size:10.0pt;font-family:"Verdana",sans-serif">all the notes are read in the incoming queue but sometimes</span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
<p><span lang="FR-CA" style="font-size:10.0pt;font-family:"Verdana",sans-serif">I get stuck notes or unread ones..</span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
<p><span lang="FR-CA" style="font-size:10.0pt;font-family:"Verdana",sans-serif">Same thing happens when playing MIDI files on Cakewalk SONAR
<br>
feeding my prototype with  a MIDI cable.<br>
The interrupt function grabs each incoming byte and put them</span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
<p><span lang="FR-CA" style="font-size:10.0pt;font-family:"Verdana",sans-serif">In a receive buffer of 32 bytes and the main () reads and treats them in a FIFO manner</span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
<p><span lang="FR-CA" style="font-size:10.0pt;font-family:"Verdana",sans-serif">Later in the main loop.</span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
<p><span lang="FR-CA" style="font-size:10.0pt;font-family:"Verdana",sans-serif"> </span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
<p><em><span lang="FR-CA" style="font-size:12.0pt;font-family:"Verdana",sans-serif">-Would a 32Mhz micro do a difference in the USART interrupt reading speed ?</span></em><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
<p><em><span lang="FR-CA" style="font-size:12.0pt;font-family:"Verdana",sans-serif">-And is 32 bytes long enough for the RxBuffer to handle a 6 voices chords ?</span></em><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
<p><em><span lang="FR-CA" style="font-size:12.0pt;font-family:"Verdana",sans-serif">-And finaly I checked the web for a ‘decent’ C code examples</span></em><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
<p><em><span lang="FR-CA" style="font-size:12.0pt;font-family:"Verdana",sans-serif">  for MIDI reception (MIDI Tx is much easier to implement) with no success..</span></em><i><span lang="FR-CA" style="font-size:12.0pt;font-family:"Verdana",sans-serif"><br>
<em><span style="font-family:"Verdana",sans-serif">  ‘Obscure’ Arduino libraries all around with no explainations of its inner code.</span></em></span></i><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
<p><span lang="FR-CA" style="font-size:10.0pt;font-family:"Verdana",sans-serif"> </span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
<p><span lang="FR-CA" style="font-size:10.0pt;font-family:"Verdana",sans-serif">Did anybody use good C code available ?</span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
<p><span lang="FR-CA" style="font-size:10.0pt;font-family:"Verdana",sans-serif">JP</span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
<p><span lang="FR-CA" style="font-size:10.0pt;font-family:"Verdana",sans-serif"> </span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
<p><span lang="FR-CA" style="font-size:10.0pt;font-family:"Verdana",sans-serif"><a href="mailto:Synth-diy@synth-diy.org" target="_blank">Synth-diy@synth-diy.org</a></span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
</div>
</div>
</div>
<p class="xmsonormal"><span lang="FR-CA" style="font-size:10.0pt;font-family:"Verdana",sans-serif"> </span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
<div>
<p class="xmsonormal"><span lang="FR-CA" style="font-size:10.0pt;font-family:"Courier New"">_______________________________________________<br>
Synth-diy mailing list<br>
<a href="mailto:Synth-diy@synth-diy.org" target="_blank">Synth-diy@synth-diy.org</a><br>
<a href="http://synth-diy.org/mailman/listinfo/synth-diy" target="_blank">http://synth-diy.org/mailman/listinfo/synth-diy</a></span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
</div>
</blockquote>
</div>
<p class="xmsonormal"><span lang="FR-CA" style="font-size:12.0pt;font-family:"Times New Roman",serif">_______________________________________________<br>
Synth-diy mailing list<br>
<a href="mailto:Synth-diy@synth-diy.org" target="_blank">Synth-diy@synth-diy.org</a><br>
<a href="http://synth-diy.org/mailman/listinfo/synth-diy" target="_blank">http://synth-diy.org/mailman/listinfo/synth-diy</a></span><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p></o:p></span></p>
</blockquote>
</div>
</div>
</div>
<p class="xmsonormal"><span lang="EN-US" style="font-size:12.0pt;font-family:"Times New Roman",serif">_______________________________________________<br>
Synth-diy mailing list<br>
<a href="mailto:Synth-diy@synth-diy.org" target="_blank">Synth-diy@synth-diy.org</a><br>
<a href="http://synth-diy.org/mailman/listinfo/synth-diy" target="_blank">http://synth-diy.org/mailman/listinfo/synth-diy</a><o:p></o:p></span></p>
</blockquote>
</div>
</div>
</div>
</div>
</div>
</div>
<span style="font-size: 9px;"><br>
<br>
<br>
The information contained in this e-mail message is privileged and confidential and is for the exclusive use of the addressee. The person who receives this message and who is not the addressee, one of his employees or an agent entitled to hand it over to the
 addressee, is informed that he may not use, disclose or reproduce the contents thereof, and is kindly asked to notify the sender and delete the e-mail
<span style="font-size: 11px;"></span>immediately.<br>
<br>
</span>
</body>
</html>