You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
senzapaura_es/media/LEEME.md

69 lines
2.4 KiB

# Audio privado
`media/audio` guarda los másteres y archivos de descarga. No se sirve como un
directorio estático: `/descargas/…` comprueba la sesión y la compra antes de
entregar cualquier archivo.
La escucha autorizada usa una representación distinta y completa, generada a
calidad reducida en `media/escucha`. De ella sale además un resumen de
amplitudes en `static/ondas`, que permite dibujar el audio sin descargarlo ni
decodificarlo en el navegador. Ya no se generan ni publican fragmentos
recortados: el control de acceso vive en la ruta `/escucha/…`.
## Flujo
```bash
npm run medios # genera las escuchas y sus formas de onda
npm run db:medios # mide, registra y enlaza todas las representaciones
```
`npm run medios` también corre antes de `npm run dev` y `npm run build`. Recorre
todos los másteres de `media/audio`, incluidos los importados como álbum sin
ficha Markdown. Los perfiles están centralizados en `scripts/config/audio.mjs`:
actualmente produce MP3 a 96 kbps y resume cada pista en 128 picos.
## Convención
```text
media/audio/
<slug-del-album>/
01-<slug-de-la-cancion>.mp3
01-<slug-de-la-cancion>-orquestal.mp3
singles/
<slug-de-la-cancion>.mp3
media/escucha/
<la misma estructura, siempre con extensión .mp3>
static/ondas/
<la misma estructura, siempre con extensión .json>
```
La ruta relativa es estable. El máster
`media/audio/cupido-sin-flechas/01-tema.mp3` produce
`media/escucha/cupido-sin-flechas/01-tema.mp3` y
`static/ondas/cupido-sin-flechas/01-tema.json`. En la base, `cancion_audio`
distingue explícitamente los usos `master`, `descarga` y `stream`; la URL de la
onda se deriva de la del último, por lo que no hay otra columna que pueda quedar
desincronizada.
## Subidas
Una subida pendiente puede aterrizar en `media/audio/subidas`. Si una ficha
Markdown la reclama, el script la mueve a su ubicación canónica y actualiza la
ficha. Cualquier archivo que permanezca en la bandeja sin relación se anuncia
en cada ejecución para que no pase inadvertido.
## Despliegue
`MEDIA_DIR` configura la raíz de los másteres y `ESCUCHA_DIR` la de las copias
reducidas; por defecto son `./media/audio` y `./media/escucha`. Ambos almacenes
deben copiarse al servidor aparte del build. Solo los resúmenes de
`static/ondas`, que no contienen audio, forman parte de los estáticos.
Para comprobar la integridad después de migrar o importar:
```bash
npm run db:auditar-musica
```

Powered by TurnKey Linux.