Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
OBS Lua: Sound notification on replay buffer save [Windows]
A simple Lua script which plays a .wav sound whenever replay buffer is saved.
## Installation
1. Download Half-Life 2 City Scanner NPC's camera shutter sound:
https://github.com/sourcesounds/hl2/blob/master/sound/npc/scanner/scanner_photo1.wav
--OR--
Use any .wav sound but make sure to match its name either in "Beep on replay buffer save.lua" (edit with any text editor) or rename your .wav file to "sound_npc_scanner_scanner_photo1.wav".
2. Put it in the same location with "Beep on replay buffer save.lua".
A good way is to create a separate "scripts" folder in %AppData%\obs-studio\ and keep all your scripts there in case you need to backup your OBS Settings.
3. OBS -> Tools -> Scripts -> +
This Lua script was downloaded from https://gist.github.com/snakecase/e816384a071cec31efbb4b9e429c108d
Credits: upgradeQ (https://gist.github.com/upgradeQ/b2412242d76790d7618d6b0996c4562f), gima (https://gitlab.com/gima/obsnotification)
Thank you guys!
local obs = obslua
local ffi = require("ffi")
local winmm = ffi.load("Winmm")
-- Put a sound of your choosing next to "Beep on replay save.lua" and don't forget to match its name either in code below or rename your file.
PROP_AUDIO_FILEPATH = script_path() .. "sound_npc_scanner_scanner_photo1.wav"
ffi.cdef[[
bool PlaySound(const char *pszSound, void *hmod, uint32_t fdwSound);
]]
function playsound(filepath)
winmm.PlaySound(filepath, nil, 0x00020003)
end
function on_event(event)
if event == obs.OBS_FRONTEND_EVENT_REPLAY_BUFFER_SAVED
then playsound(PROP_AUDIO_FILEPATH)
end
end
function script_load(settings)
obs.obs_frontend_add_event_callback(on_event)
end
-- This Lua script was downloaded from https://gist.github.com/snakecase/e816384a071cec31efbb4b9e429c108d
-- Credits: upgradeQ (https://gist.github.com/upgradeQ/b2412242d76790d7618d6b0996c4562f), gima (https://gitlab.com/gima/obsnotification)
-- Thank you guys!
@NateLapT
Copy link

NateLapT commented Mar 6, 2022

Is there an easy way to adjust the audio level with the script? This plays super loud.
I could just edit the audio, but I assume there's a simple bit of code that would work...

@snakecase
Copy link
Author

snakecase commented Mar 6, 2022

Is there an easy way to adjust the audio level with the script? This plays super loud. I could just edit the audio, but I assume there's a simple bit of code that would work...

I googled a little and unfortunately didn't find any solution which I can implement. I guess editing the audio file is the easiest way.
Here is a -10 dB edit (approximately -70%). Don't forget to rename .mp4 to .wav (GitHub doesn't support .wav in comments).

sound_npc_scanner_scanner_photo1.mp4

@kabewm
Copy link

kabewm commented Mar 23, 2022

thank you so much :)

@Leopleurodon
Copy link

Leopleurodon commented Mar 31, 2022

Great and simple script! Thank you. I've found another Half Life 2 sound effect that fits much better and is also conveniently quieter: It's called "bugreporter_succeeded.wav" in the "common" folder of the HL2 sound folder, which can be downloaded online somewhere (took me a few seconds to google it).

@snakecase
Copy link
Author

snakecase commented Mar 31, 2022

Great and simple script! Thank you. I've found another Half Life 2 sound effect that fits much better and is also conveniently quieter: It's called "bugreporter_succeeded.wav" in the "common" folder of the HL2 sound folder, which can be downloaded online somewhere (took me a few seconds to google it).

This one is being used by SteamVR natively for screenshots. I didn't want to confuse them thus decided to go with what came to mind first. But I'm glad you found what suits you better.

@Leopleurodon
Copy link

Leopleurodon commented Mar 31, 2022

oh that makes sense! It does sound familiar. I don't use SteamVR but it might even be Steam's default screenshot sound effect, now that I think about it...

@mcdavsco
Copy link

mcdavsco commented Apr 9, 2022

Thanks for this. Works great and was exactly what I was looking for!

@Vaarelsauce
Copy link

Vaarelsauce commented Oct 20, 2022

Worked great! Although the revised -10db sound is still just a tad too loud, so here's a revised quieter version of that revision (-15db in total, I think). Other than that, the script worked flawless :)

(attached it as .mp4 because non-authors can't send .mp3 for some reason. just make sure to rename it to .wav)
https://user-images.githubusercontent.com/36707936/197033922-51507751-bab9-468f-88f5-18f1b36af11d.mp4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment