<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=utf-8"><meta name=Generator content="Microsoft Word 14 (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:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 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:12.0pt;
        font-family:"Times New Roman","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.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Texte de bulles Car";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.apple-converted-space
        {mso-style-name:apple-converted-space;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.TextedebullesCar
        {mso-style-name:"Texte de bulles Car";
        mso-style-priority:99;
        mso-style-link:"Texte de bulles";
        font-family:"Tahoma","sans-serif";}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 70.85pt 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=FR-CA link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Sorry Richard but I lost you in many places<br>in your very detailed explanation..<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>So far I aim to use C scales only.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>To transpose to other keys I would just change the incoming CV’s offset<br>with semitones steps. Primitive way to do this but easy.<br><br><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Thanks anyway for your knowledge. <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>JP<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span lang=EN-CA style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>De :</span></b><span lang=EN-CA style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> Richard Wentk [mailto:richard@wentk.com] <br><b>Envoyé :</b> 6 juillet 2021 09:35<br><b>À :</b> Jean-Pierre Desrochers<br><b>Cc :</b> David G </span><span lang=FR style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>Dixon; SDIY<br><b>Objet :</b> Re: [sdiy] Quantizer project.. incoming CV's switching point to change to quantized output CV's ...<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I would ignore microtonal options because they’re impossible to set up and control on a device with a tiny panel, and hardly anyone uses them. <o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>So you get 12 steps -> oct with hysteresis on input, producing a numeric semitone + octave, through lookup tables which translate semitone + oct into various output scales. <o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Don’t forget scales should be transposable. If you have semitone + oct on input that’s easy with a bit of extra arithmetic.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>There are actually two kinds of transposition - modal and in-scale. <o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>You do one before the lookup table and one after.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Quantise -> modal transpose -> scale lookup -> scale root transpose. <o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>E.g. +n -> lookup to C Major -> +0 -> Various modes of major<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>You’re moving up and down a note range in the same scale with different lowest (‘root’) notes.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>+0 -> lookup to C Major -> +n -> Various major scales<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>You’re selecting different major scales<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Of course you can combine these options too. Voltage control of both separately is *very* useful for complex sequencing.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>This looks super-complicated, but if you use C scales only in your lookup you can select different roots/modes with the transpose options. <o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>So you don’t need separate lookup tables for C major, D major…. C Dorian, D Dorian.. and so on. Just one for each scale type, and a bit of logic to select the transpositions.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>This also works for “short” scales like Pentatonic, triads and other chord shapes, and so on.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Richard<o:p></o:p></p></div><div><p class=MsoNormal>. <o:p></o:p></p></div><div><div><p class=MsoNormal><br><br><o:p></o:p></p><div><p class=MsoNormal>On 6 Jul 2021, at 01:07, Jean-Pierre Desrochers <<a href="mailto:jpdesroc@oricom.ca">jpdesroc@oricom.ca</a>> wrote:<o:p></o:p></p></div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>This a very good point..</span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> </span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>And the<span class=apple-converted-space> </span>"equal voltage invervals between each note" approach<br>seems easier to implement in code using a lookup table with<br>a ‘definition’ for each scale..</span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>This approach will effectively give a scale the same ‘luck to be played’<br>for all of its notes. And is less picky on the threshold voltage precision.</span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> </span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>I’ll keep note of this. Thanks !</span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> </span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> </span><o:p></o:p></p></div><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'><div><p class=MsoNormal><b><span lang=FR style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>De :</span></b><span class=apple-converted-space><span lang=FR style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> </span></span><span lang=FR style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>David G Dixon [<a href="mailto:dixon@mail.ubc.ca">mailto:dixon@mail.ubc.ca</a>]<span class=apple-converted-space> </span><br><b>Envoyé :</b><span class=apple-converted-space> </span>5 juillet 2021 19:43<br><b>À :</b><span class=apple-converted-space> </span>'Jean-Pierre Desrochers'; 'SDIY'<br><b>Objet :</b><span class=apple-converted-space> </span>RE: [sdiy] Quantizer project.. incoming CV's switching point to change to quantized output CV's ...</span><o:p></o:p></p></div></div></div><div><p class=MsoNormal> <o:p></o:p></p></div><div><p class=MsoNormal><span style='font-family:"Calibri","sans-serif";color:#1F497D'>I don't know diddly-squat about code, but I've been working on an analog quantizer with logic for generating various scales, and I must say that I'm a strong advocate of the "equal voltage invervals between each note" approach.</span><o:p></o:p></p></div><div><p class=MsoNormal> <o:p></o:p></p></div><div><p class=MsoNormal><span style='font-family:"Calibri","sans-serif";color:#1F497D'>Of course, for the chromatic scale, this is a no-brainer: 83.33 mV per note.  However, if you want to quantize a major triad, I would use 333.33 mV per note.  For a major scale, 142.86 mV per note.  Et cetera.</span><o:p></o:p></p></div><div><p class=MsoNormal> <o:p></o:p></p></div><div><p class=MsoNormal><span style='font-family:"Calibri","sans-serif";color:#1F497D'>Why?  Because if you are running the scales or arpeggios by playing the quantizer with a triangle wave LFO, you will want each note to last for the same amount of time.  Any other approach will impose a rhythm that will favour notes that are farther away in pitch from the others.</span><o:p></o:p></p></div><div><p class=MsoNormal> <o:p></o:p></p></div><div><p class=MsoNormal><span style='font-family:"Calibri","sans-serif";color:#1F497D'>As usual, the right answer is the musical one, not the technical one.</span><o:p></o:p></p></div><div><p class=MsoNormal> <o:p></o:p></p></div><div class=MsoNormal align=center style='text-align:center'><span lang=EN-US><hr size=2 width="100%" align=center></span></div><p class=MsoNormal style='margin-bottom:12.0pt'><b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span class=apple-converted-space><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> </span></span><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>Synth-diy [<a href="mailto:synth-diy-bounces@synth-diy.org">mailto:synth-diy-bounces@synth-diy.org</a>]<span class=apple-converted-space> </span><b>On Behalf Of<span class=apple-converted-space> </span></b>Jean-Pierre Desrochers<br><b>Sent:</b><span class=apple-converted-space> </span>Sunday, July 04, 2021 10:35 AM<br><b>To:</b><span class=apple-converted-space> </span>'SDIY'<br><b>Subject:</b><span class=apple-converted-space> </span>[sdiy] Quantizer project.. incoming CV's switching point to change to quantized output CV's ...</span><o:p></o:p></p><table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 style='border-collapse:collapse'><tr><td style='padding:.75pt .75pt .75pt 0cm'><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Arial","sans-serif";background:#FFECB3'>[<strong><span style='font-family:"Arial","sans-serif"'>CAUTION:</span></strong><span class=apple-converted-space> </span>Non-UBC Email]</span><o:p></o:p></p></div></td></tr></table><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>I'm starting a CV quantizer design and am wondering</span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>about the following things:</span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> </span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Let's assume a normal quantized semi-tone scale:</span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>All the incoming CV's are quantized to semi-tones like this:</span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>incoming CV 'around' C, output quantized CV -> C</span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>incoming CV 'around' C#, output quantized CV -> C#</span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>incoming CV 'around' D, output quantized CV -> D</span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>and so on..</span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>12<span class=apple-converted-space> </span><u>equally spaced</u><span class=apple-converted-space> </span>output quantized intervals. OK.</span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> </span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>But if the quantized scale output is a TRIAD like</span><o:p></o:p></p></div><div><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>C-E-G-C-E-G-C, etc... ( 3 quantized intervals)</span><o:p></o:p></p></div><div><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> </span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>where are the switching bounderies of each incoming note CV's<span class=apple-converted-space> </span></span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>to change to the next outputed quantized note ?</span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>This question is for ascending and/or descending notes..</span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> </span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Same question for a quantized PENTATONIC major scale output like</span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>C-D#-F-G-A#-C-D#-F-G-A#-C, etc.. ( 5 quantized intervals)</span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> </span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>I would think of dividing the octave range with<span class=apple-converted-space> </span></span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>equal intervals with the number of intervals</span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>inside the actual quantized scale..</span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>For example:<span class=apple-converted-space> </span></span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>TRIAD C-E-G-C</span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>That's 3 intervals</span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>1 octave = 1 volt</span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>so 1volt/3 intervals = 0.333v between each quantized notes (??)</span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> </span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>or</span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> </span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>PENTATONIC major scale C-D#-F-G-A#-C</span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>That's 5 intervals</span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>1 octave = 1 volt</span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>so 1volt/5 intervals = 0.20v between each quantized notes (??)</span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> </span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>But... I don't think that is working this way..</span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>I think I must keep the incoming CV interval sizes</span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=EN-CA style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>and use them for the quantized switch points..<span class=apple-converted-space> </span></span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>(???)</span><o:p></o:p></p></div><div><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> </span><o:p></o:p></p></div><div><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Your opinion on that ??</span><o:p></o:p></p></div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Helvetica","sans-serif"'>_______________________________________________<br>Synth-diy mailing list<br><a href="mailto:Synth-diy@synth-diy.org">Synth-diy@synth-diy.org</a><br><a href="http://synth-diy.org/mailman/listinfo/synth-diy">http://synth-diy.org/mailman/listinfo/synth-diy</a><br>Selling or trading? Use <a href="mailto:marketplace@synth-diy.org">marketplace@synth-diy.org</a></span><o:p></o:p></p></div></div><p class=MsoNormal><o:p> </o:p></p></div></div></body></html>