Whisper Notes

Busca, lee y crea transcripciones de voz a texto en el dispositivo con la app Whisper Notes para Mac: 100 % sin conexión, sin puertos abiertos.

Documentación

Configuración

  1. Descarga Whisper Notes para Mac 1.5.5 o posterior — versión DMG (no Mac App Store).
  2. Abre la aplicación → Ajustes → Integraciones → activa CLI local y MCP.
  3. Haz clic en Instalar CLI en la misma sección. Tras un aviso de administrador, crea dos enlaces simbólicos: /usr/local/bin/whispernotes y /usr/local/bin/wn (solo si ese nombre está libre). Nunca edita tu configuración de shell ni tu PATH. Ambos enlaces apuntan a la copia en ~/Library/Application Support/WhisperNotes/bin, que la aplicación actualiza en cada inicio — no necesitas añadir esa carpeta a tu PATH.

Los ejemplos siguientes usan el alias corto wn. Si wn ya está ocupado en tu Mac (p. ej. por WordNet), el comando completo whispernotes funciona de forma idéntica.

Usar la CLI

$ wn status
WhisperNotes 1.5.5 (340) · SenseVoice Small · ready · 3081 notes

$ wn list --limit 3
9f3c21a8  2026-08-01 09:14  0:42   meeting   Weekly sync — pricing review
b2d84e07  2026-07-31 18:03  12:26  recorded  Idea dump on the walk home
5a1f9c33  2026-07-30 10:52  47:10  imported  interview-with-anna.m4a

$ wn transcribe ~/Desktop/standup.m4a
Morning standup. Sarah shipped the pricing page, Marco is blocked on the…
✓ done in 6.5s (46x realtime) — saved to WhisperNotes history

$ wn export --format md --audio --output-dir ~/Transcripts
✓ exported 312/312 transcript(s), 312 audio file(s) → /Users/you/Transcripts

Las transcripciones se imprimen en stdout; el progreso y los errores van a stderr — es seguro canalizar o redirigir cualquier cosa. Añade --json para una salida legible por máquina. Todo lo demás está en la referencia de comandos.

Conectar Claude o cualquier agente de IA (MCP)

El servidor MCP está integrado en el mismo binario — no hay nada más que instalar.

Claude Code — una línea:

claude mcp add whispernotes -- whispernotes mcp

Claude Desktop — añade esto a ~/Library/Application Support/Claude/claude_desktop_config.json y reinicia Claude Desktop:

{
  "mcpServers": {
    "whispernotes": {
      "command": "/usr/local/bin/whispernotes",
      "args": ["mcp"]
    }
  }
}

Luego solo pregunta:

  • "Lee mis últimas cinco transcripciones y dime qué debería retomar."
  • "Encuentra la reunión donde hablamos de la factura y redacta un borrador de correo de respuesta."
  • "Transcribe ~/Desktop/podcast.mp3 y extrae todos los elementos de acción."

Notas:

  • Cualquier cliente MCP local funciona igual — comando whispernotes, argumentos ["mcp"] (Cursor, etc.).
  • Si el comando no se encuentra, usa la ruta completa desde which whispernotes — las aplicaciones GUI no leen el PATH de tu shell.
  • El sitio web de claude.ai no puede acceder a servidores MCP locales — usa Claude Desktop en su lugar.

Qué puedes hacer con ello

# Summarize your latest recording with a local LLM
wn show latest | ollama run llama3 "Summarize the key points:"

# Transcribe an interview straight into the clipboard
wn transcribe interview.mp3 | pbcopy

# Who said what — speaker-labeled transcript of your last meeting
wn show latest --speakers

# Find that one conversation
wn search "quarterly review"

# Review only your meeting recordings
wn list --source meeting --limit 10

# Switch the transcription model, then see which languages it takes
wn models select sensevoice
wn language list

Referencia de comandos

ComandoOpcionesQué hace
status—Versión de la aplicación, modelo activo, preparación, número de notas
list--limit N · --source T · --jsonTranscripciones recientes, las más nuevas primero
search <query>--limit N · --jsonBúsqueda de texto completo en tu historial, con fragmentos
show [id or latest]--timestamps · --speakers · --max-chars N · --offset N · --jsonImprime una transcripción (por defecto latest)
transcribe <file>--jsonTranscribe un archivo de audio o vídeo y lo guarda en el historial
export--format txt or md · --output-dir DIR · --source T · --limit N · --audio · --speakersExporta transcripciones en lote como archivos, copiando opcionalmente el audio junto a ellas
modelslist · select <id>Lista o cambia modelos: parakeet, sensevoice, whisper-small, whisper-large-v3-turbo
languagelist · select <code>Lista o cambia el idioma de transcripción — las opciones siguen al modelo activo
mcp—Ejecuta el servidor MCP en stdio (para clientes de IA, no para humanos)
version · help—Versión de CLI · uso

Vale la pena saber:

  • wn es un alias de conveniencia para whispernotes — comandos idénticos. Los scripts y agentes de IA deben llamar a whispernotes, que siempre existe; el alias solo se crea cuando el nombre está libre.
  • Autodescubrimiento para agentes: whispernotes help imprime el uso completo; un comando mal usado responde con su línea de uso exacta en stderr. --json siempre emite un único objeto o matriz JSON en stdout.
  • show acepta el id completo o solo sus primeros 4+ caracteres, tal como muestra list — o latest, que es el valor por defecto.
  • --speakers (en show y export) usa la detección de hablantes que ya has ejecutado en la aplicación; export recurre silenciosamente a texto plano para notas sin ella.
  • export escribe archivos con título de fecha (2026-08-01-1956 Standup.md), nunca sobrescribe y usa por defecto ./whispernotes-export; los archivos Markdown llevan fecha, duración, fuente e id al principio.
  • --source filtra por origen: recorded, imported, meeting o fn (escritura por voz con tecla Fn).
  • transcribe usa el modelo y el idioma seleccionados actualmente en la aplicación, y el resultado también se guarda en tu historial.
  • Si Whisper Notes no está en ejecución, la CLI lo inicia en segundo plano y espera hasta ~15 segundos.

Herramientas MCP

HerramientaParámetrosDevuelve
list_transcriptslimit (por defecto 20) · sourceTranscripciones recientes con ids, fechas, títulos
search_transcriptsquery (obligatorio) · limitCoincidencias de texto completo con fragmentos
get_transcriptid (obligatorio) · timestamps · speakers · max_chars · offsetEl texto de una transcripción
get_latest_transcripttimestamps · speakersTu transcripción más reciente
transcribe_filepath (obligatorio)Transcribe un archivo de audio o vídeo y lo guarda en el historial
list_models—Modelos instalados y cuál está activo

Las grabaciones largas se paginan: cuando una transcripción supera max_chars, la respuesta termina con un marcador de truncamiento explícito que indica al agente desde qué offset continuar — las reuniones de una hora nunca desbordan una ventana de contexto.

Privacidad y seguridad

  • El transporte es un socket de dominio Unix en ~/Library/Application Support/WhisperNotes/api.sock con permisos 0600 — sin puerto TCP, sin interfaz de red, inaccesible desde cualquier otra máquina.
  • Desactivado por defecto: no se sirve nada hasta que actives la opción en Ajustes.
  • Los clientes MCP como Claude piden tu aprobación antes de cada llamada a herramienta.
  • La transcripción se ejecuta en el dispositivo con los mismos motores que la aplicación; los resultados se almacenan solo en tu historial local.

Solución de problemas

  • command not found: whispernotes después de instalar — ejecuta ls -l /usr/local/bin/whispernotes. Si falta, el aviso de administrador se canceló: haz clic en Instalar CLI de nuevo en Ajustes → Integraciones. Si existe, /usr/local/bin no está en tu PATH: añade export PATH="/usr/local/bin:$PATH" a ~/.zshrc y abre una nueva ventana de terminal.
  • "la API local está desactivada" — activa Ajustes → Integraciones → CLI local y MCP en Whisper Notes. Se aplica al instante, sin necesidad de reiniciar.
  • "La versión en ejecución de WhisperNotes no incluye soporte para la API local" — tu aplicación es anterior a la API local. Actualiza a 1.5.5 o posterior mediante el actualizador integrado o el DMG más reciente.
  • La primera transcripción tarda en empezar — el modelo puede estar aún cargándose; el servidor espera a que esté listo. whispernotes status muestra loading model… hasta que el motor esté caliente.

Ver también