Share via


PChannel Priority

Windows Media Encoder SDK banner art

The number of voices on playback devices is limited. This means that there is a limit to the number of notes that can be played simultaneously. When segments are played, the number of notes on any beat could exceed the playback capabilities of the output port.

There are several situations when playback of DirectMusic Producer files can exceed the voice capacity of an output port. These include:

  • Complex chords with many voices
  • Several instrument parts sounding simultaneously on one beat
  • Sustaining notes from a previous beat when new notes begin
  • Playing multiple segments at a time

The Microsoft Synthesizer supports up to 1000 voices. Other devices might support more or fewer.

If playback of a file or group of files exceeds the maximum number of voices for a port, the device must use voice stealing, in which voices are taken from one channel for use by another. Each playback device and synthesizer has its own method for managing voice stealing, and for giving priority to some notes in a performance when more voices are required than are available.

In addition to the limitation on voices, there are other times when not enough memory is available to fully play a performance. For example, if the combination of multiple files being processed by DirectMusic results in excessive memory use, there may not be sufficient memory available to store all DLS sounds and all playback information at one time. This may force DirectMusic to omit some PChannels from playback.

If you are using a DirectMusic-compatible output port, including the Microsoft Synthesizer, the port can make use of the priority setting you assign to each PChannel. If the PChannel group exceeds its voice allocation or PChannels need to be dropped for some other reason, the PChannels with the lowest priority are dropped.

The following priority settings are available in the PChannel Properties window:

  • Priority check box

    Select this check box to set the priority. If it is not selected, the setting remains unchanged.

  • Priority drop-down list

    Select one of the priorities shown in the following list.

    Setting Use
    Critical Can be assigned to a PChannel without which a piece could not play, such as a PChannel that contains the lead melody.
    High Can be assigned to a PChannel that constitutes an important part of a piece, such as a PChannel that is part of the harmonic accompaniment.
    Standard Default setting for all PChannels.
    Low Can be assigned to a PChannel that plays a noncritical background part.

    With a Critical setting, a PChannel has the greatest possibility of always being included in playback. With a Low setting, a PChannel has the greatest likelihood of being omitted from playback.

  • Priority text box

    Enter or select a value to weight the priority of the PChannel relative to other PChannels that have the same priority category. The higher the value, the greater the priority. The 16 PChannels in the Default New Band are weighted as shown in the following table.

    PChannel Weight
    1 14
    2 13
    3 12
    4 11
    5 10
    6 9
    7 8
    8 7
    9 6
    10 15
    11 5
    12 4
    13 3
    14 2
    15 1
    16 0

See Also