Hi Reed,
On 20/03/15 16:57, Reed Perkins wrote:
Hello all,
[line~], [vline~], and [phasor~] are used to generate line ramps in basic sample-playback patches. The output of these objects is usually multiplied by the total number of samples in a sound file (that has already been loaded into an array or table) and fed into the input of something like [tabread4~]. In other words, we use these line-ramp objects to traverse the indices of a table where a sample is loaded at a given speed.
My questions are these:
- Do these line-ramps generate enough numbers such that every sample in a
table will be read?
no, they generate numbers at a fixed rate (the sample rate of the patch)
- Does it matter if, say for example, [tabread4~] receives a decimal
number for an index, like 333987.8, which can be caused by multiplying the output of [phasor~] (which goes from 0-1) by the total amount of samples (usually a much larger number).
if you read the table faster than 1:1 ratio, there is a risk of aliasing. that's why I experimented with bandlimited wavetables:
http://mathr.co.uk/blog/2015-02-12_bandlimited_wavetables.html http://code.mathr.co.uk/bandlimited
also the tabread4~ interpolation isn't so good, see the list archives for tabread4c~ discussion (there's also an implementation in the bandlimited repository).
the sound samples in my blog post could do with an update with the new oversampled and downfiltered example patch in the repository, which doesn't lose the high frequency content, while still eliminating aliasing.
- Does the output of [line~] and [vline~] vary due to being asked to
generate a ramp faster or slower? If I ask [line~] to go from 0-555987 in 3789 milliseconds, will the actual output be the same or different if I then ask [line~] to go from 0-9876545 in 40 milliseconds
i think vline~ could give even different output even for the exact same ramp "0, 1 1000" depending on the timing of the messages with respect to the sample rate (vline~ has subsample timing as i understand it)
I realize this is totally theoretical, because in all honestly I wouldn't be able to hear a difference if samples are being skipped
you can hear aliasing quite easily - you turn up the pitch dial on your oscillator and hear some other frequencies sweep downwards (and out of tune)
, but I want to know :)
Thanks for your time.
hth,