diff --git a/pom.xml b/pom.xml
index a1fe802d25b92f3c95961e9719ba2f9c6b28a779..fd49aa2d5cd023c2a8e021a3cfa1610101746843 100644
--- a/pom.xml
+++ b/pom.xml
@@ -65,6 +65,18 @@
             <version>19.0.2.1</version>
         </dependency>
 
+        <dependency>
+            <groupId>com.jtransc</groupId>
+            <artifactId>jtransc-rt</artifactId>
+            <version>0.5.0-ALPHA4</version>
+        </dependency>
+
+        <!--<dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-core</artifactId>
+            <version>4.3.24.RELEASE</version>
+        </dependency>-->
+
         <dependency>
             <groupId>com.oracle.database.jdbc</groupId>
             <artifactId>ojdbc11</artifactId>
diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Main/Main.java b/src/main/java/de/hdm_stuttgart/battlearena/Main/Main.java
index 10af93889fd2c6b2df87fd78b8ddcacf2adacdaf..62bcd34e24b51c14f1bfa0faf447b3fadf6c1eb6 100644
--- a/src/main/java/de/hdm_stuttgart/battlearena/Main/Main.java
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Main/Main.java
@@ -1,6 +1,11 @@
 package de.hdm_stuttgart.battlearena.Main;
 
+
+import de.hdm_stuttgart.battlearena.Model.Sound.MusicType;
+import de.hdm_stuttgart.battlearena.Model.Sound.SFX;
+import de.hdm_stuttgart.battlearena.Model.Sound.SoundManager;
 import de.hdm_stuttgart.battlearena.Model.Inputs.InputHandler;
+
 import javafx.application.Application;
 import javafx.fxml.FXMLLoader;
 import javafx.geometry.Rectangle2D;
@@ -30,6 +35,7 @@ public class Main extends Application {
 
     @Override
     public void start(Stage stage) throws Exception {
+
 //        loading font in start() because CSS can't handle whitespace in folder names
         Font.loadFont(getClass().getResourceAsStream("/fonts/StarshipShadow.ttf"), 50);
         Font.loadFont(getClass().getResourceAsStream("/fonts/AmaticSC-Bold.ttf"), 50);
@@ -53,6 +59,17 @@ public class Main extends Application {
         scene.getStylesheets().add(Objects.requireNonNull(this.getClass().getResource("/styles/style.css")).toExternalForm());
         stage.setScene(scene);
 
+
+        SoundManager soundManager = new SoundManager();
+
+        stage.setOnCloseRequest(event -> {
+            if (soundManager != null) {
+                soundManager.stopMusic();
+            }
+        });
+
+        soundManager.playMusic(MusicType.GAME);
+
         stage.show();
         log.debug("Project started successfully!");
 
diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/ISoundManager.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/ISoundManager.java
new file mode 100644
index 0000000000000000000000000000000000000000..7f31c780e19380b4f58e02ab5a854d8b25ea2019
--- /dev/null
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/ISoundManager.java
@@ -0,0 +1,16 @@
+package de.hdm_stuttgart.battlearena.Model.Sound;
+
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.nio.file.Path;
+import java.util.List;
+
+public interface ISoundManager {
+
+
+
+    void playSoundEffect() throws InterruptedException, MalformedURLException; //plays sound effects only
+
+    List<Path> getFilePathsFromResources(Path folderPath) throws IOException; // gets file-paths in a Folder as a list
+
+}
diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/MusicType.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/MusicType.java
new file mode 100644
index 0000000000000000000000000000000000000000..b7d5924e85a9559d88db4bf4a295fd235fc2aa5b
--- /dev/null
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/MusicType.java
@@ -0,0 +1,16 @@
+package de.hdm_stuttgart.battlearena.Model.Sound;
+
+public enum MusicType {
+    MENU("src/main/resources/sound/music/menu"),
+    OPTIONS("src/main/resources/sound/music/options"),
+    GAME("src/main/resources/sound/music/game");
+
+    private String path;
+    MusicType(String path){
+        this.path = path;
+    }
+
+    public String getPath(){
+        return path;
+    }
+}
diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/SFX.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/SFX.java
new file mode 100644
index 0000000000000000000000000000000000000000..4c4dae812049378d829bd1a0c1d6d3504e350530
--- /dev/null
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/SFX.java
@@ -0,0 +1,17 @@
+package de.hdm_stuttgart.battlearena.Model.Sound;
+
+public enum SFX {
+    GRASS("/sound/sfx/steps/grass"),
+    STONE("/sound/sfx/steps/stone"),
+    COLLISION("/sound/sfx/collision"),
+    ATTACK("/sound/sfx/attack");
+
+    private String path;
+    SFX(String path){
+        this.path = path;
+    }
+
+    public String getPath(){
+        return path;
+    }
+}
diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/SoundManager.java b/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/SoundManager.java
new file mode 100644
index 0000000000000000000000000000000000000000..41af98775814a73c36d2b5273f29540449d2bbbb
--- /dev/null
+++ b/src/main/java/de/hdm_stuttgart/battlearena/Model/Sound/SoundManager.java
@@ -0,0 +1,85 @@
+package de.hdm_stuttgart.battlearena.Model.Sound;
+
+
+import javafx.scene.media.Media;
+import javafx.scene.media.MediaPlayer;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+
+import javafx.scene.media.AudioClip;
+
+
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URL;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import java.util.Random;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ThreadPoolExecutor;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+public class SoundManager implements ISoundManager {
+    private static final Logger log = LogManager.getLogger(SoundManager.class);
+
+
+    private final ThreadPoolExecutor executor = (ThreadPoolExecutor) Executors.newFixedThreadPool(5);
+    private final List<SFX> soundEffectsRunning = new ArrayList<>();
+    private MediaPlayer mediaPlayer;
+
+    private final boolean stopLoop = false;
+    private List<Path> walkingSFXPaths;
+
+    //Todo Make music play
+    public void playMusic(MusicType musicType) throws IOException {
+        Path pathTypeOfMusic = Paths.get(musicType.getPath());
+        List<Path> musicPaths = getFilePathsFromResources(pathTypeOfMusic);
+        Random random = new Random();
+        int min = 0;
+        int max = musicPaths.size() - 1;
+        int randomIndex = random.nextInt(max - min + 1 ) + min;
+        String randomMusic = musicPaths.get(randomIndex).toString();
+        String normalizedPath = Paths.get(randomMusic).toString().replace('\\', '/');
+        String resource = normalizedPath.substring(18);
+        log.info(resource);
+        Thread thread = new Thread(() -> {
+            Media media = new Media(getClass().getResource(resource).toExternalForm());
+            mediaPlayer = new MediaPlayer(media);
+            mediaPlayer.setCycleCount(MediaPlayer.INDEFINITE);
+            mediaPlayer.play();
+            log.info("Music is playing");
+
+        });
+        thread.setDaemon(true);
+        thread.start();
+    }
+
+    public void stopMusic(){
+        if (mediaPlayer != null) {
+            mediaPlayer.dispose(); // Dispose of the MediaPlayer instance
+        }
+    }
+
+    @Override
+    public void playSoundEffect() throws InterruptedException, MalformedURLException {
+
+    }
+
+
+
+    public List<Path> getFilePathsFromResources(Path folderPath) throws IOException {
+        List<Path> result;
+        try (Stream<Path> walk = Files.walk(folderPath)) {
+            result = walk.filter(Files::isRegularFile)
+                    .collect(Collectors.toList());
+        }
+        return result;
+    }
+
+}
diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java
index 13a2d3efa1b86db67773ffe8dc9a1017321bae3b..7170d5f5377d9044dc83b6f3705c684f0db71786 100644
--- a/src/main/java/module-info.java
+++ b/src/main/java/module-info.java
@@ -3,22 +3,24 @@ module gui {
     requires javafx.fxml;
     requires javafx.media;
     requires org.apache.logging.log4j;
+    requires java.desktop;
     requires java.sql;
     requires com.google.gson;
     requires com.oracle.database.jdbc;
     requires java.naming;
 
-
-    opens de.hdm_stuttgart.battlearena to javafx.fxml;
     opens de.hdm_stuttgart.battlearena.Controller to javafx.fxml;
     opens de.hdm_stuttgart.battlearena.Model.DataStorage.Classes to com.google.gson;
     opens de.hdm_stuttgart.battlearena.Model.DataStorage.Classes.Exceptions to com.google.gson;
     opens de.hdm_stuttgart.battlearena.Model.DataStorage.Classes.Utilities to com.google.gson;
+    opens de.hdm_stuttgart.battlearena to javafx.fxml;
+    opens de.hdm_stuttgart.battlearena.Model.Sound to javafx.media;
+    opens de.hdm_stuttgart.battlearena.Controller.Utilities to javafx.fxml;
+
     exports de.hdm_stuttgart.battlearena.Main;
     exports de.hdm_stuttgart.battlearena.Controller;
     exports de.hdm_stuttgart.battlearena.Model.Entity;
     exports de.hdm_stuttgart.battlearena.Model.Inputs;
     exports de.hdm_stuttgart.battlearena.Model.Map;
     exports de.hdm_stuttgart.battlearena.Controller.Utilities;
-    opens de.hdm_stuttgart.battlearena.Controller.Utilities to javafx.fxml;
 }
\ No newline at end of file
diff --git a/src/main/resources/sound/sfx/Footsteps, Human, Dirty Ground, Walk SND62078.wav b/src/main/resources/Footsteps, Human, Dirty Ground, Walk SND62078.wav
similarity index 100%
rename from src/main/resources/sound/sfx/Footsteps, Human, Dirty Ground, Walk SND62078.wav
rename to src/main/resources/Footsteps, Human, Dirty Ground, Walk SND62078.wav
diff --git a/src/main/resources/sound/music/musicPlaceholder.mp3 b/src/main/resources/sound/music/game/musicPlaceholder.mp3
similarity index 100%
rename from src/main/resources/sound/music/musicPlaceholder.mp3
rename to src/main/resources/sound/music/game/musicPlaceholder.mp3
diff --git a/src/main/resources/sound/music/menu/musicPlaceholder.wav b/src/main/resources/sound/music/menu/musicPlaceholder.wav
new file mode 100644
index 0000000000000000000000000000000000000000..e10258b8b48d0253ca1a3141482ee600c96d58e9
Binary files /dev/null and b/src/main/resources/sound/music/menu/musicPlaceholder.wav differ
diff --git a/src/main/resources/sound/sfx/steps/grass/steps - Track 1.wav b/src/main/resources/sound/sfx/steps/grass/steps - Track 1.wav
new file mode 100644
index 0000000000000000000000000000000000000000..fb7dc6572c0c0232ddd17049a0801d8de0ef0035
Binary files /dev/null and b/src/main/resources/sound/sfx/steps/grass/steps - Track 1.wav differ
diff --git a/src/main/resources/sound/sfx/steps/grass/steps - Track 10.wav b/src/main/resources/sound/sfx/steps/grass/steps - Track 10.wav
new file mode 100644
index 0000000000000000000000000000000000000000..7edaf5417e8f65c81092fbae60f309d0c469ae44
Binary files /dev/null and b/src/main/resources/sound/sfx/steps/grass/steps - Track 10.wav differ
diff --git a/src/main/resources/sound/sfx/steps/grass/steps - Track 11.wav b/src/main/resources/sound/sfx/steps/grass/steps - Track 11.wav
new file mode 100644
index 0000000000000000000000000000000000000000..52dbe6393a2855313ab661be65b0cfa8c85838c8
Binary files /dev/null and b/src/main/resources/sound/sfx/steps/grass/steps - Track 11.wav differ
diff --git a/src/main/resources/sound/sfx/steps/grass/steps - Track 12.wav b/src/main/resources/sound/sfx/steps/grass/steps - Track 12.wav
new file mode 100644
index 0000000000000000000000000000000000000000..24f9a5f098b6f55465cfbe41edac6324985396b2
Binary files /dev/null and b/src/main/resources/sound/sfx/steps/grass/steps - Track 12.wav differ
diff --git a/src/main/resources/sound/sfx/steps/grass/steps - Track 13.wav b/src/main/resources/sound/sfx/steps/grass/steps - Track 13.wav
new file mode 100644
index 0000000000000000000000000000000000000000..ead5ebf730e986b5300ae859cb7804d9c5025bc6
Binary files /dev/null and b/src/main/resources/sound/sfx/steps/grass/steps - Track 13.wav differ
diff --git a/src/main/resources/sound/sfx/steps/grass/steps - Track 14.wav b/src/main/resources/sound/sfx/steps/grass/steps - Track 14.wav
new file mode 100644
index 0000000000000000000000000000000000000000..128c1d579f44bace7190a3c855673eee901c98ec
Binary files /dev/null and b/src/main/resources/sound/sfx/steps/grass/steps - Track 14.wav differ
diff --git a/src/main/resources/sound/sfx/steps/grass/steps - Track 15.wav b/src/main/resources/sound/sfx/steps/grass/steps - Track 15.wav
new file mode 100644
index 0000000000000000000000000000000000000000..e2c2c54985afc50b3f3f1de45b6dd68ae8c0db00
Binary files /dev/null and b/src/main/resources/sound/sfx/steps/grass/steps - Track 15.wav differ
diff --git a/src/main/resources/sound/sfx/steps/grass/steps - Track 16.wav b/src/main/resources/sound/sfx/steps/grass/steps - Track 16.wav
new file mode 100644
index 0000000000000000000000000000000000000000..b28f00628e321a05293fa07c73503abc9cc9ec37
Binary files /dev/null and b/src/main/resources/sound/sfx/steps/grass/steps - Track 16.wav differ
diff --git a/src/main/resources/sound/sfx/steps/grass/steps - Track 17.wav b/src/main/resources/sound/sfx/steps/grass/steps - Track 17.wav
new file mode 100644
index 0000000000000000000000000000000000000000..6481be5c73f1137e3b10f8483819292d3376056b
Binary files /dev/null and b/src/main/resources/sound/sfx/steps/grass/steps - Track 17.wav differ
diff --git a/src/main/resources/sound/sfx/steps/grass/steps - Track 18.wav b/src/main/resources/sound/sfx/steps/grass/steps - Track 18.wav
new file mode 100644
index 0000000000000000000000000000000000000000..f828b12669df1b8a01a4956cc178bd0bed24243d
Binary files /dev/null and b/src/main/resources/sound/sfx/steps/grass/steps - Track 18.wav differ
diff --git a/src/main/resources/sound/sfx/steps/grass/steps - Track 19.wav b/src/main/resources/sound/sfx/steps/grass/steps - Track 19.wav
new file mode 100644
index 0000000000000000000000000000000000000000..4e2be3515c1fdfc95226033cf304f56be65a5b6c
Binary files /dev/null and b/src/main/resources/sound/sfx/steps/grass/steps - Track 19.wav differ
diff --git a/src/main/resources/sound/sfx/steps/grass/steps - Track 2.wav b/src/main/resources/sound/sfx/steps/grass/steps - Track 2.wav
new file mode 100644
index 0000000000000000000000000000000000000000..87570339d853042dd6dc4fcbd7b871ec3afcee34
Binary files /dev/null and b/src/main/resources/sound/sfx/steps/grass/steps - Track 2.wav differ
diff --git a/src/main/resources/sound/sfx/steps/grass/steps - Track 20.wav b/src/main/resources/sound/sfx/steps/grass/steps - Track 20.wav
new file mode 100644
index 0000000000000000000000000000000000000000..85a71f7d9764cae6a3220c38393336cf320cb284
Binary files /dev/null and b/src/main/resources/sound/sfx/steps/grass/steps - Track 20.wav differ
diff --git a/src/main/resources/sound/sfx/steps/grass/steps - Track 3.wav b/src/main/resources/sound/sfx/steps/grass/steps - Track 3.wav
new file mode 100644
index 0000000000000000000000000000000000000000..ba37dc8a23965323887983518a5e9274ff1938f6
Binary files /dev/null and b/src/main/resources/sound/sfx/steps/grass/steps - Track 3.wav differ
diff --git a/src/main/resources/sound/sfx/steps/grass/steps - Track 4.wav b/src/main/resources/sound/sfx/steps/grass/steps - Track 4.wav
new file mode 100644
index 0000000000000000000000000000000000000000..e3acb0eb0e6d900fa67fc2500c06be7ab0383d16
Binary files /dev/null and b/src/main/resources/sound/sfx/steps/grass/steps - Track 4.wav differ
diff --git a/src/main/resources/sound/sfx/steps/grass/steps - Track 5.wav b/src/main/resources/sound/sfx/steps/grass/steps - Track 5.wav
new file mode 100644
index 0000000000000000000000000000000000000000..dabe68f4c735ded390aa3de52d293e31ef0b4967
Binary files /dev/null and b/src/main/resources/sound/sfx/steps/grass/steps - Track 5.wav differ
diff --git a/src/main/resources/sound/sfx/steps/grass/steps - Track 6.wav b/src/main/resources/sound/sfx/steps/grass/steps - Track 6.wav
new file mode 100644
index 0000000000000000000000000000000000000000..ce9dd0eb336d5129f78ceac527e28f60f39b554f
Binary files /dev/null and b/src/main/resources/sound/sfx/steps/grass/steps - Track 6.wav differ
diff --git a/src/main/resources/sound/sfx/steps/grass/steps - Track 7.wav b/src/main/resources/sound/sfx/steps/grass/steps - Track 7.wav
new file mode 100644
index 0000000000000000000000000000000000000000..71e061472f1fddae9fbaa2ae5a186a71f078a008
Binary files /dev/null and b/src/main/resources/sound/sfx/steps/grass/steps - Track 7.wav differ
diff --git a/src/main/resources/sound/sfx/steps/grass/steps - Track 8.wav b/src/main/resources/sound/sfx/steps/grass/steps - Track 8.wav
new file mode 100644
index 0000000000000000000000000000000000000000..9b8538a47aaa357ffcbe6bc8223809584be19e2c
Binary files /dev/null and b/src/main/resources/sound/sfx/steps/grass/steps - Track 8.wav differ
diff --git a/src/main/resources/sound/sfx/steps/grass/steps - Track 9.wav b/src/main/resources/sound/sfx/steps/grass/steps - Track 9.wav
new file mode 100644
index 0000000000000000000000000000000000000000..6ea17cb32406c61630d7975713742719070d3ef6
Binary files /dev/null and b/src/main/resources/sound/sfx/steps/grass/steps - Track 9.wav differ