SubtitleEdit/subtitleedit · error · Exception

CrispASR executable not found - please use the 'Download' bu

Error message

CrispASR executable not found - please use the 'Download' button to install it. Path: {_executablePath}

What it means

Thrown by CrispAsrMadladTranslate.Translate when the local CrispASR executable path (_executablePath) is empty or the file does not exist on disk. The path comes from Configuration.Settings.Tools.AutoTranslateCrispAsrExe. CrispASR is a locally-installed command-line translator; without the binary, translation cannot run.

Source

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

            _modelPath = Configuration.Settings.Tools.AutoTranslateCrispAsrModel;
        }

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

        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,

View on GitHub (pinned to 17a9f07487)

Solutions

  1. Use the 'Download' button in the CrispASR Auto-Translate provider to install the executable.
  2. Verify AutoTranslateCrispAsrExe points to the actual binary location and the file exists.
  3. Re-download from https://github.com/CrispStrobe/CrispASR if the binary is missing.
  4. Check antivirus/quarantine did not remove the file.

Example fix

// before
Configuration.Settings.Tools.AutoTranslateCrispAsrExe = "";
// after
Configuration.Settings.Tools.AutoTranslateCrispAsrExe = @"C:\Tools\CrispASR\crispasr.exe";
Defensive patterns

Strategy: validation

Validate before calling

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

Try / catch

try
{
    var result = await translator.Translate(text, src, tgt, ct);
}
catch (Exception ex) when (ex.Message.Contains("CrispASR executable not found"))
{
    // prompt user to install via Download button
    logger.Error(ex.Message);
}

Prevention

When it happens

Trigger: Calling Translate before installing CrispASR, after the executable was moved/deleted, or with an empty AutoTranslateCrispAsrExe setting. The Download button in the UI is the intended install route.

Common situations: First-time use without downloading the tool; portable/SubtitleEdit install on a different machine where the path no longer resolves; antivirus quarantine of the binary; settings pointing to a stale path.

Related errors


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