Zum Inhalt springen
  • Dunkel
  • Hell
  • System

Reward: Sound abspielen

Reward: Sound XY

Einsteiger

Spielt ein Sound-File über OBS-Media-Source ab. Pro Sound ein Reward. Restart-State macht's wiederholbar.

Steps
4
Cooldown
0s/User
Cooldown
30sglobal
Zugriff
Public

Trigger setzt unter anderem Argument %user% Wer den Sound bestellt hat. Variablen-Doku , Argument %redemptionId% Für Update Redemption Status. Variablen-Doku .

  1. In OBS Scene Main rechte Maustaste in der Source-Liste → AddMedia Source.
  2. Name vergeben: z.B. Sound-Airhorn.
  3. Local File auswählen: D:\stream\sounds\airhorn.mp3.
  4. Restart Playback when Source Becomes Active = aktiv.
  5. Local File vs Network Source: Local empfohlen für Latency.
  6. Visibility: nach Setup auf aus setzen (wir aktivieren sie via Sub-Action).

Trigger: Twitch > Channel Reward > Reward Redemption mit Reward-Filter Airhorn.

Set Media State. Restart

OBS Studio Sources Set Media State

Restart spielt das Sound-File von Anfang ab. Wichtig, falls die Source schon mal lief.

Connection Default
Scene Main
Source Sound-Airhorn
State Restart

Set Source Visibility. An

OBS Studio Sources Set Source Visibility State

Sichtbar machen damit Audio durchgeht (Media-Source muss visible sein für Sound).

Connection Default
Scene Main
Source Sound-Airhorn
Visible true

Update Redemption Status. Fulfilled

Twitch Rewards Update Redemption Status
Redemption ID %redemptionId%
Status Fulfilled

Send Message to Channel

Twitch Chat Send Message to Channel
Message 📯 @%user%. AIRHORN! 🔊
AzaBot: 📯 @SoundFan. AIRHORN! 🔊
So sieht's im Chat aus
  1. 1 Set Media State: Sound-Airhorn = Restart
  2. 2 Set Source Visibility: Sound-Airhorn = true
  3. 3 Update Redemption Status: Fulfilled
  4. 4 Send Message: "📯 @%user%. AIRHORN!"

Sound-Bank-Variante (mehrere Sounds in einem Reward)

Abschnitt betitelt „Sound-Bank-Variante (mehrere Sounds in einem Reward)“

Statt 10 separate Rewards: ein Sound Random Reward das einen zufälligen Sound abspielt.

Set Random Group Source Visible

OBS Studio Groups Set Random Group Source Visible

Group `SoundBank` enthält 10 Media-Sources. OBS wählt random eine sichtbar.

Group SoundBank

Das ist die einfachste Random-Variante. Für Restart-Garantie kombiniere mit Random Group Action:

Group [Random] · Sound-Varianten

Mehrere Set-Media-State-Sub-Actions in einer Group, Group auf Random gesetzt (Rechtsklick → Random). SB zieht pro Trigger eine. Kein eigenständiger Sub-Action-Typ, sondern Group-Eigenschaft.

Group-Modus Random (Checkmark gesetzt)
Sub-Actions in Group pro Variante ein OBS Studio > Sources > Set Media State

Siehe Random Group Pattern für die Mechanik.

Reward-System hat eingebaute Cooldowns. Falls du custom-Logik willst:

Get Global. Last Sound

Core Globals Global (Get)
Name lastSoundAt
Persisted aktiv
Default Value 0
Output Variable lastSoundAt

If/Else: Zu kurz her?

Core Logic If/Else
Input $sub(%timestampUnix%, %lastSoundAt%)$
Operation Less Than
Value 15

Bei < 15 Sekunden zurück → Update Redemption Status: Canceled + Refund-Message.

  • Media-Source nicht visible aber Audio aktiv: manche OBS-Versionen spielen Audio auch bei unsichtbarer Source. NICHT verlassen darauf: Step 2 (Visibility = true) sicherheitshalber drin lassen.
  • File-Path mit Backslashes: in Sub-Action-Fields immer double-escaped: D:\\stream\\sounds\\airhorn.mp3 statt D:\stream\sounds\airhorn.mp3.
  • Sound zu laut für Stream-Mix: OBS-Mixer-Volume auf -10dB bis -20dB, sonst überlastet er den Audio-Limiter.
  • Restart funktioniert nicht: manche Codecs (z.B. MP3 mit VBR) reagieren nicht auf Restart. Vorab als WAV/OGG konvertieren.
  • Auto-Hide nach Sound-Ende: nach Step 2 ein Delay 5000 + Set Source Visibility: false. Saubere Cleanup.
  • Sound-History im Chat: User-Global pro User mit Anzahl Sound-Redeems. !soundboard zeigt Top-5.
  • Sub-only-Sounds: eigene Rewards für Subs (cheaper, exclusive).
  • TTS-Replacement: wenn ein User-Input-Field eingebaut wird, statt Sound-File ein TTS abspielen (siehe text-to-speech).
  • Discord-Notification: bei spezial-Sounds Webhook ins #stream-sounds posten.