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

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:

# 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.

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.