synthesizer: iterate over samples, not time

This makes it possible to use a traditional iteration loop, as well
as setting up the next change that manipulates the time parameter.