Skip to content
Tórculo1.0 · working draft

Getting started

Ten minutes with Tórculo

A guide to writing and rendering your first pliego in ten minutes.

By the end of this guide you will have a one-minute film with voice, music, ambience and effects, written in a pliego that reads like the film. You need the reference implementation (manim-saorín, with its mesa command), Tórculo's engine for --motor gx, and this repository. The language's keywords are Spanish; the comments here explain them.

Minute 1: the folder and its sound

mkdir -p ~/films/faro && cd ~/films/faro
python3 ~/Developer/torculo/conformance/tools/sonido.py --salida sonido

sonido/banda/ has three cues (1M1, 1M2, cortinilla) and sonido/efectos/ three ambiences (amb sala bucle, amb lluvia bucle, amb taller bucle) and four effects (pagina, campanilla, sello, tijera), all synthesized and free (CC0). To use your own, put other files in those folders.

Minute 2: the servilleta

Write faro.mesa ("the lighthouse"), only prose and its soundtrack:

MESA «El faro»
BANDA sonido/banda
EFECTOS sonido/efectos
MEZCLA para la web · sin stems
MÚSICA 1M2
AMBIENTE amb lluvia bucle

Cada noche, el farero subía los ciento doce escalones de la torre.
Nadie le había pedido que lo hiciera.
Aun así, encendía la luz.
mesa lee faro.mesa      # "LIMPIO": it is already a pliego

Every sentence is a clip; the engine chooses the shot and the piece. This can already be rendered.

Minutes 3 to 5: directing

Split the prose into a chapter and clips, each with a function and an affect, and put things on the table:

MESA «El faro»
formato 16:9 · sala crema · tirada borrador
BANDA sonido/banda
EFECTOS sonido/efectos
MEZCLA para la web · sin stems
REPARTO MARTA: ultramar, cita_f, seca, a la izquierda

== CAPÍTULO 1 · LA TORRE ============== tensión sube · tambor ultramar
MÚSICA 1M2
AMBIENTE amb lluvia bucle
ESPACIO patio

* apertura · sereno
di: Cada noche, el farero subía los ciento doce escalones de la torre.
pon: rescate «EL FARO»

* ilustración · nervioso
MARTA: —¿Por qué nunca se cansa?
pon: cartulina «ESCALÓN»
el escalón sube hasta el borde · despacio
al decir «cansa»: sonido: campanilla

* remate · solemne
di: Aun así, encendía la luz.
pon: sello «LUZ»
al decir «luz»: sonido: sello
> deja posar

== FIN ===
> silencio 2

mesa lee reports each error with the closest valid words. If you find yourself writing a figure, look for the word instead: a manner (despacio, slowly), a distance (lejos, far), a shot size (primer, close-up), an intensity (tensa, tense).

Minutes 6 and 7: the voice

tools/pesado mesa graba faro.mesa        # local Supertonic; writes faro.tiempos.json

The sidecar keeps how long each beat lasts and when each word is said: al decir ("when saying") anchors come from it. It is an input of the film like the pliego itself.

Minute 8: look before rendering

tools/pesado mesa animatica faro.mesa --motor gx --sonido

One frame per beat with the real timing and sound. Check that each thing arrives when it is said and that nothing covers anything else. Fix things here, not in the render.

Minute 9: render

tools/pesado mesa toca faro.mesa --motor gx --sonido -o /tmp/faro.mp4

Beside the video you get the master (/tmp/faro.master.wav) and the soundtrack report (/tmp/faro.banda.json): loudness should be around −14 LUFS and the cues those you asked for.

Minute 10: take it with you

mesa empaqueta faro.mesa                 # faro.mesapack: pliego, voice, sound and manifest
mesa desempaqueta faro.mesapack /another/folder

The package keeps relative paths and the hash of every file: on another machine the same film comes out.

Next

  • The cheat sheet: the whole language on one page.
  • The next layers: the scene (EJE, LUZ, film shots), movement and its manners, the look (MATERIA, BOBINA, FORMATO, transitions, the typographic river), the poster (PALETA, LETRA), the picture that listens (INTENSIDAD, SOPORTE) and the camera (CÁMARA, lenses, depth).
  • The specification, when you want to know why.