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

77 lines
2.9 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
```
Esos comandos siguen sirviendo para importar lotes y reparar material antiguo.
Para una canción individual, el panel hace el ciclo entero al crearla o desde
«Subir el máster»: valida el archivo, mide sus datos, crea la escucha, calcula
la onda y enlaza ambas representaciones en una única operación. La ficha queda
en borrador hasta que se revise y publique.
`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, `ESCUCHA_DIR` la de las copias
reducidas y `ONDA_DIR` la de sus resúmenes visuales. Por defecto son
`./media/audio`, `./media/escucha` y `./static/ondas`. El panel y el sitio deben
ver las mismas tres rutas. Las ondas que se crean después de compilar también
se sirven mediante la ruta del sitio, por lo que subir una canción no exige un
nuevo build.
Para comprobar la integridad después de migrar o importar:
```bash
npm run db:auditar-musica
```

Powered by TurnKey Linux.