Datasheet
VS1053b Datasheet
10 OPERATION
10.5.4 Fast Forward and Rewind without Audio
To do fast forward and rewind you need the capability to do random access to the audio file.
Unfortunately fast forward and rewind isn’t available at all times, like when file headers are
being read.
1. Send a portion of an audio file to VS1053b.
2. When random access is required, read SCI_STATUS bit SS_DO_NOT_JUMP. If that bit
is set, random access cannot be performed, so go back to 1.
3. Read extra parameter value endFillByte (Chapter 10.11).
4. Send at least 2048 bytes of endFillByte[7:0].
5. Jump forwards or backwards in the file.
6. Continue sending the file.
Note: It is recommended that playback volume is decreased by e.g. 10 dB when fast forward-
ing/rewinding.
Note: Register DECODE_TIME does not take jumps into account.
Note: Midi is not suitable for random-access. You can implement fast forward using the
playSpeed extra parameter to select 1-128× play speed. SCI_DECODE_TIME also speeds
up. If necessary, rewind can be implemented by restarting decoding of a MIDI file and fast
playing to the appropriate place. SCI_DECODE_TIME can be used to decide when the right
place has been reached.
10.5.5 Maintaining Correct Decode Time
When fast forward and rewind operations are performed, there is no way to maintain correct
decode time for most files. However, WMA and Ogg Vorbis files offer exact time information in
the file. To use accurate time information whenever possible, use the following algorithm:
1. Start sending an audio file to VS1053b.
2. Read extra parameter value pair positionMsec (Chapter 10.11).
3. If positionMsec is -1, show you estimation of decoding time using DECODE_TIME (and
your estimate of file position if you have performed fast forward / rewind operations).
4. If positionMsec is not -1, use this time to show the exact position in the file.
Version: 1.22, 2014-12-19 51