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 embutidos são suficientes
public/sfx/ já fornece duas trilhas e nenhuma delas requer requisição:
music-bed.mp3, um drone ambiente de 60s. Adequado para um tutorial técnico curto.pulse-bed.mp3, 112bpm com uma grade de cues exata empulse-bed.cues.json. A única faixa onde os cortes sincronizados com a batida são exatos em vez de estimados, porque foi sintetizada em vez de analisada.
Use-as quando o vídeo é curto, guiado por narração, ou a música precisa apenas não ser silêncio. Procure quando o vídeo é um lançamento ou material promocional e a trilha carrega o clima.
Os dois catálogos
| Fonte | O quê | Tamanho |
|---|---|---|
lofi | btahir/open-lofi, 166 faixas lo-fi em 10 categorias | ~3MB por faixa |
cc0 | SoundSafari/CC0-1.0-Music, ~9200 faixas do freepd, chosic, Free Music Archive, freesound e Pixabay | 2-15MB por faixa |
Ambos são CC0-1.0. Domínio público, uso comercial permitido, nenhuma atribuição necessária, nada para
a descrição do vídeo. É por isso que estes dois estão integrados enquanto
plan_sound_effects ainda envia o usuário para o Pixabay manualmente para efeitos.
Uma ressalva que vale a pena dizer em voz alta: o corpus é agregado pela comunidade e funciona com
pedidos de remoção, então sua alegaçã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 errada seria cara, fique no lofi, que tem um autor, um
lançamento, uma declaração de licença.
O fluxo
find_music_bed -> [usuário audiciona] -> import_music_bed -> plan_music_cues -> stitch_composition
1. find_music_bed
Consulte com palavras de clima ou cena simples: "foco calmo codificação", "néon tarde da noite",
"animado caloroso". Títulos e categorias são o que é combinado.
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 uma leitura local. 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
corpus não têm nenhuma: uma faixa lá é um nome de arquivo em uma pasta nomeada após o 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 candidatos 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 de baixar: corta seconds a partir de start, faz fade in e out, e
normaliza para -20 LUFS para que a trilha fique abaixo da narração em vez de competir com ela. Passe
raw: true para pular tudo isso e manter a faixa como publicada.
Onde colocá-la:
public/audio/music-bed.mp3para a trilha da composição.stitch_compositionanexa 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 pede nada disso. Está lá para que, um ano depois, a
proveniência de uma trilha seja uma leitura de arquivo em vez de 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 downbeat não precisa de edição para parecer intencional.
3. plan_music_cues
Chame-a no arquivo importado. Para qualquer faixa que não seja pulse-bed.mp3, a grade é
estimada a partir de um envelope de onset, então trate como orientação de planejamento: prenda um punhado de
grandes revelações a strongCues, não a cada corte. 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 através de requisições HTTP range e puxa apenas os bytes do membro escolhido. Os 554MB nunca são baixados.
- Moldar uma trilha precisa de
ffmpegno PATH.raw: truenã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_TOKENem uma máquina que a reconstrua com frequência. - O cache do índice fica em
output/, que um projeto scaffolded já ignora no git.
O que não fazer
- Não confirme 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 vem com o pacote, epublic/sfx/CREDITS.mddiz o que há nele e por que não carrega termos. - Não use isso para efeitos sonoros.
plan_sound_effectsverifica o pacote embutido primeiro e só depois procura, que é a ordem correta para efeitos.