Table of Contents

Class SoundFontInstrumentResolver

Namespace
NAudio.SoundFont
Assembly
NAudio.Core.dll

Flattens a SoundFont Preset into a list of fully-resolved, playable SoundFontRegions, applying the SoundFont 2.04 generator model (ยง9.4):

  • instrument-zone generators are absolute values applied on top of the SoundFont defaults;
  • a global instrument zone (the first zone with no sample) supplies defaults for the other instrument zones;
  • preset-zone generators are additive offsets added to the instrument result, with a global preset zone supplying preset-level defaults;
  • key and velocity ranges are the intersection of the preset-zone and instrument-zone ranges.

The result is independent of the rest of the file, so it can be cached per preset and handed to the synthesiser.

public static class SoundFontInstrumentResolver
Inheritance
SoundFontInstrumentResolver
Inherited Members

Methods

Resolve(Preset)

Resolves all playable regions of a preset.

public static IReadOnlyList<SoundFontRegion> Resolve(Preset preset)

Parameters

preset Preset

Returns

IReadOnlyList<SoundFontRegion>