ASSETS CONTROL
Control de entregas de doblaje: nombres, duración, nivel y lo que realmente dice cada toma. Arma el delivery y el guion AsRec. Todo corre en la Mac, sin servicios de pago y sin que salga material de cliente.
Descargar e instalar
xattr -dr com.apple.quarantine "/Applications/ASSETS CONTROL.app"
Después abrís con doble clic, como cualquier app.Si preferís no usar la Terminal: hacé doble clic, y cuando salga el cartel “Apple no pudo verificar que está libre de malware” tocá Listo —nunca Mover a la papelera—. Después andá a Ajustes del Sistema → Privacidad y seguridad, bajá hasta Seguridad y vas a ver “ASSETS CONTROL” fue bloqueada con un botón Abrir igualmente. Ese renglón aparece recién después de haber intentado abrirla.
El viejo truco de clic derecho → Abrir ya no sirve: Apple lo sacó en Sequoia.
No hay que instalar nada más: Python, las librerías y el motor de audio van adentro del paquete.
La versión de macOS no es negociable. En Sonoma o Ventura la app no abre —macOS la rechaza antes de arrancar— porque varias de sus piezas exigen macOS 15. Si la Mac está más atrás, hay que actualizarla primero.
La primera vez que uses Contenido baja el modelo de transcripción (~1,6 GB). Necesita internet esa vez nada más; después funciona sin conexión.
Ver qué está haciendo por dentro
Si la app parece trabada y querés saber si está haciendo algo o no, hay un monitor para la Terminal. No toca nada: sólo mira y va contando.
Ya viene adentro de la app, así que no hay que descargar nada:
bash "/Applications/ASSETS CONTROL.app/Contents/Resources/monitor.sh"
Si preferís bajarlo suelto —o si la app todavía no está instalada—:
curl -sL https://filecompare.cajaderuidos.com/monitor.txt -o monitor.sh
bash monitor.sh
Algunas redes de estudio bloquean la descarga de archivos
.sh y devuelven Forbidden. Por eso está publicado también
como .txt, que pasa igual.
Dejalo abierto en una ventana al costado y usá la app normalmente. Imprime una línea por cada cosa que pasa —qué fase arrancó, cuánto tardó la anterior, el porcentaje, cuánto falta, cuánta CPU y memoria usa— y también los errores del log. Cortalo con Ctrl+C. Se ve así:
[20:18:52] Mac: macOS 15.6.1 · arm64
[20:18:52] App: instalada (484M) · pide macOS 15.0 o más
[20:18:52] app abierta · PID 29549
[20:18:52] responde en el puerto 5096
[20:18:52] ▶ leyendo audios
[20:18:55] 5796/9000 (64%) · faltan ~18s · cpu 340% · ram 512MB
[20:18:58] ↑ "leyendo audios" tardó 41s
[20:18:58] ▶ leyendo guiones
Arrancalo antes de abrir la app y también te chequea la instalación: la
versión de macOS, si el paquete quedó en cuarentena y si hace falta la línea
del xattr.
Todo lo que imprime se copia y se pega tal cual: si algo falla, eso es lo que hace falta para entender qué pasó.
Cómo está pensado
La app no es un visor de archivos: es el control de una entrega. Todo gira alrededor de tres cosas.
| Pieza | Qué es |
|---|---|
| El guion | La fuente de verdad. De ahí sale qué línea corresponde a cada audio, qué tiene que decir y cuánto puede estirarse. |
| El proyecto | El universo de lo que hay que entregar y la memoria de lo que ya se entregó. Guarda sus carpetas, su guion y sus specs. |
| El batch | Cada tanda de audios que llega. Se controla, se registra y va tachando sobre el universo del proyecto. |
El flujo completo
- Creás el proyecto y le cargás el guion → queda el universo de líneas a entregar.
- Apuntás las carpetas de audio y le das Analizar → nombres y duración.
- Loudness y Contenido → nivel y cotejo contra el guion.
- Resolvés lo rojo en el QC: aprobás, corregís el texto o rechazás.
- Registrás la entrega → el batch queda anotado en la pila.
- En Estructura armás el delivery y exportás el guion AsRec.
Los pasos 2 a 6 se repiten en cada batch. El paso 1 se hace una vez por proyecto.
1 · Guiones
Botón Guiones, arriba. Arrastrás los archivos ahí o elegís una carpeta.
Lee .xlsx, .xlsm, .docx y .numbers
—el Numbers se abre directo del paquete, sin necesidad de tener la app de Apple.
Las columnas
Cada hoja del libro aparece como una ficha con cuatro selectores. La app las detecta sola por el encabezado y por el contenido, y ahí mismo se corrigen:
| Columna | Para qué |
|---|---|
| archivo | enlaza la línea con el audio |
| texto original | el idioma de origen |
| texto localizado | lo que tiene que decir la toma doblada |
| tolerancia | cuánto puede estirarse esa línea |
Un mismo libro con nueve hojas de distinto formato se resuelve hoja por hoja. Lo que se ve en pantalla es exactamente lo que usa el análisis.
Si el guion no tiene columna de archivo
Pasa: guiones que son una lista de líneas sueltas. En ese caso la app empareja por lo que dice la toma: transcribe, compara contra las dos columnas de texto y reparte de a una, del puntaje más alto al más bajo. A partir de ahí funciona todo lo demás igual.
Guiones de otros proyectos. El formato no importa mientras haya texto: la detección es por hoja y siempre se puede corregir a mano. Si arrastraste guiones de otra cosa y quedaron mezclados, usá vaciar y empezar de nuevo en ese mismo panel.
2 · QC
Es la pantalla principal. Una fila por toma, con todo lo que se sabe de ella.
Qué se controla
| Modo | Cuándo |
|---|---|
| todo el original | una fila por archivo del idioma origen; marca lo que falta entregar |
| sólo lo entregado | una fila por archivo que llegó. Para batches: si falta el original de referencia se marca sin referencia y no cuenta como error |
Nombres
Original nombre.wav ↔ localizado nombre.<sub>.wav.
La sub-extensión se escribe arriba. Marca lo que falta, lo que sobra, lo que
vino sin sub-extensión y lo que la tiene equivocada. Cuando un original y un
localizado quedaron sueltos y se parecen, sugiere el par.
Si originales y localizados están en la misma carpeta, dejá vacío el campo Localizado: se separan por la marca que distingue al localizado.
Duración
Diferencia firmada contra dos umbrales, o contra la tolerancia que diga el guion línea por línea. En Ajustes: Tolerancia → la que diga el guion.
| En el guion | Significa |
|---|---|
2% · ± 3,5 % | porcentaje de la duración del original |
0,4 s · 300 ms | diferencia absoluta |
12 fr | fotogramas, al fps configurado |
Time-constrained | 2 % |
Loose-constrained (±10% variance) | lee el 10 % del propio texto |
LIP SINC | 2 % |
OFF VO | 15 % |
| vacío | cae en los porcentajes generales |
Contenido
El botón Contenido transcribe cada toma y la compara con su línea del guion, en su propio idioma. Detecta:
- la toma cruzada — el archivo se llama X pero se grabó la línea de Y. Busca el transcripto contra todas las líneas y te dice de cuál es.
- idioma equivocado — el localizado vino en el idioma origen.
- línea a medias — se comieron parte de la frase.
- el diff palabra por palabra: tachado lo que falta, resaltado lo que sobra.
Tomas no verbales. Un “¿Eh?” o un “¡Uooo!” no se puede verificar por texto: el transcriptor escribe lo que le parece. Esas van a una lista aparte, para escuchar, y nunca se marcan como error.
Nivel
Mide de dos maneras, porque las specs llegan de las dos:
- nivel medio y pico en dB — lo que suele pedir un post house (“promedio de −12 a −18, picos entre −3 y −6”)
- LUFS y true peak — EBU R128
Se cargan como rango, con mínimo y máximo, y cualquiera de los dos extremos puede quedar vacío si la spec sólo pone un tope. Cuando el cliente da el rango como estimación —“around”, “roughly”— se marca rango estimado y lo que se pasa por menos del margen queda en aviso.
El nivel no rechaza una toma. Son valores de referencia, no un tope: la toma queda aprobada con una ⚠ alerta. Lo que sí frena una entrega es un problema de nombre, de duración o de contenido.
Sin specs cargadas, sólo marca lo que no se escucha: archivos mudos y tomas muy por debajo de nivel.
Revisión del texto
Cuando lo que dice el audio no coincide con el guion, la línea queda marcada para que alguien decida. En el panel de la derecha:
| Botón | Qué hace |
|---|---|
| Coincide | el audio dice lo del guion verde |
| Así quedó bien | se toma como bueno lo que dice el audio |
| Guardar el texto editado | escribís el texto final a mano |
| Rechazar | no se entrega así rojo |
| Regrabar | la toma se rehace |
Al terminar Contenido, todo lo que coincide se marca solo en verde. El operador arranca con la lista de rojos en vez de confirmar lo que ya está bien. El marcado automático nunca pisa una decisión tomada.
Los chips de arriba filtran: ok aviso error nombre · duración · contenido · alerta de nivel · texto a revisar · sin guion. Clic para filtrar, clic de nuevo para volver.
3 · Entregas
Acá vive la memoria del proyecto: cuánto hay que entregar, cuánto se entregó y qué falta.
Crear un proyecto
En el selector de arriba, + Proyecto nuevo…. Le ponés el nombre y arranca en cero: sin carpetas, sin guion, sin filas. El primer guion que cargues es el que arma el universo de líneas a entregar.
Cambiar de proyecto
El proyecto es el contexto de trabajo: al cambiarlo vuelven sus carpetas, su guion, su regla de nombres, sus specs, sus idiomas y su QC, tal como los dejaste. Si el guion original ya no está en su carpeta, abre igual con la copia que guarda el proyecto.
Si apuntás el Original a otro material mientras hay un proyecto abierto, el proyecto se suelta en vez de quedarse con carpetas que no son suyas. La barra de abajo te ofrece asignárselas si eso era lo que querías.
La pila
Entregadas / faltan / total, el avance por hoja del guion, el historial de batches y la lista completa de lo que falta, exportable a CSV.
La columna nuevas dice cuántas líneas sumó cada batch de verdad: registrar dos veces el mismo material no cuenta doble.
Qué queda guardado
Todo vive en la Mac, fuera de las carpetas de trabajo. El proyecto es autosuficiente: si mañana borran el guion o los audios, el seguimiento sigue entero.
| Las líneas del guion | archivo, personaje, texto de cada idioma y tolerancia |
| Una copia del guion completo | adentro del proyecto |
| Cada archivo entregado | en qué batch entró, con qué estado, duraciones, nivel, LUFS, coincidencia y lo que dijo el audio |
| La revisión de texto | estado por línea y el texto AsRec aprobado |
Respaldar la base deja un zip con todo eso. Restaurar un respaldo lo trae de vuelta en otra Mac. Es lo único que hay que guardar.
4 · Estructura
Acá se arma lo que se manda: los audios ordenados como el original, y el guion AsRec con lo que realmente se grabó.
El delivery
Toma las carpetas del QC. Vos ponés el destino —conviene una carpeta nueva y vacía; si no lo está, te avisa— y el modo:
| copiar | copia el archivo |
| enlace | hard link: instantáneo y no ocupa disco |
| mover | mueve el archivo |
| alias | symlink |
Planificar muestra qué iría a dónde sin tocar nada. Sólo crea las carpetas que llevan audio: una carpeta vacía no se entrega. Verificar entrega compara carpeta por carpeta contra el plan.
El renombrado
El nombre con el que trabaja la sala casi nunca es el de la entrega. La regla se define una vez y la usan las dos pestañas, así el QC empareja con el mismo criterio con que se arma el delivery.
| Quitar del nombre | saca tokens: _esLA-cm, _v2 |
| Agregar al final | el caso inverso |
| Reemplazar | literal o expresión regular |
| Emparejar ignorando campos | corta por el separador y descarta posiciones, para cuando el cuerpo del nombre cambia entre versiones |
| El nombre sale de | el archivo original, o el entrante ya limpio |
Ver cómo queda muestra la tabla completa —original, cómo llega, cómo se entrega, qué quedó suelto— antes de tocar un archivo.
El guion AsRec
Escribe una copia del Excel original. El archivo sale completo: todas las hojas, filas y columnas, con el formato intacto. Lo único que cambia es la columna AsRec.
- Se escribe en la columna AsRec si el guion la tiene, y si no en la del idioma destino.
- Sólo los cambios: la columna es la lista de diferencias contra el guion, no una copia de la traducción. Lo que coincide queda vacío.
- Lo que cambió va en fuente roja en negrita.
- Fondo verde donde el operador aprobó, rojo donde falta revisar o se rechazó.
El AsRec sale acumulado: trae todo lo aprobado del proyecto hasta ese momento, no sólo el último batch.
Reportes y exports
| Salida | Qué trae |
|---|---|
| Reporte de revisión | sólo lo que está mal o necesita una decisión, con qué hay que hacer en la primera columna y tres columnas vacías para que el operador anote. Los avisos no entran salvo que se pidan. |
| CSV / XLSX | el QC completo, fila por fila, con el color de estado |
| Exportar historial | todo lo entregado con sus medidas y lo que dijo cada audio |
| Pendientes CSV | lo que falta entregar, para mandárselo a la sala |
Todas preguntan dónde guardar y dejan el archivo seleccionado en el Finder.
Teclado
| ↑ ↓ | moverse por la lista |
| ← | escuchar el original |
| → | escuchar el localizado |
| espacio | pausar y seguir |
| ⏎ | alternar A/B |
| a | aprobar la toma seleccionada |
| f | mostrar sólo lo que tiene problemas |
| r | revelar el archivo en el Finder |
Encontrar el archivo en el disco
| Parar el mouse sobre el nombre | muestra la carpeta y el archivo, sin hacer clic |
| Clic derecho sobre el nombre | lo revela en el Finder. Sobre la columna del original revela el original; sobre la del localizado, el localizado |
| La ruta bajo el nombre, en el panel derecho | clickeable, hace lo mismo |
Batches siguientes
Después de la primera entrega, para cada tanda nueva:
- Elegí el proyecto arriba.
- Cambiá sólo Localizado a la carpeta del material nuevo. El original y el guion se quedan como están.
- Analizar → Loudness → Contenido.
- Resolvé lo rojo.
- Registrar esta entrega con el nombre del batch.
- Estructura: planificar, aplicar, verificar y exportar el AsRec.
Llevarlo a otra Mac
Van dos cosas por separado:
- La app: se baja de esta página y se instala como arriba. Los proyectos de esa Mac no se tocan al reemplazar la app por una versión nueva.
- Los proyectos: Entregas → Respaldar la base en la Mac de origen, y Restaurar un respaldo en la de destino.
Si algo no anda
“Apple no pudo verificar que está libre de malware”
Es la marca de descarga, no un problema de la app. Se saca con la línea de Terminal del paso 3, o desde Ajustes del Sistema → Privacidad y seguridad → Abrir igualmente. Nunca le des Mover a la papelera.
“No podés usar esta versión de la aplicación con esta versión de macOS”
Esa Mac tiene un macOS anterior a 15. Se resuelve actualizando; no hay versión de la app para macOS más viejo. Para ver en qué versión está: menú Apple → Acerca de esta Mac.
No abre
El primer lugar donde mirar es siempre el mismo:
tail -5 ~/Library/Logs/"ASSETS CONTROL.log"
Ahí queda escrito cada arranque: en qué puerto sirve y cualquier error.
No suena el audio
Los WAV de 24 y 32 bits se convierten al vuelo para poder reproducirlos, sin tocar tus archivos. Si igual no suena, mirá el log.
Dice que un audio no está en ningún guion
Puede ser real —hay tomas que no figuran en la cue sheet, como algunos stems— o que el guion cargado no sea el del proyecto. Revisá el panel Guiones.
Muchas alertas de nivel
Si casi todo queda en alerta, probablemente la spec cargada no es la de ese proyecto. Cambiá el rango en Ajustes y volvés a mirar al instante: la medición ya está hecha, sólo cambia contra qué se compara.