/// <summary>
        /// Run Python analysis script on the given transcriptFile
        /// </summary>
        public static AnalysisResult AnalyzeTranscript(ref AnalysisResult audioResponse, IFormFile transcriptFile)
        {
            // save transcript as file with unique name
            string transFileFn = Path.GetTempFileName();

            SaveFormFile(transcriptFile, transFileFn);

            // run analysis on saved transcript file
            string scriptOutput = RunCmd(PYTHON_PATH, $"{TRANSCRIPT_SCRIPT_PATH} {audioResponse.ClipId ?? "-1"} {transFileFn}");

            var pythonResponse = AnalysisResult.DeserializePythonResponse(scriptOutput);

            audioResponse.JoinRight(pythonResponse);
            return(audioResponse);
        }
        /// <summary>
        /// Local transcription of the given audioFile with Sphinx
        /// </summary>
        public static AnalysisResult TranscribeAudioLocal(ref AnalysisResult audioResponse, IFormFile audioFile)
        {
            // save audio as file with unique name
            string audioFileFn = Path.GetTempFileName();

            SaveFormFile(audioFile, audioFileFn);

            // transcribe saved audio file
            string scriptOutput = RunCmd(PYTHON_PATH, $"{AUDIO_SCRIPT_PATH} {audioResponse.ClipId} {audioFileFn}");

            var pythonResponse = AnalysisResult.DeserializePythonResponse(scriptOutput);

            audioResponse.JoinRight(pythonResponse);

            return(audioResponse);
        }