Skip to content

Settings

TofoDroid edited this page Feb 24, 2024 · 2 revisions

MIMI provides a number of configuration options both in-game and externally via the mimi-client.toml and mimi-common.toml configuration files.

1. In-Game Configuration

Volume

The global volume for MIMI music is controlled using the 'Jukebox/Noteblocks' volume slider in Minecraft's settings.

Keybinds

MIMI supports a handful of different key binds for various actions. Key binds can all be changed from the Minecraft Controls --> Key Binds menu.

Stop All Notes

Pressing this key immediately stops all notes that are on. This is primarily meant to be used if a note gets stuck on for a long period of time. Note that this bind does not stop new notes from being turned on.

Default: End

Device Config Screen

Pressing this key opens the MIDI Input Device Screen.

Default: Home

Transmitter Screen

Pressing this key opens the Transmitter Screen if you have a Transmitter in your hands or on your hot-bar.

Default: ,

Instrument: Main Hand

Pressing this key opens the Instrument Screen for the instrument in your main hand, if there is one.

Default: J

Instrument: Off Hand

Pressing this key opens the Instrument Screen for the instrument in your off hand, if there is one.

Default: K

Instrument: Seated

Pressing this key opens the Instrument Screen for the instrument that you are seated at, if there is one.

Default: L

2. Client-Specific Configuration

In addition to the in-game configuration for the selected MIDI device and keybinds MIMI also includes a configuration file with several additional settings. Like other mods, the configuration file for MIMI can be found in your Minecraft instance _config _ folder and can be modified with any text editor.

Keyboard Layout

This parameter stores the keyboard layout to use for the Instrument GUI. The value can be set using the in-game controls on the Instrument GUI or via the config file.

  • Param: instrumentKeyboardLayout
  • Type: Layout Name String
  • Valid Values: MIMI, VPiano
  • Default: MIMI

Local Buffer MS

This parameter stores how long to have notes from the server buffer locally before playing. Higher values may decrease stuttering on high-latency connections but will cause redstone effects to be appear off-tempo.

  • Param: localBufferMs
  • Type: Integer
  • Valid Values: 0 - 100
  • Default: 10

Default MIDI Device

This parameter holds the device ID that should be used any MIMI for MIDI Device Input. If a value is set MIMI will attempt to use that device when Minecraft launches. The value should be set using the in-game MIDI Device screen. To have no default device set this to -1.

  • Param: defaultMidiInputDevice
  • Type: Integer
  • Valid Values: -1 - 9999
  • Default: -1

Synth Jitter Correction

This parameter sets whether the MIMI MIDI synthesizer should correct for jitter. Enabling jitter correction improves note timing accuracy in exchange for slightly increased latency.

  • Param: synthJitterCorrection
  • Type: Boolean
  • Valid Values: true, false
  • Default: true

Synth Baseline Latency

This parameter sets the baseline latency of the MIMI MIDI synthesizer (in milliseconds). Smaller values will decrease the time it takes from a note to be played until you actually hear it, however this also shrinks the audio buffer size which can result in audio stuttering or not working at all in some cases.

  • Param: synthBaselineLatency
  • Type: Integer
  • Valid Values: 0 - 9999
  • Default: 250

Synth Bitrate

This parameter sets the bitrate for the MIMI MIDI synthesizer (essentially how much data to generate per second of audio). Lower values might decrease audio stutter or latency but will also decrease audio quality.

  • Param: synthBitRate
  • Type: Integer
  • Valid Values: 0 - 9999
  • Default: 16

Synth Sample Rate

This parameter sets the sample rate for the MIMI MIDI synthesizer (essentially how many audio samples to capture per second). Lower values might decrease audio stutter or latency but will also decrease audio quality.

  • Param: synthSampleRate
  • Type: Integer
  • Valid Values: 0 - 9999
  • Default: 44100

Synth Soundfont

This parameter sets the full path on your system to an SF2 Soundfont file that should be used by the MIMI MIDI synthesizer. If a Soundfont is set it will be loaded and used for any GM MIDI program IDs that it contains, while the built-in Soundfont will serve as a fallback.

Soundsfonts must be in the SF2 format and work best when they are 1GB in size or smaller.

Important Note: Due to the way that Minecraft reads config files, when typing out your file path if it contains backslashes () they must be doubled (\) or replaced with forward slashes (/) in order for the path to be read correctly.

  • Param: soundfontPath
  • Type: SF2 File Path
  • Valid Values: Any File Path ending in ".sf2"
  • Default: unset

3. Common Configuration

Instrumentalist Shop

This parameter stores whether or not Instrumentalist Shops should generate in villages.

  • Param: enableInstrumentalistShop
  • Type: Boolean
  • Valid Values: true, false
  • Default: unset

Instrument Mobs

This parameter stores a comma separated list of mobs that should be able to hold instruments.

  • Param: allowedInstrumentMobs
  • Type: Comma-Separated List
  • Valid Values: Any Minecraft Mob identifiers, separated by commas
  • Default: minecraft:zombie,minecraft:husk,minecraft:skeleton,minecraft:stray,minecraft:wither_skeleton