Sounds & Geräusche

Geräusche verleihen dem Level immer ein bißchen mehr Atmosphäre. Sie wirken dadurch lebendiger. Deshalb habe ich mich rangemacht und ein Sound-/GeräuscheTutorial geschrieben. Dazu benötigen wir eigentlich nur ein ambient_generic.

Einfache Sounds

Dieses ambient_generic setzen wir in die Nähe des Objektes das ein Geräusch machen soll. Ich nehme für mein Tutorial einen Wasserfall. Wir gehen dann auf properties und stellen folgendes ein:

  • name - sound1
  • path/filename - ambience/waterfall3.wav
  • Volume - 10

Dann sollte man unbedingt noch unter Flags ein paar Einstellungen vornehmen.

  • play everywhere - sollte man einschalten falls man das Geräusch im ganzen Level hören soll
  • small radius - man hört das Geräusch nur in näherer Umgebung
  • medium radius - man hört das Geräusch auch etwas weiter entfernt; ist auch für den Wasserfall gut geeignet
  • large radius - man hört das Geräusch noch sehr weit entfernt
  • start silent - Geräusch fängt leise an und wird immer lauter( dazu sollte man vorher start volume und fade in time festgelegt haben)
  • is NOT looped - wichtig für Umgebungsgeräusche; sollte dann unbedingt ausgeschaltet werden da sonst das Geräusch nicht abgespielt wird

Da nun nicht jeder einen Wasserfall machen möchte und trotzdem nicht auf Geräusche verzichten möchte, sollte man die Pfade (paths) der unterschiedlichsten wav-Dateien wissen. Es gibt aber so viele, das ich sie hier nicht auflisten kann. Deshalb empfehle ich den PakExplorer oder Wally. Damit kann man die pak0.pak aus dem valve Verzeichnis öffnen( Bzw mit gcfscape die GCF-Files bei Steamusern). Dann öffnet man dort den sound Ordner und sucht sich den Ordner mit der wav-Datei aus (meistens ambience).Diesen muß man dann auch unter path angeben. Danach sucht man sich die wav-Datei. Man kann sie auch mit dem PakExplorer direkt abspielen.

Fade in/out

Für diesen Effekt, wie für die noch folgenden sollte ein geloopter Sound verwendet werden, z.B. Sounds aus dem „ambience“-Ordner von HL. Folgende einstellungen sind für Fadeeffekte wichtig:

  • Dynamic Presets - Bei diesem Key können Voreinstellungen zur Modifizierung des Sounds ausgewählt werden.

Ist eine Voreistellung ausgewählt (außer „none“), werden alle restlichen Einstellungen die dieser hier folgen ignoriert. Diese Voreinstellungen können mit den folgenden Keys nachgemacht, und nach eigenen wünschen verändert werden. Fade in/out (Voreinstellung bei Dynamic Presents: Fade in/slow/quick)

  • Volume - Dies ist die Lautstärke die das Ambient_generic erreichen soll. Der Wert kann zwischen 0 und 10 liegen (ganze Zahlen), wobei 10 das Lauteste ist.
  • Start Volume - Dies ist die Ausgangslautstärke mit dem das Ambient_generic anfängt zu spielen nachdem es getriggert wurde.
  • Fade in time - Hier wird die Zeit bestimmt die der Sound braucht um von „Start volume“-Wert auf „Volume“-Wert aufzublenden. Der Wert kann zwischen 0 und 100 liegen (ganze Zahlen). Dieser Wert bezeichnet wahrscheinlich einen Prozentwert der entweder von der Länge des Sounds (eher unwahrscheinlich) oder von einem fixen Wert abhängt.
  • Fade out time - Hier wird die Zeit bestimmt die der Sound braucht um „Volume“-Wert auf den „Start volume“-Wert abzublenden. Nachdem dieser Wert erreicht wurde endet der Sound. Der Wert kann zwischen 0 und 100 liegen (ganze Zahlen).

Beispiel

ambient_generic

  • Name - sound
  • WAV Name - sound/ambience/dronemachine1.wav
  • Volume - 10
  • Start Volume - 0
  • Fade in time - 80
  • Fade out time - 80

Die übrigen Einstellungen bleiben unverändert.

  • Flags - Play everywhere; Start silent

Der Flag „is not looped“ bzw. „not toggled“ darf nicht gesetzt werden. Warum, versteht sich eigendlich von selbst. Wer Zweifel hat: Ausprobieren und Ergebnis verstehen. Nun noch einen func_button dazu um das Ambient_generic an- und abzuschalten.

Ergebnis

Der Lautstärke des Sounds, nachdem er getriggert wurde, nimmt langsam zu, bis er seine endgültige Lautstärke erreicht hat. Wird er erneut getriggert nimmt er wieder ab bis er aus ist. Probiere auch andere Einstellungen um unterschiede zu hören.

Spin up/down

  • Pitch - Pitch = Tonlage (Tonhöhe); hier kann die Tonlage eines Sounds verändert werden, in der der Sound generell abgespielt wird. 100 ist der Default-Wert, also die normale Tonhöhe des Sounds. D.h.: >100 = höhere Tonlage, <100 = tiefere Tonlage. Als kleinen Versuch, einfach mal verschiedene Pitch-Werte ausprobieren um unterschiede zu hören (Voreinstellung bei Dynamic Presents: Grunge Pitch - Screaming Pitch).
  • Start Pitch - Hier wird die Ausgangstonlage bestimmt mit der das Ambient_generic anfängt zu spielen, nachdem es getriggert wurde.
  • Spin up time - Hier wird die Zeit bestimmt die der Sound braucht um von „Start pitch“-Wert auf „Pitch“-Wert zu kommen. Der Wert kann zwischen 0 und 100 liegen (ganze Zahlen).
  • Spin down time - Hier wird die Zeit bestimmt die der Sound braucht um von „Pitch“-Wert auf „Start pitch“-Wert zu kommen. Der Wert kann zwischen 0 und 100 liegen (ganze Zahlen).

Beispiel zu Nachmachen

ambient_generic

  • Name - sound
  • WAV Name - sound/ambience/dronemachine1.wav
  • Pich - 150
  • Start pitch - 50
  • Spin up time - 80
  • Spin down time - 80

Die übrigen Einstellungen bleiben unverändert.

  • Flags - Play everywhere, Start silent

Nun noch einen func_button dazu um das Ambient_generic an- und abzuschalten.

Ergebnis

Der Tonhöhe des Sounds, nachdem er getriggert wurde, nimmt langsam zu, bis er seine endgültige Tonhöhe erreicht hat. Wird er erneut getriggert nimmt sie wieder ab bis der Sound aus ist.

Probiere auch andere Einstellungen um unterschiede zu hören.

Jetzt kann das erste Beispiel (in Teil 1) mit dem Zweiten verbunden werden. Das Ergebnis dürfte klar sein.

(Voreinstellung bei Dynamic Presents: Machine/big/huge)

Incremental spin up count

Dieser Key verändert das Verhalten des Ambient_generic grundlegend. Ist hier ein Wert bestimmt, beginnt der Sound, nachdem er getriggert wurde mit der Tonlage die beim Key „Start Pitch“ definiert wurde. Jedes mal wenn der Sound erneut getriggert wird, erhöht sich seine Tonlage bis das absolute Maximum erreicht wird. Der hier angegebene Wert bestimmt wie oft das Ambient_generic getriggert werden muß, bevor es von seinem Ausgangspitch das absolute Maximum erreicht. Das bedeutet: Umso größer der Wert, desto kleiner werden die „Spin up“ schritte. Wichtig: Damit das ganze funktioniert MUSS zumindest ein „Spin up time“-Wert bestimmt sein.

Anmerkungen

Der Key „Pitch“ wird gegenstandslos. Das Ambient_generic läßt sich nicht mehr abschalten! Das Ganze funktioniert nur in eine Richtung, nähmlich hoch.

(Voreinstellung bei Dynamic Presents: Incremental spinup)

LFO

Mit LFO (Low frequency oscillator) kann das Verhalten des Sounds insgesammt geändert werden.

  • LFO type - Hier können, außer „off“, 3 verschiede Modifikationsmöglichkeiten ausgewählt werden.

0 - off ist dieses Ausgewählt, ist LFO abgeschaltet. Alle übrigen LFO-Einstellungen werden ignoriert.

1 - sqr(square), läßt sich vielleicht am besten mit dem Begriff „Pulse“ beschreiben. Der Sound springt zwischen 2 Punkten hin und her (z.B. zwischen 2 Lautstärken).

2 - tri(triangle), läßt sich vielleicht am besten mit dem Begriff „Oscillate“ beschreiben.Der Sound springt nicht zwischen 2 Punkten, sondern beschreibt eine Kurve. Er wird also ständig auf- und abgeblendet.

3 - rnd(random), „Random“ sagt eigendlich schon alles. Der Sound springt zufällig zwischen einer Vielzahl von Punkten hin und her.

  • LFO rate - Mit diesem Key wird die Wiederholungsrate des Effekts festgelegt,das ist gleichbedeutend mit Geschwindigkeit. Der Wert kann zwischen 0 und 1000 (ganze Zahlen) liegen. 0 bedeutet das die Rate abgeschaltet ist (natürlich ziemlich witzlos), 1000 bedeutet das der Effekt SEHR häufig wiederholt wird.
  • LFO mod (modification) pitch - Hier kann der Pitch-Wert des Sounds modifiziert werden. Der Wert kann zwischen 0 und 100 liegen. Die Auswirkung dieses Keys hängen stark von dem übrigen Einstellungen ab, es bleibt einem nichts anderes übrig als verschiedenen Werte auszuprobieren und Erfahrungen zu sammeln.
  • LFO mod (modification) vol (volume) - Hier kann die Lautstärke des Sounds modifiziert werden. Der Wert kann zwischen 0 und 100 liegen.

Beispiel 1

Pulse (Voreinstellung bei Dynamic Presents: Pulse/slow/quick). Um das Ergebnis besser hörbar zu machen, benutze ich hier einen schnellen „Pulse“.

ambient_generic

  • Name - sound
  • WAV Name - sound/ambience/dronemachine1.wav
  • Volume - 5
  • Start Volume - 0
  • Fade in time - 20
  • Fade out time - 20
  • LFO Type - 1
  • LFO Rate - 1000
  • LFO mod vol - 10
  • Flags - Play everywhere, Start silent

Alle übrigen Einstellungen behalten ihren Default-Wert. Button zum an- und abschalten nicht vergessen.

Ergebnis 1

Der Sound wechselt ständig zwischen zwei Lautstärken, er pulsiert.

Beispiel 2

Oscillate (Voreinstellung bei Dynamic Presents: Oscillator/slow/quick)

ambient_generic

  • Name - sound
  • WAV Name - sound/ambience/dronemachine1.wav
  • Volume - 5
  • Start Volume - 10
  • Fade in time - 80
  • Fade out time - 80
  • Pitch - 150
  • Start Pitch - 100
  • Spin up time - 80
  • Spin down time - 80
  • LFO Type - 2
  • LFO Rate - 20
  • LFO mod pitch - 20
  • Flags - Play everywhere, Start silent

Alle übrigen Einstellungen behalten ihren Default-Wert. Button zum an- und abschalten nicht vergessen.

Ergebnis 2

Der Tonhöhe des Sounds nimmt, wie bei einer Sirene, ständig auf und ab. Natürlich lassen sich beide LFO-Einstellung noch jeweils mit Pitch bzw. Volume modifizieren, das jedoch dürft ihr selbst ausprobieren, genau wie LFO 3.

Andere Dynamic Presets

Nicht erwähnt habe ich bisher die „Dynamic Presents“ Einstellungen „Oscillate spin up/down“ und „Pulse spin up/down“. Die Bezeichnungen dürften selbsterklärend sein, allerdings weiß ich nicht wie man sie nachmacht, ich schätze das es auch nicht geht.

Ebenfalls habe ich die Einstellungen Alien, Bizzare, Planet X und Haunted nicht erwähnt. Dies sind einfache Effekte die leicht nachzumachen sind.

Eigene Sounds erstellen

Natürlich soll auch nicht vorenthalten bleiben, wie man eigene Sounds in HL erstellt. Dazu einmal eine Erklärung des Half-Life Soundformats und dann Vorgehensweisen in einigen Soundeditoren.

Das Half-Life Soundformat

HL benutzt als Soundformat das Microsoft Windows PCM Waveformat. Dieses darf man nicht verwechseln mit dem Microsoft ADPCM Waveformat, denn beide Formate haben die Dateiendung .WAV und sind von außen her nicht zu unterscheiden!

Damit HL eine WAV-Datei auch abspielen kann, muß der gesampelte Sound folgendes interne Format aufweisen:

  • Kanäle: MONO
  • Bitauflösung: 8 oder 16 Bit
  • Frequenzrate: 11025 oder 22050 Hz (11 oder 22 kHz)
  • Speicherformat: PCM WAV-Datei

Die Einstellungen für CoolEdit 2000 sehen dabei folgendermaßen aus:

Die Einstellungen für GoldWave 4.2x sehen dagegen so aus:

Man lädt die Sounddatei und geht über Effects → Resample in den Resamplerdialog. Dort stellt man die gewünschte Frequenzrate (11025 oder 22050 Hz) ein und klickt auf OK. Dabei ist zu beachten, daß wie oben beschrieben die 11er Frequenz nur für Monosamples gilt und die 22er Frequenz für Stereosamples! Anders als bei CoolEdit 2000 wird hier vorerst nur die Frequenz modifiziert, aber nicht die Bitauflösung (das geschieht erst beim Abspeichern):

Wie gesagt wird die Bitauflösung erst beim Abspeichern definiert. Bei der 11er Frequenz sind es 8 Bit Mono und bei der 22er Frequenz 16 Bit Mono. Das Speicherformat ist ebenfalls PCM WAV. Man geht auf File → Save as… und kommt in folgenden Dialog:

Je kleiner die Frequenzrate ist (also z.B. 11 kHz), desto grisseliger hört sich der Sound ingame an. 11 kHz ist nämlich der Telefonübertragungsstandard und jeder weiß, wie ärmlich die dort modulierte Qualität der Geräusche sich anhört. 22 kHz dagegen ist schon recht akzeptabel, verdoppelt aber den Speicherbedarf gegenüber eines identischen 11 kHz Samples.

8 Bit Auflösungen lassen den Sound dumpfer erscheinen als 16 Bit Auflösungen. Auch hier gilt: 16 Bit Auflösungen verdoppeln den Speicherbedarf eines Samples gegenüber 8 Bit.

→ Der HL Sound muß stets Mono sein.

Man sollte (falls möglich) die Dithering- und Samplingfilterfunktionen des benutzen Audioprogramms beim Speichern des Sounds ausnutzen, um bei niedrigeren Bitauflösungen und/oder Frequenzgängen unerwünschtes Noise (Rauschen) zu eliminieren.

Und generell gilt: Bis zum Schluß in CD-Qualität arbeiten (falls möglich): 44,1 kHz - 16 Bit - Stereo. Erst wenn alles fertig ist, sollte der Sound downgesampelt werden! Ist die Quelle allerdings schon unterhalb der CD-Qualität, dann nützt auch ein Upsampling nichts mehr! Dann sollte man in der Quellqualität arbeiten.

Beste Samplingqualität eines HL-Sounds:

22 kHz - 16 Bit - Mono

Schlechteste Samplingqualität eines HL-Sounds:

11 kHz - 8 Bit - Mono

Soundloops mit Cool Edit 2000

Gerade Umgebungssounds, die man mit dem ambient_generic Entity in die Welt setzen will, sind oftmals gelooped, d.h. sie wiederholen sich automatisch nach dem Erreichen des Endes. Dieses Verhalten ist übrigens nicht davon abhängig, ob man bei den Flags von ambient_generic das Häkchen It's NOT looped gesetzt hat oder nicht!

Wenn man nun mit dem Audioprogramm Cool Edit 2000 eine 22 kHz - 16 Bit - Mono Datei geöffnet hat, dann kann man diesen Sound loopen. Der Schlüssel zum Erfolg liegt in den sogenannten Cuepoints, das sind Start- und Endmarkierungen innerhalb des Sounds. HL liest solche Cuepoints aus und weiß dadurch, wo der Sound offiziell anfängt und ab wann der Sound wieder von vorne abgespielt werden soll. Wichtig ist, daß pro Sound nur ein Cuepoint-Pärchen gesetzt werden darf, ansonsten kann HL nichts damit anfangen bzw. der erste Start- und der erste Endpunkt werden genommen, egal ob der Sound inhaltlich bereits soweit ist oder nicht!

Am besten ist, man cutted sich den Sound soweit im Editor zurecht, bis das gewünschte (Teil)Stück des Sounds komplett im Editor vorhanden ist. Seemless Sounds, also solche, die übergangslos ineinander verschmelzen, sind mit CoolEdit 2000 auch herstellbar, erfordern aber bereits einen größeren Aufwand und werden deshalb hier (vorerst) nicht behandelt. Der zurechtgeschnittene Sound sollte nun das gesamt Wavespektrum ausfüllen. Jetzt muß man eigentlich nur noch folgende Schritte abklappern:

  1. STRG-A drücken und die gesamte Waveform wird selektiert
  2. F8 drücken („Add current selection to cue list“). Es gibt auch noch einen anderen Weg (siehe unten)
  3. Irgendwo in die Waveform klicken, damit die Selektion verschwindet.
  4. Im Menü FILE auf SAVE AS… klicken (man sollte ein etwaiges Original nie überschreiben)
  5. Das Format „Windows PCM (*.wav)“ auswählen
  6. Den Haken setzen bei „Save extra non-audio information“ (WICHTIG!!!)
  7. Abspeichern

Jetzt ist der Sound HL-fähig gelooped worden und kann per ambient_generic abgespielt werden. Der zweite Weg, die Cuepoints zu setzen ist dieser:

  1. STRG-A drücken und die gesamte Waveform wird selektiert
  2. Im Menü VIEW auf den Punkt CUE LIST klicken
  3. Im aufpoppenden Dialog auf ADD klicken und danach auf DONE.
  4. Irgendwo in die Waveform klicken, damit die Selektion verschwindet.
  5. Im Menü FILE auf SAVE AS… klicken (man sollte ein etwaiges Original nie überschreiben)
  6. Das Format „Windows PCM (*.wav)“ auswählen
  7. Den Haken setzen bei „Save extra non-audio information“ (WICHTIG!!!)
  8. Abspeichern

Bei beiden Vorgängen ist wichtig, daß beim Speichern das Häkchen bei Safe extra non-audio information gesetzt wird. Vergißt man das Häkchen, dann speichert Cool Edit 2000 nämlich die Cuepoints nicht mit ab und der Sound ist dann logischerweise nicht mehr gelooped.

Soundloops mit GoldWave 4.2x

Gerade Umgebungssounds, die man mit dem ambient_generic Entity in die Welt setzen will, sind oftmals gelooped, d.h. sie wiederholen sich automatisch nach dem Erreichen des Endes. Dieses Verhalten ist übrigens nicht davon abhängig, ob man bei den Flags von ambient_generic das Häkchen It's NOT looped gesetzt hat oder nicht!

Wenn man nun mit dem Audioprogramm GoldWave 4.2x eine 22 kHz - 16 Bit - Mono Datei geöffnet hat, dann kann man diesen Sound loopen. Der Schlüssel zum Erfolg liegt in den sogenannten Cuepoints, das sind Start- und Endmarkierungen innerhalb des Sounds. HL liest solche Cuepoints aus und weiß dadurch, wo der Sound offiziell anfängt und ab wann der Sound wieder von vorne abgespielt werden soll. Wichtig ist, daß pro Sound nur ein Cuepoint-Pärchen gesetzt werden darf, ansonsten kann HL nichts damit anfangen bzw. der erste Start- und der erste Endpunkt werden genommen, egal ob der Sound inhaltlich bereits soweit ist oder nicht!

Am besten ist, man cutted sich den Sound soweit im Editor zurecht, bis das gewünschte (Teil)Stück des Sounds komplett im Editor vorhanden ist. GoldWave selektiert standardmäßig das gesamte Spektrum der Datei, so daß man sich nicht selber darum kümmern muß (Die Wellenform ist dann hellgrün auf blauem Hintergrund, wie man nachfolgend sehen kann).

Seemless Sounds, also solche, die übergangslos ineinander verschmelzen, sind mit GoldWave auch herstellbar, erfordern aber bereits einen größeren Aufwand und werden deshalb hier (vorerst) nicht behandelt. Der zurechtgeschnittene Sound sollte nun das gesamt Wavespektrum ausfüllen. Jetzt muß man eigentlich nur noch folgende Schritte abklappern:

  1. STRG-A drücken und die gesamte Waveform wird paßgenau ins Fenster eingezoomt (selektiert ist sie bereits)
  2. Menüpunkt Tools → Cue points… wählen

Im darauf erscheinenden Cue points Dialog sollte die Markierungsart auf Start marker stehen:

Nun im Textfeld Name einen Bezeichner für den Cue Point eingeben, hier habe ich mal Begin gewählt. Dann auf den Button Add klicken und der Startpoint erscheint in dier Liste:

Nun wiederholt man das ganze nochmal, setzt aber die Markierungsart auf Finish marker, erteilt dem Cue Point den Namen End und klickt wieder auf Add. Nun ist das Ende der Selektion als zweiter Cuepoint in der Liste erschienen:

  1. Menüpunkt File → Save as… wählen (man sollte ein etwaiges Original nie überschreiben)
  2. Das Format „Wave (*.wav)“ auswählen
  3. Die Speicherform „8 bit mono unsigned“ bei 11 kHz Frequenz wählen oder
  4. Die Speicherform „16 bit mono signed“ bei 22 kHz Frequenz wählen
  5. Abspeichern

Jetzt ist der Sound HL-fähig gelooped worden und kann per ambient_generic abgespielt werden. GoldWave speichert anders als Cool Edit 2000 zusätzliche Audioinformationen immer ab, so daß man hier kein Extrahäkchen setzen muß oder sowas.

Soundloops mit CueListTool

Das kostenlose Programm CueListTool ermöglicht ebenfalls das einfache Setzen von CuePoints.

Die Verwendung aller Dokumente einschließlich der Abbildungen ausschließlich zu nichtkommerziellen Zwecken. Verbreitung des Dokuments auf Speichermedien, (insbesondere auf CD-ROMs als Beilage zu Zeitschriften und Magazinen oder sog. "Mission-Packs" etc.) ist untersagt.
 
half-life/tutorials/sounds_geraeusche.txt · Zuletzt geändert: 2008/01/10 20:58 von McScore