Communitygithub.com

AnayDhawan/openvidstudio-bgmusic

Use quando um vídeo precisa de música de fundo além das duas faixas sintetizadas que acompanham o openvidstudio, ou o usuário disser "encontrar música", "música de fundo", "trilha sonora", "bgm", "a música é chata", "algo lo-fi", ou pedir uma faixa para um vídeo de demonstração, lançamento ou promoção. Pesquisa em dois catálogos CC0 de domínio público, importa uma faixa e a molda em uma trilha. Não é para efeitos sonoros (plan_sound_effects) nem para voz (generate_narration).

O que é openvidstudio-bgmusic?

Esta skill para agentes de IA encontra e molda músicas de fundo de domínio público (CC0) para vídeos, sem a necessidade de baixar bibliotecas ou atribuir créditos. Ela pesquisa em dois catálogos: um com 166 faixas lo-fi do repositório open-lofi e outro com cerca de 9200 faixas de vários sites (como freepd e freesound) do repositório SoundSafari. O fluxo de trabalho é composto por quatro etapas principais: (1) o agente consulta os catálogos com palavras de humor ou cena; (2) o usuário escolhe uma faixa entre três a cinco candidatas; (3) a faixa é importada, podendo ser cortada, com fade in/out e normalizada para LUFS; (4) o agente planeja cortes musicais com base na faixa importada. A skill não é para efeitos sonoros ou narração, e evita o download completo dos catálogos, usando requisições HTTP parciais. É útil para vídeos de demonstração, lançamento ou promocionais, onde a música precisa transmitir emoção e qualidade.

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

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

bgmusic

Encontre uma trilha musical real para um vídeo, a partir de catálogos de domínio público, sem baixar uma biblioteca ou dever créditos a ninguém.

Quando os itens embutidos são suficientes

public/sfx/ já inclui duas trilhas e nenhuma delas custa uma requisição:

  • music-bed.mp3, um drone ambiente de 60s. Adequado para tutoriais técnicos curtos.
  • pulse-bed.mp3, 112bpm com uma grade de cortes exata em pulse-bed.cues.json. A única faixa onde os cortes sincronizados com a batida são exatos, em vez de estimados, porque foi sintetizada, não analisada.

Use-as quando o vídeo for curto, com foco em narração, ou quando a música só precisa não ser silêncio. Procure novas quando o vídeo for um lançamento ou material promocional e a trilha carregar emoção.

Os dois catálogos

FonteO quêTamanho
lofibtahir/open-lofi, 166 faixas lo-fi em 10 categorias~3MB por faixa
cc0SoundSafari/CC0-1.0-Music, ~9200 faixas do freepd, chosic, Free Music Archive, freesound e Pixabay2-15MB por faixa

Ambos são CC0-1.0. Domínio público, uso comercial permitido, sem necessidade de atribuição, nada para a descrição do vídeo. É por isso que estes dois estão integrados enquanto o plan_sound_effects ainda envia o usuário ao Pixabay manualmente para efeitos.

Uma ressalva que vale a pena declarar: o acervo é agregado pela comunidade e funciona com pedidos de remoção, então a declaração CC0 por faixa é do mantenedor, não uma licença que você leu. Para um vídeo de produto, isso é aceitável e o arquivo de proveniência registra a fonte. Onde uma licença incorreta seria cara, fique no lofi, que é um autor, um lançamento, uma declaração de licença.

O fluxo

find_music_bed -> [usuário avalia] -> import_music_bed -> plan_music_cues -> stitch_composition

1. find_music_bed

Consulte com palavras simples de humor ou cena: "foco calmo codando", "neon noite alta", "alegre animado". Títulos e categorias são o que é correspondido.

A primeira chamada constrói um índice, cerca de sete chamadas da API do GitHub, armazenado em cache em output/music-index.json. Pesquisas posteriores são leituras locais. Passe refresh: true apenas após um catálogo publicar um novo lançamento.

As categorias lofi são metadados reais, então category: "ambient-lofi" funciona. As faixas do acervo não têm nenhuma: uma faixa lá é um nome de arquivo em uma pasta com o nome do site de onde veio. Quando nada corresponde, a ferramenta retorna uma amostra simples e define matchedQuery: false. Isso é um sinal para tentar uma palavra que um compositor realmente colocaria em um título, não para desistir.

Deixe o usuário escolher. Retorne de três a cinco candidatas com seus títulos e categorias. Música é gosto, e uma trilha errada é mais perceptível do que uma fonte errada.

2. import_music_bed

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

O que faz além do download: corta seconds a partir de start, aplica fade in e fade out, e normaliza para -20 LUFS para que a trilha fique sob a narração em vez de competir com ela. Passe raw: true para pular tudo isso e manter a faixa como publicada.

Onde colocar:

  • public/audio/music-bed.mp3 para a trilha da composição. stitch_composition anexa esse caminho automaticamente, então nada mais precisa mudar.
  • public/imported_audios/ (o padrão) para qualquer outra coisa, que é a pasta que contém material que não veio do pacote embutido.

Ele escreve <file>.source.json e uma linha em MUSIC-SOURCES.md ao lado da faixa: id, título, repositório de origem, licença, data. CC0 não exige nada disso. Está lá para que, um ano depois, a proveniência de uma trilha seja uma leitura de arquivo, não um palpite.

Pule para o meio de uma faixa com start. As introduções geralmente são a parte menos útil, e uma trilha que abre em um tempo forte não precisa de edição para parecer intencional.

3. plan_music_cues

Chame-o no arquivo importado. Para qualquer faixa que não seja pulse-bed.mp3, a grade é estimada a partir de um envelope de ataque, então trate como uma orientação de planejamento: encaixe algumas revelações principais nos strongCues, não todos os cortes. docs/STYLE.md tem as tolerâncias.

Custos e limites

  • Nada é vendido. open-lofi publica suas faixas apenas dentro de um zip de lançamento de 554MB, então uma importação lê o diretório central desse zip por requisições HTTP range e puxa apenas os bytes do membro escolhido. Os 554MB nunca são baixados.
  • Moldar uma trilha precisa do ffmpeg no PATH. raw: true não precisa.
  • O limite da API não autenticada do GitHub é de 60 requisições por hora. Uma construção de índice gasta cerca de sete. Defina GITHUB_TOKEN em uma máquina que reconstrua o índice com frequência.
  • O cache do índice fica em output/, que um projeto scaffold já ignora no git.

O que não fazer

  • Não comprometa um catálogo inteiro em um projeto. Uma trilha por vídeo é a unidade aqui.
  • Não coloque uma faixa em public/sfx/. Essa pasta é o pacote que acompanha a skill, e public/sfx/CREDITS.md diz o que há nele e por que não tem termos.
  • Não use isso para efeitos sonoros. plan_sound_effects verifica o pacote embutido primeiro e só então vai procurar, que é a ordem correta para efeitos.

Individual skills in this repo

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

Habilidades Relacionadas