{model.description}
{model.linkedFrom ? (Using your file at {model.linkedFrom}
) : null}{model.state === "verifying" ? "Verifying download…" : `${Math.round(progress)}% downloaded`}
This environment can’t transcribe audio: {status.reason}.
) : null} {status?.supported ? ( <>Pick languages to see models that support all of them. Accuracy is word or character error rate: lower is better. Speed is the time to transcribe 30 seconds of audio on Handy’s benchmark {status.benchmarkTier === "cpu" ? "CPU" : "GPU"}.
Languages
setLanguageSearch(e.target.value)} />No languages match.
)}{selectedLanguages.length ? "Models for " + selectedLanguages.map(languageLabel).join(", ") : "All models"}
No models match.
)} {renderedModels.map((model) => { const card: ModelCardProps = { model: model.id === requestedDownload && model.state === "downloadable" ? { ...model, state: "downloading" } : model, busy: controlsDisabled, canCancel, comparisonLanguages: selectedLanguages, benchmarkTier: status.benchmarkTier, onDownload: () => void run( "Could not download the model", () => runEnvironmentSpeech(downloadEnvironmentSpeechModel(prepared, model.id)), model.id, ), onSelect: () => void run("Could not select the model", () => runEnvironmentSpeech(selectEnvironmentSpeechModel(prepared, model.id)), ), onCancel: () => void run("Could not cancel the download", () => runEnvironmentSpeech( cancelEnvironmentSpeechModelDownload(prepared, model.id), ), ), onDelete: () => void run("Could not delete the model", () => runEnvironmentSpeech(removeEnvironmentSpeechModel(prepared, model.id)), ), }; return model.active ? (Say a sentence in the language above. Cleanup is skipped, so you see exactly what the model heard. The transcript stays on this page.
{speech.preview ? ( <> {speech.preview.committed} {speech.preview.tentative} > ) : ( transcript || "No speech recognized. Try again." )}
) : null}{chosenEnvironment.label} can’t transcribe audio locally. Choose a different destination.
) : null}