bgmusic
Finde ein echtes Musikbett für ein Video aus Public-Domain-Katalogen, ohne eine Bibliothek herunterzuladen oder jemandem einen Credit schuldig zu sein.
Wenn die integrierten ausreichen
public/sfx/ liefert bereits zwei Betten mit, die keine Anfrage kosten:
music-bed.mp3, eine 60s Ambient-Drohne. Gut unter einer kurzen technischen Erklärung.pulse-bed.mp3, 112 bpm mit einem exakten Cue-Gitter inpulse-bed.cues.json. Der einzige Track, bei dem taktgenaue Schnitte exakt und nicht geschätzt sind, weil er synthetisiert und nicht analysiert wurde.
Verwende sie, wenn das Video kurz, von einer Erzählung dominiert ist oder die Musik nur nicht leise sein muss. Suche weiter, wenn das Video ein Launch- oder Promo-Stück ist und das Musikbett die Stimmung trägt.
Die beiden Kataloge
| Quelle | Was | Größe |
|---|---|---|
lofi | btahir/open-lofi, 166 Lo-Fi-Tracks in 10 Kategorien | ~3MB pro Track |
cc0 | SoundSafari/CC0-1.0-Music, ~9200 Tracks von freepd, chosic, Free Music Archive, freesound und Pixabay | 2-15MB pro Track |
Beide sind CC0-1.0. Public Domain, kommerzielle Nutzung in Ordnung, keine Namensnennung erforderlich, nichts für die Videobeschreibung. Deshalb sind diese beiden direkt eingebunden, während plan_sound_effects den Benutzer für Effekte immer noch manuell zu Pixabay schickt.
Ein Vorbehalt, den man aussprechen sollte: Das Korpus wird von der Community aggregiert und basiert auf Takedown-Anfragen. Die CC0-Angabe pro Track stammt also vom Betreuer, nicht von einer Lizenz, die Sie gelesen haben. Für ein Produktvideo ist das in Ordnung, und die Provenienzdatei zeichnet die Quelle auf. Wo eine falsche Lizenz teuer wäre, bleiben Sie bei lofi, das ein Autor, eine Veröffentlichung, eine Lizenzaussage ist.
Der Ablauf
find_music_bed -> [Benutzer hört an] -> import_music_bed -> plan_music_cues -> stitch_composition
1. find_music_bed
Abfrage mit einfachen Stimmungs- oder Szenenwörtern: "ruhig konzentriert codieren", "späte Nacht Neon", "warm fröhlich". Es werden Titel und Kategorien abgeglichen.
Der erste Aufruf erstellt einen Index, etwa sieben GitHub-API-Aufrufe, gecacht in output/music-index.json. Spätere Suchen sind lokale Lesevorgänge. Übergeben Sie refresh: true nur, nachdem ein Katalog eine neue Version veröffentlicht hat.
lofi-Kategorien sind echte Metadaten, daher funktioniert category: "ambient-lofi". Korpus-Tracks haben keine: Ein Track dort ist ein Dateiname in einem Ordner, der nach der Website benannt ist, von der er stammt. Wenn nichts passt, gibt das Tool ein einfaches Sample zurück und setzt matchedQuery: false. Das ist ein Signal, ein Wort zu versuchen, das ein Komponist tatsächlich in einen Titel setzen würde, nicht aufzugeben.
Lassen Sie den Benutzer wählen. Geben Sie drei bis fünf Kandidaten mit Titeln und Kategorien zurück. Musik ist Geschmack, und ein falsches Musikbett fällt mehr auf als eine falsche Schriftart.
2. import_music_bed
import_music_bed(id: "lofi:terminal-rain", out: "public/audio/music-bed.mp3", seconds: 45, start: 12)
Was es über das Herunterladen hinaus tut: Es trimmt seconds ab start, blendet ein und aus und normalisiert auf -20 LUFS, damit das Musikbett unter einer Erzählung sitzt, anstatt mit ihr zu konkurrieren. Übergeben Sie raw: true, um all das zu überspringen und den Track wie veröffentlicht zu behalten.
Wohin damit:
public/audio/music-bed.mp3für das Musikbett der Komposition.stitch_compositionhängt diesen Pfad automatisch an, sodass nichts anderes geändert werden muss.public/imported_audios/(die Voreinstellung) für alles andere, das ist der Ordner, der Material enthält, das nicht aus dem integrierten Paket stammt.
Es schreibt <datei>.source.json und eine Zeile in MUSIC-SOURCES.md neben den Track: ID, Titel, Quell-Repository, Lizenz, Datum. CC0 verlangt nichts davon. Es ist da, damit ein Jahr später die Herkunft eines Musikbetts ein Dateilesen und kein Raten ist.
Überspringen Sie die Mitte eines Tracks mit start. Intros sind normalerweise der am wenigsten nützliche Teil, und ein Musikbett, das auf einer Abwärtsbewegung beginnt, muss nicht bearbeitet werden, um absichtlich zu wirken.
3. plan_music_cues
Rufen Sie es für die importierte Datei auf. Für jeden Track, der nicht pulse-bed.mp3 ist, wird das Gitter aus einer Onset-Hüllkurve geschätzt. Behandeln Sie es also als Planungshilfe: Rasten Sie einige größere Enthüllungen in strongCues ein, nicht jeden Schnitt. docs/STYLE.md enthält die Toleranzen.
Kosten und Grenzen
- Es wird nichts eingekauft. open-lofi veröffentlicht seine Tracks nur innerhalb eines 554 MB großen Release-Zips. Ein Import liest daher das zentrale Verzeichnis dieses Zips über HTTP-Bereichsanfragen und zieht nur die Bytes des ausgewählten Members. Die 554 MB werden nie heruntergeladen.
- Die Formung eines Musikbetts benötigt
ffmpegim PATH.raw: truenicht. - Das unauthentifizierte API-Limit von GitHub beträgt 60 Anfragen pro Stunde. Ein Index-Build verbraucht etwa sieben. Setzen Sie
GITHUB_TOKENauf einem Rechner, der ihn häufig neu baut. - Der Index-Cache liegt unter
output/, was ein generiertes Projekt bereits ignoriert.
Was Sie nicht tun sollten
- Übernehmen Sie keinen ganzen Katalog in ein Projekt. Ein Musikbett pro Video ist die Einheit.
- Legen Sie keinen Track in
public/sfx/ab. Dieser Ordner ist das Paket, das mit dem Paket ausgeliefert wird, undpublic/sfx/CREDITS.mdsagt, was darin ist und warum es keine Bedingungen enthält. - Verwenden Sie dies nicht für Soundeffekte.
plan_sound_effectsüberprüft zuerst das integrierte Paket und sucht dann erst weiter, das ist die richtige Reihenfolge für Effekte.