Communitygithub.com

AnayDhawan/openvidstudio-bgmusic

Úsalo cuando un video necesite música de fondo más allá de las dos pistas sintetizadas que incluye openvidstudio, o el usuario diga 'buscar música', 'música de fondo', 'pista musical', 'bgm', 'la música es aburrida', 'algo lo-fi', o pida una pista para un video de demostración, lanzamiento o promoción. Busca en dos catálogos públicos de dominio CC0, importa una pista y la transforma en una base musical. No es para efectos de sonido (plan_sound_effects) ni para voz (generate_narration).

¿Qué es openvidstudio-bgmusic?

Esta habilidad para openvidstudio permite a un agente de IA encontrar, importar y adaptar pistas musicales de fondo (beds) desde dos grandes catálogos públicos bajo licencia CC0-1.0, sin necesidad de descargar bibliotecas completas ni gestionar créditos. Está diseñada para cuando las pistas sintetizadas incluidas en el paquete ('music-bed.mp3' y 'pulse-bed.mp3') no son suficientes, especialmente en videos de lanzamiento, promoción o demostración donde la música transmite el estado de ánimo. Los catálogos utilizados son 'btahir/open-lofi' (166 pistas lo-fi) y 'SoundSafari/CC0-1.0-Music' (~9200 pistas de diversas fuentes), ambos de dominio público y aptos para uso comercial. La habilidad sigue un flujo de cuatro pasos: buscar pistas según palabras clave de estado de ánimo, dejar que el usuario seleccione, importar la pista elegida recortándola, desvaneciéndola y normalizándola a -20 LUFS, y finalmente planificar señales musicales para la edición del video. Está optimizada para usar solo los bytes necesarios de archivos ZIP grandes mediante solicitudes HTTP por rango, y requiere ffmpeg para la transformación final. No debe usarse para efectos de sonido ni para narración.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/AnayDhawan/openvidstudio/tree/main/.agents/skills/bgmusic

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

bgmusic

Encuentra una pista musical real para un video, desde catálogos de dominio público, sin descargar una biblioteca ni deber créditos a nadie.

Cuando las pistas incluidas son suficientes

public/sfx/ ya incluye dos pistas y ninguna cuesta una solicitud:

  • music-bed.mp3, un drone ambiental de 60s. Adecuado para un tutorial técnico corto.
  • pulse-bed.mp3, 112 bpm con una cuadrícula de señales exacta en pulse-bed.cues.json. La única pista donde los cortes sincronizados con el ritmo son exactos en lugar de estimados, porque fue sintetizada en lugar de analizada.

Úsalas cuando el video sea corto, guiado por narración, o la música solo deba evitar el silencio. Busca cuando el video sea una pieza de lanzamiento o promoción y la pista transmita el estado de ánimo.

Los dos catálogos

FuenteQuéTamaño
lofibtahir/open-lofi, 166 pistas lo-fi en 10 categorías~3MB por pista
cc0SoundSafari/CC0-1.0-Music, ~9200 pistas de freepd, chosic, Free Music Archive, freesound y Pixabay2-15MB por pista

Ambos son CC0-1.0. Dominio público, uso comercial permitido, sin atribución requerida, nada para la descripción del video. Por eso estos dos están integrados mientras que plan_sound_effects aún envía al usuario a Pixabay manualmente para efectos.

Una advertencia que vale la pena mencionar: el corpus es agregado por la comunidad y funciona con solicitudes de eliminación, por lo que su reclamo CC0 por pista es del mantenedor, no una licencia que hayas leído. Para un video de producto está bien y el archivo de procedencia registra la fuente. Cuando una licencia incorrecta sería costosa, quédate con lofi, que es un autor, un lanzamiento, una declaración de licencia.

El flujo

find_music_bed -> [usuario audiciona] -> import_music_bed -> plan_music_cues -> stitch_composition

1. find_music_bed

Consulta con palabras simples de estado de ánimo o escena: "calma concentración codificación", "noche neón tardía", "cálido optimista". Los títulos y categorías son lo que se empareja.

La primera llamada construye un índice, aproximadamente siete llamadas a la API de GitHub, almacenado en caché en output/music-index.json. Las búsquedas posteriores son una lectura local. Pasa refresh: true solo después de que un catálogo publique un nuevo lanzamiento.

Las categorías de lofi son metadatos reales, por lo que category: "ambient-lofi" funciona. Las pistas del corpus no tienen ninguna: una pista allí es un nombre de archivo en una carpeta nombrada según el sitio del que proviene. Cuando no hay coincidencias, la herramienta devuelve una muestra simple y establece matchedQuery: false. Esa es una señal para probar una palabra que un compositor realmente pondría en un título, no para rendirse.

Deja que el usuario elija. Devuelve de tres a cinco candidatos con sus títulos y categorías. La música es cuestión de gusto, y una pista incorrecta es más notoria que una fuente incorrecta.

2. import_music_bed

import_music_bed(id: "lofi:terminal-rain", out: "public/audio/music-bed.mp3", seconds: 45, start: 12)

Lo que hace además de descargar: recorta seconds desde start, desvanece al inicio y al final, y normaliza a -20 LUFS para que la pista se sitúe debajo de la narración en lugar de competir con ella. Pasa raw: true para omitir todo eso y mantener la pista publicada.

Dónde colocarlo:

  • public/audio/music-bed.mp3 para la pista de la composición. stitch_composition adjunta esa ruta automáticamente, por lo que nada más tiene que cambiar.
  • public/imported_audios/ (el valor predeterminado) para cualquier otra cosa, que es la carpeta que contiene material que no proviene del paquete integrado.

Escribe <archivo>.source.json y una fila en MUSIC-SOURCES.md junto a la pista: id, título, repositorio fuente, licencia, fecha. CC0 no requiere nada de eso. Está ahí para que un año después la procedencia de una pista sea una lectura de archivo en lugar de una suposición.

Salta al medio de una pista con start. Las introducciones suelen ser la parte menos útil, y una pista que comienza en un tiempo fuerte no necesita edición para sentirse deliberada.

3. plan_music_cues

Llámalo en el archivo importado. Para cualquier pista que no sea pulse-bed.mp3, la cuadrícula se estima a partir de una envolvente de onset, así que trátalo como guía de planificación: ajusta un puñado de revelaciones importantes a strongCues, no todos los cortes. docs/STYLE.md tiene las tolerancias.

Costos y límites

  • No se vende nada. open-lofi publica sus pistas solo dentro de un ZIP de lanzamiento de 554MB, por lo que una importación lee el directorio central de ese ZIP a través de solicitudes HTTP por rango y extrae solo los bytes del miembro elegido. Los 554MB nunca se descargan.
  • Transformar una pista necesita ffmpeg en PATH. raw: true no.
  • El límite de API no autenticada de GitHub es de 60 solicitudes por hora. Una construcción de índice consume aproximadamente siete. Establece GITHUB_TOKEN en una máquina que lo reconstruya con frecuencia.
  • El caché del índice vive en output/, que un proyecto scaffold ya ignora en git.

Qué no hacer

  • No comprometas un catálogo completo en un proyecto. Una pista por video es la unidad aquí.
  • No coloques una pista en public/sfx/. Esa carpeta es el paquete que se envía con el paquete, y public/sfx/CREDITS.md dice qué contiene y por qué no tiene términos.
  • No uses esto para efectos de sonido. plan_sound_effects verifica primero el paquete integrado y solo entonces busca, que es el orden correcto para efectos.

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Skills relacionados