KNN (k-Nearest Neighbors) Bus

KNN selects the k loudspeakers closest to the source position, and applies level differences between them. The gain differences are calculated based on the distance between the source and the selected loudspeakers.

The quantity of speakers k is chosen by the user with the Neighbors parameter.

tip

KNN allows a very flexible spatialization, as the loud-speakers can have any layout.

Settings#

Neighbors#

Sets the maximum quantity of neighboring loudspeakers used by the algorithm for each virtual source.

This setting can be use along with Max Distance to set more precisely how loudspeakers are selected by the algorithm.

Max Distance#

This allows to configure a maximum distance after which the loudspeakers cannot contribute to the spatialization of each source. This setting is applied within the k Neighbors parameter.

Exponent#

This parameter interacts with the way distances are considered by the algorithm. Changing this parameter will have an impact on the gains repartition between the loudspeakers for each source, depending on their distance to the source. At its default value 1, the algorithm will use conventional Euclidian distances.

  • When the Exponent is set to a value higher than 1, the furthest speakers will contribute less,
  • Under 1, the furthest speakers will contribute more.
  • Under 0, the closet loudspeaker will contribute less than the speakers that are further away.
  • At -1, the gain values are completely inverted.

Spread#

Use the spread to change the apparent width of sources spatialized by the bus.

Unlike other algorithms, the kNN Spread doesn't rely on replicas of the virtual sources.

The gain differences between the loudspeakers selected by the algorithm is progressively reduced when the KNN Spread is increased. At 100% Spread, there is no level differences between the selected loudspeakers.

info

For this algorithm, the Spread is limited to the selected k loudspeakers (set by Neighbors).