<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">If you’re *quantizing* you can get away with less resolution, because you only need to know what *note* it was supposed to be, not the exact pitch. That means in theory you could cover the whole MIDI range with a 7-bit ADC. Of course, in practice, that’s not that realistic, but you can see how a 10-bit ADC could do the job quite reasonably. As you rightly point out, linearity is important, but with 10-bit linearity of even +/-2LSB, you still have more than enough resolution for quantising. Just not for anything else!<div class=""><br class=""><div class=""><br class=""></div><div class="">Rick Holt and I worked on a quantizer module that used the PIC’s ADC for the input over a several-octave range (sorry, can’t remember exactly any more - five. maybe) and used two PWM channels for the output. Ordinarily PWM is much too coarse and slow for a CV DAC with the filtering that is required, but given two channels, we had one that covered octaves 0-7 (of which we only used some) and with 3-bit PWM, the output frequency was in the 100s-KHz range, which makes the filtering easy. The other channel covered the semitone offset, so was set up as 4-bit, still in the 100s-KHz range. So we had a very cheap, very fast, very linear way of producing accurate Note CVs over many octave. The trimming was similarly pretty simple, since the octave range and the semitone range were independent. Just so long as you don’t need pitch bend or modulation!!</div><div class=""><br class=""></div><div class="">But now I’m straying into the DAC end, and you were really asking about the ADC end.</div><div class=""><br class=""><div class="">Tom</div><div class=""><br class=""><div class="">
<div>==================<br class=""> Electric Druid<br class="">Synth & Stompbox DIY<br class="">==================</div><div class=""><br class=""></div><br class="Apple-interchange-newline">
</div>
<div><br class=""><blockquote type="cite" class=""><div class="">On 29 Jan 2021, at 21:04, Jean-Pierre Desrochers <<a href="mailto:jpdesroc@oricom.ca" class="">jpdesroc@oricom.ca</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="WordSection1" style="page: WordSection1; caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">You are right Tom..<o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="EN-CA" class="">I'm looking now for at least 14bits ADC.. 16 bits will probably be.<o:p class=""></o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="EN-CA" class="">12 bits DAC's should be fine.<o:p class=""></o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="EN-CA" class="">Maxim MX7705EPE+ 16 bits ADC could do (I think).<o:p class=""></o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="EN-CA" class=""><o:p class=""> </o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="EN-CA" class="">As a note here:<o:p class=""></o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="EN-CA" class="">I saw that<span class="Apple-converted-space"> </span><a href="http://synthesizers.com/" style="color: purple; text-decoration: underline;" class="">synthesizers.com</a><span class="Apple-converted-space"> </span>has a quantizer module Q171<br class="">that uses ADC/DAC process on incoming CV’s.<o:p class=""></o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="EN-CA" class="">Here are the specs:<o:p class=""></o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="EN-CA" class=""><o:p class=""> </o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><u class=""><span lang="EN-CA" style="font-size: 12pt;" class="">Specifications:<o:p class=""></o:p></span></u></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="EN-CA" style="font-size: 12pt;" class="">Panel Size: Single width 2.125"w x 8.75"h.<o:p class=""></o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="EN-CA" style="font-size: 12pt;" class="">Quantization Method: Processor controlled ADC/DAC.<o:p class=""></o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><b class=""><span lang="EN-CA" style="font-size: 12pt;" class="">ADC Inputs: 10-bit with precision buffer/scaler.<o:p class=""></o:p></span></b></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><b class=""><span lang="EN-CA" style="font-size: 12pt;" class="">DAC Outputs: 12-bit with precision buffer/scaler.<o:p class=""></o:p></span></b></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="EN-CA" style="font-size: 12pt;" class="">Gate Inputs: 0-5V minimum, rising edge.<o:p class=""></o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="EN-CA" style="font-size: 12pt;" class="">Gate Outputs: 0-5V, 5ms on, 2ms minimum off.<o:p class=""></o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="EN-CA" style="font-size: 12pt;" class="">Power: +15V@30ma, -15V@30ma, +5V@50ma.<o:p class=""></o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="EN-CA" class=""><a href="https://www.synthesizers.com/products/q171/q171data.pdf" style="color: purple; text-decoration: underline;" class="">https://www.synthesizers.com/products/q171/q171data.pdf</a><o:p class=""></o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="EN-CA" class=""><br class="">The CV inputs are fed to precision opamps OPA4277<br class="">then routed to a micro MEGA644P’s internal 10 bits ADC.<o:p class=""></o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="EN-CA" class="">The CV outputs are from 12bits DAC’s LTC1448.<o:p class=""></o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="EN-CA" class=""><br class="">So… I’ve not tried this module but assumes it works correctly<br class="">using a micro’s internal 10bits ADC and an external 12bits DAC.. ??<o:p class=""></o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="EN-CA" class=""><o:p class=""> </o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="EN-CA" class="">Hmmm.<o:p class=""></o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="EN-CA" class=""><o:p class=""> </o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="EN-CA" class=""><o:p class=""> </o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span lang="FR" class="">-----Message d'origine-----<br class="">De : Tom Wiltshire [<a href="mailto:tom@electricdruid.net" class="">mailto:tom@electricdruid.net</a>]<span class="Apple-converted-space"> </span><br class="">Envoyé : 29 janvier 2021 15:37<br class="">À : Jean-Pierre Desrochers<br class="">Cc : SYNTH DIY<br class="">Objet : Re: [sdiy] CV/Gate delay project..</span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><o:p class=""> </o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">I think you’ve answered your own question:<o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><o:p class=""> </o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">> around 10 steps between each semi-tone.<o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><o:p class=""> </o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">That’s 10 cents, clearly audible. E.g. Not good enough.<o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><o:p class=""> </o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">Tom<o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><o:p class=""> </o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">==================<o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""> <span class="Apple-converted-space"> </span>Electric Druid<o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">Synth & Stompbox DIY<o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">==================<o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><o:p class=""> </o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><o:p class=""> </o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class=""><o:p class=""> </o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">> On 29 Jan 2021, at 16:28, Jean-Pierre Desrochers <<a href="mailto:jpdesroc@oricom.ca" style="color: purple; text-decoration: underline;" class=""><span style="color: windowtext; text-decoration: none;" class="">jpdesroc@oricom.ca</span></a>> wrote:<o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">><span class="Apple-converted-space"> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">> Hi list,<o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">><span class="Apple-converted-space"> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">> I'm working on a new module for my DOTCOM modular.<o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">> It would memorize incoming CV's and Gate's state for 2msec up to 10sec<span class="Apple-converted-space"> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">> then spit the stream in steps of 1msec.<o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">> The code for Gate memorizing is done.<o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">> I'm now wondering if using a Microchip PIC 10bits ADC is linear enough<span class="Apple-converted-space"> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">> to read incoming CV values (0 to 8vdc)...<o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">> There will be an input buffer amplifier that will take care of taking<span class="Apple-converted-space"> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">> down the 0to8vdc to 0to5vdc for the PIC.<o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">> Incoming CV's 0-8vdc, 12 semitones/octaves.. that makes 1024 / (8 x 12)..<o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">> around 10 steps between each semi-tones.<o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">> My worry is the PIC ADC linearity precision..<o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">> The 10bits memorized values will be output using a 12bits SPI DAC.<o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">> I have a bunch of old PIC16F88 that I want to utilize here.<o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">> Old but still usable for SPI.<o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">> What do you think about PIC's ADC linearity wise ?<o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">><span class="Apple-converted-space"> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">> JP<o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">><span class="Apple-converted-space"> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">> _______________________________________________<o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">> Synth-diy mailing list<o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">><span class="Apple-converted-space"> </span><a href="mailto:Synth-diy@synth-diy.org" style="color: purple; text-decoration: underline;" class=""><span style="color: windowtext; text-decoration: none;" class="">Synth-diy@synth-diy.org</span></a><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">><span class="Apple-converted-space"> </span><a href="http://synth-diy.org/mailman/listinfo/synth-diy" style="color: purple; text-decoration: underline;" class=""><span style="color: windowtext; text-decoration: none;" class="">http://synth-diy.org/mailman/listinfo/synth-diy</span></a><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" class="">> Selling or trading? Use<span class="Apple-converted-space"> </span><a href="mailto:marketplace@synth-diy.org" style="color: purple; text-decoration: underline;" class=""><span style="color: windowtext; text-decoration: none;" class="">marketplace@synth-diy.org</span></a></div></div></div></blockquote></div><br class=""></div></div></div></body></html>