tonhowtf/omniget · error

VoiceStudio nao encontrado

Error message

VoiceStudio nao encontrado

What it means

Raised by voicestudio::launch() when `find_app()` returns None — the VoiceStudio application binary/bundle could not be located on the system. launch() opens the app (which starts the backend), so without a locatable install there is nothing to launch.

Solutions

  1. Install (or reinstall) the VoiceStudio application so find_app() can detect it in a standard location.
  2. On macOS, ensure the app bundle is in /Applications (or wherever find_app() searches).
  3. If installed in a custom location, restore it to the standard path or extend find_app()'s search paths.
  4. Check the installed binary/bundle name has not been renamed from what find_app() matches.

Example fix

// before
await voiceStudioLaunch(); // panics with 'VoiceStudio nao encontrado' if not installed
// after
if (!(await voiceStudioIsInstalled())) {
  await promptUserToInstallVoiceStudio();
} else {
  await voiceStudioLaunch();
}
Defensive patterns

Strategy: fallback

Validate before calling

let installed = false;
try { installed = (await voiceStudioDetect()) !== null; } catch { installed = false; }
if (!installed) throw new Error("VoiceStudio app is not installed; install it before launching");

Try / catch

try {
  await voiceStudioLaunch();
} catch (e) {
  if (String(e).includes("VoiceStudio nao encontrado")) {
    showInstallVoiceStudioDialog(); // offer download + install, then retry launch
  } else throw e;
}

Prevention

When it happens

Trigger: Calling `launch()` on a machine where VoiceStudio is not installed, is installed in a non-standard location find_app() does not scan, or the installation is broken/renamed so detection fails.

Common situations: Fresh machine where the companion app was never installed; macOS app moved out of /Applications; Linux/Windows install in a custom prefix not on the search paths; app renamed by the user.

Understand the failure class

Background: "not installed", "pip install", "required for": how missing-dependency errors surface across open-source libraries — this error's family across 34 libraries.

Related errors


AI-assisted analysis of tonhowtf/omniget@8600b91f42 (2026-09-12). Data as JSON: /api/errors/660a376f371c6583. Report an issue: GitHub.

Appendix: source

Thrown at src-tauri/omniget-core/src/core/tools/voicestudio.rs:178

                    .to_string(),
                language: p
                    .get("language")
                    .and_then(|v| v.as_str())
                    .unwrap_or("")
                    .to_string(),
                instruct: p
                    .get("instruct")
                    .and_then(|v| v.as_str())
                    .unwrap_or("")
                    .to_string(),
            })
        })
        .collect())
}

/// Abre o app do VoiceStudio (que sobe o backend).
pub async fn launch() -> anyhow::Result<()> {
    let app = find_app().ok_or_else(|| anyhow!("VoiceStudio nao encontrado"))?;
    if cfg!(target_os = "macos") {
        crate::core::process::command("open")
            .arg(&app)
            .output()
            .await?;
    } else {
        crate::core::process::command(&app).spawn()?;
    }
    Ok(())
}

async fn wav_from(resp: reqwest::Response, output: &Path) -> anyhow::Result<PathBuf> {
    let status = resp.status();
    if !status.is_success() {
        let text = resp.text().await.unwrap_or_default();
        return Err(anyhow!(
            "VoiceStudio HTTP {}: {}",
            status.as_u16(),

View on GitHub (pinned to 8600b91f42)