[sdiy] Sampler mode...
Andre Majorel
aym-htnys at teaser.fr
Tue Nov 18 18:52:45 CET 2008
On 2008-11-18 12:50 +0000, Seb Francis wrote:
> Andre Majorel wrote:
>>
>> Do you plan to quantise the start/end points to the nearest zero
>> crossing ?
>
> Well, I'm not sure. I'm going to have to experiment and see
> what works in practice. Certainly I will have to do either
> this, or provide a short fade in/out. Quantisation may not be
> a bad thing as it will reduce the effect of CV jitter caused by
> noisy ADC sampling.
In my experience, the effective resolution of a pot is on the
order of 350 positions so some form of quantisation will be
needed.
Simply dividing 1.5 s by 350 gives about 4 ms. At 100 Hz, an
entire cycle is 10 ms. 4 ms is way too coarse to get close to a
zero crossing other than by chance.
On the other hand, at 100 Hz, you get 150 rising zero crossings so
that looks like a good match.
The crossings might not be evenly distributed. If you have a burst
of noise somewhere, there will be lots of crossings around that
point. You wouldn't want the entire pot's rotation to cover the
first 10% of the sample...
Low-pass filtering will help in some cases but not all. If the
sample is, say, a wobulated square that never goes below 234 Hz,
there will be more than 350 crossings and no amount of filtering
will change that. A more robust approach might be to check whether
there are too many zero crossings and pick a subset that covers
the entire sample and is reasonably evenly-spaced. An interesting
problem...
>> Is looping meant to always loop from end point to start point ?
>> Eight points might be a little much but three points would come in
>> handy. I can see three switches :
>>
>> - LOOP : whether to loop after END
>>
>> - USE MID : point to return to after END (MID if true, START otherwise)
>>
>> - PING-PONG : if true, returning means playing the same range backward
>> and negated.
>
> Well yes, it does sound useful to be able to set the loop start
> independently from the playback start.
>
> I could add a CV for loop start point .. giving 3 position CVs:
> - Playback start
> - Playback end = loop end
> - Loop start
>
> If playback start > loop start then ignore loop start. Thus by
> setting the loop start to the minimum, the playback and loop
> start points can be controlled with a single CV.
Clever ! That would kind of eliminate the need for USE MID.
> Ping-pong might be interesting ... and sometimes it helps to
> loop samples that would otherwise be very glitchy.
> To avoid clicks it would have to be have to be aligned to
> zero-crossings as well as inverted polarity while reversing.
Er... Yes, that was more or less the whole point of it. <g>
--
André Majorel <URL:http://www.teaser.fr/~amajorel/>
More information about the Synth-diy
mailing list