added another function to Channel; which accepts frame delay.
This can work with pre-sampled keys