function* genValue(
start,
minV = 0,
maxV = 1.0,
cent = 0.2,
frequency = 1
) {
const range = (maxV - minV) * cent;
const hrange = range / 2;
const getNextSin = (v, i) =>
start + hrange + hrange * Math.sin(i * 0.065 * frequency);
let nextV = start;
let i = 0;
while (true) {
nextV = getNextSin(nextV, i++);
yield nextV;
}
}