CRI ADX  Last Updated: 2024-07-17 10:47 p
Starting Playback at Chorus

What is Starting Playback at Chorus?

You may often want to start the playback at the time of a chorus when selecting a music or a stage.
This section introduces several methods for implementing this.

Using the Sequence Start Marker

The advantage of using the sequence start marker is that it simplifies the task of the programmer since this effect can be implemented using just a playback.

The data of the Waveform itself is enough if Cues "from the start" and "from chorus" are included in the same CueSheet.
However, when CueSheets are separated, each ACB (or AWB) must contain full-sized compressed Waveform files.

Using the Seeking Playback

Seeking playback is a method which is often used.
In order to determine the seek positions, you can manage them separately in Excel, use the user data, or analyze the comments in the generated XML.

Using the Block Playback

Although there is no problem when a Prepare playback or sequence prefetching specification (criAtomExPlayer_SetSequencePrepareTime) has been done properly on the code side, if a Waveform is separated into blocks, there may be a gap when transitioning to other Waveforms.
Therefore, using separate blocks to implement the chorus playback is not recommended, since the Waveform must be separated into blocks beforehand.
This is recommended if you want to use interactive music techniques such as looping the chorus after transitioning to it, or to jump to another position in the music at the transition point.

Using the Seamless Concatenation Playback

By using this method, smooth playback (sample-accurate) can be achieved and the data can be separated.
You prepare separate Waveforms for the chorus and the music that comes before it, and playback the sound using the seamless concatenation playback at runtime.
Although this method requires more work since both the runtime and data must be configured, it can lower the data size.
The structure of the Cue which allows the seamless concatenation is basically a Track containing one Waveform.
The seamless concatenation playback may be limited on some targets. For details, see the limitations in the manual for each target.

Starting Playback from a Random Position

Although it is somewhat unusual, you can start the playback from a random position by placing multiple sequence start markers in a Cue.
You can use this method when there are multiple positions at which you can start the chorus.