{ "Categories": [ "SPIE Management Board", "Project Setup", "Debug", "Volume", "Engine Settings", "Avatar Core", "STT Settings", "AI Settings", "TTS Settings" ], "Variables": [ { "InitialMode": { "type": "integer", "default": 0, "tooltip": "Which mode to load at startup", "category": "SPIE Management Board" } }, { "Day1_A_Texts": { "type": "array", "default": [ "Hallo zusammen, auch von mir ein herzliches Willkommen. Schön, euch allehier zu sehen. Keine Sorge, ich halte mich kurz, aber ihr kennt das ja,Sicherheit geht vor.", "Wir befinden uns hier in der EUREF-Kuppel auf dem EUREF Campus. Falls esnötig wird, den Raum zu verlassen, stehen dafür drei Notausgänge zurVerfügung:Einer direkt hinter der Bühne, also hinter mir, und zwei weitere hinter euch,links und rechts. Draußen seid ihr im öffentlichen Bereich des Campus. Dortsind mehrere Fluchtwege ausgeschildert. Nutzt bitte den, der am nächstenliegt, natürlich nur, wenn er frei und sicher ist. Wenn nicht, nehmt bitte einenanderen.Der Sammelplatz befindet sich auf der gegenüberliegenden Straßenseite beimQ-Park Parkplatz. Dort wird im Notfall geschaut, ob alle da sind. Falls ihr dasGebäude über den Haupteingang verlasst: bitte nicht durch die Drehtür. Die istin Fluchtsituationen eher unpraktisch. Direkt daneben findet ihr passendeTüren, die sich schnell öffnen lassen.Kleine Frage an euch: Wer ist ausgebildete Ersthelferin oder Ersthelfer? Bitteeinmal kurz die Hand heben.Und für alle anderen: Merkt euch, wer sich gemeldet hat, kann hilfreich sein.", "Auch Oliver Polanz und Matthias Weinstock aus der Zentralabteilung HSE sindvor Ort und werden hier unterstützen. Oliver und Matthias, steht doch bitteeinmal kurz auf.", "Für medizinische Notfälle oder den Einsatz eines Defibrillators findet ihrrechts von der Bühne den sogenannten Safe Caddy, ausgestattet mit Erste-Hilfe-Material und AED. Obendrauf steht auch ein Feuerlöscher. WeitereFeuerlöscher sind in der Kuppel und im Umfeld verteilt und gutgekennzeichnet.Der EUREF Campus verfügt außerdem über eine Brandmeldeanlage, dieautomatisch die Feuerwehr informiert. Es gibt auch die Möglichkeit, manuellden Rauchabzug auszulösen, entsprechende Knöpfe sind gekennzeichnet.Für heute sind keine Übungen geplant. Wenn also ein Alarm ertönt, bitte nichtzögern, sondern einfach, wie gerade erklärt, handeln. Ich wünsche euch einesichere und angenehme Veranstaltung.", "Vielen Dank Constanze und bis später." ], "category": "SPIE Management Board", "itemsType": "string" } }, { "Day1_B_Texts": { "type": "array", "default": [ "Hallo, in die Runde.", "Dies ist meine erste Antwort.", "Dies ist meine zweite Antwort.", "Ich bin eure neue digitale Kollegin bei SPIE – heute ist mein erster offiziellerTag. Ich wurde von den Kolleginnen und Kollegen entwickelt, um euch künftigbei verschiedenen Themen zu unterstützen. Angefangen bei der Sicherheit,wie heute morgen demonstriert. Mein Ziel ist es, euch im Arbeitsalltag zubegleiten, pragmatisch und verlässlich.Ein Punkt ist noch offen: Mein Name.Der steht nämlich noch nicht fest. Aber das ändern wir heute gemeinsam. ZurAuswahl stehen XY, XY und XY. Ihr könnt über den QR-Code mitentscheiden,welcher Name am besten zu mir passt.Ich bin gespannt, wohin die Reise mit euch geht, und freue mich, ein Teil diesesTeams zu sein.", "Danke André, wir sehen uns dann morgen." ], "category": "SPIE Management Board", "itemsType": "string" } }, { "Day2_Texts": { "type": "array", "default": [ "Hallo da bin ich wieder. Ich hoffe ihr hattet inspirierende Tage. Fürmich war es die erste Veranstaltung und deswegen natürlich besondersaufregend.", "Ihr habt eine wichtige Entscheidung getroffen. Die Abstimmung über meinenNamen hat ergeben, dass ich XY heiße.Aber weswegen ich eigentlich da bin: Ich möchte die Ergebnisse der letztenbeiden Tage für euch zusammenfassen." ], "category": "SPIE Management Board", "itemsType": "string" } }, { "AvatarInstance": { "type": "string", "default": "SPIE", "tooltip": "Unique Name of this Avatar Application", "category": "SPIE Management Board" } }, { "UseLogging": { "type": "boolean", "default": true, "tooltip": "Do you want to log all interaction?", "category": "SPIE Management Board" } }, { "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" } }, { "LookAtEnabled": { "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" } }, { "AzureSpeechService_API": { "type": "string", "default": "0Gc0wvOF2tTCr4APvZkDaieKCGeBR9c5EbC5utXgVWZUqu4IAEf6NQ721iHNu74SwfDoYSBGJHLmCbcXVDP+F4HKnwsfHr7WYi9Gv+CjJ7/UrOygkqlrP05hbHBrJiPLWDv4Gw==", "tooltip": "Encrypted Azure API Key", "category": "STT Settings" } }, { "AzureSpeechService_Region": { "type": "string", "default": "germanywestcentral", "tooltip": "Azure Region", "category": "STT Settings" } }, { "STTSettings": { "type": "struct", "default": { "STTTranscriptionType": "Mircosoft Azure Congnitive Speech Services", "bUsePTT": true, "bCanInterrupt": true, "bSTTDebugAudioSave": false, "WebRTCSettings": { "pipeline_multi_channel_capture": false, "pipeline_multi_channel_render": false, "pipeline_maximum_internal_processing_rate": 48000, "echo_canceller": true, "pre_amplifier": false, "high_pass_filter": true, "noise_suppression": true, "noise_suppression_level": 3, "transient_suppression": true, "gain_controller1": false, "gain_controller2": false, "voice_detection": false, "residual_echo_detector": true, "level_estimation": false }, "VADSettings": { "VAD_Mode": 2, "VAD_SpeechWhileBlocked": 0.5, "VAD_MinSpeechTime": 0.25, "VAD_MinSpeechAmplitude": -55 }, "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 } ] }, "STTReplacements": [ { "TranscribedWords": [ "spie", "schpie", "spieh", "spiel" ], "ReplacementWord": "SPIE" } ], "STTSpecialWords": [ "SPIE" ], "PTTPostRollTime": 0.40000000596046448, "FreespeechPostRollTime": 0.5, "MaxTalkingTime": 15 }, "category": "STT Settings", "fields": { "STTTranscriptionType": { "type": "enum", "enum": [ "OpenAI Transcription", "Mircosoft Azure Congnitive Speech Services" ] }, "bUsePTT": { "type": "boolean" }, "bCanInterrupt": { "type": "boolean" }, "bSTTDebugAudioSave": { "type": "boolean" }, "WebRTCSettings": { "type": "struct", "fields": { "pipeline_multi_channel_capture": { "type": "boolean" }, "pipeline_multi_channel_render": { "type": "boolean" }, "pipeline_maximum_internal_processing_rate": { "type": "integer" }, "echo_canceller": { "type": "boolean" }, "pre_amplifier": { "type": "boolean" }, "high_pass_filter": { "type": "boolean" }, "noise_suppression": { "type": "boolean" }, "noise_suppression_level": { "type": "integer" }, "transient_suppression": { "type": "boolean" }, "gain_controller1": { "type": "boolean" }, "gain_controller2": { "type": "boolean" }, "voice_detection": { "type": "boolean" }, "residual_echo_detector": { "type": "boolean" }, "level_estimation": { "type": "boolean" } } }, "VADSettings": { "type": "struct", "fields": { "VAD_Mode": { "type": "integer" }, "VAD_SpeechWhileBlocked": { "type": "float" }, "VAD_MinSpeechTime": { "type": "float" }, "VAD_MinSpeechAmplitude": { "type": "integer" } } }, "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" } } } } }, "STTReplacements": { "type": "array", "itemsType": "struct", "itemsFields": { "TranscribedWords": { "type": "array", "itemsType": "string" }, "ReplacementWord": { "type": "string" } } }, "STTSpecialWords": { "type": "array", "itemsType": "string" }, "PTTPostRollTime": { "type": "float" }, "FreespeechPostRollTime": { "type": "float" }, "MaxTalkingTime": { "type": "float" } } } }, { "AzureOpenAI_API": { "type": "string", "default": "UjzfgavJ45lCu+oB2vVAsKNbPT+k3XCv7t69Og6j0LmwxhD3OK5WDBxUvgKnuDrz3xuNHg==", "tooltip": "Encrypted Azure OpenAI API Key", "category": "AI Settings" } }, { "AzureOpenAI_Model": { "type": "string", "default": "gpt-realtime", "tooltip": "Open AI Model", "category": "AI Settings" } }, { "AzureOpenAI_URL": { "type": "string", "default": "aiwa-ai-new.openai.azure.com/openai", "tooltip": "URL to Azure OpenAI Resource", "category": "AI Settings" } }, { "OpenAIAudioOut": { "type": "boolean", "default": true, "tooltip": "Direct audio generation by OpenAI", "category": "AI Settings" } }, { "CustomOpenAIVoice": { "type": "enum", "default": "shimmer", "tooltip": "Only Set if you want to override the Avatars Voice", "category": "AI Settings", "enum": [ "UNDEFINED", "alloy", "ash", "ballad", "cedar", "coral", "echo", "marin", "sage", "shimmer", "verse" ] } }, { "OpenAIRequestTimeout": { "type": "integer", "default": 10, "tooltip": "OpenAI Timeout in seconds", "category": "AI Settings" } }, { "AITemperature": { "type": "float", "default": 0.80000000000000004, "tooltip": "Temperature of the AI Model", "category": "AI Settings" } }, { "AIMaxTokens": { "type": "integer", "default": 3000, "tooltip": "Max Token per Request of the AI Model", "category": "AI Settings" } }, { "AzureAISearch_API": { "type": "string", "default": "9ksww+/kHZPYMfUFTWSi1QgaDjXaB7vxdGKPgmfGhPEx321nfpdbkUnThXT4BWrkKMAR0MF2zJT17fJSday8yBiftv0=", "tooltip": "Azure AI Search API Key", "category": "AI Settings" } }, { "AzureAISearch_URL": { "type": "string", "default": "aiwa-ai-search.search.windows.net", "tooltip": "Azure AIWA URL", "category": "AI Settings" } }, { "AzureAISearch_Index": { "type": "string", "default": "aiwa-ai-search", "tooltip": "Azure AI Search Indexname", "category": "AI Settings" } }, { "UseCachingSystem": { "type": "boolean", "default": true, "category": "TTS Settings" } }, { "ChunkLength": { "type": "float", "default": 0.01, "category": "TTS Settings" } }, { "StreamAmplitudeMultiplier": { "type": "float", "default": 0.25, "category": "TTS Settings" } } ] }