SubtitleEdit/subtitleedit · error · Exception

CrispASR MADLAD model not found - please use the 'Download'

Error message

CrispASR MADLAD model not found - please use the 'Download' button to install it. Path: {_modelPath}

What it means

Thrown by CrispAsrMadladTranslate.Translate when the MADLAD model path (_modelPath) is empty or the model file does not exist. The path comes from Configuration.Settings.Tools.AutoTranslateCrispAsrModel. The executable can be present but without the downloaded MADLAD-400 model the tool cannot translate.

Source

Thrown at src/libuilogic/AutoTranslate/CrispAsrMadladTranslate.cs:56

        }

        public List<TranslationPair> GetSupportedTargetLanguages()
        {
            return ListLanguages();
        }

        public async Task<string> Translate(string text, string sourceLanguageCode, string targetLanguageCode, CancellationToken cancellationToken)
        {
            if (string.IsNullOrEmpty(_executablePath) || !File.Exists(_executablePath))
            {
                Error = "CrispASR executable not found - please use the 'Download' button to install it. Path: " + _executablePath;
                throw new Exception(Error);
            }

            if (string.IsNullOrEmpty(_modelPath) || !File.Exists(_modelPath))
            {
                Error = "CrispASR MADLAD model not found - please use the 'Download' button to install it. Path: " + _modelPath;
                throw new Exception(Error);
            }

            var startInfo = new ProcessStartInfo
            {
                FileName = _executablePath,
                UseShellExecute = false,
                RedirectStandardOutput = true,
                RedirectStandardError = true,
                CreateNoWindow = true,
                StandardOutputEncoding = Encoding.UTF8,
                StandardErrorEncoding = Encoding.UTF8,
                WorkingDirectory = Path.GetDirectoryName(_executablePath) ?? string.Empty,
            };
            startInfo.ArgumentList.Add("--backend");
            startInfo.ArgumentList.Add("madlad");
            startInfo.ArgumentList.Add("-m");
            startInfo.ArgumentList.Add(_modelPath);
            startInfo.ArgumentList.Add("--text");

View on GitHub (pinned to 17a9f07487)

Solutions

  1. Use the 'Download' button for the CrispASR provider to fetch the MADLAD model.
  2. Verify AutoTranslateCrispAsrModel points to an existing model file.
  3. Re-download the MADLAD-400 model if the file is missing or truncated.
  4. Ensure sufficient disk space for the model before downloading.

Example fix

// before
Configuration.Settings.Tools.AutoTranslateCrispAsrModel = "";
// after
Configuration.Settings.Tools.AutoTranslateCrispAsrModel = @"C:\Tools\CrispASR\madlad-400.bin";
Defensive patterns

Strategy: validation

Validate before calling

// Verify the MADLAD model exists before calling Translate
var model = Configuration.Settings.Tools.AutoTranslateCrispAsrModel;
if (string.IsNullOrEmpty(model) || !File.Exists(model))
{
    Console.WriteLine("MADLAD model missing. Use the Download button or set AutoTranslateCrispAsrModel.");
    return;
}

Try / catch

try
{
    var result = await translator.Translate(text, src, tgt, ct);
}
catch (Exception ex) when (ex.Message.Contains("MADLAD model not found"))
{
    // prompt user to download the model
    logger.Error(ex.Message);
}

Prevention

When it happens

Trigger: CrispASR executable is installed but the MADLAD model was never downloaded, was deleted, or AutoTranslateCrispAsrModel points to the wrong location. This check runs after the executable check passes.

Common situations: Partial install (binary downloaded, model not); model file moved or deleted; fresh machine with settings copied but model left behind; large model download interrupted.

Related errors


AI-assisted analysis of SubtitleEdit/subtitleedit@17a9f07487 (2026-08-13). Data as JSON: /api/errors/970246728d854e25. Report an issue: GitHub.