diff --git a/.gitignore b/.gitignore
index 7f809ece3f49c0e9a39c5e11678709ec261046a2..7f215e8b7b9821567bf2767178f22b813b7f13ea 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,4 +4,5 @@
 !extractWav.sh
 !extractAss.sh
 !karaUtils.py
+!autokara.py
 media/
\ No newline at end of file
diff --git a/README.md b/README.md
index 1091c5ea96a8079d5937d588c7a3e10c52e0e847..def946322471a18192b27a7f644e2d18f1cff036 100644
--- a/README.md
+++ b/README.md
@@ -38,6 +38,8 @@ Get a data buffer from an audio file:
 - MKVToolnix (at least the CLI utils)
 - Python >= 3.8
 
+Having a CUDA-capable GPU is optional, but can greatly reduce processing time.
+
 ## Setup
 
 This project requires at least Python 3.8, and using a virtual environment is strongly recommended.
@@ -55,9 +57,15 @@ $ deactivate
 
 # Use
 
-To extract .wav audio from all MKVs in a folder :
+To execute AutoKara on a MKV video file :
+```bash
+$ python autokara.py video.mkv
+```
+
+
+To extract .wav audio from a MKV file :
 ```bash
-$ ./extractWav.sh source_folder output_folder
+$ ./extractWav.sh source_video output_audio
 ```
 
 To separate vocals from instruments in an audio file :
diff --git a/autokara.py b/autokara.py
new file mode 100644
index 0000000000000000000000000000000000000000..4d4512ae7a28b0656935e197cd020afef88738e1
--- /dev/null
+++ b/autokara.py
@@ -0,0 +1,27 @@
+import sys
+import demucs.separate
+import subprocess
+import shlex
+from pathlib import Path
+
+
+try:
+    video_file = sys.argv[1]
+except IndexError:
+    print("usage : %s video_file" % sys.argv[0])
+    sys.exit("Invalid Arguments")
+
+Path("./media/audio").mkdir(parents=True, exist_ok=True)
+basename = Path(video_file).stem
+audio_file = "media/audio/%s.wav" % basename
+
+subprocess.call(shlex.split('./extractWav.sh "%s" "%s"' % (video_file, audio_file)))
+
+Path("./media/vocals").mkdir(parents=True, exist_ok=True)
+output_folder = "./media/vocals"
+
+# Not working, don't know why
+# demucs.separate.main(shlex.split('--two-stems vocals -o "%s" "%s"' % (output_folder, audio_file)))
+subprocess.call(shlex.split('demucs --two-stems vocals -o "%s" "%s"' % (output_folder, audio_file)))
+
+vocals_file = "./media/vocals/htdemucs/%s/vocals.wav" % basename
diff --git a/extractWav.sh b/extractWav.sh
index 31c8b4e6c1a63c92abfbe3e7c97cbb13b574b051..668692939acdbad24ec95aa487d06191e21ee5be 100755
--- a/extractWav.sh
+++ b/extractWav.sh
@@ -28,8 +28,11 @@ fi
 
 
 filename=$1
+dest_file=$2
 
 echo $filename
+echo $dest_file
+
 [ -e "$filename" ] || continue
 name=${filename##*/}
 base=${name%.mkv}
@@ -84,7 +87,7 @@ ffmpeg -i "$base.$extension" "$base.wav" && \
 #sox "$2/$base.stereo.wav" "$2/$base.wav" remix - && \
 #rm "$2/$base.stereo.wav" && \
 rm "$base.$extension"
-mv "$base.wav" $2
+mv "$base.wav" "$2"