Windows Media Encoder SDK banner art

Voice Allocation

Each port has a different capacity for simultaneous playback of multiple voices, and each output port has a different limit for the number of voices it supports. The number of voices is the maximum number of discrete timbres the port can play at one time. For example, if six different instruments are each playing three notes, 18 voices are in use.

You can choose a maximum number of available voices for the Microsoft Synthesizer or another default synthesizer by setting the Number of Voices in the MIDI/Performance Options Dialog Box. You can also open the Properties window for a mix group in an audiopath and set the Voices Allocated for other synthesizers you are using. Assigning fewer voices to a port is a way of conserving computer resources.

The Voices Allocated setting can be any number of voices from 1 to 1000, but should be less than or equal to the total number of notes the assigned output port can support.

The Number of Voices or Voices Allocated setting has no effect on ports that are not DirectMusic-compatible, which always use a setting of 32 voices. All 32 PChannels are sent to the port. The output port must then use its own method to select which notes to omit when the number of voices required to play a sound exceeds the capacity of the port.

The default number of voices for each port group is 32. If an output port is fully compliant with DirectMusic, DirectMusic Producer sets the Voices Allocated setting to 32 voices, or to the maximum number of voices that the port can support, whichever is fewer. If the Port Configuration window shows a Voices Allocated setting for a port, you can select the port and enter a number in the Voices Allocated setting in the Port Group area, as long as the number does not exceed the maximum voice capacity of the port.

If an output port assigned to the port group is not specifically compatible with DirectMusic, the Voices Allocated setting is not displayed and cannot be edited. The Voices Allocated setting in the Port Group group box is dimmed, and the default setting of 32 voices is used for the port.

All output ports except the Microsoft MPU-401 (WDM) device support a Voices Allocated setting.

If you are using a DirectMusic-compatible output port, the port can use the priority setting you assign to each PChannel. If the port group exceeds its voice allocation, the PChannels with the lowest priority will be dropped so other PChannels can use their voices. If you are using a port that is not fully compatible with DirectMusic, the port uses its own method for deciding which voices in the file to omit from playback. For more information about assigning a priority to a PChannel, see PChannel Priority.

When using the Microsoft Synthesizer, any voices that are dropped from playback due to limited voice capacity are held for a short period (10 milliseconds) so they can be quickly faded out. This eliminates a clicking sound that occurs when notes are abruptly stopped. Holding notes this extra length causes the Microsoft Synthesizer to briefly exceed the number of voices allocated to it in the Port Configuration window. The expanded number of voices appear in the Synthesizer Status window, and the temporarily expanded number may be much higher than the number allotted.

Note   The Voices Allocated setting that you choose is not saved in the run-time files. The setting is only for auditioning and testing playback.


© 2000-2001 Microsoft Corporation. All rights reserved.