diff --git a/src/assets/sfx/Chiptone_Settings/settings_SpawnBuildup.cpt b/src/assets/sfx/Chiptone_Settings/settings_SpawnBuildup.cpt
new file mode 100755
index 0000000000000000000000000000000000000000..fb72bb1c0cdb868587f492a8862cc9f0d3cef85d
Binary files /dev/null and b/src/assets/sfx/Chiptone_Settings/settings_SpawnBuildup.cpt differ
diff --git a/src/assets/sfx/Chiptone_Settings/settings_TeleportArc.cpt b/src/assets/sfx/Chiptone_Settings/settings_TeleportArc.cpt
new file mode 100755
index 0000000000000000000000000000000000000000..5d3430538890207b67d52f1555e747c2ab0186c6
Binary files /dev/null and b/src/assets/sfx/Chiptone_Settings/settings_TeleportArc.cpt differ
diff --git a/src/assets/sfx/Chiptone_Settings/settings_tick.cpt b/src/assets/sfx/Chiptone_Settings/settings_tick.cpt
new file mode 100755
index 0000000000000000000000000000000000000000..4135f4a621b44b84fde074dc40ac5f3341b6ae89
Binary files /dev/null and b/src/assets/sfx/Chiptone_Settings/settings_tick.cpt differ
diff --git a/src/assets/sfx/Eb_blip.wav b/src/assets/sfx/Eb_blip.wav
index 7428237df05a6655ba8a01a88878d43045967794..c8e8194d21e133ee2fb19b2ddc3e3b372cd89c4b 100644
Binary files a/src/assets/sfx/Eb_blip.wav and b/src/assets/sfx/Eb_blip.wav differ
diff --git a/src/assets/sfx/pop.wav b/src/assets/sfx/pop.wav
new file mode 100755
index 0000000000000000000000000000000000000000..b0fc22210c5114f8cc786e09d5816750cc667063
Binary files /dev/null and b/src/assets/sfx/pop.wav differ
diff --git a/src/assets/sfx/suspense.wav b/src/assets/sfx/suspense.wav
new file mode 100755
index 0000000000000000000000000000000000000000..3b9043984412fe96c8949a6927a051f66738e50b
Binary files /dev/null and b/src/assets/sfx/suspense.wav differ
diff --git a/src/assets/sfx/tack.wav b/src/assets/sfx/tack.wav
new file mode 100755
index 0000000000000000000000000000000000000000..1f16efbdbbcf02548c16a4803da7f329948b4bec
Binary files /dev/null and b/src/assets/sfx/tack.wav differ
diff --git a/src/assets/sfx/teleportArc.wav b/src/assets/sfx/teleportArc.wav
new file mode 100755
index 0000000000000000000000000000000000000000..cfedc3100094cc377ba7a9a0acb3c965a043819f
Binary files /dev/null and b/src/assets/sfx/teleportArc.wav differ
diff --git a/src/assets/sfx/tick.wav b/src/assets/sfx/tick.wav
new file mode 100755
index 0000000000000000000000000000000000000000..c91e1b66c27a96bfcecdd95df64982f7209a66ca
Binary files /dev/null and b/src/assets/sfx/tick.wav differ
diff --git a/src/assets/sfx/welcome.wav b/src/assets/sfx/welcome.wav
new file mode 100755
index 0000000000000000000000000000000000000000..9a85364db26dc7761926170547704ec023cc8f31
Binary files /dev/null and b/src/assets/sfx/welcome.wav differ
diff --git a/src/components/scene-sound.js b/src/components/scene-sound.js
index 249da3ebf130cca91a0ca6a544a3c33e9a3fc4b7..3454fa9ba6b9f50bcfea53d4e983964d47f14a27 100644
--- a/src/components/scene-sound.js
+++ b/src/components/scene-sound.js
@@ -5,11 +5,17 @@ AFRAME.registerComponent("scene-sound", {
   multiple: true,
   schema: {
     sound: { type: "string" },
-    on: { type: "string" }
+    on: { type: "string" },
+    off: { type: "string" }
   },
 
   init() {
     const sound = this.el.components[`${this.attrName.replace("scene-", "")}`];
     this.el.sceneEl.addEventListener(this.data.on, sound.playSound);
+    sound.stopSound = sound.stopSound.bind(sound); // wat
+
+    if (this.data.off) {
+      this.el.sceneEl.addEventListener(this.data.off, sound.stopSound);
+    }
   }
 });
diff --git a/src/hub.html b/src/hub.html
index 33bada3b71ba3093fe3ba03a6bde7a391e84d50c..6ecee5f04f1d91ab168c22853497067f5923d52d 100644
--- a/src/hub.html
+++ b/src/hub.html
@@ -68,29 +68,32 @@
 
             <a-asset-item id="quack"                                      src="./assets/sfx/quack.mp3"          response-type="arraybuffer" preload="auto"></a-asset-item>
             <a-asset-item id="specialquack"                               src="./assets/sfx/specialquack.mp3"   response-type="arraybuffer" preload="auto"></a-asset-item>
-            <a-asset-item id="sound_asset-teleport_start"                 src="./assets/sfx/D_teleportStart.wav"     response-type="arraybuffer" preload="auto"></a-asset-item>
-            <a-asset-item id="sound_asset-teleport_end"                   src="./assets/sfx/D_teleportEnd.wav"     response-type="arraybuffer" preload="auto"></a-asset-item>
+            <a-asset-item id="sound_asset-teleport_start"                 src="./assets/sfx/teleportArc.wav"     response-type="arraybuffer" preload="auto"></a-asset-item>
+            <a-asset-item id="sound_asset-teleport_end"                   src="./assets/sfx/quickTurn.wav"     response-type="arraybuffer" preload="auto"></a-asset-item>
             <a-asset-item id="sound_asset-snap_rotate"                    src="./assets/sfx/quickTurn.wav"     response-type="arraybuffer" preload="auto"></a-asset-item>
             <a-asset-item id="sound_asset-media_loaded"                   src="./assets/sfx/A_bendUp.wav"     response-type="arraybuffer" preload="auto"></a-asset-item>
-            <a-asset-item id="sound_asset-hud_hover_start"                src="./assets/sfx/tap_mellow.wav"  response-type="arraybuffer" preload="auto"></a-asset-item>
-            <a-asset-item id="sound_asset-hover"                          src="./assets/sfx/tap_mellow.wav"     response-type="arraybuffer" preload="auto"></a-asset-item>
-            <a-asset-item id="DISABLED_sound_asset-hover_off"             src="./assets/sfx/tap_mellow.wav" response-type="arraybuffer" preload="auto"></a-asset-item>
-            <a-asset-item id="sound_asset-cursor_distance_change_blocked" src="./assets/sfx/tap_mellow.wav"     response-type="arraybuffer" preload="auto"></a-asset-item>
-            <a-asset-item id="sound_asset-cursor_distance_changed"        src="./assets/sfx/tap_mellow.wav" response-type="arraybuffer" preload="auto"></a-asset-item>
-            <a-asset-item id="sound_asset-hud_click"                      src="./assets/sfx/tap_mellow.wav"     response-type="arraybuffer" preload="auto"></a-asset-item>
-            <a-asset-item id="sound_asset-toggle_mute"                    src="./assets/sfx/tap_mellow.wav"     response-type="arraybuffer" preload="auto"></a-asset-item>
-            <a-asset-item id="sound_asset-toggle_freeze"                  src="./assets/sfx/tap_mellow.wav"     response-type="arraybuffer" preload="auto"></a-asset-item>
-            <a-asset-item id="sound_asset-freeze"                         src="./assets/sfx/tap_mellow.wav"     response-type="arraybuffer" preload="auto"></a-asset-item>
-            <a-asset-item id="sound_asset-thaw"                           src="./assets/sfx/tap_mellow.wav"     response-type="arraybuffer" preload="auto"></a-asset-item>
-            <a-asset-item id="sound_asset-toggle_space_bubble"            src="./assets/sfx/tap_mellow.wav"     response-type="arraybuffer" preload="auto"></a-asset-item>
+            <a-asset-item id="sound_asset-media_loading"                  src="./assets/sfx/suspense.wav"     response-type="arraybuffer" preload="auto"></a-asset-item>
+            <a-asset-item id="sound_asset-hud_hover_start"                src="./assets/sfx/tick.wav"  response-type="arraybuffer" preload="auto"></a-asset-item>
+            <a-asset-item id="sound_asset-grab"                           src="./assets/sfx/tick.wav"     response-type="arraybuffer" preload="auto"></a-asset-item>
+            <a-asset-item id="sound_asset-grab_off"                       src="./assets/sfx/tick.wav" response-type="arraybuffer" preload="auto"></a-asset-item>
+            <a-asset-item id="sound_asset-pinned"                         src="./assets/sfx/tack.wav" response-type="arraybuffer" preload="auto"></a-asset-item>
+            <a-asset-item id="sound_asset-cursor_distance_change_blocked" src="./assets/sfx/tick.wav"     response-type="arraybuffer" preload="auto"></a-asset-item>
+            <a-asset-item id="sound_asset-cursor_distance_changed"        src="./assets/sfx/tick.wav" response-type="arraybuffer" preload="auto"></a-asset-item>
+            <a-asset-item id="sound_asset-hud_click"                      src="./assets/sfx/tick.wav"     response-type="arraybuffer" preload="auto"></a-asset-item>
+            <a-asset-item id="sound_asset-toggle_mute"                    src="./assets/sfx/tick.wav"     response-type="arraybuffer" preload="auto"></a-asset-item>
+            <a-asset-item id="sound_asset-toggle_freeze"                  src="./assets/sfx/Eb_blip.wav"     response-type="arraybuffer" preload="auto"></a-asset-item>
+            <a-asset-item id="sound_asset-freeze"                         src="./assets/sfx/Eb_blip.wav"     response-type="arraybuffer" preload="auto"></a-asset-item>
+            <a-asset-item id="sound_asset-thaw"                           src="./assets/sfx/tick.wav"     response-type="arraybuffer" preload="auto"></a-asset-item>
+            <a-asset-item id="sound_asset-toggle_space_bubble"            src="./assets/sfx/tick.wav"     response-type="arraybuffer" preload="auto"></a-asset-item>
             <a-asset-item id="sound_asset-spawn_pen"                      src="./assets/sfx/PenSpawn.wav"     response-type="arraybuffer" preload="auto"></a-asset-item>
-            <a-asset-item id="sound_asset-increase_pen_radius"            src="./assets/sfx/tap_mellow.wav"     response-type="arraybuffer" preload="auto"></a-asset-item>
-            <a-asset-item id="sound_asset-decrease_pen_radius"            src="./assets/sfx/tap_mellow.wav"     response-type="arraybuffer" preload="auto"></a-asset-item>
-            <a-asset-item id="sound_asset-next_pen_color"                 src="./assets/sfx/tap_mellow.wav"     response-type="arraybuffer" preload="auto"></a-asset-item>
-            <a-asset-item id="sound_asset-prev_pen_color"                 src="./assets/sfx/tap_mellow.wav" response-type="arraybuffer" preload="auto"></a-asset-item>
+            <a-asset-item id="sound_asset-increase_pen_radius"            src="./assets/sfx/tick.wav"     response-type="arraybuffer" preload="auto"></a-asset-item>
+            <a-asset-item id="sound_asset-decrease_pen_radius"            src="./assets/sfx/tick.wav"     response-type="arraybuffer" preload="auto"></a-asset-item>
+            <a-asset-item id="sound_asset-next_pen_color"                 src="./assets/sfx/tick.wav"     response-type="arraybuffer" preload="auto"></a-asset-item>
+            <a-asset-item id="sound_asset-prev_pen_color"                 src="./assets/sfx/tick.wav" response-type="arraybuffer" preload="auto"></a-asset-item>
             <a-asset-item id="sound_asset-start_draw"                     src="./assets/sfx/PenDraw1.wav"     response-type="arraybuffer" preload="auto"></a-asset-item>
-            <a-asset-item id="sound_asset-stop_draw"                      src="./assets/sfx/tap_mellow.wav" response-type="arraybuffer" preload="auto"></a-asset-item>
+            <a-asset-item id="sound_asset-stop_draw"                      src="./assets/sfx/tick.wav" response-type="arraybuffer" preload="auto"></a-asset-item>
             <a-asset-item id="sound_asset-camera_tool_took_snapshot"      src="./assets/sfx/PicSnapHey.wav" response-type="arraybuffer" preload="auto"></a-asset-item>
+            <a-asset-item id="sound_asset-welcome"                        src="./assets/sfx/welcome.wav"     response-type="arraybuffer" preload="auto"></a-asset-item>
 
             <!-- Templates -->
             <template id="video-template">
@@ -174,10 +177,12 @@
                     destroy-at-extreme-distances
                     set-yxz-order
                     pinnable
-                    sound__hover="src: #sound_asset-hover; on: hovered; poolSize: 1;"
-                    sound__hoveroff ="src: #sound_asset-hover_off; on: unhovered; poolSize: 1;"
-                    emit-state-change__hovered="state: hovered; transform: rising; event: hovered;"
-                    emit-state-change__unhovered="state: hovered; transform: falling; event: unhovered;"
+                    sound__grab="src: #sound_asset-grab; on: grabbed; poolSize: 1;"
+                    sound__graboff ="src: #sound_asset-grab_off; on: ungrabbed; poolSize: 1;"
+                    sound__pinned ="src: #sound_asset-pinned; on: pinned; poolSize: 1;"
+                    emit-state-change__grabbed="state: grabbed; transform: rising; event: grabbed;"
+                    emit-state-change__ungrabbed="state: grabbed; transform: falling; event: ungrabbed;"
+                    emit-state-change__pinned="state: pinned; transform: rising; event: pinned;"
                 >
                     <a-entity class="interactable-ui" stop-event-propagation__grab-start="event: grab-start" stop-event-propagation__grab-end="event: grab-end">
                         <a-entity class="freeze-menu" visible-while-frozen="withinDistance: 3;">
@@ -205,10 +210,10 @@
                     sound__stop_draw="src: #sound_asset-stop_draw; on: stop_draw; poolSize: 2;"
                     sound__increase_pen_radius="src: #sound_asset-increase_pen_radius; on: increase_pen_radius; poolSize: 2;"
                     sound__decrease_pen_radius="src: #sound_asset-decrease_pen_radius; on: decrease_pen_radius; poolSize: 2;"
-                    sound__hover="src: #sound_asset-hover; on: hovered; poolSize: 1;"
-                    sound__hoveroff ="src: #sound_asset-hover_off; on: unhovered; poolSize: 1;"
-                    emit-state-change__hovered="state: hovered; transform: rising; event: hovered;"
-                    emit-state-change__unhovered="state: hovered; transform: falling; event: unhovered;"
+                    sound__grab="src: #sound_asset-grab; on: grabbed; poolSize: 1;"
+                    sound__graboff ="src: #sound_asset-grab_off; on: ungrabbed; poolSize: 1;"
+                    emit-state-change__grabbed="state: grabbed; transform: rising; event: grabbed;"
+                    emit-state-change__ungrabbed="state: grabbed; transform: falling; event: ungrabbed;"
                 >
                     <a-sphere
                         id="pen"
@@ -434,10 +439,10 @@
                 rotation
                 pitch-yaw-rotator
                 set-yxz-order
-                sound__teleport_start="positional: false; src: #sound_asset-teleport_start; on: nothing; poolSize: 2;"
-                scene-sound__teleport_start="on: right-teleport_down;"
-                sound__teleport_start2="positional: false; src: #sound_asset-teleport_start; on: nothing; poolSize: 2;"
-                scene-sound__teleport_start2="on: left-teleport_down;"
+                sound__teleport_start="positional: false; src: #sound_asset-teleport_start; on: nothing; poolSize: 2; loop: true;"
+                scene-sound__teleport_start="on: right-teleport_down; off: right-teleport_up;"
+                sound__teleport_start2="positional: false; src: #sound_asset-teleport_start; on: nothing; poolSize: 2; loop: true;"
+                scene-sound__teleport_start2="on: left-teleport_down; off: left-teleport_up;"
                 sound__teleport_end="positional: false; src: #sound_asset-teleport_end; on: nothing; poolSize: 2;"
                 scene-sound__teleport_end="on: right-teleport_up;"
                 sound__teleport_end2="positional: false; src: #sound_asset-teleport_end; on: nothing; poolSize: 2;"
@@ -446,10 +451,10 @@
                 scene-sound__snap_rotate_left="on: snap_rotate_left;"
                 sound__snap_rotate_right="positional: false; src: #sound_asset-snap_rotate; on: nothing; poolSize: 3;"
                 scene-sound__snap_rotate_right="on: snap_rotate_right;"
-                sound__model_loaded="positional: false; src: #sound_asset-media_loaded; on: nothing; poolSize: 2;"
-                scene-sound__model_loaded="on: object_spawned;"
-                sound__image_loaded="positional: false; src: #sound_asset-media_loaded; on: nothing; poolSize: 2;"
-                scene-sound__image_loaded="on: image-loaded;"
+                sound__media_loaded="positional: false; src: #sound_asset-media_loaded; on: nothing; poolSize: 2;"
+                scene-sound__media_loaded="on: media-loaded;"
+                sound__media_loading="positional: false; src: #sound_asset-media_loading; on: nothing; poolSize: 2; loop: true; "
+                scene-sound__media_loading="on: media-loading; off: media-loaded;"
                 sound__hud_action_mute="positional: false; src: #sound_asset-toggle_mute; on: nothing; poolSize: 2;"
                 scene-sound__hud_action_mute="on: action_mute;"
                 sound__hud_action_freeze="positional: false; src: #sound_asset-toggle_freeze; on: nothing; poolSize: 2;"
@@ -471,6 +476,8 @@
                 scene-sound__cursor_distance_change_blocked="on: cursor-distance-change-blocked;"
                 sound__camera_tool_took_snapshot="positional: false; src: #sound_asset-camera_tool_took_snapshot; on: nothing; poolSize: 1;"
                 scene-sound__camera_tool_took_snapshot="on: camera_tool_took_snapshot;"
+                sound__welcome="positional: false; src: #sound_asset-welcome; on: nothing; poolSize: 2;"
+                scene-sound__welcome="on: entered;"
             >
                 <a-entity
                     id="gaze-teleport"
diff --git a/src/utils/media-utils.js b/src/utils/media-utils.js
index 7a05a2c725b9ade88eb21bdd0df6e075459f8920..74dfd96eb7bcf6b2483ddea4d81b93acf39cd9c1 100644
--- a/src/utils/media-utils.js
+++ b/src/utils/media-utils.js
@@ -108,6 +108,17 @@ export const addMedia = (src, template, contentOrigin, resolve = false, resize =
   entity.setAttribute("media-loader", { resize, resolve, src: typeof src === "string" ? src : "" });
   scene.appendChild(entity);
 
+  const fireLoadingTimeout = setTimeout(() => {
+    scene.emit("media-loading", { src: src });
+  }, 100);
+
+  ["model-loaded", "video-loaded", "image-loaded"].forEach(eventName => {
+    entity.addEventListener(eventName, () => {
+      clearTimeout(fireLoadingTimeout);
+      scene.emit("media-loaded", { src: src });
+    });
+  });
+
   const orientation = new Promise(function(resolve) {
     if (src instanceof File) {
       getOrientation(src, x => {