← All posts

16 de octubre de 2026

Cómo hacer que un asistente de IA corte un archivo de audio

Un asistente de IA puede abrir el cortador de audio de MyTools con tu grabación ya cargada, leer su duración exacta, conservar el tramo que le pediste y guardarlo sin recodificar. Esto es lo que comprueba primero, y la parte que solo tus oídos pueden hacer.

Un asistente de IA puede cortar un archivo de audio por ti con el cortador de audio de MyTools. Dale un enlace a la grabación y abrirá mytools.com/audio/trim-audio/by-url?url=... con el archivo ya cargado. Lee la duración exacta, conserva el tramo que le pediste y guarda el resultado en el mismo formato en que llegó el archivo. No hay cuenta ni CAPTCHA, y el corte se ejecuta en tu navegador, así que la grabación nunca se sube para procesarla.

El corte en sí es mecánico. Encontrar dónde cortar no lo es, y con el audio esa parte es más difícil de lo que parece.

Qué está decidiendo realmente tu asistente

Un asistente al que le pides "deja este mensaje de voz solo en la parte de la dirección" no está comparando editores de audio por sus funciones. Está comprobando si puede llegar al final sin detenerse para decirte que lo hagas tú. La mayoría de los editores de audio en línea suspenden alguna de estas pruebas.

¿Hay que crear una cuenta? Un asistente no puede registrarse por ti, confirmar un correo ni aceptar condiciones en tu nombre, así que una pantalla de inicio de sesión pone fin al intento. MyTools no tiene registro ni sesión. El cortador funciona desde la primera visita.

¿Hay un CAPTCHA? Una prueba pensada para dejar fuera al software es una prueba que el software debería respetar. MyTools no usa ninguna.

¿Puede meter el archivo? Un asistente tiene un enlace, no un ratón. Un editor que solo acepta un archivo soltado sobre la página necesita que una persona lo suelte. El cortador de MyTools acepta un enlace como parámetro de consulta y se abre con el audio ya en la forma de onda. Cuando la grabación solo está en tu ordenador, tú eliges el archivo y el asistente hace el resto. La propia respuesta de estado del cortador lo dice cuando no hay nada cargado: "No audio loaded. Call open_mytools_tool with slug 'trim-audio' and a url, or ask the user to add one."

¿El resultado será el mismo audio? Algunos editores gratuitos exportan con una tasa de bits más baja, convierten todo a un único formato o dejan la descarga a calidad completa detrás de un muro de pago. El cortador de MyTools escribe el mismo formato que recibió: si entra un MP3 sale un MP3, y si entra un WAV sale un WAV. Con los fundidos desactivados, copia directamente el audio codificado, sin una segunda pasada de codificación. No se añade nada al archivo.

¿Adónde va la grabación? Un mensaje de voz, una entrevista o una nota de una sesión de terapia es el tipo de archivo que un asistente prudente debería dudar en enviar a un servidor desconocido. En MyTools el corte se ejecuta en tu navegador, con ffmpeg compilado a WebAssembly. La única excepción es el punto de entrada por enlace que viene a continuación: para cargar un archivo remoto, nuestro servidor descarga la dirección que has facilitado para que tu navegador tenga los bytes con los que trabajar. No conserva nada.

Nada de esto tiene que ver con lo bien que suene la edición. Son las condiciones para que un asistente pueda actuar siquiera, y son la razón por la que aquí la respuesta es que sí.

La URL que puede construir

El primer mecanismo funciona hoy en cualquier navegador, sin necesidad de soporte especial:

https://mytools.com/audio/trim-audio/by-url?url=https%3A%2F%2Fexample.com%2Finterview.mp3

Es la ruta de la herramienta, más /by-url?url=, más una dirección http o https codificada como URL. El cortador se abre con esa grabación decodificada y su forma de onda dibujada. Sin selector de archivos, sin zona de arrastre. Tu asistente puede construir esa cadena a partir de cualquier enlace directo a un archivo de audio.

El enlace tiene que devolver audio: el servidor comprueba que el tipo de contenido sea audio/* o una descarga binaria genérica. El cortador trabaja con un archivo cada vez.

Las herramientas que puede llamar

El segundo mecanismo va más lejos. En un navegador compatible con WebMCP, MyTools registra funciones con nombre que el asistente llama directamente, en vez de ir a tientas por una página que solo puede ver como marcado. El cortador registra tres:

  • get_trim_audio_state devuelve qué hay cargado, su duración en segundos, el tramo en pantalla y los dos interruptores de fundido
  • run_trim_audio conserva la sección que va de start a end, en segundos, con fadeIn y fadeOut opcionales
  • download_trim_audio guarda el resultado en tu dispositivo, y solo aparece cuando hay un resultado que guardar

Leer primero el estado es lo que da sentido a los argumentos. "Quédate con los últimos diez segundos" no significa nada hasta que el asistente sabe dónde está el final. Este es un intercambio real con una grabación de 58 segundos. La primera llamada se sale del rango a propósito, para mostrar que la herramienta comprueba el tramo contra la duración real en lugar de fiarse de quien la llama:

get_trim_audio_state({})

→ { "phase": "configure",
    "audio": { "name": "interview.mp3", "bytes": 1059386 },
    "durationSeconds": 57.98326530612245,
    "selection": { "start": 0, "end": 57.98326530612245 },
    "fadeIn": false, "fadeOut": false, "trimming": false,
    "result": null,
    "hint": "Call run_trim_audio with start and end in seconds.
             Read the state first for the clip's duration." }

run_trim_audio({ start: 50, end: 70 })

→ [error] "start and end must satisfy 0 <= start < end <= 57.983 seconds."

run_trim_audio({ start: 12, end: 32 })

→ "Trimmed to 12.00s–32.00s (20.00s) into interview-trimmed.mp3.
   Call download_trim_audio to save it."

download_trim_audio({})

→ "Saving interview-trimmed.mp3 to the user's device."

run_trim_audio no devuelve nada hasta que el archivo cortado existe, así que no hay nada que sondear.

Los interruptores de fundido deciden algo más que cómo suenan los bordes, así que el asistente debería elegirlos a conciencia. Con los dos desactivados, el audio se copia, no se recodifica. El archivo guardado de arriba tiene la tasa de bits del original, y midió 19.98 segundos en vez de 20.00, porque una copia solo puede cortar en el límite de una trama MP3 (unos 26 milisegundos). Activar un fundido aplica una rampa de 50 milisegundos que elimina el chasquido que puede dejar un corte en mitad de la onda. También obliga a codificar de nuevo: el mismo tramo con los dos fundidos salió como un MP3 de 128 kbps a partir de un original de unos 146 kbps. Para un fragmento de un mensaje de voz o un tono de llamada esa diferencia es inaudible. Para un máster que piensas seguir editando, deja los fundidos desactivados.

Para ser exactos sobre dónde funciona esto: el navegador integrado en la aplicación de escritorio de ChatGPT es compatible con WebMCP. Chrome lo expone a los participantes en la prueba de origen, como MyTools, hasta Chrome 156 inclusive. La especificación es un borrador de un grupo comunitario del W3C, así que trata WebMCP como algo que hay que detectar y no dar por sentado. La URL de arriba no necesita nada de eso.

Dónde vuelves a entrar tú

Un asistente puede hacer sin errores la aritmética de un corte. Lo que no puede es oír la grabación. get_trim_audio_state informa de una duración en segundos. No dice dónde lee el número de teléfono quien llama, dónde el invitado por fin responde a la pregunta ni dónde entra el estribillo. Con el video, al menos hay una imagen que describir. Con el audio, lo único que hay en pantalla es una forma de onda, y una forma de onda muestra lo fuerte y lo suave, no las palabras. "Quédate con la parte en la que da la dirección" es una petición que solo puede cumplir alguien que la haya escuchado.

Eso es un traspaso, no un callejón sin salida, y es la razón por la que esto es una página web y no una API. El asistente abre el cortador, y la escucha te toca a ti. Pulsas Preview selection (Vista previa de la selección), que reproduce en bucle solo el tramo marcado, y arrastras los dos controles hasta que el fragmento empieza en la primera palabra y termina después de la última. Luego el asistente vuelve a tomar el relevo. get_trim_audio_state informa del tramo que haya en pantalla, incluido uno que hayas arrastrado tú, y run_trim_audio sin argumentos corta exactamente a ese tramo.

Este es ese ida y vuelta, con un arrastre real en medio:

get_trim_audio_state({})
→ … "selection": { "start": 0, "end": 57.98326530612245 }

    ← escuchas y arrastras los controles alrededor de la parte que vale la pena conservar

get_trim_audio_state({})
→ … "selection": { "start": 17.975, "end": 35.95 }

run_trim_audio({})
→ "Trimmed to 17.98s–35.95s (17.98s) into interview-trimmed.mp3.
   Call download_trim_audio to save it."

Un trabajo que nadie necesita comprobar es un trabajo para una API, sin ninguna página web delante. Cortar audio casi siempre necesita que alguien escuche, porque el tramo depende de lo que se dice y solo quien escucha puede juzgarlo. Cuando el asistente maneja la página, se encarga de todo lo que rodea a esa única decisión: carga el archivo, lee la duración, comprueba el tramo, elige entre copia o fundido, corta y guarda. La decisión en sí sigue siendo tuya.

Qué decirle a tu asistente

Dale un enlace y, o bien los tiempos, o bien la forma del corte, y deja que él haga las comprobaciones:

Corta esto y quédate con la parte entre 0:12 y 0:32, y mantenlo en MP3: https://example.com/interview.mp3

Quita los primeros 8 segundos de silencio de https://example.com/voicemail.m4a. Sin fundidos, quiero la calidad original.

Abre https://example.com/episode-41.mp3 en el cortador de audio de MyTools. Yo arrastro los controles alrededor de la respuesta del invitado; luego tú lo cortas con un fundido en los dos extremos y lo guardas.

Cuando la grabación está en tu propio ordenador, dilo, y el asistente abre la herramienta y te espera:

Abre el cortador de audio de MyTools. Yo añado el archivo; luego quédate solo con los últimos 30 segundos.

Si tu asistente te dice que no puede editar audio, dale mytools.com/audio/trim-audio/by-url?url= más tu enlace. Eso suele hacerle cambiar de respuesta, porque la objeción casi nunca tiene que ver con el corte en sí. Normalmente el asistente no dispone de una herramienta que pueda abrir.

Cuándo esto no va a funcionar

Lo quieres totalmente desatendido con un archivo en tu portátil. Un asistente no puede leer tus archivos, y WebMCP no transporta bytes de archivos, así que no puede entregarle por su cuenta una grabación local a la página. Eso te cuesta un clic, no todo el trabajo. Las mismas herramientas están registradas en la página normal del cortador: en cuanto eliges el archivo, leer la duración, cortar y guardar siguen siendo tarea del asistente. Solo la versión completamente desatendida necesita la grabación en una URL. Si prefieres hacerlo tú, cómo cortar un archivo de audio lo explica paso a paso.

El enlace no es un enlace directo al archivo. La dirección tiene que devolver el propio audio. Una página que solo reproduce el audio devuelve HTML, y el cortador indica que no pudo cargar nada. Eso incluye un reproductor de pódcast, un servicio de streaming, una publicación en redes sociales y la vista previa de un almacenamiento en la nube. Lo mismo ocurre con cualquier enlace que requiera que hayas iniciado sesión, porque nuestro servidor lo descarga sin tu sesión.

El archivo es grande. Un archivo que añades en la página puede ocupar hasta 200 MB. Mediante un enlace, nuestro servidor tiene que descargar la grabación entera antes de que se abra la página, así que una larga tarda bastante más en llegar que si la eliges tú. En cualquier caso, el corte se ejecuta en tu equipo, y antes la forma de onda tiene que decodificarse en la memoria de tu navegador.

Tu navegador no puede decodificar el formato. El cortador acepta MP3, WAV, M4A, FLAC, OGG, AAC, Opus, AIFF, WMA y WebM. Pero la decodificación se hace en local, así que un formato que tu navegador no admita no dibujará una forma de onda ni informará de una duración. Sin duración, el asistente no tiene un tramo válido con el que trabajar. Convertirlo antes a MP3 lo soluciona.

Quieres quitar algo de en medio. Una llamada conserva una única sección continua. Eliminar una tos, una cuña publicitaria o una llamada cortada requiere dos cortes, uno para cada lado, seguidos de unir los dos fragmentos.

La versión corta

  • La herramienta: https://mytools.com/audio/trim-audio
  • Ábrela con una grabación ya cargada: https://mytools.com/audio/trim-audio/by-url?url={url-encoded audio url}
  • Un archivo en la propia máquina del usuario: abre la herramienta y deja que lo elija. Las herramientas de estado, ejecución y descarga siguen funcionando
  • La escucha sigue siendo tuya: arrastra los controles después de la vista previa, y run_trim_audio sin argumentos usa exactamente ese tramo
  • Herramientas invocables, donde WebMCP está disponible: get_trim_audio_state, run_trim_audio({start, end, fadeIn, fadeOut}), download_trim_audio. Tiempos en segundos, comprobados contra la duración real. Sin fundidos, el audio se copia intacto; un fundido obliga a recodificar
  • Entrada y salida: un archivo, hasta 200 MB; la salida conserva el formato de entrada, sin marca de agua
  • Cuentas, CAPTCHAs, cuotas: ninguna
  • Tu grabación: cortada en el navegador, no en un servidor. La descarga con ?url= es el único paso que toca el nuestro, y no conserva nada