Saltar al contenido

Taller de animación ASCII

ASCII Animation Workbench

Arma una animación de rejillas de caracteres a partir de un video, un GIF, un editor cuadro a cuadro, texto en movimiento o un efecto procedural, y exporta cuadros de texto, ANSI, asciicast v2, un GIF animado y un reproductor HTML de un solo archivo.

Esto es un banco de trabajo y no un conversor. El documento es una secuencia de cuadrículas de caracteres con un retardo en cada una, y hay cuatro formas de llenarlo — un video o un GIF, dibujar los fotogramas tú mismo con el anterior transparentado, mover un banner, o uno de los efectos procedimentales — y cuatro formas de sacarlo, incluido un GIF animado de verdad y un único archivo HTML que lo reproduce sin ninguna red.

🔒 Se ejecuta por completo en tu navegadorasciiartanimationvideoterminal
De dónde salen los cuadros

El donut.c de Andy Sloane (2006): un toroide con búfer z, sombreado según la normal de la superficie frente a una luz fija.

La misma semilla da siempre los mismos cuadros, así que un resultado se puede reproducir y volver a exportar idéntico.

Cuadro 1 de 1

1 cuadro, 0,1 s, unos 7,5 kB en memoria

Exportar
























Para MP4 o WebM, guarda el GIF y pásaselo a la herramienta GIF a video, que ya codifica con WebCodecs y mete H.264 en MP4 y VP9 en WebM. Escribir aquí un segundo codificador sería una copia peor de aquel. No hay exportación a APNG: hace falta añadir los trozos acTL/fcTL/fdAT sobre el escritor de PNG, y no está hecho.
Los cuadros están limitados a 600 y la rejilla total a 2,4 millones de celdas, que son unos 230 MB de color a la vez. A este tamaño eso son 600 cuadros. Pasado eso, la pestaña de un celular muere sin mensaje ninguno, que es peor que una negativa.
asciicast v2 son líneas de JSON: un objeto de cabecera y luego un arreglo [tiempo, "o", datos] por cuadro. Los tiempos son segundos absolutos desde el principio y no esperas por cuadro; cada cuadro lleva el cursor al inicio y borra lo que hay debajo, para que un cuadro corto no deje la cola de uno largo; y las líneas terminan en CRLF, porque un salto de línea pelado en la salida cruda de una terminal produce la escalera de siempre. Implementado aquí a partir de la especificación publicada.
El número de cuadros por el tamaño de la rejilla es adonde se va toda la memoria, así que los dos están limitados y el límite se dice en vez de descubrirse. La conversión corre en un worker con una cancelación que llega al bucle, así que un trabajo de 300 cuadros ni congela la pestaña ni sigue corriendo después de que lo pares.

Cómo se usa

  1. Vigila el presupuesto de fotogramas, no el tamaño del archivo

    Todo aquí cuesta fotogramas por celdas de cuadrícula, y la página imprime cuántos fotogramas caben con el ancho que elegiste. Ensanchar la salida de 80 a 160 caracteres divide entre cuatro el número de fotogramas que puedes guardar. El tope existe porque la alternativa es una pestaña de celular cerrada sin ningún mensaje.

  2. Fija los retardos antes de exportar

    Cada fotograma lleva su propio retardo y todos los exportadores lo leen, así que lo que ves en la vista previa es lo que harán el GIF y el asciicast. Fija un fotograma y pulsa «aplicar a todos los fotogramas» para un ritmo constante, o deja fotogramas sueltos más largos para sostener una pose.

  3. Elige la exportación según a dónde va

    asciicast v2 para asciinema y para quien lo vaya a reproducir en una terminal. GIF para una ventana de chat o un README. El reproductor HTML para incrustar: es un solo archivo con los fotogramas dentro y sin CDN. Fotogramas de texto plano si otra cosa va a leerlos.

Preguntas frecuentes

¿Qué es asciicast v2 y por qué no simplemente un GIF?

Es el formato en el que asciinema graba terminales — líneas JSON, un objeto de cabecera y luego un arreglo [tiempo, "o", datos] por fotograma — y sigue siendo *texto*, así que son unos pocos kilobytes donde el GIF son unos pocos megabytes, y quien lo ve puede seleccionar y copiar lo que hay en pantalla. Implementado aquí a partir de la especificación publicada. Un GIF es la respuesta correcta cuando el destino no puede reproducir una grabación de terminal, que es la mayoría de los sitios.

Los efectos procedimentales: ¿los escribieron ustedes?

El código, sí; las técnicas son más antiguas y se acreditan en la página. El toro giratorio es el método donut.c de Andy Sloane — un z-buffer para que gane la superficie cercana, y la normal de la superficie multiplicada escalarmente por una luz fija para indexar la rampa — y el fuego es el efecto de la demoscene que documentó Fabien Sanglard. El plasma, la lluvia y el desplazador sinusoidal son folclore sin un solo autor, y se nombran como tal. Cada efecto es una función pura del número de fotograma y la semilla, así que la misma semilla siempre da la misma animación.

¿Puedo detener una conversión larga?

Sí, y se detiene de verdad. La conversión corre en un worker que comprueba entre fotogramas, así que cancelar termina el trabajo en lugar de ocultar el resultado — lo que importa en un celular, donde la diferencia es otro minuto de ventilador girando.

Puede recibir de

Después

Estas aceptan lo que produce esta herramienta, así que el resultado puede pasar directamente.

Imagen a ASCII

Image to ASCII

Convierte una imagen en caracteres ASCII o en caracteres ANSI de color, con el ancho y el juego de caracteres que elijas.

Se ejecuta por completo en tu navegador

Arte en braille

Braille Art

Convierte una fotografía en celdas braille de Unicode: 2 × 4 puntos por carácter, ocho veces la resolución de una rampa de brillo, y con dithering a elegir.

Se ejecuta por completo en tu navegador

Arte de texto a imagen

Text Art to Image

Convierte cualquier arte de texto monoespaciado en PNG o SVG eligiendo fuente, tamaño de celda, color, fondo y transparencia, para que sobreviva al publicarlo donde no se respeta el monoespaciado.

Se ejecuta por completo en tu navegador

Video a GIF

Video to GIF

Convierte un fragmento en un GIF o WebP animado con control de fotogramas por segundo, tamaño y paleta.

Se ejecuta por completo en tu navegador

Horóscopo del día por signo y animal del zodiaco

Daily Fortune by Zodiac Animal & Star Sign

Compone la lectura de un día para un signo del zodiaco o un animal del zodiaco chino a partir del 일진 de esa fecha y del temperamento tradicional del signo; la semilla es la fecha, así que no cambia al recargar.

Se ejecuta por completo en tu navegador

Compatibilidad de signos del zodiaco chino

Zodiac Compatibility (궁합)

Dos fechas de nacimiento dan dos animales del zodiaco chino y dos troncos del día, e informa de la relación exacta entre ellos —삼합, 육합, 충, 원진, 형, 파, 해— y de la relación de los cinco elementos, cada una con su veredicto tradicional.

Se ejecuta por completo en tu navegador