Manual para Subtitulos Formato SSA o ASS PDF
Manual para Subtitulos Formato SSA o ASS PDF
Manual para Subtitulos Formato SSA o ASS PDF
SSA o ASS
Estructura del subtítulo y comandos.
Si tienen ganas de leer este manual, quizás también estén interesados en estos
enlaces:
SSA y ASS en la Wikipedia (texto introductorio)
El libro de cocina de SSA/ASS
Con esta utilidad se pueden sincronizar los subtitulo que la principio del video estan
bien y a medida que este avanza los subtitulos van desfasándose
Los estilos de línea definen el estilo y la posición del los subtítulos. Todos los estilos
utilizados por el subtitulo están definido por un estilo de línea
Los campos que aparecen en cada definición de Estilo son nombrados en una línea
especial con el tipo de línea "Format:" Los formatos de línea deben aparecer antes de
todos los estilos, porque esto define como el formato SSA interpretará el Estilo de
definición de líneas
En el Estilo de Línea se desarrollan cambios para todos los subtítulos que lleven el
nombre de un estilo definido
Los nombres de los campos deben escribirse correctamente, como esta a
continuación
Nota: los programas para cambian de formato un subtitulo como el Workshop, ponen
los campos automaticamente
PrimaryColour:El color del estilo, se puede colocar los colores de dos formas.
Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour,
BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle,
BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel,
Encoding
Style: Texto,Comic Sans
MS,48,&H7BD1FE,&HBCECEC,&H1B3041,&H1B3041,1,1,0,0,100,100,0,0.00,1,2,2,8,2
0,20,20,0,1
La hexadecimal los colores son definidos por un numero hexadecimal, ejem &H00ffff -
Amarillo, también se lo puede escribir de esta forma numérica. ejem. 65535 -
Amarillo
Yo recomiendo que utilicen los colores en numeración hexadecimal ya que sera util
más adelante en los codigos de sustitucion
Aqui les pongo una pequeña paleta para que utilicen los colores con numeracion
hexadecimal
a1=&HFFFFFF
a2=&HE0E0E0
a3=&HC0C0C0
a4=&H808080
a5=&H404040
a6=&H000000
b1=&HC0C0FF
b2=&H8080FF
b3=&H0000FF
b4=&H0000C0
b5=&H000080
b6=&H000040
c1=&HC0E0FF
c2=&H80C0FF
c3=&H0080FF
c4=&H0040C0
c5=&H004080
c6=&H404080
d1=&HC0FFFF
d2=&H80FFFF
d3=&H00FFFF
d4=&H00C0C0
d5=&H008080
d6=&H004040
e1=&HC0FFC0
e2=&H80FF80
e3=&H00FF00
e4=&H00C000
e5=&H008000
e6=&H004000
f1=&HFFFFC0
f2=&HFFFF80
f3=&HFFFF00
f4=&HC0C000
f5=&H808000
f6=&H404000
g1=&HFFC0C0
g2=&HFF8080
g3=&HFF0000
g4=&HC00000
g5=&H800000
g6=&H400000
h1=&HFFC0FF
h2=&HFF80FF
h3=&HFF00FF
h4=&HC000C0
h5=&H800080
h6=&H400040
Tambien pueden sacar mas colores de programas como Photoshop y Flash MX pero
tengan cuidado ya que en estos programas el azul y el rojo estan intercambiados,
osea en estos programas el azul es &H0000FF, y el rojo es &HFF0000, pero lo
solucionan intercambiando los dos codigos de cada extremo
Spacing:Esto define el espacio entre las letras, el valor se debe poner en píxeles
(Habilitado en el formato ASS)
Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour,
BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle,
BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel,
Encoding
Style: Texto,Comic Sans
MS,48,&H7BD1FE,&HBCECEC,&H1B3041,&H1B3041,1,1,0,0,100,100,0,0.00,1,2,2,8,2
0,20,20,0,1
Angle:Cambia la rotación del subtitulo según el eje "z" como muestra la imagen de
abajo, el valor se debe colocar según el ángulo que se quiera obtener (Habilitado en
el formato ASS)
Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour,
BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle,
BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel,
Encoding
Style: Texto,Comic Sans
MS,48,&H7BD1FE,&HBCECEC,&H1B3041,&H1B3041,1,1,0,0,100,100,0,0.00,1,2,2,8,2
0,20,20,0,1
BorderStyle: Esto define el estilo de borde. "1", el subtitulo esta definido por un
borde. "3", el subtitulo se encuentra dentro un rectángulo
Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour,
BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle,
BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel,
Encoding
Style: Texto,Comic Sans
MS,48,&H7BD1FE,&HBCECEC,&H1B3041,&H1B3041,1,1,0,0,100,100,0,0.00,1,2,2,8,2
0,20,20,0,1
Outline:Esto define el ancho del borde
Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour,
BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle,
BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel,
Encoding
Style: Texto,Comic Sans
MS,48,&H7BD1FE,&HBCECEC,&H1B3041,&H1B3041,1,1,0,0,100,100,0,0.00,1,2,2,8,2
0,20,20,0,1
Esta seccion contiene la información del texto del subtitulo, sus tiempos, y como será
desplegada en la pantalla
Los campos que aparecen en cada Línea de Dialogo están definidos por una línea
"Format:", que debe aparecer antes de cada evento en esta sección. La línea de
formato especifica como el formato SSA interpretara todos los eventos de línea
Los nombres de los campos deben estar escritos correctamente, como se escribe a
continuación
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: Marked=0,0:00:01.33,0:00:05.04,Intro,NTP,0000,0000,0000,!Effect,El
sonido de las campanas, se oye en lo profundo del bosque...
Name:Aquí se pone el nombre del personaje que dice este texto, esto es opcional
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: Marked=0,0:00:01.33,0:00:05.04,Intro,NTP,0000,0000,0000,!Effect,El
sonido de las campanas, se oye en lo profundo del bosque...
Con "MarginL", "MarginR", "MarginV" que estan marcados de color arriba se puede
colocar el subtitulo en el lugar que uno quiera en la pantalla
En estos tres valores en cuanto mayor sea en numero que se le de, mayor sera la
distancia a la que se encontraran del margen, solo en el margen vertical depende del
alineamiento que se le de al subtitulo, por lo general el subtitulo se encuentra en la
parte inferior de la pantalla, y este se alejara del margen inferior, pero si esta
alineado en la parte superior se alejara del margen superior como muestra la imagen.
Effect:Esta parte se encuentra vacía por defecto, pero puede llevar en nombre de los
tres efectos de transición que ejecuta el formato SSA
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: Marked=0,0:00:01.33,0:00:05.04,Intro,NTP,0000,0000,0000,!Effect,El
sonido de las campanas, se oye en lo profundo del bosque...
Ejemplo:
Dialogue: Marked=0,0:00:01.33,0:00:08.04,Default,,0000,0000,0000,Scroll
up;200;400;50;100,Este texto esta animado con el efecto de transición "Scroll"
Como pueden ver en la imagen utilizando "fadeawayheight" se da el efecto de que las
letras se vuelvan transparentes hasta desaparecer
“Banner;delay[;lefttoright;fadeawaywidth]”
Esto indica que el texto será forzado a estar en una solo línea, sin tener en cuenta la
longitud
El valor "delay" en el efecto "Scroll up" y en "Banner" puede ser un numero entre 1 y
100, y esto determina el retraso del desplazamiento, cero significa que no hay retraso
y el texto avanzara lo mas rápido posible
"fadeawayheight" y "fadeawaywidth" esto se utiliza para hacer que el testo a los lados
se vuelva transparente en cuanto mayor se el numero mas grande será la parte de la
transparencia, "0" indica que no existe transparencia en el efecto
Ejemplo:
Dialogue:
Marked=0,0:00:01.33,0:00:21.04,Default,,0000,0000,0000,Banner;50;1;100,Este
texto esta animado con el efecto de transición "Banner"
Text:Aquí se encuentra el texto que saldrá sobre la pantalla, todo el texto que se
encuentre después de la coma será mostrado en la pantalla. El texto puede incluir el
código "\N" para cortar la línea, y pueden ser incluidos los códigos de Sustitucion que
deberán aparecer entre llaves {}
Estos códigos contienen la misma información que los tipos de línea, pero serán
ignorados cuando aparezca el subtitulo
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: Marked=0,0:00:01.33,0:00:05.04,Intro,NTP,0000,0000,0000,!Effect, El
sonido de las campanas, se oye en lo profundo del bosque...
Códigos de Sustitución
En esta sección se explica como se puede sustituir un estilo para que sea mostrado
en la pantalla
Todos los códigos de sustitución deben ir encerrados en llaves "{ }", excepto "\N" que
debe ir sin llaves, y antes de ellos debe ir un backslash "\"
Estos codigos sirven para reemplazar el estilo de una linea ya definida
Estos códigos pueden ser cancelados para que solo sea mostrado solo una parte del
texto
Los códigos de sustitución son los siguientes:
Nota1: <0 o 1> significa que son los únicos valores que se pueden colocar en el
determinado código. Pueden ser utilizados varios códigos a la vez
Nota2:Todos los codigos de sustitucion deben ir antes del subtitulo que se quiera
modificar, como muestra abajo
Dialogue:
Marked=0,0:00:52.70,0:00:55.10,Cancion1,NTP,0000,0000,0000,!Effect,{\bord2\be1
\fscx90}Despertándome por la mañana
\bordBord: Esto determina el grosor del borde 0= significa que no tiene borde
\be<0 o 1>Blur Edges: Esto determina la distorsión del borde, esto se aplica al borde
del subtitulo ya sea el texto, borde, y sombra
En la imagen se ve que el texto Green Green esta en con una inclinacio en el eje y
\cColour: Este código determina el color que tendrá el subtitulo, aquí solamente se
debe poner colores en numeración hexadecimal.
también son utilizados los códigos "\2c, \3c, \4c" que determinan el color secundario,
el color del borde, y el color de la sombra respectivamente
también se puede utilizar "\kf o K, \ko" el código "kf o K" hace que las letras se
cambien de a poco a otro color
El código "ko" determina que durante el karaoke solo aparezcan las letras sin borde y
a medida que este avanza aparecen los bordes y cambia de color
{\kf13}S{\kf14}W{\kf13}E{\kf30}E{\kf30}T {\kf50}m{\kf50}e{\kf50}n{\kf50}...
Y utilizando una buena gama de colores como la de la imagen, y usando los codigos
de sustitucion a cada karaoke se le cambia el color primario:
{\c&H??????}{\kf13}S{\c&H??????}{\kf14}W{\c&H??????}{\kf13}E{\c&H??????}{\
kf30}E{\c&Hc??????}{\kf30}T
{\c&H??????}{\kf50}m{\c&H??????}{\kf50}e{\c&H??????}{\kf50}n{\c&H??????}{\
kf50}...
Nota: este código termina todos los códigos a excepción de "\k, \a" y tambien la
funcion "\move" que no pueden ser terminados por este código
Funciones
Ejem.
{\t(1000,2000,\fscx70\fscy130)}{\t(2000,3000,\fscx130\fscy70)}{\t(3000,4000,\frx
90)}Este texto esta animado
En el ejemplo pueden notar que di varios efectos a la animacion, tienen que tener
cuidado ya que este codigo es muy pesado para maquinas lentas por lo que
recomiendo que lo apliquen en maquinas Pentium IV
Ejemplo. Primero se debe desarrollar el karaoke para cada silaba como se muestra
abajo
Una vez realizado el karaoke se debe utilizar los valores del karaoke ojo tomando en
cuenta que los valores del mismo están en centésimas de segundo ahora se puede
colocar el código para desarrollar una animación en el karaoke
Ahora vamos a dar el efecto de que a medida que avance el karaoke las letras se
vayan inclinando hasta desaparecer
{\kf110}{\t(0,1100,\frx90)}Sa{\r}{\kf110}{\t(1100,2200,\frx90)}a...{\r}{\kf100}
{\kf25}{\t(3200,3450,\frx90)}da{\r}{\kf25}{\t(3450,3700,\frx90)}i{\r}{\kf25}{\t(
3700,3950,\frx90)}ji {\r}{\kf120}{\t(3950,5150,\frx90)}to...
Este codigo nos permite desarrollarar subtitulos que se muevan por la pantalla, muy
util cuando hay una cartel que se mueve en el video
Como en el codigo anterior este codigo tambien ignora las colisiones
<x1>, <y1> definen la posicion "x , y" iniciales
<x2>, <y2> definen la posicion "x , y" finales
<t1>, <t2> define el inicio y el fin del movimiento, esto es opcional
Los valores de "x, y" tienen el punto "0" en la parte superior izquierda de la pantalla,
como muestra la imagen, hacia la derecha estan los "x" positivos, y hacia abajo los
"y" positivos
Las funciones "\t, \move, \pos" ignoran las colisiones
Ahora mostrare como se hace el karaoke del las imágenes que están a continuación
En este karaoke Utilizan las funciones "\t, \move y \pos" y los siguientes códigos de
sustitución "\fr<x,y,z>, \fsc<x o y>,\shad, \1a&H y \3c&H" "mas antes explique que
es cada código y para que sirve 'véase códigos de sustitución'"
Aquí esta el estilo de línea que utilizare para el karaoke. "Lo anoto porque para dar el
efecto de las letras que salen del karaoke se necesita que la función "\pos" trabaje al
mismo tiempo con el alineamiento, fuente, tamaño de fuente, escala de estilo de
línea, y en el encabezado en la escala en que esta el subtitulo
[Script Info]
; This is a Sub Station Alpha v4 script.
; For Sub Station Alpha info and downloads,
; go to http://www.eswat.demon.co.uk/
; or email [email protected]
Title: <untitled>
Original Script: <unknown>
ScriptType: v4.00
Collisions: Normal
PlayResY: 600
PlayDepth: 0
Timer: 100.0000
Aqui utilice el tamaño en 600 pixeles
Ojo marque de color "rojo" la parte de la sombra del subtitulo en "0" para que así con
los códigos de sustitución demos el efecto en el karaoke que la sombra crezca, y lo
que esta en azul es el alineamiento del subtitulo, lo puse en "6" para que así el
subtitulo aparezca en la parte superior de la pantalla y así en el efecto de las letras
que salen del subtitulo se muevan hacia abajo y no hacia arriba donde ya empezarían
a salirse de la imagen
Dialogue: Marked=0,0:01:44.47,0:01:44.97,Ejemplo,,0000,0000,0000,,
{\move(400,30,400,0,0,500)}
{\t(0,250,,\frx80\fry80\frz90)}{\t(250,500,,\frx160\fry160\frz180)}Kitto meguri
awaseta
Dialogue:
Marked=0,0:01:44.97,0:01:45.47,Ejemplo,,0000,0000,0000,,{\frx160\fry160\frz180
}
{\move(400,0,400,30,0,500)}
{\t(0,250,,\frx300\fry240\frz270)}{\t(250,500,,\frx360\fry360\frz360)}Kitto meguri
awaseta
Para dar el efecto de movimiento en el subtitulo se debe hacer que este aparezca un
poco antes, en el ejemplo hice que aparezca 1 segundo antes, para que así en ese
tiempo le de el efecto de rotación y movimiento, y se debe terminar el subtitulo en
ese tiempo, ya que si se lo ponen con todo el karaoke, debido al comando "\r"
limitara el movimiento de rotacion solo a la primera silaba que en este caso seria "Ki"
Une vez dado el efecto del movimiento se termina es subtitulo en este caso solo dura
1 segundo
{\kf38}Ki{\kf35}tto {\kf30}me{\kf29}gu{\kf33}ri
{\kf33}a{\kf25}wa{\kf25}se{\kf25}ta
Y con los tiempos conseguidos en el karaoke se los utiliza en las funciones ojo
considerando que las funciones trabajan en milésimas de segundo y el karaoke en
centésimas de segundo
Ahora se aplica los códigos "\fsc<x,y>, \shad" con la primera función se da el efecto
de crecimiento en el karaoke, y en la animación incluso debido a que las silabas
crecen todo el subtitulo se mueve con el karaoke, con el siguiente código se da el
efecto de que la sombra crezca a medida que avanza el karaoke
Ojo tiene que tener cuidado al hacer la suma de los milisegundos ya que con tanto
código una tiende a equivocarse, como un consejo en el ultimo tiempo marcado en la
función aparece el tiempo en el que el subtitulo aparecerá en la pantalla, este tiempo
y el tiempo del subtitulo tienen que ser parecidos, mejor si son iguales
Dialogue: Marked=0,0:01:45.47,0:01:48.40,Ejemplo,,0000,0000,0000,,
{\t(1000,1190,\fscx110\fscy110}{\t(1190,1380,\fscx100\fscy100}{\t(1000,1380,\s
had4}{\kf100}{\kf38}Ki{\r}
{\t(1380,1555,\fscx110\fscy110}{\t(1555,1730,\fscx100\fscy100}{\t(1380,1730,\s
had4}{\kf35}tto {\r}
{\t(1730,1880,\fscx110\fscy110}{\t(1880,2030,\fscx100\fscy100}{\t(1730,2030,\s
had4}{\kf30}me{\r}
{\t(2030,2175,\fscx110\fscy110}{\t(2175,2320,\fscx100\fscy100}{\t(2030,2320,\s
had4}{\kf29}gu{\r}
{\t(2320,2485,\fscx110\fscy110}{\t(2485,2650,\fscx100\fscy100}{\t(2320,2650,\s
had4}{\kf33}ri {\r}
{\t(2650,2815,\fscx110\fscy110}{\t(2815,2980,\fscx100\fscy100}{\t(2650,2980,\s
had4}{\kf33}a{\r}
{\t(2980,3105,\fscx110\fscy110}{\t(3105,3230,\fscx100\fscy100}{\t(2980,3230,\s
had4}{\kf25}wa{\r}
{\t(3230,3355,\fscx110\fscy110}{\t(3355,3480,\fscx100\fscy100}{\t(3230,3480,\s
had4}{\kf25}se{\r}
{\t(3480,3605,\fscx110\fscy110}{\t(3605,3730,\fscx100\fscy100}{\t(3480,3730,\s
had4}{\kf25}ta
Ahora explicare como se da el efecto de las letras que salen del karaoke en esta parte
se utiliza las funciones "\t y \pos"
Ahora como muestra el ejemplo cada silaba tiene que tener su propio tiempo de
duración para que así solo la silaba que participa en el momento del karaoke se
mueva y así no se afecte a todo el subtitulo
En la función "\t" se utiliza el código de escala como en el karaoke pero aquí con una
escala mayor
Como cada silaba tiene su propio tiempo entonces el tiempo en la función se le
realiza según el tiempo que se obtuvo en el karaoke para dicha silaba
Los tiempos de las silabas lo consiguen sumando los tiempos del karaoke ya que el
tiempo del karaoke y del subtitulo están en centésimas de segundo, ahora para que
solamente aparezca los bordes de las letras y todo lo demás sea transparente se
utiliza el código "\a" que nos da el efecto de transparencia al color primario
Dialogue:
Marked=0,0:01:45.47,0:01:45.85,Ejemplo,,0000,0000,0000,,{\t(0,190,\fscx110\fscy
110}{\t(190,380,\fscx100\fscy100}{\pos(270,30)}{\1a&Hffffff\3c&Hffffff}Ki
Dialogue:
Marked=0,0:01:45.85,0:01:46.20,Ejemplo,,0000,0000,0000,,{\t(0,175,\fscx110\fscy
110}{\t(175,350,\fscx100\fscy100}{\pos(305,30)}{\1a&Hffffff\3c&Hffffff}tto
Dialogue:
Marked=0,0:01:46.20,0:01:46.50,Ejemplo,,0000,0000,0000,,{\t(0,150,\fscx110\fscy
110}{\t(150,300,\fscx100\fscy100}{\pos(353,30)}{\1a&Hffffff\3c&Hffffff}me
Dialogue:
Marked=0,0:01:46.50,0:01:46.79,Ejemplo,,0000,0000,0000,,{\t(0,145,\fscx110\fscy
110}{\t(145,290,\fscx100\fscy100}{\pos(390,30)}{\1a&Hffffff\3c&Hffffff}gu
Dialogue:
Marked=0,0:01:46.79,0:01:47.12,Ejemplo,,0000,0000,0000,,{\t(0,165,\fscx110\fscy
110}{\t(165,330,\fscx100\fscy100}{\pos(415,30)}{\1a&Hffffff\3c&Hffffff}ri
Dialogue:
Marked=0,0:01:47.12,0:01:47.45,Ejemplo,,0000,0000,0000,,{\t(0,165,\fscx110\fscy
110}{\t(165,330,\fscx100\fscy100}{\pos(443,30)}{\1a&Hffffff\3c&Hffffff}a
Dialogue:
Marked=0,0:01:47.45,0:01:47.70,Ejemplo,,0000,0000,0000,,{\t(0,125,\fscx110\fscy
110}{\t(125,250,\fscx100\fscy100}{\pos(472,30)}{\1a&Hffffff\3c&Hffffff}wa
Dialogue:
Marked=0,0:01:47.70,0:01:47.95,Ejemplo,,0000,0000,0000,,{\t(0,125,\fscx110\fscy
110}{\t(125,250,\fscx100\fscy100}{\pos(505,30)}{\1a&Hffffff\3c&Hffffff}se
Dialogue:
Marked=0,0:01:47.95,0:01:48.20,Ejemplo,,0000,0000,0000,,{\t(0,125,\fscx110\fscy
110}{\t(125,250,\fscx100\fscy100}{\pos(535,30)}{\1a&Hffffff\3c&Hffffff}ta
Traten de realizar el karaoke en forma ordenada, ya que sino lo hacen debido a tanto
codigo y letra pueden confundirse. En el momento de utilizar la funcion "\t" es cuando
mas se tiende a equivocarse
Ahora ustedes pueden realizar el karaoke que deseen utilizando los codigos de
sustitucion, solo necesitan un poco de imaginacion para realizarlos, este es un
ejemplo de lo que se puede hacer con las funciones en especial con la funcion "\t"
\org(<x>, <y>)
Mueve el origen predeterminado (x,y). Esto es útil cuando los subtítulos se mueven
en rotación
<t1> - <t2> Es el tiempo en el cual la animacion ira del valor alpha "a1" al valor
alpha "a2"
<t2> - <t3> Es el tiempo en el cual la animacion se mantendra en el valor alpha "a2"
<t3> - <t4> Es el tiempo en el cual la animacion ira del valor alpha "a2" al valor
alpha "a3"
Esta opcion es util para poner subtitulos en video donde los carteles van
desapareciendo
\fad(<t1>, <t2>)
Este tambien es un codigo para que las letras se desvanezcan, pero es más simple,
como ven a diferencia de la función "\fade" en esta función no se puede elegir el nivel
de transparencia del subtitulo
Bueno solo falta poner los codigos de dibulo y como adjuntar imagenes, sonidos y
videos
Este manual fue sacado del documento de texto "Sub Station Alpha v4.00+ Script
Format"que se lo puede descargar de esta direccion
www.perlfu.co.uk/projects/asa/ass-specs.doc"
Yo aumente varios ejemplos en los codigos "\t", "\move", etc