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

105 lines
4.1 KiB

# Audio privado
Este directorio guarda los **archivos completos** del catálogo. No se sirve como
estático: nada de lo que hay aquí llega a la web por sí solo. Solo lo entrega
`/descargas/…`, y únicamente a quien lo ha comprado.
Lo que sí es público es el **fragmento de muestra** de cada tema, que vive
aparte, en `static/muestras/`, y es lo que suena en el reproductor.
## Subir un tema desde el panel
Lo normal es no tocar este directorio a mano. En `/admin`, el campo **Archivo
de audio** de una canción sube el máster; aterriza en `media/audio/subidas/`
con el nombre que traiga, porque el navegador no puede colocarlo mejor.
Lo demás lo hace `npm run medios`, que corre solo antes de `npm run dev` y de
`npm run build`:
1. Mueve el archivo de `subidas/` a la carpeta de su disco —o a `singles/`—
con el nombre de la convención, y reescribe la clave en el Markdown.
2. Recorta el fragmento de muestra en `static/muestras/`.
3. Escribe la duración en el frontmatter si estaba vacía.
Hace falta **ffmpeg** en el equipo. Sin él el script no rompe nada: avisa de las
muestras que no ha podido generar y sigue. En un servidor de despliegue no se
necesita, porque las muestras van en el repositorio.
Si un archivo se queda en `subidas/` sin que ninguna canción lo reclame, el
script lo dice en cada arranque. Suele significar que falta la ficha del tema.
## Convención
```
media/audio/
<slug-del-album>/
01-<slug-de-la-cancion>.mp3
01-<slug-de-la-cancion>-orquestal.mp3 ← una alternativa musical
singles/
<slug-de-la-cancion>.mp3 ← temas sin álbum
static/muestras/
<la misma estructura, con los fragmentos>
```
La ruta relativa dentro de cada uno de los dos árboles es la **clave** que se
escribe en el contenido, sin barra inicial:
```yaml
# src/content/canciones/como-si-nada.md
audio: como-si-nada/01-como-si-nada.mp3
versiones:
- nombre: 'Versión orquestal'
audio: como-si-nada/01-como-si-nada-orquestal.mp3
```
De esa única clave salen las dos rutas: `media/audio/<clave>` para la descarga y
`/muestras/<clave>` para la escucha pública. Por eso no hay que escribirlas dos
veces, y por eso una clave que empiece por `/` se rechaza al compilar: sería una
ruta pública, y el archivo completo no lo es.
El número delante del nombre es el mismo `numero` que lleva la canción en su
frontmatter. No es obligatorio, pero mantiene el directorio ordenado igual que
el disco.
## Dónde apunta el directorio
La variable `MEDIA_DIR` decide la raíz del audio privado; por defecto,
`./media/audio`. Al desplegar hay que copiar este directorio junto a la
aplicación: **no lo genera el build**.
## Formato
- **MP3 a 192 kbps** o superior para el archivo completo: lo reproduce y lo
abre cualquier cosa, y es lo que se entrega al comprador.
- **Muestra de 30 a 45 segundos**, del mismo archivo, con un fundido de salida.
Debe dejar claro cómo suena el tema sin sustituirlo.
- Etiqueta los archivos completos con sus metadatos (título, artista, álbum):
es lo primero que ve quien los descarga.
Para generar una muestra a mano, 40 segundos desde el segundo 30. El `-ss` va
**antes** del `-i`: detrás, el filtro sigue viendo los tiempos del original,
el fundido cae seis segundos después de empezar y el resto sale mudo.
```bash
ffmpeg -ss 30 -t 40 -i media/audio/album/01-tema.mp3 \
-af "afade=t=out:st=36:d=4" static/muestras/album/01-tema.mp3
```
## Los archivos que hay ahora
Son **marcadores de posición**: un tono por pista, seis segundos en el archivo
completo y dos en la muestra, con una nota distinta cada uno para poder
comprobar de oído que el reproductor cambia de tema y que la descarga entrega lo
que debe.
Para poner el material real, lo cómodo es el panel: subir el archivo en la
ficha del tema y arrancar. Si prefieres hacerlo a mano, copia el máster en
`media/audio/` respetando la estructura, ajusta el campo `audio` y lanza
`npm run medios` para la muestra y la duración. En ambos casos, borra después
el `.wav` de marcador de posición de los dos directorios.
Las portadas provisionales están en `static/images/albumes/` y
`static/images/canciones/`: sustitúyelas manteniendo el nombre, o cambia el
campo `portada`.

Powered by TurnKey Linux.