Upload folder using huggingface_hub
Browse files- audio_streaming_client.py +7 -12
- baseHandler.py +3 -0
audio_streaming_client.py
CHANGED
@@ -10,7 +10,7 @@ from dataclasses import dataclass, field
|
|
10 |
@dataclass
|
11 |
class AudioStreamingClientArguments:
|
12 |
sample_rate: int = field(default=16000, metadata={"help": "Audio sample rate in Hz. Default is 16000."})
|
13 |
-
chunk_size: int = field(default=
|
14 |
api_url: str = field(default="https://yxfmjcvuzgi123sw.us-east-1.aws.endpoints.huggingface.cloud", metadata={"help": "The URL of the API endpoint."})
|
15 |
auth_token: str = field(default="your_auth_token", metadata={"help": "Authentication token for the API."})
|
16 |
|
@@ -56,19 +56,14 @@ class AudioStreamingClient:
|
|
56 |
while not self.stop_event.is_set():
|
57 |
if self.session_state != "processing" and not self.send_queue.empty():
|
58 |
chunk = self.send_queue.get().tobytes()
|
59 |
-
buffer += chunk
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
if energy > 0.01: # Threshold for energy detection
|
66 |
-
if len(buffer) >= self.args.chunk_size * 2: # * 2 because of int16
|
67 |
-
self.send_request(buffer)
|
68 |
-
buffer = b''
|
69 |
else:
|
70 |
self.send_request()
|
71 |
-
time.sleep(
|
72 |
|
73 |
def send_request(self, audio_data=None):
|
74 |
payload = {"input_type": "speech",
|
|
|
10 |
@dataclass
|
11 |
class AudioStreamingClientArguments:
|
12 |
sample_rate: int = field(default=16000, metadata={"help": "Audio sample rate in Hz. Default is 16000."})
|
13 |
+
chunk_size: int = field(default=2048, metadata={"help": "The size of audio chunks in samples. Default is 1024."})
|
14 |
api_url: str = field(default="https://yxfmjcvuzgi123sw.us-east-1.aws.endpoints.huggingface.cloud", metadata={"help": "The URL of the API endpoint."})
|
15 |
auth_token: str = field(default="your_auth_token", metadata={"help": "Authentication token for the API."})
|
16 |
|
|
|
56 |
while not self.stop_event.is_set():
|
57 |
if self.session_state != "processing" and not self.send_queue.empty():
|
58 |
chunk = self.send_queue.get().tobytes()
|
59 |
+
buffer += chunk
|
60 |
+
if len(buffer) >= self.args.chunk_size * 2: # * 2 because of int16
|
61 |
+
self.send_request(buffer)
|
62 |
+
buffer = b''
|
63 |
+
time.sleep(4*self.args.chunk_size/self.args.sample_rate)
|
|
|
|
|
|
|
|
|
|
|
64 |
else:
|
65 |
self.send_request()
|
66 |
+
time.sleep(4*self.args.chunk_size/self.args.sample_rate)
|
67 |
|
68 |
def send_request(self, audio_data=None):
|
69 |
payload = {"input_type": "speech",
|
baseHandler.py
CHANGED
@@ -1,7 +1,9 @@
|
|
1 |
from time import perf_counter
|
2 |
import logging
|
|
|
3 |
|
4 |
logger = logging.getLogger(__name__)
|
|
|
5 |
|
6 |
|
7 |
class BaseHandler:
|
@@ -37,6 +39,7 @@ class BaseHandler:
|
|
37 |
for output in self.process(input):
|
38 |
self._times.append(perf_counter() - start_time)
|
39 |
if self.last_time > self.min_time_to_debug:
|
|
|
40 |
logger.debug(f"{self.__class__.__name__}: {self.last_time: .3f} s")
|
41 |
self.queue_out.put(output)
|
42 |
start_time = perf_counter()
|
|
|
1 |
from time import perf_counter
|
2 |
import logging
|
3 |
+
from rich.console import Console
|
4 |
|
5 |
logger = logging.getLogger(__name__)
|
6 |
+
console = Console()
|
7 |
|
8 |
|
9 |
class BaseHandler:
|
|
|
39 |
for output in self.process(input):
|
40 |
self._times.append(perf_counter() - start_time)
|
41 |
if self.last_time > self.min_time_to_debug:
|
42 |
+
console.print(f"{self.__class__.__name__}: {self.last_time: .3f} s")
|
43 |
logger.debug(f"{self.__class__.__name__}: {self.last_time: .3f} s")
|
44 |
self.queue_out.put(output)
|
45 |
start_time = perf_counter()
|