PotatoMidi Configuration
Updated a month agoAny changes made to the configuration file will take effect immediately.
Any issues with the configuration file will be logged to the console/log file.
If you want to reset the configuration file, delete the file and it'll be regenerated.
Logs are written to:
%AppData%\Godot\app_userdata\webfishing_2_newver\logs\godot.log
File location
%AppData%\Godot\app_userdata\webfishing_2_newver\PotatoMidi.json
Structure
The configuration file has the following structure:
version
: The version of the configuration file.channel_mappings
: A dictionary mapping logical instrument names to MIDI channel numbers.instruments
: A list of dictionaries, each representing an instrument with specific properties and parameters.
Version
- Type:
int
- Description: The version of the configuration file.
- Current version:
1
- Example:
"version": 1
Channel mappings
- Type:
Dictionary
- Description: A dictionary mapping logical instrument names to MIDI channel numbers.
- Example:
"channel_mappings": {
"ACOUSTIC_GRAND_PIANO": 0,
"BRIGHT_ACOUSTIC_PIANO": 1,
...
}
Instruments
- Type:
Array of Dictionaries
- Description: Each dictionary defines an instrument with unique properties and specific parameters.
- Keys:
instrument
: The name of the instrument.- Type:
String
- Description: The name of the instrument.
- Example:
"instrument": "guitar_strummer"
- Type:
channels
- Type:
Array of Strings
- Description: A list of MIDI channel names for the instrument.
- Example:
"channels": [ "ACOUSTIC_GRAND_PIANO", "BRIGHT_ACOUSTIC_PIANO", "ELECTRIC_GRAND_PIANO", "HONKY_TONK_PIANO", "RHODES_PIANO", "CHORDS", "SYNTH_PAD" ]
- Type:
- Pitch Requirement
- One of the following:
pitch_range
- Type:
Dictionary
- Description: A dictionary with the minimum and maximum pitches for the instrument.
- Keys:
min
: The minimum pitch for the instrument.- Type:
int
- Description: The minimum pitch for the instrument.
- Example:
40
- Type:
max
: The maximum pitch for the instrument.- Type:
int
- Description: The maximum pitch for the instrument.
- Example:
80
- Type:
- Example:
"pitch_range": { "min": 40, "max": 80 }
- Type:
pitch
- Type:
int
- Description: The pitch of the instrument.
- Example:
"pitch": 40
- Type:
pitch_list
- Type:
Array of ints
- Description: An array of pitches for the instrument.
- Example:
"pitch_list": [ 40, 45, 50, 55, 59, 64 ]
- Type:
- One of the following:
Instrument specific parameters
- Type:
Dictionary
- Description: A dictionary of parameters specific to the instrument.
- guitar_strummer
- Guitar can only do 40-80 pitch
apply_velocity
- Type:
bool
- Description: Whether to apply velocity to the strum.
- Default:
true
- Example:
"apply_velocity": true
- Type:
- talk_effect
apply_pitch
- Type:
bool
- Description: Whether to apply pitch to the talk effect.
- Default:
true
- Example:
"apply_pitch": true
- Type:
base_pitch
- Type:
int
- Description: The base pitch for the talk effect. (The talk effect has been clamped between 0.5-2.0)
- Default:
53
- Example:
"base_pitch": 53
- Type:
letter
- Type:
String
- Description: The letter to use for the talk effect.
- Default:
a
- Example:
"letter": "a"
- Type:
- SFX
apply_pitch
- Type:
bool
- Description: Whether to apply pitch to the SFX.
- Default:
true
- Example:
"apply_pitch": true
- Type:
base_pitch
- Type:
int
- Description: The base pitch for the SFX.
- Default:
80
- Example:
"base_pitch": 80
- Type:
face_emote
- Type:
String
- Description: The face emote to use for the SFX.
- Default:
null
- Example:
"face_emote": "bark"
- Type:
sfx_sound
- Type:
String
- Description: The name of the SFX sound to play. See Valid SFX Sounds for a list of valid SFX sounds.
- Default:
bark_cat
- Example:
"sfx_sound": "bark_cat"
- Type:
- Example instrument configuration:
{
"instrument": "guitar_strummer",
"channels": [
"ACOUSTIC_GRAND_PIANO",
"BRIGHT_ACOUSTIC_PIANO",
"ELECTRIC_GRAND_PIANO",
"HONKY_TONK_PIANO",
"RHODES_PIANO",
"CHORDS",
"SYNTH_PAD"
],
"pitch_range": {
"min": 40,
"max": 80
},
"parameters": {
"apply_velocity": true
}
},
{
"instrument": "talk_effect",
"channels": [
"ACOUSTIC_GRAND_PIANO",
"BRIGHT_ACOUSTIC_PIANO",
"ELECTRIC_GRAND_PIANO",
"HONKY_TONK_PIANO",
"RHODES_PIANO",
"CHORDS",
"SYNTH_PAD"
],
"pitch_range": {
"min": 12,
"max": 40
},
"parameters": {
"apply_pitch": true,
"base_pitch": 53,
"letter": "a"
}
},
{
"instrument": "sfx",
"channels": [
"DRUMS",
"PERCUSSION"
],
"pitch": 35,
"parameters": {
"apply_pitch": false,
"sfx_sound": "punch"
}
},
{
"instrument": "sfx",
"channels": [
"DRUMS",
"PERCUSSION"
],
"pitch_list": [
48,
54
],
"parameters": {
"apply_pitch": false,
"sfx_sound": "tambourine"
}
},
{
"instrument": "sfx",
"channels": [
"ACOUSTIC_GRAND_PIANO",
"BRIGHT_ACOUSTIC_PIANO",
"ELECTRIC_GRAND_PIANO",
"HONKY_TONK_PIANO",
"RHODES_PIANO",
"CHORDS",
"SYNTH_PAD"
],
"pitch_range": {
"min": 72,
"max": 100
},
"parameters": {
"base_pitch": 80,
"face_emote": "bark",
"apply_pitch": true,
"sfx_sound": "bark_cat"
}
}