diff --git a/.rive_head b/.rive_head
index 406e3a5..8d2c3c4 100644
--- a/.rive_head
+++ b/.rive_head
@@ -1 +1 @@
-8ecc99130db737d49ce0889501c421bd53b58f9e
+cb2ea5b2d31eb6888a96cb25524392087bdf47c7
diff --git a/include/rive/artboard.hpp b/include/rive/artboard.hpp
index 8338a6d..2365af9 100644
--- a/include/rive/artboard.hpp
+++ b/include/rive/artboard.hpp
@@ -260,10 +260,15 @@
 
     StatusCode import(ImportStack& importStack) override;
 
+    float volume() const;
+    void volume(float value);
+
 #ifdef EXTERNAL_RIVE_AUDIO_ENGINE
     rcp<AudioEngine> audioEngine() const;
     void audioEngine(rcp<AudioEngine> audioEngine);
 #endif
+private:
+    float m_volume = 1.0f;
 };
 
 class ArtboardInstance : public Artboard
diff --git a/src/artboard.cpp b/src/artboard.cpp
index b386bf7..6021a07 100644
--- a/src/artboard.cpp
+++ b/src/artboard.cpp
@@ -796,6 +796,9 @@
     return result;
 }
 
+float Artboard::volume() const { return m_volume; }
+void Artboard::volume(float value) { m_volume = value; }
+
 ////////// ArtboardInstance
 
 #include "rive/animation/linear_animation_instance.hpp"
diff --git a/src/audio_event.cpp b/src/audio_event.cpp
index d0d8098..9a9e043 100644
--- a/src/audio_event.cpp
+++ b/src/audio_event.cpp
@@ -20,6 +20,12 @@
         return;
     }
 
+    auto volume = audioAsset->volume() * artboard()->volume();
+    if (volume <= 0.0f)
+    {
+        return;
+    }
+
     auto engine =
 #ifdef EXTERNAL_RIVE_AUDIO_ENGINE
         artboard()->audioEngine() != nullptr ? artboard()->audioEngine() :
@@ -27,9 +33,10 @@
                                              AudioEngine::RuntimeEngine();
 
     auto sound = engine->play(audioSource, engine->timeInFrames(), 0, 0);
-    if (audioAsset->volume() != 1.0f)
+
+    if (volume != 1.0f)
     {
-        sound->volume(audioAsset->volume());
+        sound->volume(volume);
     }
 #endif
 }
