Uhm.
Detecção de hesitações no dispositivo que marca cada uma (“um”, “uh”, “hmm”) com precisão de 20 ms: uma hora de áudio em 12 s.
Encontre e remova cada hesitação.
Um episódio de uma hora é analisado em 12 s em um iPhone 17 Pro. Um catálogo antigo é um processamento em lote que você roda localmente, não uma fatura de nuvem.
O Uhm chega lá pulando a etapa de transcrição. O jeito habitual de achar um “um” é transcrever o arquivo inteiro e procurar no texto. E a transcrição nem ajudaria: modelos como o Whisper deixam as hesitações de fora da saída, então elas nunca aparecem no texto para serem encontradas.
Em vez disso, o Uhm lê a forma de onda e marca cada hesitação que ouve, para que um editor possa cortá-las ou uma limpeza de um clique enxugue a tomada inteira. Abra um arquivo de áudio ou vídeo e cada hesitação é listada com o seu tempo, então você clica em uma e vai direto até ela.
Em dispositivos Apple roda a build Core ML de 45 MB. A demo no navegador e um backend em Python rodam o mesmo modelo como 51 MB de ONNX, então um editor web e um processamento em lote se comportam de forma idêntica.
10 minutos de áudio em 2 s.
296x o tempo real em um iPhone 17 Pro, 279x em um iPad Pro M4 e 169x em um iPhone 15 Pro, com previsões a cada 20 ms.

Fator de tempo real (duração do áudio sobre o tempo de análise), Core ML fp16, aquecido (interno)
| Dispositivo | Fator de tempo real |
|---|---|
| iPhone 17 Pro | 296x |
| iPad Pro (M4) | 279x |
| iPhone 15 Pro | 169x |
Benchmarks internos. Treinado em inglês; a transferência para espanhol, francês, alemão e holandês é acústica e não foi medida separadamente.
Limpe o catálogo antigo em uma noite.
Corte todas as hesitações na linha do tempo
Marque cada ocorrência de “um” e “uh” para que um editor, ou uma limpeza de um clique, enxugue a gravação sem rodar antes uma passagem de transcrição.
Uma linha do tempo de hesitações no navegador
Em um editor web, cada hesitação de um arquivo de áudio ou vídeo é listada com um tempo clicável, calculada no cliente, sem upload e sem uma fila de workers por trás.
Não deixe as hesitações chegarem ao texto
Sinalize as disfluências no áudio e mantenha-as fora das palavras que chegam à sua transcrição, para que o texto final soe como o falante pretendia dizer a frase.
Treino de oratória e coaching
Conte quantas vezes um orador recorre a uma hesitação ao longo de uma palestra gravada e mostre a ele o padrão, num app de treino que nunca envia a voz dele para fora.
Inspiração
Ideias para construir com o Uhm. Copie um prompt para o seu agente de código e comece.
Add a 'remove ums' button to a podcast or video editor.
Add a one-tap action that runs Desert Ant's Uhm on-device to find every filler word (um, uh, hmm) to within 20ms and cut them from the timeline, with an undo. Build it with the Desert Ant SDK. Uhm (Swift). Install and API: https://desertant.com/docs/uhm/. Install: SwiftPM desert-ant-core. SDK source: https://github.com/Desert-Ant-Labs/desert-ant-core. Machine-readable catalog of every model and SDK: https://desertant.com/llms.txt.
Build a speaking coach that counts and marks your filler words.
Build a speaking-practice app that records the user and uses Desert Ant's Uhm to mark and count filler words, showing progress over sessions. Runs on the phone, private. Build it with the Desert Ant SDK. Uhm (Swift). Install and API: https://desertant.com/docs/uhm/. Install: SwiftPM desert-ant-core. SDK source: https://github.com/Desert-Ant-Labs/desert-ant-core. Machine-readable catalog of every model and SDK: https://desertant.com/llms.txt.
Show a filler-word timeline for any recording.
Add a filler timeline to an audio editor: run Desert Ant's Uhm on-device and mark every um and uh on the waveform so an editor can jump between and trim them. Build it with the Desert Ant SDK. Uhm (Swift). Install and API: https://desertant.com/docs/uhm/. Install: SwiftPM desert-ant-core. SDK source: https://github.com/Desert-Ant-Labs/desert-ant-core. Machine-readable catalog of every model and SDK: https://desertant.com/llms.txt.
A clean, filler-free transcript from a raw, noisy recording.
Build a transcript pipeline: Desert Ant's Clear cleans the audio, Voz transcribes it, and Uhm removes the fillers, so a messy recording becomes a clean transcript, on-device. Build it with the Desert Ant SDK. Clear (Swift, Kotlin, JavaScript / TypeScript). Install and API: https://desertant.com/docs/clear/. Voz (Swift). Install and API: https://desertant.com/docs/voz/. Uhm (Swift). Install and API: https://desertant.com/docs/uhm/. SDK source: https://github.com/Desert-Ant-Labs/desert-ant-core. Machine-readable catalog of every model and SDK: https://desertant.com/llms.txt.
Trim every filler from a talking-head take automatically.
Build an auto-trim that runs Desert Ant's Uhm on-device to find and cut fillers from a talking-head video before export. Build it with the Desert Ant SDK. Uhm (Swift). Install and API: https://desertant.com/docs/uhm/. Install: SwiftPM desert-ant-core. SDK source: https://github.com/Desert-Ant-Labs/desert-ant-core. Machine-readable catalog of every model and SDK: https://desertant.com/llms.txt.
O que o modelo faz
- Precisão no nível do quadro: exatidão de 20 ms.
- Detecção acústica: funciona direto na forma de onda, sem transcrição.
- Preset
Bias: precisão, equilibrado ou recall. - Treinado em inglês, transfere para espanhol, francês, alemão e holandês sem retreinamento.
Primeiros passos
Adicione detecção de palavras de preenchimento ao seu app iOS or macOS em poucas linhas de código. Docs do Uhm.
// Swift Package Manager
.package(url: "https://github.com/Desert-Ant-Labs/desert-ant-core", from: "3.1.0")
// target dependency
.product(name: "Uhm", package: "desert-ant-core")
import Uhm
let result = try await Uhm().analyze(audioURL: url)
for f in result.fillers { print(f.start, f.end, f.type ?? .other) }
Add Uhm from Desert Ant Labs to this Swift project (iOS, macOS). What it does: detecção de palavras de preenchimento no dispositivo para áudio e vídeo. SDK: Swift (iOS, macOS) Repo: https://github.com/Desert-Ant-Labs/desert-ant-core#readme // Swift Package Manager .package(url: "https://github.com/Desert-Ant-Labs/desert-ant-core", from: "3.1.0") // target dependency .product(name: "Uhm", package: "desert-ant-core") Reference: - Model page: https://desertant.com/models/uhm/ - Full catalog and other models: https://desertant.com/llms.txt Add the SDK, then follow its README for the exact API and current version. Do not invent API names or method signatures; confirm them against the README.
Especificações
- Resolução
- Resolução de 20 ms
- Modelo
- Acústica, sem transcrição
- Tamanho no dispositivo
- 45 MB Core ML (Apple); 51 MB ONNX (navegador, servidor)
- Idiomas
- Inglês; transfere para espanhol, francês, alemão e holandês
- Velocidade
- 296x o tempo real em um iPhone 17 Pro
O Uhm foi treinado em inglês, e os quatro idiomas para os quais ele transfere não foram medidos contra um gabarito por idioma. O Uhm funciona melhor em áudio de podcast, de reunião e de pessoa falando para a câmera.
Música de fundo alta, risadas ou várias pessoas falando por cima umas das outras reduzem a acurácia. Confie mais na resposta “é hesitação ou não” do que no rótulo: se uma hesitação foi um “uh”, um “um” ou um “hmm” é a metade menos confiável do resultado.
FAQ
O que é o Uhm?
Detecção de hesitações no dispositivo que marca cada uma (“um”, “uh”, “hmm”) com precisão de 20 ms: uma hora de áudio em 12 s.
O Uhm roda no dispositivo?
Sim. O Uhm roda no dispositivo, sem chamada a servidor, então os dados ficam com o usuário.
Quais plataformas o Uhm suporta?
O Uhm é distribuído como um SDK nativo no dispositivo para Swift.
Quanto custa o Uhm?
Cada modelo é gratuito para até 100 mil dispositivos ativos mensais por SDK. Inferência ilimitada por usuário. Fale conosco para licenças personalizadas.
Qual a precisão e a velocidade do Uhm?
296x o tempo real em um iPhone 17 Pro, 279x em um iPad Pro M4 e 169x em um iPhone 15 Pro, com previsões a cada 20 ms.