diff --git a/source/funkin/ui/debug/charting/ChartEditorCommand.hx b/source/funkin/ui/debug/charting/ChartEditorCommand.hx
index 3328336e6..1014e67c2 100644
--- a/source/funkin/ui/debug/charting/ChartEditorCommand.hx
+++ b/source/funkin/ui/debug/charting/ChartEditorCommand.hx
@@ -66,7 +66,7 @@ class AddNotesCommand implements ChartEditorCommand
       state.currentEventSelection = [];
     }
 
-    ChartEditorAudioHandler.playSound(Paths.sound('funnyNoise/funnyNoise-08'));
+    ChartEditorAudioHandler.playSound(Paths.sound('chartingSounds/noteLay'));
 
     state.saveDataDirty = true;
     state.noteDisplayDirty = true;
@@ -80,7 +80,7 @@ class AddNotesCommand implements ChartEditorCommand
     state.currentSongChartNoteData = SongDataUtils.subtractNotes(state.currentSongChartNoteData, notes);
     state.currentNoteSelection = [];
     state.currentEventSelection = [];
-    ChartEditorAudioHandler.playSound(Paths.sound('funnyNoise/funnyNoise-01'));
+    ChartEditorAudioHandler.playSound(Paths.sound('chartingSounds/undo'));
 
     state.saveDataDirty = true;
     state.noteDisplayDirty = true;
@@ -116,7 +116,8 @@ class RemoveNotesCommand implements ChartEditorCommand
     state.currentSongChartNoteData = SongDataUtils.subtractNotes(state.currentSongChartNoteData, notes);
     state.currentNoteSelection = [];
     state.currentEventSelection = [];
-    ChartEditorAudioHandler.playSound(Paths.sound('funnyNoise/funnyNoise-01'));
+
+    ChartEditorAudioHandler.playSound(Paths.sound('chartingSounds/noteErase'));
 
     state.saveDataDirty = true;
     state.noteDisplayDirty = true;
@@ -133,7 +134,7 @@ class RemoveNotesCommand implements ChartEditorCommand
     }
     state.currentNoteSelection = notes;
     state.currentEventSelection = [];
-    ChartEditorAudioHandler.playSound(Paths.sound('funnyNoise/funnyNoise-08'));
+    ChartEditorAudioHandler.playSound(Paths.sound('chartingSounds/undo'));
 
     state.saveDataDirty = true;
     state.noteDisplayDirty = true;
@@ -254,7 +255,7 @@ class AddEventsCommand implements ChartEditorCommand
       state.currentEventSelection = events;
     }
 
-    ChartEditorAudioHandler.playSound(Paths.sound('funnyNoise/funnyNoise-08'));
+    ChartEditorAudioHandler.playSound(Paths.sound('chartingSounds/noteLay'));
 
     state.saveDataDirty = true;
     state.noteDisplayDirty = true;
@@ -298,7 +299,8 @@ class RemoveEventsCommand implements ChartEditorCommand
   {
     state.currentSongChartEventData = SongDataUtils.subtractEvents(state.currentSongChartEventData, events);
     state.currentEventSelection = [];
-    ChartEditorAudioHandler.playSound(Paths.sound('funnyNoise/funnyNoise-01'));
+
+    ChartEditorAudioHandler.playSound(Paths.sound('chartingSounds/noteErase'));
 
     state.saveDataDirty = true;
     state.noteDisplayDirty = true;
@@ -314,7 +316,7 @@ class RemoveEventsCommand implements ChartEditorCommand
       state.currentSongChartEventData.push(event);
     }
     state.currentEventSelection = events;
-    ChartEditorAudioHandler.playSound(Paths.sound('funnyNoise/funnyNoise-08'));
+    ChartEditorAudioHandler.playSound(Paths.sound('chartingSounds/undo'));
 
     state.saveDataDirty = true;
     state.noteDisplayDirty = true;
@@ -354,7 +356,7 @@ class RemoveItemsCommand implements ChartEditorCommand
     state.currentNoteSelection = [];
     state.currentEventSelection = [];
 
-    ChartEditorAudioHandler.playSound(Paths.sound('funnyNoise/funnyNoise-01'));
+    ChartEditorAudioHandler.playSound(Paths.sound('chartingSounds/noteErase'));
 
     state.saveDataDirty = true;
     state.noteDisplayDirty = true;
@@ -378,7 +380,7 @@ class RemoveItemsCommand implements ChartEditorCommand
     state.currentNoteSelection = notes;
     state.currentEventSelection = events;
 
-    ChartEditorAudioHandler.playSound(Paths.sound('funnyNoise/funnyNoise-08'));
+    ChartEditorAudioHandler.playSound(Paths.sound('chartingSounds/undo'));
 
     state.saveDataDirty = true;
     state.noteDisplayDirty = true;
@@ -805,6 +807,8 @@ class PasteItemsCommand implements ChartEditorCommand
 
   public function undo(state:ChartEditorState):Void
   {
+    ChartEditorAudioHandler.playSound(Paths.sound('chartingSounds/undo'));
+
     state.currentSongChartNoteData = SongDataUtils.subtractNotes(state.currentSongChartNoteData, addedNotes);
     state.currentSongChartEventData = SongDataUtils.subtractEvents(state.currentSongChartEventData, addedEvents);
     state.currentNoteSelection = [];
@@ -857,6 +861,8 @@ class ExtendNoteLengthCommand implements ChartEditorCommand
 
   public function undo(state:ChartEditorState):Void
   {
+    ChartEditorAudioHandler.playSound(Paths.sound('chartingSounds/undo'));
+
     note.length = oldLength;
 
     state.saveDataDirty = true;
diff --git a/source/funkin/ui/debug/charting/ChartEditorState.hx b/source/funkin/ui/debug/charting/ChartEditorState.hx
index 037388a73..a718c1b40 100644
--- a/source/funkin/ui/debug/charting/ChartEditorState.hx
+++ b/source/funkin/ui/debug/charting/ChartEditorState.hx
@@ -2139,11 +2139,18 @@ class ChartEditorState extends HaxeUIState
     }
   }
 
+  var dragLengthCurrent:Float = 0;
+  var stretchySounds:Bool = false;
+
   /**
    * Handle display of the mouse cursor.
    */
   function handleCursor():Void
   {
+    // Mouse sounds
+    if (FlxG.mouse.justPressed) FlxG.sound.play(Paths.sound("chartingSounds/ClickDown"));
+    if (FlxG.mouse.justReleased) FlxG.sound.play(Paths.sound("chartingSounds/ClickUp"));
+
     // Note: If a menu is open in HaxeUI, don't handle cursor behavior.
     var shouldHandleCursor:Bool = !isCursorOverHaxeUI || (selectionBoxStartPos != null);
     var eventColumn:Int = (STRUMLINE_SIZE * 2 + 1) - 1;
@@ -2492,6 +2499,14 @@ class ChartEditorState extends HaxeUIState
         {
           if (dragLengthSteps > 0)
           {
+            if (dragLengthCurrent != dragLengthSteps)
+            {
+              stretchySounds = !stretchySounds;
+              ChartEditorAudioHandler.playSound(Paths.sound('chartingSounds/stretch' + (stretchySounds ? '1' : '2') + '_UI'));
+
+              dragLengthCurrent = dragLengthSteps;
+            }
+
             gridGhostHoldNote.visible = true;
             gridGhostHoldNote.noteData = gridGhostNote.noteData;
             gridGhostHoldNote.noteDirection = gridGhostNote.noteData.getDirection();
@@ -2510,6 +2525,7 @@ class ChartEditorState extends HaxeUIState
         {
           if (dragLengthSteps > 0)
           {
+            ChartEditorAudioHandler.playSound(Paths.sound('chartingSounds/stretchSNAP_UI'));
             // Apply the new length.
             performCommand(new ExtendNoteLengthCommand(currentPlaceNoteData, dragLengthMs));
           }
@@ -3910,9 +3926,9 @@ class ChartEditorState extends HaxeUIState
       switch (noteData.getStrumlineIndex())
       {
         case 0: // Player
-          if (hitsoundsEnabledPlayer) ChartEditorAudioHandler.playSound(Paths.sound('ui/chart-editor/playerHitsound'));
+          if (hitsoundsEnabledPlayer) ChartEditorAudioHandler.playSound(Paths.sound('chartingSounds/hitNotePlayer'));
         case 1: // Opponent
-          if (hitsoundsEnabledOpponent) ChartEditorAudioHandler.playSound(Paths.sound('ui/chart-editor/opponentHitsound'));
+          if (hitsoundsEnabledOpponent) ChartEditorAudioHandler.playSound(Paths.sound('chartingSounds/hitNoteOpponent'));
       }
     }
   }
@@ -4290,7 +4306,7 @@ class ChartEditorState extends HaxeUIState
 
   function playMetronomeTick(high:Bool = false):Void
   {
-    ChartEditorAudioHandler.playSound(Paths.sound('pianoStuff/piano-${high ? '001' : '008'}'));
+    ChartEditorAudioHandler.playSound(Paths.sound('chartingSounds/metronome${high ? '1' : '2'}'));
   }
 
   function isNoteSelected(note:Null<SongNoteData>):Bool
diff --git a/source/funkin/ui/debug/charting/ChartEditorToolboxHandler.hx b/source/funkin/ui/debug/charting/ChartEditorToolboxHandler.hx
index d92e43cf2..7cee1edde 100644
--- a/source/funkin/ui/debug/charting/ChartEditorToolboxHandler.hx
+++ b/source/funkin/ui/debug/charting/ChartEditorToolboxHandler.hx
@@ -72,6 +72,8 @@ class ChartEditorToolboxHandler
     {
       toolbox.showDialog(false);
 
+      ChartEditorAudioHandler.playSound(Paths.sound('chartingSounds/openWindow'));
+
       switch (id)
       {
         case ChartEditorState.CHART_EDITOR_TOOLBOX_TOOLS_LAYOUT:
@@ -109,6 +111,8 @@ class ChartEditorToolboxHandler
     {
       toolbox.hideDialog(DialogButton.CANCEL);
 
+      ChartEditorAudioHandler.playSound(Paths.sound('chartingSounds/exitWindow'));
+
       switch (id)
       {
         case ChartEditorState.CHART_EDITOR_TOOLBOX_TOOLS_LAYOUT: