diff --git a/platypush/plugins/sound/_streams/_player/_synth/_base.py b/platypush/plugins/sound/_streams/_player/_synth/_base.py
index 7b1d13c9..fee3def9 100644
--- a/platypush/plugins/sound/_streams/_player/_synth/_base.py
+++ b/platypush/plugins/sound/_streams/_player/_synth/_base.py
@@ -2,7 +2,6 @@ from abc import ABC, abstractmethod
 from typing import Optional, Tuple
 
 import numpy as np
-from numpy.typing import NDArray
 
 from ._parser import SoundParser
 
@@ -31,7 +30,7 @@ class SoundBase(SoundParser, ABC):
         t_start: float = 0,
         t_end: float = 0,
         **_,
-    ) -> NDArray[np.floating]:
+    ):  # -> NDArray[np.floating]:
         """
         Get the wave binary data associated to this sound
 
@@ -50,7 +49,7 @@ class SoundBase(SoundParser, ABC):
         t_end: float = 0.0,
         freq_range: Optional[Tuple[float, float]] = None,
         freq_buckets: Optional[int] = None,
-    ) -> NDArray[np.floating]:
+    ):  # -> NDArray[np.floating]:
         """
         Get the real part of the Fourier transform associated to a time-bounded
             sample of this sound.
diff --git a/platypush/plugins/sound/_streams/_player/_synth/_generator.py b/platypush/plugins/sound/_streams/_player/_synth/_generator.py
index 22bc60fc..36be584b 100644
--- a/platypush/plugins/sound/_streams/_player/_synth/_generator.py
+++ b/platypush/plugins/sound/_streams/_player/_synth/_generator.py
@@ -4,9 +4,6 @@ from threading import Thread
 from time import time
 from typing import Any, Callable, Optional
 
-import numpy as np
-from numpy.typing import NDArray
-
 from ._mix import Mix
 
 
@@ -20,7 +17,7 @@ class AudioGenerator(Thread):
     def __init__(
         self,
         *args,
-        audio_queue: Queue[NDArray[np.number]],
+        audio_queue: Queue,  # Queue[NDArray[np.number]],
         mix: Mix,
         blocksize: int,
         sample_rate: int,
diff --git a/platypush/plugins/sound/_streams/_player/_synth/_mix.py b/platypush/plugins/sound/_streams/_player/_synth/_mix.py
index 957a2084..355f64d8 100644
--- a/platypush/plugins/sound/_streams/_player/_synth/_mix.py
+++ b/platypush/plugins/sound/_streams/_player/_synth/_mix.py
@@ -3,7 +3,6 @@ import logging
 from typing import List, Tuple, Union
 
 import numpy as np
-from numpy.typing import DTypeLike, NDArray
 
 from ...._utils import convert_nd_array
 from ._base import SoundBase
@@ -16,7 +15,7 @@ class Mix(SoundBase):
     through an audio stream to an audio device
     """
 
-    def __init__(self, *sounds, channels: int, dtype: DTypeLike, **kwargs):
+    def __init__(self, *sounds, channels: int, dtype, **kwargs):
         super().__init__(**kwargs)
         self._sounds: List[Sound] = []
         self.logger = logging.getLogger(__name__)
@@ -64,7 +63,7 @@ class Mix(SoundBase):
         normalize_range: Tuple[float, float] = (-1.0, 1.0),
         on_clip: str = 'scale',
         **_,
-    ) -> NDArray[np.number]:
+    ):  # -> NDArray[np.number]:
         wave = None
 
         for sound in self._sounds:
diff --git a/platypush/plugins/sound/_streams/_player/_synth/_output.py b/platypush/plugins/sound/_streams/_player/_synth/_output.py
index d2743f2d..1f6ba5aa 100644
--- a/platypush/plugins/sound/_streams/_player/_synth/_output.py
+++ b/platypush/plugins/sound/_streams/_player/_synth/_output.py
@@ -4,9 +4,6 @@ from typing import Callable, Optional
 
 import sounddevice as sd
 
-import numpy as np
-from numpy.typing import NDArray
-
 
 # pylint: disable=too-few-public-methods
 class AudioOutputCallback:
@@ -18,7 +15,7 @@ class AudioOutputCallback:
     def __init__(
         self,
         *args,
-        audio_queue: Queue[NDArray[np.number]],
+        audio_queue: Queue,  # Queue[NDArray[np.number]],
         channels: int,
         blocksize: int,
         should_stop: Callable[[], bool] = lambda: False,
@@ -50,7 +47,8 @@ class AudioOutputCallback:
         assert not status.output_underflow, 'Output underflow: increase blocksize?'
         assert not status, f'Audio callback failed: {status}'
 
-    def _audio_callback(self, outdata: NDArray[np.number], frames: int, status):
+    # outdata: NDArray[np.number]
+    def _audio_callback(self, outdata, frames: int, status):
         if self._is_paused():
             return
 
@@ -72,7 +70,8 @@ class AudioOutputCallback:
         outdata[:audio_length] = data[:audio_length]
 
     # _ = time
-    def __call__(self, outdata: NDArray[np.number], frames: int, _, status):
+    # outdata: NDArray[np.number]
+    def __call__(self, outdata, frames: int, _, status):
         try:
             self._audio_callback(outdata, frames, status)
         except AssertionError as e:
diff --git a/platypush/plugins/sound/_streams/_player/_synth/_player.py b/platypush/plugins/sound/_streams/_player/_synth/_player.py
index c0d6b109..0ef69811 100644
--- a/platypush/plugins/sound/_streams/_player/_synth/_player.py
+++ b/platypush/plugins/sound/_streams/_player/_synth/_player.py
@@ -3,9 +3,7 @@ from queue import Queue
 from threading import Event
 from typing import Any, Generator, Iterable, Optional, Type
 
-import numpy as np
 import sounddevice as sd
-from numpy.typing import DTypeLike, NDArray
 
 from ...._model import AudioState
 from ..._player import AudioPlayer
@@ -26,7 +24,7 @@ class AudioSynthPlayer(AudioPlayer):
         *args,
         volume: float,
         channels: int,
-        dtype: DTypeLike,
+        dtype,  # : DTypeLike,
         sounds: Optional[Iterable[Sound]] = None,
         **kwargs
     ):
@@ -36,7 +34,7 @@ class AudioSynthPlayer(AudioPlayer):
         super().__init__(*args, volume=volume, channels=channels, dtype=dtype, **kwargs)
         self._generator_stopped = Event()
         self._completed_callback_event = Event()
-        self._audio_queue: Queue[NDArray[np.number]] = Queue(
+        self._audio_queue = Queue(  # Queue[NDArray[np.number]]
             maxsize=self.queue_size or 0
         )
 
diff --git a/platypush/plugins/sound/_streams/_player/_synth/_sound.py b/platypush/plugins/sound/_streams/_player/_synth/_sound.py
index 270dcc5b..cf8487a6 100644
--- a/platypush/plugins/sound/_streams/_player/_synth/_sound.py
+++ b/platypush/plugins/sound/_streams/_player/_synth/_sound.py
@@ -1,9 +1,8 @@
 from enum import Enum
 import json
-from typing import Final, Optional, Tuple, Union
+from typing import Final, Optional, Union
 
 import numpy as np
-from numpy.typing import NDArray
 
 from ._base import SoundBase
 
@@ -103,7 +102,7 @@ class Sound(SoundBase):
 
     def _get_audio_pad(
         self, sample_rate: float, t_start: float, t_end: float
-    ) -> Tuple[NDArray[np.floating], NDArray[np.floating]]:
+    ):  # -> Tuple[NDArray[np.floating], NDArray[np.floating]]:
         """
         Return the left and right audio pads for a given audio length as a
         ``(left, right)`` tuple of numpy zero-filled arrays.
@@ -120,7 +119,7 @@ class Sound(SoundBase):
             )
         )
 
-    def _generate_wave(self, x: NDArray[np.floating]):
+    def _generate_wave(self, x):
         """
         Generate a raw audio wave as a numpy array of floating between -1 and 1
         given ``x`` as a set of timestamp samples.
@@ -149,7 +148,7 @@ class Sound(SoundBase):
         t_start: float = 0,
         t_end: float = 0,
         **_,
-    ) -> NDArray[np.floating]:
+    ):  # -> NDArray[np.floating]:
         """
         Get the wave binary data associated to this sound
 
diff --git a/platypush/plugins/sound/_utils/_convert.py b/platypush/plugins/sound/_utils/_convert.py
index fa27fe51..89b6159f 100644
--- a/platypush/plugins/sound/_utils/_convert.py
+++ b/platypush/plugins/sound/_utils/_convert.py
@@ -1,10 +1,7 @@
 import numpy as np
-from numpy.typing import DTypeLike, NDArray
 
 
-def convert_nd_array(  # pylint: disable=too-many-return-statements
-    wave: NDArray[np.floating], dtype: DTypeLike
-) -> NDArray[np.number]:
+def convert_nd_array(wave, dtype):  # pylint: disable=too-many-return-statements
     """
     Given a wave as a series of floating point numbers, convert them to the
     appropriate data type.