Preset Parameter Data Sources¶
What are MimiPresetParameterDataSource
and PersonalizationModeConfiguration
?¶
A MimiPresetParameterDataSource
defines from where the ProcessingSession
retrieves its preset payload, whose value is ultimately what defines a user's Mimified audio experience.
When activating a ProcessingSession
, you must provide the PersonalizationModeConfiguration
, which describes the configuration of the MimiPresetParameterDataSource
to be used.
Once activated, the ProcessingSession
exposes the current MimiPresetParameterDataSource
implementation class via the presetParameterDataSource
property.
What is a Fitting
?¶
The Fitting
model provides information about the current processing environment and in turn how presets should be generated.
Consequently, when creating a PersonalizationModeConfiguration
instance, you need to provide a Fitting
whose properties match the current processing environment, such as the user's target headphones.
Current PersonalizationModeConfiguration
options¶
The MSDK defines the personalization modes in PersonalizationModeConfiguration
:
- FineTuning
(Up/Down Presets) - the recommended mode.
- SinglePreset
(previously named Default
) - a legacy mode.
- Group
- provides personalization support for environments with multiple simultaneous users.
Fine Tuning Preset Parameter Data Source¶
The PersonalizationModeConfiguration.FineTuning
mode provides one of three presets: up ("richer"), down ("softer") and default ("recommended") to the ProcessingSession.preset
parameter.
The presets are determined by the hearing assessments of the currently active user.
Use this mode to enable the Sound Personalization preset selection ("Fine Tuning") feature on the Mimi Profile.
Note
The up & down presets are available depending on the user's hearing assessment. There might be cases where it is not possible to generate both the up & down presets.
val processingConfiguration = MimiProcessingConfiguration(
personalization = PersonalizationConfiguration(
mode = FineTuning(Fitting(TODO("Fitting is defined by your Processing system")))
)
)
Alternatively, using the Processing Configuration DSL:
val processingConfiguration = mimiProcessingConfiguration {
personalization {
fineTuning { fitting = Fitting(TODO("Fitting is defined by your Processing system")) }
}
}
Single Preset Parameter Data Source¶
The PersonalizationModeConfiguration.SinglePreset
mode provides only one personalization preset to the ProcessingSession.preset
parameter.
The presets are determined by the hearing assessments of the currently active user.
val processingConfiguration = MimiProcessingConfiguration(
personalization = PersonalizationConfiguration(
mode = SinglePreset(Fitting(TODO("Fitting is defined by your Processing system")))
)
)
Alternatively, using the Processing Configuration DSL:
val processingConfiguration = mimiProcessingConfiguration {
personalization {
singlePreset { fitting = Fitting(TODO("Fitting is defined by your Processing system")) }
}
}
Warning
This mode is considered legacy and is not recommended for new integrations using the MSDK Profile.
Group Mode Preset Parameter Data Source¶
The PersonalizationModeConfiguration.Group
mode provides a single preset based upon the hearing assessments of the currently active group.
val processingConfiguration = MimiProcessingConfiguration(
personalization = PersonalizationConfiguration(
mode = Group(Fitting(TODO("Fitting is defined by your Processing system")))
)
)
Alternatively, using the Processing Configuration DSL: