Browse Source

config schema added

master
Timo Hilger 5 days ago
parent
commit
7121b0ce66
  1. 535
      Unreal/Content/Schema/Spie_Config.schema.json

535
Unreal/Content/Schema/Spie_Config.schema.json

@ -0,0 +1,535 @@
{
"Categories": [
"Project Setup",
"Debug",
"Volume",
"Engine Settings",
"Avatar Core"
],
"Variables": [
{
"Avatar":
{
"type": "enum",
"default": "Ben BREX",
"tooltip": "Which type of Avatar to spawn at the beginning",
"category": "Project Setup",
"enum": [
"Ben BREX"
]
}
},
{
"Prompts":
{
"type": "enum",
"default": "Base",
"tooltip": "When changing the prompt setup, you need to delete the prompt config and restart the showcase to regenerate the correct prompts",
"category": "Project Setup",
"enum": [
"Base"
]
}
},
{
"HasIntroDialogue":
{
"type": "boolean",
"default": true,
"tooltip": "If active, the Intro-State is active and the dialogue from the intro prompt will be used",
"hotreload": true,
"category": "Project Setup"
}
},
{
"HideUI":
{
"type": "boolean",
"default": false,
"tooltip": "Hides the UI",
"hotreload": true,
"category": "Project Setup"
}
},
{
"HideDialogueBoxAtStart":
{
"type": "boolean",
"default": false,
"tooltip": "If activated, the DialogueBox will hide after the first Button press to initialize the conversation. Can be show again by pressing \"H\"",
"hotreload": true,
"category": "Project Setup"
}
},
{
"ConstrainAspectRatio":
{
"type": "boolean",
"default": false,
"tooltip": "If the camera should contrain to a vertical aspect ration. Can be used to enable a horizontal screen",
"hotreload": true,
"category": "Project Setup"
}
},
{
"DebugAI":
{
"type": "enum",
"default": "Normal",
"tooltip": "Debugging mode for the AI Module",
"category": "Debug",
"enum": [
"Normal",
"DebugModule",
"DebugNoModule"
]
}
},
{
"DebugTTS":
{
"type": "enum",
"default": "Normal",
"tooltip": "Debugging mode for the TTS Module",
"category": "Debug",
"enum": [
"Normal",
"DebugModule",
"DebugNoModule"
]
}
},
{
"DebugSTT":
{
"type": "enum",
"default": "Normal",
"tooltip": "Debugging mode for the STT Module",
"category": "Debug",
"enum": [
"Normal",
"DebugModule",
"DebugNoModule"
]
}
},
{
"DebugAvatar":
{
"type": "boolean",
"default": false,
"tooltip": "Activated the debugging Mode for the Avatar",
"category": "Debug"
}
},
{
"AvatarVolume":
{
"type": "float",
"default": 1,
"tooltip": "Volume from 0-1 for the Avatar (Doesnt work with A2F)",
"category": "Volume"
}
},
{
"VFXVolume":
{
"type": "float",
"default": 0.29999999999999999,
"tooltip": "Volume from 0-1 for the VFX Sounds",
"hotreload": true,
"category": "Volume"
}
},
{
"ScreenPercentage":
{
"type": "float",
"default": 100,
"tooltip": "Sets the Screen-Percentage of the project",
"hotreload": true,
"category": "Engine Settings"
}
},
{
"VSync":
{
"type": "boolean",
"default": true,
"tooltip": "Activated VSync",
"hotreload": true,
"category": "Engine Settings"
}
},
{
"FPSCap":
{
"type": "integer",
"default": 60,
"tooltip": "Caps the FPS",
"hotreload": true,
"category": "Engine Settings"
}
},
{
"RaytracingReflectionSamples":
{
"type": "integer",
"default": 1,
"tooltip": "Samples in the Reflection, increases quality of Avatar Reflection on Ground",
"hotreload": true,
"category": "Engine Settings"
}
},
{
"UseLookAt":
{
"type": "boolean",
"default": true,
"tooltip": "Activated LookAt in Avatar AnimationSystem",
"category": "Avatar Core"
}
},
{
"LookAtLocation":
{
"type": "vector3",
"default":
{
"X": 0,
"Y": 560,
"Z": 110
},
"tooltip": "Location for the LookAt",
"category": "Avatar Core"
}
},
{
"UseMCPServer":
{
"type": "boolean",
"default": false,
"tooltip": "Active MCP Server",
"category": "Avatar Core"
}
},
{
"LipSyncModel":
{
"type": "enum",
"default": "Original (Highest Quality)",
"category": "Avatar Core",
"enum": [
"Original (Highest Quality)",
"Semi-Optimized (Balanced)",
"Highly Optimized (Fastest)"
]
}
},
{
"AvatarResetTimerLength":
{
"type": "float",
"default": 60,
"tooltip": "How long to wait for a reset after avatar stopped talking. A value of 0 deactivates the timer",
"hotreload": true,
"category": "Avatar Core"
}
},
{
"AvatarResetTimerAnimation":
{
"type": "float",
"default": 15,
"tooltip": "For how many seconds of the end of the reset timer length should we show the circle animation?",
"hotreload": true,
"category": "Avatar Core"
}
},
{
"TalkByHoldTimerLength":
{
"type": "float",
"default": 2,
"tooltip": "In seconds: If jumping to TalkToAvatar by pressing the button, how long to wait to skip the disclaimer if still holding the button?",
"hotreload": true,
"category": "Avatar Core"
}
},
{
"AzureAPI":
{
"type": "string",
"default": "2wRZn32rqRxQZD3ZLQFqeIu8YUysSgfPRkcNEto/PpG43bF5inU4jmEUiO6r6czJeStWsw==",
"tooltip": "Encrypted Azure API Key",
"category": "Avatar Core"
}
},
{
"AzureRegion":
{
"type": "string",
"default": "germanywestcentral",
"tooltip": "Azure Region",
"category": "Avatar Core"
}
},
{
"STTSettings":
{
"type": "struct",
"default":
{
"bUsePTT": true,
"bCanInterrupt": true,
"bSTTDebugAudioSave": false,
"bSTTDebugLoopback": false,
"VADSettings":
{
"VAD_Mode": 2,
"VAD_SilenceThreshold": 300,
"VAD_SpeechWhileBlocked": 0.5
},
"SpeexDSPSettings":
{
"StateNames": [],
"SettingEntries": [
{
"TypeName": "preprocessor Automatic Gain Control state",
"Value": 0
},
{
"TypeName": "preprocessor dereverb state",
"Value": 10
},
{
"TypeName": "maximum attenuation of the noise in dB (negative number)",
"Value": -10
},
{
"TypeName": "attenuation of the residual echo in dB (negative number)",
"Value": -40
},
{
"TypeName": "maximum attenuation of the residual echo in dB when near end is active (negative number)",
"Value": -15
}
],
"SpeexDSP_AEC_Tail": 500,
"bSpeexDSP_UseAEC": false
},
"STTReplacements": []
},
"category": "Avatar Core",
"fields":
{
"bUsePTT":
{
"type": "boolean"
},
"bCanInterrupt":
{
"type": "boolean"
},
"bSTTDebugAudioSave":
{
"type": "boolean"
},
"bSTTDebugLoopback":
{
"type": "boolean"
},
"VADSettings":
{
"type": "struct",
"fields":
{
"VAD_Mode":
{
"type": "integer"
},
"VAD_SilenceThreshold":
{
"type": "integer"
},
"VAD_SpeechWhileBlocked":
{
"type": "float"
}
}
},
"SpeexDSPSettings":
{
"type": "struct",
"fields":
{
"StateNames":
{
"type": "array",
"itemsType": "enum",
"itemsEnum": [
"preprocessor denoiser state",
"preprocessor Automatic Gain Control state",
"preprocessor Voice Activity Detection state",
"preprocessor dereverb state",
"preprocessor dereverb level",
"preprocessor dereverb decay",
"probability required for the VAD to go from silence to voice",
"probability required for the VAD to stay in the voice state (integer percent)",
"maximum attenuation of the noise in dB (negative number)",
"attenuation of the residual echo in dB (negative number)",
"maximum attenuation of the residual echo in dB when near end is active (negative number)",
"the corresponding echo canceller state so that residual echo suppression can be performed (NULL for no residual echo suppression)",
"maximal gain increase in dB/second (int32)",
"maximal gain decrease in dB/second (int32)",
"maximal gain in dB (int32)",
"preprocessor Automatic Gain Control level (int32)"
]
},
"SettingEntries":
{
"type": "array",
"itemsType": "struct",
"itemsFields":
{
"TypeName":
{
"type": "enum"
},
"Value":
{
"type": "integer"
}
}
},
"SpeexDSP_AEC_Tail":
{
"type": "integer"
},
"bSpeexDSP_UseAEC":
{
"type": "boolean"
}
}
},
"STTReplacements":
{
"type": "array",
"itemsType": "struct",
"itemsFields":
{
"TranscribedWords":
{
"type": "array",
"itemsType": "string"
},
"ReplacementWord":
{
"type": "string"
}
}
}
}
}
},
{
"OpenAIAPI":
{
"type": "string",
"default": "q2N0wL09j85JFsDL60ka02t69h5QGFMnKJX+khETkynDpCDwwpqs15wmAi41GuyhHYNc99Rvl7UAAcvlzWSDMGCC62MT7X8G+1xhr4+JVLHV9UP/C8w2shcRLkDc01Og57CDhFcDJAs3jjatdd+XW/Qs0smCw5zDO4buYe30H8+agn2tshCpHaUy6oTtuXjvNX+usuw+U1ORFx72j/k3A09tqDZtbLO+YyQGND3c94xT8IFr",
"tooltip": "Encrypted OpenAI API Key",
"category": "Avatar Core"
}
},
{
"OpenAIModel":
{
"type": "string",
"default": "gpt-realtime",
"tooltip": "Open AI Model",
"category": "Avatar Core"
}
},
{
"OpenAIAudioOut":
{
"type": "boolean",
"default": true,
"tooltip": "Direct audio generation by OpenAI",
"category": "Avatar Core"
}
},
{
"CustomOpenAIVoice":
{
"type": "enum",
"default": "UNDEFINED",
"tooltip": "Only Set if you want to override the Avatars Voice",
"category": "Avatar Core",
"enum": [
"UNDEFINED",
"alloy",
"ash",
"ballad",
"coral",
"echo",
"sage",
"shimmer",
"verse"
]
}
},
{
"OpenAIRequestTimeout":
{
"type": "integer",
"default": 10,
"tooltip": "OpenAI Timeout in seconds",
"category": "Avatar Core"
}
},
{
"AITemperature":
{
"type": "float",
"default": 0.80000000000000004,
"tooltip": "Temperature of the AI Model",
"category": "Avatar Core"
}
},
{
"AIMaxTokens":
{
"type": "integer",
"default": 2000,
"tooltip": "Max Token per Request of the AI Model",
"category": "Avatar Core"
}
},
{
"ChunkLength":
{
"type": "float",
"default": 0.01,
"category": "Avatar Core"
}
},
{
"StreamAmplitudeMultiplier":
{
"type": "float",
"default": 0.25,
"category": "Avatar Core"
}
},
{
"MaxConcurrentTTSGenerations":
{
"type": "integer",
"default": 2,
"tooltip": "Max concurrent Task for audio generation",
"category": "Avatar Core"
}
}
]
}
Loading…
Cancel
Save