It is often necessary for a delay line to vary in length. (Consider simulating a sound ray as in Fig. 1.7 when either the source or listener is moving.) In this case, separate read and write pointers are normally used.