Zum Inhalt springen
Michael Blaess
IT-Consulting
Michael Blaess
EN

Fremde Musik im eigenen Spiel verwenden? Was gilt es zu beachten?

Open SourceLizenzenAudioSpiele

Für geo-finder wollte ich entspannte Hintergrundmusik, um das Spiel aufzuwerten.

Die erste Frage war nicht, welche Library ich nehme. Die erste Frage war, ob ich das überhaupt darf.

Klassik schien mir der einfachste Weg, Rechteprobleme zu vermeiden. Vivaldi ist seit über 270 Jahren tot, das Werk ist gemeinfrei, und jeder mag Vivaldi 😉 Also könnte ich jede Aufnahme davon nehmen.

Genau da steckt ein beliebter Denkfehler. Zum Glück habe ich vorher recherchiert und mir eventuell unnötige Rechtsanwaltskosten gespart.

Dieser Blog-Beitrag soll zeigen, welche Probleme und Fallstricke es bei der Verwendung von gemeinfreier Musik gibt und worauf wirklich zu achten ist.

Werk und Aufnahme sind zwei verschiedene Rechte!

Am Stück Musik hängen mindestens zwei Schutzrechte, und die laufen unabhängig voneinander ab:

Das Werk ist die Komposition. Hier gilt: “Das Urheberrecht erlischt siebzig Jahre nach dem Tode des Urhebers.” So steht es in § 64 UrhG. Bei Vivaldi, Bach oder Albinoni ist diese Frist lange vorbei, die Komposition ist gemeinfrei.

Aber Achtung: Die Aufnahme ist etwas anderes. Wer ein gemeinfreies Werk einspielt, bekommt ein eigenes Schutzrecht. Nach § 82 UrhG erlöschen die Rechte des ausübenden Künstlers 70 Jahre nach dem Erscheinen des Tonträgers. Der Tonträgerhersteller hat nach § 85 Abs. 3 UrhG ebenfalls 70 Jahre ab Erscheinen.

Was das heißt:

Eine Aufnahme der Vier Jahreszeiten von 1998 ist bis weit ins nächste Jahrhundert geschützt, obwohl Vivaldi 1741 gestorben ist. Die Noten darfst Du nachspielen, weil am Werk selbst keine Rechte mehr bestehen.

Die CD dagegen dürftest Du nicht einfach rippen und einbauen, denn an dieser Aufnahme hängen zwei weitere Rechte: das des Orchesters als ausübender Künstler und das des Herstellers. Beide laufen erst 70 Jahre nach dem Erscheinen aus. Wer sie übergeht, greift in fremde Rechte ein, auch wenn der Komponist längst gemeinfrei ist.

Für die Praxis bleiben damit vier Wege:

  • eine Aufnahme nehmen, die ausdrücklich unter einer freien Lizenz steht
  • eine Aufnahme nehmen, deren Leistungsschutzfrist abgelaufen ist
  • selbst einspielen oder einspielen lassen
  • Musik von einem KI-Dienst erzeugen lassen, dazu unten ein eigener Abschnitt

Hinweis: Das hier ist mein Rechercheergebnis, keine Rechtsberatung. Im Zweifel gilt der Lizenztext, nicht mein Blog.

Woher freie Musik kommt

Die folgenden Quellen wurden am 24.07.2026 geprüft:

QuelleWas es gibtTypische LizenzWorauf zu achten ist
Free Music Archivebreites Musikarchiv, kuratiertCC BY, CC BY-SA, CC0Lizenz steht am einzelnen Titel, nicht am Portal
Internet ArchiveAufnahmen aller Art, viel Klassikgemischt bis gemeinfreiLizenzangabe am einzelnen Werk prüfen, die Angaben sind teils grob
OpenGameArtexplizit für Spiele gemachtCC0, CC BY, CC BY-SA, OGA-BY, GPLzur GPL siehe den Absatz unter der Tabelle
ccMixterRemix-CommunityCC-Lizenzen, teils mit dem Zusatz NCNC steht für non-commercial, solche Stücke sind nur für nicht-kommerzielle Projekte erlaubt
IncompetechKevin MacLeod, sehr verbreitetCC BY 4.0Namensnennung ist streng geregelt, dazu gleich mehr
Freesoundeher Geräusche als MusikCC0, CC BYfür Effekte stark, für Soundtracks dünn

Zur GPL bei OpenGameArt: Diese Lizenz ist für Programmcode geschrieben. Bei einem Musikstück ist deshalb nicht eindeutig, was als der Quelltext gilt, den die Lizenz auf Verlangen mitzuliefern fordert. Die Projektdatei des Trackers? Die einzelnen Samples? Bei den CC-Varianten stellt sich diese Frage nicht, deshalb greife ich dort zuerst hin.

Incompetech ist die Seite von Kevin MacLeod, einem amerikanischen Komponisten, dessen Stücke man aus vielen YouTube-Videos und Indie-Spielen kennt. Ein Blick in sein Kleingedrucktes lohnt, weil es zeigt, wie eine korrekte Namensnennung aussieht.

Verlangt werden der Titel des Stücks, die Angabe “Kevin MacLeod (incompetech.com)” und ein Verweis auf die Lizenz. Und zwar so platziert, dass jemand, der wissen will, woher die Musik stammt, sie ohne Mühe findet. Wer keine Namensnennung unterbringen kann, kauft dort eine Standard License.

Das ist kein Sonderfall, das ist der Normalfall bei CC BY. Namensnennung heißt nicht “irgendwo im Repo”, sondern auffindbar für den, der das Ergebnis benutzt.

CC BY-SA: wann ShareAlike wirklich greift

Bei geo-finder läuft eine Einspielung der Vier Jahreszeiten von John Harrison mit den Wichita State University Chamber Players. Die steht unter CC BY-SA 4.0.

Das SA schreckt viele ab. Die Sorge dahinter: Wer eine ShareAlike-Datei ins Projekt legt, muss sein ganzes Repository unter dieselbe Lizenz stellen, kann also seinen Code nicht mehr unter Apache oder MIT weitergeben.

Diese Sorge ist unbegründet. ShareAlike greift laut Lizenztext bei abgewandeltem Material, also wenn Du das Stück veränderst und diese Version weitergibst. Ein Schnitt zu einem nahtlosen Loop wäre so eine Abwandlung. Die Datei unverändert abspielen ist keine.

Eine Stelle im Lizenztext ist trotzdem einen zweiten Blick wert:

Im Sinne der vorliegenden Public License entsteht immer abgewandeltes Material, wenn das lizenzierte Material ein Musikwerk, eine Darbietung oder eine Tonaufnahme ist und zur Vertonung von Bewegtbildern verwendet wird.

Für Film ist das eindeutig. Ob ein Spiel als Bewegtbild in diesem Sinne zählt, ist es nicht.

Ich habe dazu keine belastbare Antwort gefunden und behaupte deshalb auch keine.

Wer das Risiko gar nicht erst haben will, nimmt CC BY oder CC0 statt CC BY-SA.

Der Code bleibt in jedem Fall außen vor. geo-finder steht unter Apache 2.0, die Musik unter CC BY-SA. Das sind zwei getrennte Werke, die nebeneinander liegen, und die Nachweise stehen in einer eigenen CREDITS.md.

Musik von der KI: der Fall Suno

Der vierte Weg ist der neue: Dienste wie Suno erzeugen aus einer Textbeschreibung fertige Stücke, in Minuten und genau in der Stimmung, die man braucht. Für ein Spiel klingt das nach der Ideallösung. Die Bedingungen lohnen aber einen genauen Blick, und die stehen nicht in der Werbung, sondern in den Nutzungsbedingungen.

  • Kostenlos und Basic: Du bekommst keine Eigentumsrechte. Die Ausgaben dürfen laut Bedingungen nur “for lawful, internal, personal and non-commercial purposes” verwendet werden.
  • Pro und Premier: Suno überträgt Dir “all right, title and interest” an dem, was Du während des bezahlten Zeitraums erzeugst.

Dann steht dort ein Satz, der wichtiger sein dürfte als beide Punkte zusammen: Suno gibt keine Zusicherung, dass an einer Ausgabe überhaupt ein Urheberrecht entsteht. Das schneidet in beide Richtungen. Du darfst das Stück benutzen, aber Du könntest womöglich auch niemandem verbieten, dasselbe Stück zu benutzen. Wer ein Spiel über seine Musik wiedererkennbar machen will, sollte das mitdenken.

Ein zweiter Punkt, und den kennzeichne ich ausdrücklich als meine Auslegung: “internal, personal” ist enger formuliert als “nicht-kommerziell”. Ein Spiel, das öffentlich auf GitHub Pages liegt, wäre wohl nicht mehr rein persönlich, auch wenn niemand dafür bezahlt.

Für ein veröffentlichtes Projekt dürfte der bezahlte Tarif damit der sicherere Weg sein, selbst wenn niemand daran verdient.

Für geo-finder ist es trotzdem Vivaldi geworden. Bei einem gemeinfreien Werk in einer frei lizenzierten Einspielung ist die Herkunft eindeutig belegbar, und in eine Sammlung von Reisezielen passt ein Streichorchester ohnehin besser als alles, was ich einer KI beschreiben könnte.

Am Rande: Mir selbst ist Bach lieber. Für ein Spiel ist der aber eine Spur zu heftig und zu schwermütig.

Formate: was der Browser wirklich kann (oder warum ich Safari nicht mag)

OGG Vorbis war jahrelang der Standardtipp für Spiele im Browser, und jahrelang war Safari der Grund, warum man trotzdem MP3 danebenlegen musste 🙄 Das hat sich geändert, aber erst kürzlich:

FormatChrome, Firefox, EdgeSafari
MP3jaja, seit Safari 3.1
Vorbis in Oggjaerst ab Safari 18.4
Opus in Oggjaerst ab Safari 18.4
FLACjaab Safari 11

Die Ogg-Unterstützung kam mit WebKit für Safari 18.4 auf macOS Sequoia 15.4, iOS 18.4, iPadOS 18.4 und visionOS 2.4. Wer ältere Geräte bedienen will, liefert also weiter ein zweites Format mit. Alle gängigen Player nehmen dafür eine Liste von Quellen und suchen sich aus, was der Browser abspielen kann.

Bei der Größe ist die Rechnung schnell gemacht. Die drei Sätze in geo-finder sind als OGG zusammen 6,8 MB groß, einzeln 2,3 MB, 3,2 MB und 1,3 MB. Für ein statisches Spiel auf GitHub Pages geht das. Für ein Spiel, das in wenigen hundert Kilobyte laden soll, geht es nicht. Wie man das löst, kommt in Teil 2.

Player: was es gibt und was ich genommen habe

LösungVersionLizenzLetzter ReleasePaket entpacktWofür gedacht
<audio> und Web Audio APIHTML-5-Bordmittel--0 KBein, zwei Dateien abspielen
howler.js2.2.4MIT19.09.2023311 KBSpiele-Audio ohne Engine
Tone.js15.1.22MIT27.04.20255,3 MBSynthese und Sequencing
@pixi/sound6.0.1MIT27.07.20241,0 MBProjekte, die schon PixiJS nutzen
SoundJS1.0.1MIT19.09.2017-historisch, seit Jahren still
Phaser4.2.1MIT09.07.2026107 MBkomplette Spiele-Engine, Audio inklusive

Alle oben genannten Informationen wurden am 24.07.2026 aus der npm-Registry geholt.

Die entpackte Paketgröße ist nicht die Bundle-Größe im Browser.

Geworden ist es howler.js, aus drei Gründen:

  • Es kapselt Web Audio und HTML5-Audio hinter einer einzigen API.
  • Es nimmt eine Liste von Quellformaten entgegen und sucht sich das passende aus.
  • Es ist klein genug, dass es für eine Handvoll Titel nicht überdimensioniert wirkt.

Der letzte Release ist von 2023. Das spricht hier nicht gegen die Library, im Gegenteil: Sie ist ausgereift und hat ihre Kinderkrankheiten hinter sich.

Wer ohnehin eine Engine wie Phaser einsetzt, braucht howler nicht, da ist Audio schon drin. Wer Töne erzeugen statt Dateien abspielen will, landet bei Tone.js.

Eine Sache gilt unabhängig von der Library, und sie hat mich selbst überrascht: Musik startet nicht von allein. Browser blockieren Ton, der ohne Zutun des Nutzers anfängt. Laut MDN läuft Wiedergabe nur, wenn mindestens eine dieser Bedingungen erfüllt ist: der Ton ist stumm oder auf Lautstärke 0, der Nutzer hat auf der Seite geklickt oder getippt, die Seite steht auf einer Erlaubnisliste, oder die Autoplay-Berechtigung ist ausdrücklich gesetzt.

Für Hintergrundmusik heißt das: Es braucht einen Knopf. Ein play() direkt beim Laden der Seite wird abgewiesen, und der Fehler ist leicht zu übersehen, weil der Aufruf nur ein abgelehntes Promise zurückgibt. Wer das nicht abfängt, sucht lange nach einer Ursache im eigenen Code. Die Sperre gilt in allen aktuellen Browsern, und sie ist ein Segen: Eine Seite, die einem unaufgefordert Musik ins Ohr schickt, hat schon genug Leute vertrieben.

Wann wird die Musik eigentlich geladen?

Die Frage kommt sofort hinterher: Zieht die Seite beim Aufruf mehrere Megabyte Musik, obwohl sie vielleicht niemand hören will?

Muss sie nicht. Es gibt drei Stellschrauben.

Der Zeitpunkt.

Howler beginnt laut Dokumentation zu laden, sobald ein Howl erzeugt wird: “Automatically begin downloading the audio file when the Howl is defined.” Wer das Objekt erst im Klick-Handler erzeugt, überträgt vorher kein Byte Musik. Mit preload: false lässt sich der Download vom Erzeugen trennen und später per load() nachholen.

Beim nackten <audio>-Element macht das Attribut preload dasselbe, mit den Werten none, metadata und auto. Die Spezifikation empfiehlt metadata, und laut MDN ist der Wert für den Browser ohnehin nur ein Hinweis, an den er sich nicht halten muss.

Die Abspielart.

Hier steckt der Haken, und zwar auch in geo-finder. Mit Web Audio (html5: false) lädt Howler die Datei vollständig herunter und dekodiert sie, bevor der erste Ton kommt. Die Doku ist da eindeutig und empfiehlt HTML5-Audio für große Dateien, “so that you don’t have to wait for the full file to be downloaded and decoded before playing”.

Bei 2,3 MB pro Satz heißt das: Nach dem Klick passiert erst mal nichts. Mit html5: true läuft die Wiedergabe los, während noch geladen wird.

Web Audio hat seine Berechtigung bei nahtlosen Loops, exakter Zeitsteuerung und Effekten. Hintergrundmusik, die einmal durchläuft, braucht davon nichts.

Das Vorladen des nächsten Titels.

Während Titel 1 läuft, kann Titel 2 im Hintergrund geholt werden. Das ist der Unterschied zwischen einer Pause beim Titelwechsel und einem nahtlosen Übergang, und es kostet nur einen load()-Aufruf zum richtigen Zeitpunkt.

Zusammengefasst: erst laden, wenn der Nutzer Musik will. Dann streamen statt komplett herunterladen. Und den nächsten Titel vorbereiten, während der aktuelle läuft.

Fallbeispiel geo-finder

Spielansicht von geo-finder: links das Ortsfoto, rechts die Karte, oben rechts der Musik-Knopf
geo-finder, laufende Etappe. Oben rechts der Musik-Knopf. Das Ortsfoto im Bild stammt von ToucanWings, Wikimedia Commons, CC BY-SA 3.0. Dieser Screenshot steht deshalb ebenfalls unter CC BY-SA 3.0.

Drei Entscheidungen aus dem Projekt, die ich wieder so treffen würde.

Die Audiodateien liegen nicht im Repository.

Wer den Quellcode klont, bekommt keine Musikstücke mit. Ein kleines Skript holt sie zur Build-Zeit, und der Deploy-Workflow ruft dieses Skript auf. Das hat drei Gründe: Das Repository bleibt klein, eine spätere Änderung an den Rechten trifft nur die Bezugsquelle und nicht jeden Klon, und wir haben keinen Einfluss darauf, was andere mit unserem Quellcode anstellen. Fremde Musik gehört deshalb nicht mit ausgeliefert.

Fehlende Musik ist kein Fehler.

Der Player prüft beim Start per HEAD-Anfrage, ob die Dateien wirklich ausgeliefert werden. Ist nichts da, rendert die Komponente nichts. Kein Knopf, keine Fehlermeldung, keine kaputte Konsole. Wer das Spiel ohne Musik klont, merkt nur, dass es still ist.

Die Nachweise stehen in einer eigenen Datei.

CREDITS.md nennt Werk, Einspielung, Interpret, Lizenz und Bezugsquelle. Das kostet zehn Minuten und beantwortet jede spätere Frage.

Ein Nachtrag aus der Recherche für diesen Beitrag: geo-finder liefert nur OGG aus.

Auf Safari vor 18.4 spielt damit nichts. Das zweite Format gehört daneben, genau dafür nimmt howler eine Liste.

Was ich daraus gelernt habe

Der Lizenznachweis ist kein Kleingedrucktes am Ende. Er ist ein elementarer Bestandteil der Anwendung und zugleich die Absicherung gegenüber den Urhebern, deren Arbeit man benutzt, und gegenüber jedem, der später fragt, woher eine Datei stammt.

Wer ihn gleich beim Einbauen schreibt, hat alle Angaben zur Hand. Wer ihn später nachträgt, muss die Herkunft jeder Datei erst wieder zusammensuchen.

Wer Musik in sein Projekt holt, sollte die Frage nach der Herkunft genauso selbstverständlich beantworten können wie die nach der Lizenz seiner Abhängigkeiten.

In Teil 2 geht es um den Sonderfall, bei dem das alles nochmal anders aussieht: Tracker-Musik, wie sie in den 90er Jahren auf dem Amiga beliebt war. Ein kompletter Soundtrack in der Größe eines einzelnen Icons.

Quellen: § 64 UrhG · § 82 UrhG · § 85 UrhG · CC BY-SA 4.0 Lizenztext · Suno Terms of Service · MDN Audio-Codecs · MDN Autoplay-Leitfaden · MDN audio-Element · howler.js-Doku · WebKit Features in Safari 18.4 · Incompetech FAQ · OpenGameArt FAQ

“There are only 10 types of people in the world: those who understand binary and those who don't.”

- Unbekannt