diff --git a/listen_and_play.py b/listen_and_play.py
index 285fe553393ad9c913bea18a76cf6ebe3435c149..cb18fc1ba2d74aba43d2934ef2a6bb658d1cabc5 100644
--- a/listen_and_play.py
+++ b/listen_and_play.py
@@ -3,6 +3,8 @@ import numpy as np
 import threading
 from queue import Queue
 from dataclasses import dataclass, field
+from transformers import HfArgumentParser
+
 
 @dataclass
 class ListenAndPlayArguments:
@@ -126,4 +128,11 @@ def listen_and_play(
 
         send_socket.close()
         recv_socket.close()
-        print("Connection closed.")
\ No newline at end of file
+        print("Connection closed.")
+
+
+if __name__ == "__main__":
+    parser = HfArgumentParser((ListenAndPlayArguments,))
+    listen_and_play_kwargs = parser.parse_args_into_dataclasses()
+    listen_and_play(**vars(listen_and_play_kwargs))
+