José Luis Díaz (logo)

Español Español | English English | Português Português | 中文 中文

Lecturas > FCP --> XML --> Pro Tools (Workflow entre Final Cut y ProTools usando XML)

FCP --> XML --> Pro Tools (Workflow entre Final Cut y ProTools usando XML)

por José Luis Díaz

La preocupación que nos torturó era cómo extraer de FCP la información de la edición. Cómo transportar los canales de sonido de la Timeline de FCP a la Timeline de Pro Tools. La gracia estaría en exportar sólo las instrucciones de edición, sin la media.

¿Por qué?

Imaginemos que nos dan un adelanto del Acto 1. Nos dicen: “El Acto 1 está cerrado. Pero puede haber un cambio al principio y otra pavada más, pero lo esencial está listo”.

Si el método de comunicación entre el FCP y Pro Tools es vía OMF Embedded, cada vez que haya una actualización de la edición de imagen nos darán, otra vez, todo el sonido involucrado. Terminaremos teniendo la misma media duplicada una y otra vez.

Además, el protocolo OMF no soporta decisiones de volúmen, ni de paneo y cada archivo OMF exportado tiene un límite máximo de 2 GB. Hoy en día, con grabadores de sonido de 4 canales (o más) y en formatos de audio de 24 bits, cada vez es más fácil superar ese límite. Una solución a ese problema, es dividir la Timeline en el FCP en dos o más partes y exportar porciones de hasta 2 GB. Pero ésto es encordioso, laborioso y propenso a errores graves de todo tipo.

¿Cómo se pueden exportar solamente las instrucciones de la edición desde FCP?

Ese fue el norte de esta investigación.

Varios eran los problemas:

A) ¿Qué opciones de exportación ofrece Final Cut Pro?
Sólo dos de utilidad para la gente de PostProducción: OMF Embedded y archivos .XML.

Los encordios del OMF Embedded ya los explicamos.
Y, ¿Qué es XML?

El eXtensible Markup Language (XML) es una especificación de propósitos generales para la creación de lenguajes markup.
Expliquemos cada palabra rara de esa definición.

El XML está clasificado como extensible porque le permite al usuario definir sus propios elementos. Su principal propósito es ayudar a los sistemas de información a compartir datos estructurados, particularmente vía internet, y es usado tanto para encodificar documentos como para serializar data.

Un lenguaje markup es un lenguaje artificial que usa un set de textos, que dan instrucciones relativas a cómo el texto será mostrado. Los lenguajes markup han estado en uso por siglos, y en años recientes han sido usados en sistemas de procesamiento de palabras. Un buen ejemplo de lenguaje markup en uso hoy día es el HyperText Markup Language (HTML), uno de los más usados en la World Wide Web (www). El HTML sigue algunas de las convenciones markup usadas en la industria de la impresión/publicación en la comunicación de trabajos impresos entre autores, editores e impresores.

Pues bien, FCP es capaz de exportar archivos .XML que describen con minuciosa precisión la edición presente en la Timeline. O sea que es una suerte de EDL super detallada.

El aspecto de este archivo abierto como texto, es más o menos así:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xmeml>
<xmeml version="1">
<clip id="/1">
      <name>/1</name>
      <duration>2088</duration>
      <rate>
         <ntsc>FALSE</ntsc>
         <timebase>24</timebase>
      </rate>
      <in>-1</in>
      <out>-1</out>
      <masterclipid>/1</masterclipid>
      <ismasterclip>TRUE</ismasterclip>
      <logginginfo>
         <scene></scene>
         <shottake>1</shottake>
      </logginginfo>
      <media>
        <audio>
          <track>
             <clipitem>
               <name>/1</name>
               <duration>2088</duration>
               <rate>
                     <ntsc>FALSE</ntsc>

Bueno pero, ¿ProTools entiende XML?

No. ¿Entonces?

Bueno, habría que encontrar el modo por el que ProTools pueda interpretar la información de la edición del FCP que está presente en ese archivo .XML. Haría falta otro programa que convirtiese a ese documento .XML en una sesión de ProTools.

¿Hay algún programa que haga eso? ¿Cómo se llama ese programa?

Sí. Se llama XMLPro de una empresa inglesa llamada Gallery. O sea que, bastaría exportar una secuencia editada en FCP a un archivo .XML, convertirlo con el programa XMLPro a una sesión de ProTools, y al abrir esa sesión en ProTools la media se relinkeará.

FCP --> XML --> Pro Tools (Workflow entre Final Cut y ProTools usando XML) - Gráfico Principal

Sí, sí, sí. Ese era el sueño.

Hay un problema mayúsculo: Para que FCP pueda exportar esa especie de EDL que es ese archivo .XML, necesita saber muchas cosas de los sonidos originales. Cosas como cuál es el Identificador Único de cada uno de esos sonidos, a cuáles otros archivos está asociado desde su nacimiento, cuál es el número de reel, qué Time Code tuvo en origen, etc, etc, etc.

Y esa data, ¿No está incluida en los archivos de sonido que FCP importa en forma habitual?

No toda. Apenas su nombre, su duración, y un par de cosas muy sencillas. Datos insuficientes para poder rearmar la Timeline en un ProTools.

Los grabadores de sonido a Hard Disk o Tarjeta Compact Flash graban audio en un formato llamado .BWF. La estructura de los archivos .BWF es igual a la de los .WAV sólo que, junto a la data de sonido viaja mucha más información, por ejemplo, Time Code. También se dice que un .BWF es un .WAV “enriquecido”. Esa data “enriquecedora” está inscripta en un formato al estilo XML. Esta información y su estructura, es tan específica que mereció un nombre que lo distinga entre los lenguajes markup. Se llama iXML.

¿What?

iXML es un standard abierto, surgido para incluir metadata (datos sobre los datos) dentro de los archivos .BWF que son grabados por los grabadores de sonido en rodaje.

B) Ahora bien, FCP es incapaz de leer la metadata que contienen los archivos .BWF (el mentado iXML) en el acto de importar los sonidos. Sin la posibilidad de leer esa metadata, los documentos .XML que exportará FCP contendrán infinitos errores y serán completamente inútiles.

¿Entonces?

¿Cómo hacer para que FCP lea, entienda y exporte esa metadata que contienen los sonidos de rodaje (en formato iXML)?

Vuelta al programa XMLPro.

XMLPro tiene una función que le permite leer la información iXML de los archivos .BWF de rodaje, y convertir esa data en un archivo .XML.

Ahora sí, al importar ese archivo .XML (con la metadata del sonido directo) FCP puede saber en todo momento, todos los detalles de cada uno de los frames de sonido que están en la Timeline. Y cuando haga la exportación .XML de esa Timeline, tendrá toda la información necesaria para que ProTools pueda relinkear las instrucciones de edición con la media a la cual se refieren.

De modo que es absolutamente necesario que FCP haga ingesta de los BWF’s y de su metadata autocontenida, importando los .XML generados por XMLPro después de cada día de rodaje. Sin este paso el pobre FCP no sabrá indicarle a Pro Tools donde están los sonidos, ni desde qué Time Code los debe leer, ni en qué TimeCode los debe dejar de leer, por ejemplo.

C) Bueno, ahora que comprendemos qué es cada cosa, qué función cumple y qué limitación tiene FCP, ¿Cómo es, en la vida real, una postproducción que incluya a FCP en su cadena de postproducción, y que desee comunicarse con las distintas islas de edición de imagen y sonido de la manera más eficaz posible usando XML?

La rutina será que, luego del día de rodaje, producción llevará una tarjeta Compact Flash al estudio donde se concentrará la actividad de postproducción de sonido.

Allí copiarán el contenido de la tarjeta (archivos .BWF) a algún disco rígido a modo de BackUp y para su posterior uso. A partir de esos archivos de sonido (.BWF), con el programa XMLPro se generará un archivo .XML (con la metadata iXML contenida dentro de esos archivos) y quemarán un DVD con estos dos elementos (un folder conteniendo los archivos de sonido .BWF y el archivo .XML, el exportado por XMLPro).

Más tarde, alguien recogerá ese DVD para llevarlo a la suite de edición FCP.

Pues bien, veamos en detalle, cómo realizaremos ese primer paso “delicado” que acabamos de explicar.

Primero copiaremos la carpeta de sonido del último día de rodaje desde la Compact Flash al disco rígido BackUp.

Abriremos luego el programa XMLPro y presionaremos el botón de la función que necesitamos: BWF Roll to XML.

FCP --> XML --> Pro Tools (Workflow entre Final Cut y ProTools usando XML) - Figura 1

No seleccionaremos ninguna opción. Ni Add QT Timestamps, ni Filter Tracks, ni ninguno de los Include. Solo el botón BWF Roll to XML.

Nota: Este paso a paso es el aplicable para un workflow que involucre un grabador Sound Devices 744, una cámara Red One y a FCP version 7.0.2 o superior. Las opciones de restringir o incluir tracks son aplicables para casos de grabadores de sonido de 6 o más canales como el Deva de Zaxcom, el Cantar de Aaton o el 788 de Sound Devices. Estos grabadores conllevan otro workflow del que no nos vamos a ocupar aquí.

Luego de clickear en el botón BWF Roll to XML, una ventana se abrirá para navegar y seleccionar el folder donde está el sonido directo.

Vamos a hacer un alto aquí para hablar de esa carpeta.

En la tarjeta Compact Flash los archivos estarán dentro de un folder que generalmente tendrá por nombre la fecha de grabación de los archivos. Ahora bien, habrá oportunidades donde el día de filmación atraviese la medianoche. En esas jornadas de trabajo, el grabador generará dos folders. Uno con la fecha del día de inicio de rodaje y otro con la fecha de las últimas horas de filmación.
En casos como este aconsejamos que los archivos .BWF de la última parte de la jornada de trabajo sean copiados dentro del folder de la primera parte. O sea, que en un solo folder estén juntos todos los archivos .BWF de la jornada de trabajo.

Los archivos .BWF vienen en dos variantes: Poly o Mono.

Poly es un encapsulado de uno o más tracks. Es decir, gráficamente se ve un solo archivo, pero adentro puede tener varios canales.

En el caso del BWF Mono, habrá tantos archivos por toma, como canales se hayan grabado.

A cada software de edición le viene bien un tipo de archivo .BWF. En el caso de FCP los archivos que mejor funcionan son los BWF Mono (Al revés de Avid, que le vienen mejor los BWF Poly).

Como estamos tratando el caso de un workflow donde la edición se realiza en FCP, el Jefe de Sonido grabará en formato BWF Mono.

FCP --> XML --> Pro Tools (Workflow entre Final Cut y ProTools usando XML) - Figura 2

Pues bien, seleccionamos la carpeta que contiene los archivos .BWF de la jornada de ayer y clickeamos sobre el botón Choose. Un instante después vendrá una ventana donde deberemos guardar, con un nombre razonable, el archivo XML.

FCP --> XML --> Pro Tools (Workflow entre Final Cut y ProTools usando XML) - Figura 3

En este ejemplo supusimos que 1er Dia o Dia01 era un buen nombre. La gente de edición dirá si sirve de algo o si es mejor otra identificación. Suponemos que será preferible no usar acentos ni caracteres que no sean los anglosajones.

Luego de clickear en Save, estaremos en condiciones de quemar el DVD con destino al FCP.

El Motoquero trasladará ese DVD al FCP y ésta será la operatoria diaria en esa suite durante la etapa del rodaje del largometraje.

D) Pasamos ahora a la suite FCP.
Luego de copiar el folder y el .XML a un disco sólo destinado a alojar los sonidos de la película, el Asistente de Edición hará doble click sobre el ícono del archivo .XML. Si no estaba abierto se abrirá automáticamente el Final Cut y una ventana nos obligará a decidir a que proyecto asociamos este .XML.

Si se tratáse del primer día de rodaje deberemos crear un nuevo proyecto.

FCP --> XML --> Pro Tools (Workflow entre Final Cut y ProTools usando XML) - Figura 4

Una vez creado aparecerá un tab en el browser de FCP. En este caso lo bautizamos El Secreto.

FCP --> XML --> Pro Tools (Workflow entre Final Cut y ProTools usando XML) - Figura 5

En el Browser veremos que la media está offline. Claro, es que el archivo XML le dijo al FCP que los soundfiles están en la computadora del estudio de post de sonido. Fue la última vez que los vió. Ese archivo XML le describió a FCP el path a los archivos de audio que tenían en aquella computadora.
Sólo hará falta relinkearlos con el correcto path dentro de ese FCP. Habrá que ignorar una alarma de longitud diferente. Es un bug. Ahora los soundfiles estarán online.

A continuación, el Asistente importará las imágenes filmadas ayer.
Luego, seleccionando una imagen y sus sonidos correspondientes, irá a Modify > Merge Clips ...

Un nuevo ítem aparecerá en el browser de FCP y deberá ser nombrado con el mismo nombre que aparece en la pizarra de rodaje (y que debe ser coincidente con la planilla de sonido).

Así, pese a que el nombre del archivo de imagen de la Red One tenga un difícil nombre, como por ejemplo...

- A037_C006_0901XG_H

y los nombres de los archivos de sonido sean...

- T01A_1.WAV
- T01A_2.WAV
- T01A_3.WAV
- T01A_4.WAV

... el asistente podrá llamarla como más le sirva, por ejemplo 058P03T02. Donde los primeros 3 números corresponderán al número de escena, la letra “P” será la abreviatura de Plano y la letra “T” de Toma. Este re-bautismo no modificará los Identificadores Únicos (UID) de cada archivo, sea éste de imagen o sonido. Tampoco romperá el vínculo entre un track y sus hermanos nacidos simultáneamente. Sólo le incorporará una información que nos hará la vida más fácil: El nombre humano de la toma.

Eventualmente, si lo desean en lugar de agregar las letras “P” y “T” podría usarse el underscore o guión bajo “_” como separador entre los números y letras que definen la identidad de una toma, pero nunca el “–” o guión medio. Éste caracter se debe evitar para que luego en ProTools, cuando se post produzca el sonido, no surjan confusiones por la forma que tiene el programa de separar regiones de un mismo clip. En todo caso esto es otro tema que no analizaremos aquí. Basta decir que el Asistente NO debe usar el guión medio “–” como separador de la identidad de una toma.

Es necesario hacer otra muy importante advertencia aquí: No se deben usar SubClips. El tipo de vinculación que FCP hace de una imagen y un sonido vía Subclip no mantiene la comunicación de la metadata como sí lo hace el proceso Merge Clips... Así que, please, no usar SubClips.

Un beneficio para el asistente de edición de imagen del uso de este procedimiento de importación de archivos XML es que en el browser, las tomas de sonido aparecerán ocupando un solo renglón cada una y no tantos reglones como tracks tengan. Esto simplifica la visualización y búsqueda de tomas de sonido.

Saltearemos ahora al día en que la edición está terminada.

E) Ese día el asistente seleccionará la Timeline con el Acto terminado, y hará un Save As... (para sonido) de ese proyecto. Borrará todos los tracks de imagen, volverá a hacer Save, seleccionará todo el acto y exportará las instrucciones de edición de sonido en formato .XML.

Para ello, irá a File > Export > XML y vendrá esta ventana:

FCP --> XML --> Pro Tools (Workflow entre Final Cut y ProTools usando XML) - Figura 6

FCP por default propondrá el formato Apple XML Interchange Format, version 5 y estará cliqueada la caja Save project with latest clip metadata (recommended). Podemos dejar todo tal como propone FCP. O elegir cualquiera. La clase de metadata que compone la descripción de lo editado en audio es común a cualquiera de las versiones de XML.

Ese archivo .XML es el que le enviaremos al estudio de postproducción de sonido.

Atención: Si enviamos estos archivos XML via internet deberemos encapsularlos para evitar su corrupción durante su transporte a través de los servidores de la red. Bastará con comprimirlo .zip, por ejemplo, para protegerlo. Al expandirlo estará intacto.
Esa corrupción se evidenciará en que el programa XMLPro verá grisados los archivos XML. Así que, si son enviados como attachement de un mail, antes habrá de comprimirlos.

F) Al llegar el archivo .XML al estudio de postproducción de sonido, el editor de sonido abrirá el programa XMLPro y presionará el botón XML to ProTools.

FCP --> XML --> Pro Tools (Workflow entre Final Cut y ProTools usando XML) - Figura 7

En un instante generará una sesión de ProTools. Luego, al abrir dicha sesión desde ProTools la media estará offline y por lo tanto nos abrirá una ventana de “Missing Files” diciendo que le faltan XX Fades Files y 0 Audio Files. Que diga que le faltan Fades Files y no Audio Files es un bug menor. Le ayudaremos eligiendo “Manually Find & Relink” y siguiendo los siguientes pasos: Seleccionaremos todos los archivos offline que estarán presentes en la sección “Select Files to Relink” de la ventana. Seleccionaremos el disco donde hemos ido compiando el sonido directo durante la filmación. Presionaremos el botón “Find Links”. Una ventana llamada “Linking Options” se nos aparecerá. Dejaremos seleccionada solamente “Match Duration”. Es decir que “Match Format” no la dejaremos clickeada. Presionaremos el botón “OK”, et voilà!

Habremos así importado la totalidad de los tracks y sus clips, independientemente de que el tamaño total involucrado supere o no los 2 GB.

Habremos importado también todas las modificaciones de volúmen que el editor de imagen practicó.

Y lo que es mucho mejor, estarán intactas las interrelaciones entre los distintos tracks de una misma toma de sonido gracias a que la metadata los sigue vinculando.

¿Qué quiere decir ésto?

Que si por accidente el editor de imagen borró algunos de los tracks de una toma, el editor de sonido podrá hacer reaparecer fácilmente esos tracks. Porque nadie borró o cambió la información de metadata que permaneció vinculada a cada sonido en la TimeLine.

Esa metadata exportada por FCP dentro del documento .XML le llegará intacta a ProTools. Y esa data es la que le dicen a ProTools “este clip de sonido nació con otros 3 hermanos más. Todos se llaman 058P03T02, solo se diferencian en que al final de su nombre cada uno tiene un número (de track) diferente”

058P03T02_1
058P03T02_2
058P03T02_3
058P03T02_4

En realidad, esa metadata le dice a ProTools muchísimas cosas más (en lenguaje de máquinas).
Pero bueno, eso hoy no nos interesa.

Apéndice:

Una última cosa: Todo el procedimiento aquí descripto es applicable a producciones donde la cámara de imagen es una cámara de datos como la RED One o alguna de las DSLR (Canon EOS 5D, 7D, Nikon 700D, etc). Es decir, para cámaras que generan un archivo o folder con archivos por toma.

Para el caso de una película filmada con cámara cinematográfica que expone negativo de 35mm o de 16mm, donde un rollo de negativo puede contener muchas tomas, surgen otros problemas operativos para el Editor de Imagen.

En el caso de una filmación con cámaras que exponen negativo, este material, luego de revelarlo y transferirlo, es digitalizado en el FCP de un tirón, es decir, el rollo completo.

Dicho rollo tendrá seguramente muchas tomas.
Ahora bien, en la operación Merge que hace FCP la longitud temporal del “Objeto” mergeado está dada por la longitud temporal de la imagen. En el caso de los archivos que generan las RED, por ejemplo, sus tamaños son comparables con los del sonido directo que corresponde a esa toma.

Entonces, la longitud de tiempo que abarca el archivo de sonido es, por ejemplo, 45 segundos. Es razonable pensar que el archivo de la imagen posiblemente abarque algo menos, unos 40 segundos, digamos.

Entonces el “Objeto” mergeado entre la imagen y el sonido durará los 40 segundos que dura el archivo de imagen.

El problema comienza con una operación muy común y necesaria en la tarea del Editor de Imagen que es Match Frame. Al hacer Match Frame FCP le mostrará al editor el clip de imagen y sonido en la ventana Viewer del FCP.

Bueno. En el caso de filmaciones en 35 o 16mm el archivo de imagen digitalizada durará lo que duró el rollo de negativo. O sea, unos 10 minutos.
Al hacer Match Frame al Editor de Imagen se le aparecerá un “Objeto” que dura 10 minutos pero que tiene sonido en una pequeña parte del mismo, de sólo 45 segundos de duración.

Buscar en ese pequeño espacio de tiempo lo que fue a buscar es algo antipático y engorroso.

De modo que el método de workflow que aquí se describió, usando XML, podría ser encordioso para el Editor de Imagen.

Claro que cada vez se filma más con cámaras de datos y menos con cámaras que exponen negativo de imagen.

Así que...