diff --git a/.dockerignore b/.dockerignore index dd52e3f..68140f5 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,3 +1,4 @@ +venv **/models **/static **/testdata @@ -8,4 +9,4 @@ __pycache__ env **/.DS_Store src/transcripts -src/uploads \ No newline at end of file +src/uploads diff --git a/.gitignore b/.gitignore index dd52e3f..f471168 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +*.log **/models **/static **/testdata @@ -8,4 +9,4 @@ __pycache__ env **/.DS_Store src/transcripts -src/uploads \ No newline at end of file +src/uploads diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 20c4c6e..0000000 --- a/Dockerfile +++ /dev/null @@ -1,18 +0,0 @@ -FROM python:3.9-slim - -WORKDIR /app - -COPY requirements.txt . -RUN pip install --no-cache-dir -r requirements.txt - -COPY . . - -RUN mkdir -p uploads transcripts - -ENV HOST=0.0.0.0 -ENV PORT=9999 -ENV RELOAD=False - -EXPOSE 9999 - -CMD ["python", "scripts/run_webapp.py"] \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml deleted file mode 100644 index a820437..0000000 --- a/docker-compose.yml +++ /dev/null @@ -1,24 +0,0 @@ -version: '3.8' - -services: - app: - build: - context: . - dockerfile: Dockerfile - ports: - - "9999:9999" - volumes: - - ./src/uploads:/app/uploads - - ./src/transcripts:/app/transcripts - environment: - - HOST=0.0.0.0 - - PORT=9999 - - RELOAD=False - restart: unless-stopped - deploy: - resources: - reservations: - devices: - - driver: nvidia - count: all - capabilities: [gpu] \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index 545332a..fbbefcd 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,10 @@ +uvicorn[standard] +librosa +openai-whisper +torch +loguru fastapi -uvicorn python-multipart jinja2 pillow -python-dotenv \ No newline at end of file +python-dotenv diff --git a/scripts/run_webapp.py b/scripts/run_webapp.py index a806aad..184583f 100755 --- a/scripts/run_webapp.py +++ b/scripts/run_webapp.py @@ -1,3 +1,5 @@ +#!/usr/bin/env python + import os import sys from dotenv import load_dotenv diff --git a/src/config.py b/src/config.py index 88e9a5e..600678e 100644 --- a/src/config.py +++ b/src/config.py @@ -14,4 +14,4 @@ ALLOWED_EXTENSIONS = {"mp3", "wav"} # Create required directories os.makedirs(UPLOAD_DIR, exist_ok=True) os.makedirs(STATIC_DIR, exist_ok=True) -os.makedirs(TRANSCRIPT_DIR, exist_ok=True) \ No newline at end of file +os.makedirs(TRANSCRIPT_DIR, exist_ok=True) diff --git a/supervisor/agent_transcriptor.conf b/supervisor/agent_transcriptor.conf new file mode 100644 index 0000000..a6436b3 --- /dev/null +++ b/supervisor/agent_transcriptor.conf @@ -0,0 +1,15 @@ +[program:transcriptor] +command=sudo /home/uad/agents/transcriptor/venv/bin/python -m uvicorn main:app --host 0.0.0.0 --port 8000 +directory=/home/uad/agents/transcriptor/src +user=uad +autostart=true +autorestart=true +startsecs=5 +stopwaitsecs=10 +startretries=3 +stopasgroup=true +killasgroup=true +stdout_logfile=/home/uad/agents/transcriptor/supervisor/logs/transcriptor.log +stderr_logfile=/home/uad/agents/transcriptor/supervisor/logs/transcriptor.log +redirect_stderr=true +environment=WHISPER_MODEL="large-v3",WHISPER_MODELS_DIR="/home/uad/agents/transcriptor/src/models",PYTHONPATH=src diff --git a/supervisor/logs/transcriptor.log b/supervisor/logs/transcriptor.log new file mode 100644 index 0000000..909bb93 --- /dev/null +++ b/supervisor/logs/transcriptor.log @@ -0,0 +1,803 @@ +/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/torch/cuda/__init__.py:129: UserWarning: CUDA initialization: CUDA unknown error - this may be due to an incorrectly set up environment, e.g. changing env variable CUDA_VISIBLE_DEVICES after program start. Setting the available devices to be zero. (Triggered internally at /pytorch/c10/cuda/CUDAFunctions.cpp:109.) + return torch._C._cuda_getDeviceCount() > 0 +2025-03-26 04:20:55.466 | DEBUG | engine.stt:__init__:52 - Using CPU for inference (no GPU detected) +INFO: Started server process [1881959] +INFO: Waiting for application startup. +2025-03-26 04:20:55.472 | DEBUG | src.main:lifespan:24 - initializing audio processor +2025-03-26 04:20:55.472 | INFO | worker:start:61 - STT Engine started with model: large-v3 +INFO: Application startup complete. +INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit) +INFO: ('192.168.1.48', 53975) - "WebSocket /ws" [accepted] +INFO: connection open +INFO: 192.168.1.48:53977 - "GET / HTTP/1.1" 200 OK +INFO: connection closed +INFO: ('192.168.1.48', 53980) - "WebSocket /ws" [accepted] +INFO: connection open +INFO: 192.168.1.48:53985 - "GET / HTTP/1.1" 200 OK +INFO: connection closed +INFO: ('192.168.1.48', 53988) - "WebSocket /ws" [accepted] +INFO: connection open +INFO: 192.168.1.48:53985 - "POST /upload HTTP/1.1" 200 OK +INFO: 192.168.1.48:54002 - "POST /upload HTTP/1.1" 200 OK +INFO: 192.168.1.48:54002 - "POST /upload HTTP/1.1" 200 OK +INFO: 192.168.1.48:54027 - "POST /upload HTTP/1.1" 200 OK +2025-03-26 04:21:42.408 | INFO | worker:process_file:106 - Added LiPo Battery Charger Roundup.mp3 to processing queue. Queue size: 1 +INFO: 192.168.1.48:54027 - "POST /process/LiPo%20Battery%20Charger%20Roundup.mp3 HTTP/1.1" 200 OK +2025-03-26 04:21:42.426 | INFO | worker:process_file:106 - Added How to determine actual battery charger charge rate.mp3 to processing queue. Queue size: 2 +INFO: 192.168.1.48:54027 - "POST /process/How%20to%20determine%20actual%20battery%20charger%20charge%20rate.mp3 HTTP/1.1" 200 OK +2025-03-26 04:21:42.491 | INFO | worker:_process_queue:119 - Processing file from queue: LiPo Battery Charger Roundup.mp3 +2025-03-26 04:21:42.491 | INFO | worker:_transcribe_file:138 - Starting transcription for LiPo Battery Charger Roundup.mp3 +2025-03-26 04:21:42.492 | DEBUG | engine.stt:model:70 - Loading model 'large-v3' as from /home/uad/agents/transcriptor/src/models/large-v3.pt +2025-03-26 04:22:12.236 | DEBUG | engine.stt:model:73 - Successfully loaded model 'large-v3' on cpu +/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/whisper/transcribe.py:126: UserWarning: FP16 is not supported on CPU; using FP32 instead + warnings.warn("FP16 is not supported on CPU; using FP32 instead") +[00:00.000 --> 00:10.820] All right, folks, now that we have dug deep and crunched the numbers on the specs, let's take a look through these chargers and see how they stack up against each other. +[00:11.640 --> 00:19.200] Before I do that, I'm going to address this one more time, and one more time only, and then you're not going to hear me talk about it again. +[00:19.340 --> 00:26.380] But I do want to say, you'll notice that the chargers I'm showing you are from Hobby King. +[00:26.380 --> 00:34.980] And I told you in a recent video that Hobby King had contacted me and offered to send me some stuff, and so you might wonder about that a little bit. +[00:35.580 --> 00:41.480] Hey, I shop at Hobby King. A lot of us shop at Hobby King. I've shopped at Hobby King since I started in this hobby. +[00:41.920 --> 00:50.160] But frankly, if it weren't for Hobby King, I wouldn't be in this hobby, because when I wanted to get into RC flight, I went and looked at how much a transmitter cost. +[00:50.260 --> 00:56.220] And I looked at the Futabas, and they were $600. And I was like, holy crap, I'm not going to spend $600. +[00:56.600 --> 00:58.560] And I don't even know if I'm going to like this. +[00:58.940 --> 01:02.400] And then I found Hobby King, and I found the Turnigy 9X, and it was $60. +[01:03.080 --> 01:05.020] And that's how I got into this hobby. +[01:06.360 --> 01:10.160] I'm sure a lot of us have stories like that, and I still shop at Hobby King to this day. +[01:10.760 --> 01:16.780] So when I went shopping for chargers, I went to Hobby King, because that's just what I do. +[01:16.780 --> 01:22.680] And as I told you in the last video, $269 for an iCharger. For me personally, that math doesn't work out. +[01:23.000 --> 01:24.080] I know other people disagree. +[01:24.420 --> 01:26.360] So the fact that Hobby King... +INFO: 192.168.1.48:54107 - "GET / HTTP/1.1" 200 OK +INFO: connection closed +INFO: ('192.168.1.48', 54110) - "WebSocket /ws" [accepted] +INFO: connection open +INFO: 192.168.1.48:54118 - "GET / HTTP/1.1" 200 OK +INFO: connection closed +INFO: ('192.168.1.48', 54121) - "WebSocket /ws" [accepted] +INFO: connection open +[01:26.380 --> 01:29.420] I've been offered to send me some stuff, and the fact that you're seeing Hobby King here... +[01:29.420 --> 01:31.000] That's not why you're seeing Hobby King here. +[01:31.040 --> 01:35.400] You're seeing Hobby King here because that's where I shop, and that's where I'm shopping for a charger. +[01:35.960 --> 01:39.980] And I'm never going to show you guys stuff just because a vendor sent it to me. +[01:40.320 --> 01:42.280] And I will always try to disclose... +[01:42.280 --> 01:46.880] Actually, I think I'm required by the FCC to disclose when vendors do send me stuff. +[01:47.100 --> 01:50.580] So anyway, enough said about that. We're going to let that lie. +[01:50.980 --> 01:51.840] Let's look at these chargers. +[01:52.200 --> 01:56.280] If you are looking for a high-volt charger that can do the 4.3V... +INFO: 192.168.1.48:54166 - "GET / HTTP/1.1" 200 OK +INFO: connection closed +INFO: ('192.168.1.48', 54168) - "WebSocket /ws" [accepted] +INFO: connection open +INFO: 192.168.1.48:54166 - "GET / HTTP/1.1" 200 OK +INFO: connection closed +INFO: ('192.168.1.48', 54174) - "WebSocket /ws" [accepted] +INFO: connection open +INFO: 192.168.1.48:54179 - "GET / HTTP/1.1" 200 OK +INFO: connection closed +INFO: ('192.168.1.48', 54182) - "WebSocket /ws" [accepted] +INFO: connection open +INFO: 192.168.1.48:54179 - "GET / HTTP/1.1" 200 OK +INFO: connection closed +INFO: ('192.168.1.48', 54187) - "WebSocket /ws" [accepted] +INFO: connection open +INFO: Shutting down +INFO: connection closed +INFO: Waiting for application shutdown. +INFO: Application shutdown complete. +INFO: Finished server process [1881959] +/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/torch/cuda/__init__.py:129: UserWarning: CUDA initialization: CUDA unknown error - this may be due to an incorrectly set up environment, e.g. changing env variable CUDA_VISIBLE_DEVICES after program start. Setting the available devices to be zero. (Triggered internally at /pytorch/c10/cuda/CUDAFunctions.cpp:109.) + return torch._C._cuda_getDeviceCount() > 0 +2025-03-26 04:26:06.762 | DEBUG | engine.stt:__init__:52 - Using CPU for inference (no GPU detected) +INFO: Started server process [1885476] +INFO: Waiting for application startup. +2025-03-26 04:26:06.768 | DEBUG | src.main:lifespan:24 - initializing audio processor +2025-03-26 04:26:06.768 | INFO | worker:start:61 - STT Engine started with model: large-v3 +INFO: Application startup complete. +INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit) +INFO: ('192.168.1.48', 54198) - "WebSocket /ws" [accepted] +INFO: connection open +INFO: Shutting down +INFO: connection closed +INFO: Waiting for application shutdown. +INFO: Application shutdown complete. +INFO: Finished server process [1885476] +Traceback (most recent call last): + File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main + return _run_code(code, main_globals, None, + File "/usr/lib/python3.10/runpy.py", line 86, in _run_code + exec(code, run_globals) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/__main__.py", line 4, in + uvicorn.main() + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 1161, in __call__ + return self.main(*args, **kwargs) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 1082, in main + rv = self.invoke(ctx) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 1443, in invoke + return ctx.invoke(self.callback, **ctx.params) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 788, in invoke + return __callback(*args, **kwargs) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/main.py", line 412, in main + run( + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/main.py", line 579, in run + server.run() + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/server.py", line 66, in run + return asyncio.run(self.serve(sockets=sockets)) + File "/usr/lib/python3.10/asyncio/runners.py", line 44, in run + return loop.run_until_complete(main) + File "uvloop/loop.pyx", line 1518, in uvloop.loop.Loop.run_until_complete + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/server.py", line 70, in serve + await self._serve(sockets) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/server.py", line 77, in _serve + config.load() + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/config.py", line 435, in load + self.loaded_app = import_from_string(self.app) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/importer.py", line 22, in import_from_string + raise exc from None + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/importer.py", line 19, in import_from_string + module = importlib.import_module(module_str) + File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module + return _bootstrap._gcd_import(name[level:], package, level) + File "", line 1050, in _gcd_import + File "", line 1027, in _find_and_load + File "", line 1006, in _find_and_load_unlocked + File "", line 688, in _load_unlocked + File "", line 883, in exec_module + File "", line 241, in _call_with_frames_removed + File "/home/uad/agents/transcriptor/src/main.py", line 15, in + from config import UPLOAD_DIR, ALLOWED_EXTENSIONS, STATIC_DIR, TEMPLATES_DIR, TRANSCRIPT_DIR +ModuleNotFoundError: No module named 'config' +Traceback (most recent call last): + File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main + return _run_code(code, main_globals, None, + File "/usr/lib/python3.10/runpy.py", line 86, in _run_code + exec(code, run_globals) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/__main__.py", line 4, in + uvicorn.main() + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 1161, in __call__ + return self.main(*args, **kwargs) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 1082, in main + rv = self.invoke(ctx) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 1443, in invoke + return ctx.invoke(self.callback, **ctx.params) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 788, in invoke + return __callback(*args, **kwargs) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/main.py", line 412, in main + run( + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/main.py", line 579, in run + server.run() + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/server.py", line 66, in run + return asyncio.run(self.serve(sockets=sockets)) + File "/usr/lib/python3.10/asyncio/runners.py", line 44, in run + return loop.run_until_complete(main) + File "uvloop/loop.pyx", line 1518, in uvloop.loop.Loop.run_until_complete + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/server.py", line 70, in serve + await self._serve(sockets) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/server.py", line 77, in _serve + config.load() + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/config.py", line 435, in load + self.loaded_app = import_from_string(self.app) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/importer.py", line 22, in import_from_string + raise exc from None + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/importer.py", line 19, in import_from_string + module = importlib.import_module(module_str) + File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module + return _bootstrap._gcd_import(name[level:], package, level) + File "", line 1050, in _gcd_import + File "", line 1027, in _find_and_load + File "", line 1006, in _find_and_load_unlocked + File "", line 688, in _load_unlocked + File "", line 883, in exec_module + File "", line 241, in _call_with_frames_removed + File "/home/uad/agents/transcriptor/src/main.py", line 15, in + from config import UPLOAD_DIR, ALLOWED_EXTENSIONS, STATIC_DIR, TEMPLATES_DIR, TRANSCRIPT_DIR +ModuleNotFoundError: No module named 'config' +Traceback (most recent call last): + File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main + return _run_code(code, main_globals, None, + File "/usr/lib/python3.10/runpy.py", line 86, in _run_code + exec(code, run_globals) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/__main__.py", line 4, in + uvicorn.main() + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 1161, in __call__ + return self.main(*args, **kwargs) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 1082, in main + rv = self.invoke(ctx) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 1443, in invoke + return ctx.invoke(self.callback, **ctx.params) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 788, in invoke + return __callback(*args, **kwargs) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/main.py", line 412, in main + run( + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/main.py", line 579, in run + server.run() + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/server.py", line 66, in run + return asyncio.run(self.serve(sockets=sockets)) + File "/usr/lib/python3.10/asyncio/runners.py", line 44, in run + return loop.run_until_complete(main) + File "uvloop/loop.pyx", line 1518, in uvloop.loop.Loop.run_until_complete + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/server.py", line 70, in serve + await self._serve(sockets) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/server.py", line 77, in _serve + config.load() + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/config.py", line 435, in load + self.loaded_app = import_from_string(self.app) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/importer.py", line 22, in import_from_string + raise exc from None + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/importer.py", line 19, in import_from_string + module = importlib.import_module(module_str) + File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module + return _bootstrap._gcd_import(name[level:], package, level) + File "", line 1050, in _gcd_import + File "", line 1027, in _find_and_load + File "", line 1006, in _find_and_load_unlocked + File "", line 688, in _load_unlocked + File "", line 883, in exec_module + File "", line 241, in _call_with_frames_removed + File "/home/uad/agents/transcriptor/src/main.py", line 15, in + from config import UPLOAD_DIR, ALLOWED_EXTENSIONS, STATIC_DIR, TEMPLATES_DIR, TRANSCRIPT_DIR +ModuleNotFoundError: No module named 'config' +Traceback (most recent call last): + File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main + return _run_code(code, main_globals, None, + File "/usr/lib/python3.10/runpy.py", line 86, in _run_code + exec(code, run_globals) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/__main__.py", line 4, in + uvicorn.main() + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 1161, in __call__ + return self.main(*args, **kwargs) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 1082, in main + rv = self.invoke(ctx) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 1443, in invoke + return ctx.invoke(self.callback, **ctx.params) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 788, in invoke + return __callback(*args, **kwargs) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/main.py", line 412, in main + run( + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/main.py", line 579, in run + server.run() + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/server.py", line 66, in run + return asyncio.run(self.serve(sockets=sockets)) + File "/usr/lib/python3.10/asyncio/runners.py", line 44, in run + return loop.run_until_complete(main) + File "uvloop/loop.pyx", line 1518, in uvloop.loop.Loop.run_until_complete + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/server.py", line 70, in serve + await self._serve(sockets) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/server.py", line 77, in _serve + config.load() + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/config.py", line 435, in load + self.loaded_app = import_from_string(self.app) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/importer.py", line 22, in import_from_string + raise exc from None + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/importer.py", line 19, in import_from_string + module = importlib.import_module(module_str) + File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module + return _bootstrap._gcd_import(name[level:], package, level) + File "", line 1050, in _gcd_import + File "", line 1027, in _find_and_load + File "", line 1006, in _find_and_load_unlocked + File "", line 688, in _load_unlocked + File "", line 883, in exec_module + File "", line 241, in _call_with_frames_removed + File "/home/uad/agents/transcriptor/src/main.py", line 15, in + from config import UPLOAD_DIR, ALLOWED_EXTENSIONS, STATIC_DIR, TEMPLATES_DIR, TRANSCRIPT_DIR +ModuleNotFoundError: No module named 'config' +Traceback (most recent call last): + File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main + return _run_code(code, main_globals, None, + File "/usr/lib/python3.10/runpy.py", line 86, in _run_code + exec(code, run_globals) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/__main__.py", line 4, in + uvicorn.main() + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 1161, in __call__ + return self.main(*args, **kwargs) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 1082, in main + rv = self.invoke(ctx) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 1443, in invoke + return ctx.invoke(self.callback, **ctx.params) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 788, in invoke + return __callback(*args, **kwargs) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/main.py", line 412, in main + run( + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/main.py", line 579, in run + server.run() + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/server.py", line 66, in run + return asyncio.run(self.serve(sockets=sockets)) + File "/usr/lib/python3.10/asyncio/runners.py", line 44, in run + return loop.run_until_complete(main) + File "uvloop/loop.pyx", line 1518, in uvloop.loop.Loop.run_until_complete + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/server.py", line 70, in serve + await self._serve(sockets) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/server.py", line 77, in _serve + config.load() + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/config.py", line 435, in load + self.loaded_app = import_from_string(self.app) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/importer.py", line 22, in import_from_string + raise exc from None + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/importer.py", line 19, in import_from_string + module = importlib.import_module(module_str) + File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module + return _bootstrap._gcd_import(name[level:], package, level) + File "", line 1050, in _gcd_import + File "", line 1027, in _find_and_load + File "", line 992, in _find_and_load_unlocked + File "", line 241, in _call_with_frames_removed + File "", line 1050, in _gcd_import + File "", line 1027, in _find_and_load + File "", line 1004, in _find_and_load_unlocked +ModuleNotFoundError: No module named 'src' +Traceback (most recent call last): + File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main + return _run_code(code, main_globals, None, + File "/usr/lib/python3.10/runpy.py", line 86, in _run_code + exec(code, run_globals) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/__main__.py", line 4, in + uvicorn.main() + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 1161, in __call__ + return self.main(*args, **kwargs) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 1082, in main + rv = self.invoke(ctx) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 1443, in invoke + return ctx.invoke(self.callback, **ctx.params) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 788, in invoke + return __callback(*args, **kwargs) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/main.py", line 412, in main + run( + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/main.py", line 579, in run + server.run() + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/server.py", line 66, in run + return asyncio.run(self.serve(sockets=sockets)) + File "/usr/lib/python3.10/asyncio/runners.py", line 44, in run + return loop.run_until_complete(main) + File "uvloop/loop.pyx", line 1518, in uvloop.loop.Loop.run_until_complete + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/server.py", line 70, in serve + await self._serve(sockets) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/server.py", line 77, in _serve + config.load() + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/config.py", line 435, in load + self.loaded_app = import_from_string(self.app) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/importer.py", line 22, in import_from_string + raise exc from None + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/importer.py", line 19, in import_from_string + module = importlib.import_module(module_str) + File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module + return _bootstrap._gcd_import(name[level:], package, level) + File "", line 1050, in _gcd_import + File "", line 1027, in _find_and_load + File "", line 992, in _find_and_load_unlocked + File "", line 241, in _call_with_frames_removed + File "", line 1050, in _gcd_import + File "", line 1027, in _find_and_load + File "", line 1004, in _find_and_load_unlocked +ModuleNotFoundError: No module named 'src' +Traceback (most recent call last): + File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main + return _run_code(code, main_globals, None, + File "/usr/lib/python3.10/runpy.py", line 86, in _run_code + exec(code, run_globals) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/__main__.py", line 4, in + uvicorn.main() + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 1161, in __call__ + return self.main(*args, **kwargs) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 1082, in main + rv = self.invoke(ctx) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 1443, in invoke + return ctx.invoke(self.callback, **ctx.params) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 788, in invoke + return __callback(*args, **kwargs) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/main.py", line 412, in main + run( + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/main.py", line 579, in run + server.run() + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/server.py", line 66, in run + return asyncio.run(self.serve(sockets=sockets)) + File "/usr/lib/python3.10/asyncio/runners.py", line 44, in run + return loop.run_until_complete(main) + File "uvloop/loop.pyx", line 1518, in uvloop.loop.Loop.run_until_complete + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/server.py", line 70, in serve + await self._serve(sockets) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/server.py", line 77, in _serve + config.load() + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/config.py", line 435, in load + self.loaded_app = import_from_string(self.app) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/importer.py", line 22, in import_from_string + raise exc from None + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/importer.py", line 19, in import_from_string + module = importlib.import_module(module_str) + File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module + return _bootstrap._gcd_import(name[level:], package, level) + File "", line 1050, in _gcd_import + File "", line 1027, in _find_and_load + File "", line 992, in _find_and_load_unlocked + File "", line 241, in _call_with_frames_removed + File "", line 1050, in _gcd_import + File "", line 1027, in _find_and_load + File "", line 1004, in _find_and_load_unlocked +ModuleNotFoundError: No module named 'src' +Traceback (most recent call last): + File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main + return _run_code(code, main_globals, None, + File "/usr/lib/python3.10/runpy.py", line 86, in _run_code + exec(code, run_globals) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/__main__.py", line 4, in + uvicorn.main() + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 1161, in __call__ + return self.main(*args, **kwargs) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 1082, in main + rv = self.invoke(ctx) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 1443, in invoke + return ctx.invoke(self.callback, **ctx.params) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 788, in invoke + return __callback(*args, **kwargs) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/main.py", line 412, in main + run( + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/main.py", line 579, in run + server.run() + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/server.py", line 66, in run + return asyncio.run(self.serve(sockets=sockets)) + File "/usr/lib/python3.10/asyncio/runners.py", line 44, in run + return loop.run_until_complete(main) + File "uvloop/loop.pyx", line 1518, in uvloop.loop.Loop.run_until_complete + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/server.py", line 70, in serve + await self._serve(sockets) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/server.py", line 77, in _serve + config.load() + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/config.py", line 435, in load + self.loaded_app = import_from_string(self.app) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/importer.py", line 22, in import_from_string + raise exc from None + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/importer.py", line 19, in import_from_string + module = importlib.import_module(module_str) + File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module + return _bootstrap._gcd_import(name[level:], package, level) + File "", line 1050, in _gcd_import + File "", line 1027, in _find_and_load + File "", line 992, in _find_and_load_unlocked + File "", line 241, in _call_with_frames_removed + File "", line 1050, in _gcd_import + File "", line 1027, in _find_and_load + File "", line 1004, in _find_and_load_unlocked +ModuleNotFoundError: No module named 'src' +/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/torch/cuda/__init__.py:129: UserWarning: CUDA initialization: CUDA unknown error - this may be due to an incorrectly set up environment, e.g. changing env variable CUDA_VISIBLE_DEVICES after program start. Setting the available devices to be zero. (Triggered internally at /pytorch/c10/cuda/CUDAFunctions.cpp:109.) + return torch._C._cuda_getDeviceCount() > 0 +2025-03-26 04:28:30.842 | DEBUG | engine.stt:__init__:52 - Using CPU for inference (no GPU detected) +INFO: Started server process [1887650] +INFO: Waiting for application startup. +2025-03-26 04:28:30.847 | DEBUG | main:lifespan:24 - initializing audio processor +2025-03-26 04:28:30.848 | INFO | worker:start:61 - STT Engine started with model: None +INFO: Application startup complete. +INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit) +INFO: ('192.168.1.48', 54439) - "WebSocket /ws" [accepted] +INFO: connection open +INFO: Shutting down +INFO: connection closed +INFO: Waiting for application shutdown. +INFO: Application shutdown complete. +INFO: Finished server process [1887650] +/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/torch/cuda/__init__.py:129: UserWarning: CUDA initialization: CUDA unknown error - this may be due to an incorrectly set up environment, e.g. changing env variable CUDA_VISIBLE_DEVICES after program start. Setting the available devices to be zero. (Triggered internally at /pytorch/c10/cuda/CUDAFunctions.cpp:109.) + return torch._C._cuda_getDeviceCount() > 0 +2025-03-26 04:29:13.811 | DEBUG | engine.stt:__init__:52 - Using CPU for inference (no GPU detected) +INFO: Started server process [1888059] +INFO: Waiting for application startup. +2025-03-26 04:29:13.817 | DEBUG | main:lifespan:24 - initializing audio processor +2025-03-26 04:29:13.817 | INFO | worker:start:61 - STT Engine started with model: None +INFO: Application startup complete. +INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit) +INFO: ('192.168.1.48', 54450) - "WebSocket /ws" [accepted] +INFO: connection open +INFO: 192.168.1.48:54453 - "GET / HTTP/1.1" 200 OK +INFO: connection closed +INFO: ('192.168.1.48', 54458) - "WebSocket /ws" [accepted] +INFO: connection open +2025-03-26 04:29:34.194 | INFO | worker:process_file:106 - Added LiPo Battery Charger Roundup.mp3 to processing queue. Queue size: 1 +INFO: 192.168.1.48:54473 - "POST /process/LiPo%20Battery%20Charger%20Roundup.mp3 HTTP/1.1" 200 OK +2025-03-26 04:29:34.327 | INFO | worker:_process_queue:119 - Processing file from queue: LiPo Battery Charger Roundup.mp3 +2025-03-26 04:29:34.328 | INFO | worker:_transcribe_file:138 - Starting transcription for LiPo Battery Charger Roundup.mp3 +2025-03-26 04:29:34.329 | ERROR | worker:_transcribe_file:177 - Error transcribing LiPo Battery Charger Roundup.mp3: expected str, bytes or os.PathLike object, not NoneType +2025-03-26 04:29:35.630 | INFO | worker:process_file:106 - Added How to determine actual battery charger charge rate.mp3 to processing queue. Queue size: 1 +INFO: 192.168.1.48:54473 - "POST /process/How%20to%20determine%20actual%20battery%20charger%20charge%20rate.mp3 HTTP/1.1" 200 OK +2025-03-26 04:29:35.830 | INFO | worker:_process_queue:119 - Processing file from queue: How to determine actual battery charger charge rate.mp3 +2025-03-26 04:29:35.830 | INFO | worker:_transcribe_file:138 - Starting transcription for How to determine actual battery charger charge rate.mp3 +2025-03-26 04:29:35.831 | ERROR | worker:_transcribe_file:177 - Error transcribing How to determine actual battery charger charge rate.mp3: expected str, bytes or os.PathLike object, not NoneType +INFO: 192.168.1.48:54480 - "GET / HTTP/1.1" 200 OK +INFO: connection closed +INFO: ('192.168.1.48', 54485) - "WebSocket /ws" [accepted] +INFO: connection open +2025-03-26 04:29:43.656 | INFO | worker:process_file:106 - Added LiPo Battery Charger Roundup.mp3 to processing queue. Queue size: 1 +INFO: 192.168.1.48:54480 - "POST /process/LiPo%20Battery%20Charger%20Roundup.mp3 HTTP/1.1" 200 OK +2025-03-26 04:29:43.837 | INFO | worker:_process_queue:119 - Processing file from queue: LiPo Battery Charger Roundup.mp3 +2025-03-26 04:29:43.837 | INFO | worker:_transcribe_file:138 - Starting transcription for LiPo Battery Charger Roundup.mp3 +2025-03-26 04:29:43.837 | ERROR | worker:_transcribe_file:177 - Error transcribing LiPo Battery Charger Roundup.mp3: expected str, bytes or os.PathLike object, not NoneType +2025-03-26 04:29:44.460 | INFO | worker:process_file:106 - Added How to determine actual battery charger charge rate.mp3 to processing queue. Queue size: 1 +INFO: 192.168.1.48:54480 - "POST /process/How%20to%20determine%20actual%20battery%20charger%20charge%20rate.mp3 HTTP/1.1" 200 OK +2025-03-26 04:29:44.839 | INFO | worker:_process_queue:119 - Processing file from queue: How to determine actual battery charger charge rate.mp3 +2025-03-26 04:29:44.839 | INFO | worker:_transcribe_file:138 - Starting transcription for How to determine actual battery charger charge rate.mp3 +2025-03-26 04:29:44.839 | ERROR | worker:_transcribe_file:177 - Error transcribing How to determine actual battery charger charge rate.mp3: expected str, bytes or os.PathLike object, not NoneType +INFO: 192.168.1.48:54480 - "GET / HTTP/1.1" 200 OK +INFO: connection closed +INFO: ('192.168.1.48', 54489) - "WebSocket /ws" [accepted] +INFO: connection open +INFO: Shutting down +INFO: connection closed +INFO: Waiting for application shutdown. +INFO: Application shutdown complete. +INFO: Finished server process [1888059] +2025-03-26 04:34:41.276 | DEBUG | engine.stt:__init__:46 - Using CUDA GPU for inference +INFO: Started server process [3117] +INFO: Waiting for application startup. +2025-03-26 04:34:41.285 | DEBUG | main:lifespan:24 - initializing audio processor +2025-03-26 04:34:41.285 | INFO | worker:start:61 - STT Engine started with model: None +INFO: Application startup complete. +INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit) +INFO: ('192.168.1.48', 56476) - "WebSocket /ws" [accepted] +INFO: connection open +INFO: 192.168.1.48:61435 - "GET / HTTP/1.1" 200 OK +INFO: ('192.168.1.48', 61438) - "WebSocket /ws" [accepted] +INFO: connection open +INFO: 192.168.1.48:61435 - "POST /upload HTTP/1.1" 200 OK +2025-03-26 04:56:47.353 | INFO | worker:process_file:106 - Added Parallel Charging Equalization Current.mp3 to processing queue. Queue size: 1 +INFO: 192.168.1.48:61435 - "POST /process/Parallel%20Charging%20Equalization%20Current.mp3 HTTP/1.1" 200 OK +2025-03-26 04:56:47.367 | INFO | worker:process_file:106 - Added LiPo Battery Charger Roundup.mp3 to processing queue. Queue size: 2 +INFO: 192.168.1.48:61435 - "POST /process/LiPo%20Battery%20Charger%20Roundup.mp3 HTTP/1.1" 200 OK +2025-03-26 04:56:47.375 | INFO | worker:process_file:106 - Added How to determine actual battery charger charge rate.mp3 to processing queue. Queue size: 3 +INFO: 192.168.1.48:61435 - "POST /process/How%20to%20determine%20actual%20battery%20charger%20charge%20rate.mp3 HTTP/1.1" 200 OK +2025-03-26 04:56:47.670 | INFO | worker:_process_queue:119 - Processing file from queue: Parallel Charging Equalization Current.mp3 +2025-03-26 04:56:47.670 | INFO | worker:_transcribe_file:138 - Starting transcription for Parallel Charging Equalization Current.mp3 +2025-03-26 04:56:47.671 | ERROR | worker:_transcribe_file:177 - Error transcribing Parallel Charging Equalization Current.mp3: expected str, bytes or os.PathLike object, not NoneType +2025-03-26 04:56:48.171 | INFO | worker:_process_queue:119 - Processing file from queue: LiPo Battery Charger Roundup.mp3 +2025-03-26 04:56:48.171 | INFO | worker:_transcribe_file:138 - Starting transcription for LiPo Battery Charger Roundup.mp3 +2025-03-26 04:56:48.172 | ERROR | worker:_transcribe_file:177 - Error transcribing LiPo Battery Charger Roundup.mp3: expected str, bytes or os.PathLike object, not NoneType +2025-03-26 04:56:48.672 | INFO | worker:_process_queue:119 - Processing file from queue: How to determine actual battery charger charge rate.mp3 +2025-03-26 04:56:48.672 | INFO | worker:_transcribe_file:138 - Starting transcription for How to determine actual battery charger charge rate.mp3 +2025-03-26 04:56:48.672 | ERROR | worker:_transcribe_file:177 - Error transcribing How to determine actual battery charger charge rate.mp3: expected str, bytes or os.PathLike object, not NoneType +INFO: Shutting down +INFO: connection closed +INFO: connection closed +INFO: Waiting for application shutdown. +INFO: Application shutdown complete. +INFO: Finished server process [3117] +2025-03-26 04:57:51.614 | DEBUG | engine.stt:__init__:46 - Using CUDA GPU for inference +INFO: Started server process [10749] +INFO: Waiting for application startup. +2025-03-26 04:57:51.620 | DEBUG | main:lifespan:24 - initializing audio processor +2025-03-26 04:57:51.620 | INFO | worker:start:61 - STT Engine started with model: None +INFO: Application startup complete. +INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit) +INFO: ('192.168.1.48', 61549) - "WebSocket /ws" [accepted] +INFO: connection open +INFO: ('192.168.1.48', 61550) - "WebSocket /ws" [accepted] +INFO: connection open +INFO: Shutting down +INFO: connection closed +INFO: connection closed +INFO: Waiting for application shutdown. +INFO: Application shutdown complete. +INFO: Finished server process [10749] +2025-03-26 05:00:44.223 | DEBUG | engine.stt:__init__:46 - Using CUDA GPU for inference +INFO: Started server process [11902] +INFO: Waiting for application startup. +2025-03-26 05:00:44.229 | DEBUG | main:lifespan:24 - initializing audio processor +2025-03-26 05:00:44.229 | INFO | worker:start:61 - STT Engine started with model: None +INFO: Application startup complete. +INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit) +INFO: ('192.168.1.48', 62976) - "WebSocket /ws" [accepted] +INFO: connection open +INFO: ('192.168.1.48', 62977) - "WebSocket /ws" [accepted] +INFO: connection open +2025-03-26 05:00:50.405 | INFO | worker:process_file:106 - Added Parallel Charging Equalization Current.mp3 to processing queue. Queue size: 1 +INFO: 192.168.1.48:62983 - "POST /process/Parallel%20Charging%20Equalization%20Current.mp3 HTTP/1.1" 200 OK +2025-03-26 05:00:50.733 | INFO | worker:_process_queue:119 - Processing file from queue: Parallel Charging Equalization Current.mp3 +2025-03-26 05:00:50.733 | INFO | worker:_transcribe_file:138 - Starting transcription for Parallel Charging Equalization Current.mp3 +2025-03-26 05:00:50.734 | ERROR | worker:_transcribe_file:177 - Error transcribing Parallel Charging Equalization Current.mp3: expected str, bytes or os.PathLike object, not NoneType +INFO: Shutting down +INFO: connection closed +INFO: connection closed +INFO: Waiting for application shutdown. +INFO: Application shutdown complete. +INFO: Finished server process [11902] +Traceback (most recent call last): + File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main + return _run_code(code, main_globals, None, + File "/usr/lib/python3.10/runpy.py", line 86, in _run_code + exec(code, run_globals) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/__main__.py", line 4, in + uvicorn.main() + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 1161, in __call__ + return self.main(*args, **kwargs) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 1082, in main + rv = self.invoke(ctx) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 1443, in invoke + return ctx.invoke(self.callback, **ctx.params) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 788, in invoke + return __callback(*args, **kwargs) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/main.py", line 412, in main + run( + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/main.py", line 579, in run + server.run() + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/server.py", line 66, in run + return asyncio.run(self.serve(sockets=sockets)) + File "/usr/lib/python3.10/asyncio/runners.py", line 44, in run + return loop.run_until_complete(main) + File "uvloop/loop.pyx", line 1518, in uvloop.loop.Loop.run_until_complete + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/server.py", line 70, in serve + await self._serve(sockets) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/server.py", line 77, in _serve + config.load() + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/config.py", line 435, in load + self.loaded_app = import_from_string(self.app) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/importer.py", line 22, in import_from_string + raise exc from None + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/importer.py", line 19, in import_from_string + module = importlib.import_module(module_str) + File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module + return _bootstrap._gcd_import(name[level:], package, level) + File "", line 1050, in _gcd_import + File "", line 1027, in _find_and_load + File "", line 1006, in _find_and_load_unlocked + File "", line 688, in _load_unlocked + File "", line 883, in exec_module + File "", line 241, in _call_with_frames_removed + File "/home/uad/agents/transcriptor/src/main.py", line 15, in + from config import UPLOAD_DIR, ALLOWED_EXTENSIONS, STATIC_DIR, TEMPLATES_DIR, TRANSCRIPT_DIR +ModuleNotFoundError: No module named 'config' +Traceback (most recent call last): + File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main + return _run_code(code, main_globals, None, + File "/usr/lib/python3.10/runpy.py", line 86, in _run_code + exec(code, run_globals) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/__main__.py", line 4, in + uvicorn.main() + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 1161, in __call__ + return self.main(*args, **kwargs) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 1082, in main + rv = self.invoke(ctx) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 1443, in invoke + return ctx.invoke(self.callback, **ctx.params) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 788, in invoke + return __callback(*args, **kwargs) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/main.py", line 412, in main + run( + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/main.py", line 579, in run + server.run() + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/server.py", line 66, in run + return asyncio.run(self.serve(sockets=sockets)) + File "/usr/lib/python3.10/asyncio/runners.py", line 44, in run + return loop.run_until_complete(main) + File "uvloop/loop.pyx", line 1518, in uvloop.loop.Loop.run_until_complete + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/server.py", line 70, in serve + await self._serve(sockets) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/server.py", line 77, in _serve + config.load() + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/config.py", line 435, in load + self.loaded_app = import_from_string(self.app) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/importer.py", line 22, in import_from_string + raise exc from None + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/importer.py", line 19, in import_from_string + module = importlib.import_module(module_str) + File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module + return _bootstrap._gcd_import(name[level:], package, level) + File "", line 1050, in _gcd_import + File "", line 1027, in _find_and_load + File "", line 1006, in _find_and_load_unlocked + File "", line 688, in _load_unlocked + File "", line 883, in exec_module + File "", line 241, in _call_with_frames_removed + File "/home/uad/agents/transcriptor/src/main.py", line 15, in + from config import UPLOAD_DIR, ALLOWED_EXTENSIONS, STATIC_DIR, TEMPLATES_DIR, TRANSCRIPT_DIR +ModuleNotFoundError: No module named 'config' +Traceback (most recent call last): + File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main + return _run_code(code, main_globals, None, + File "/usr/lib/python3.10/runpy.py", line 86, in _run_code + exec(code, run_globals) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/__main__.py", line 4, in + uvicorn.main() + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 1161, in __call__ + return self.main(*args, **kwargs) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 1082, in main + rv = self.invoke(ctx) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 1443, in invoke + return ctx.invoke(self.callback, **ctx.params) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 788, in invoke + return __callback(*args, **kwargs) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/main.py", line 412, in main + run( + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/main.py", line 579, in run + server.run() + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/server.py", line 66, in run + return asyncio.run(self.serve(sockets=sockets)) + File "/usr/lib/python3.10/asyncio/runners.py", line 44, in run + return loop.run_until_complete(main) + File "uvloop/loop.pyx", line 1518, in uvloop.loop.Loop.run_until_complete + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/server.py", line 70, in serve + await self._serve(sockets) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/server.py", line 77, in _serve + config.load() + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/config.py", line 435, in load + self.loaded_app = import_from_string(self.app) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/importer.py", line 22, in import_from_string + raise exc from None + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/importer.py", line 19, in import_from_string + module = importlib.import_module(module_str) + File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module + return _bootstrap._gcd_import(name[level:], package, level) + File "", line 1050, in _gcd_import + File "", line 1027, in _find_and_load + File "", line 1006, in _find_and_load_unlocked + File "", line 688, in _load_unlocked + File "", line 883, in exec_module + File "", line 241, in _call_with_frames_removed + File "/home/uad/agents/transcriptor/src/main.py", line 15, in + from config import UPLOAD_DIR, ALLOWED_EXTENSIONS, STATIC_DIR, TEMPLATES_DIR, TRANSCRIPT_DIR +ModuleNotFoundError: No module named 'config' +Traceback (most recent call last): + File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main + return _run_code(code, main_globals, None, + File "/usr/lib/python3.10/runpy.py", line 86, in _run_code + exec(code, run_globals) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/__main__.py", line 4, in + uvicorn.main() + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 1161, in __call__ + return self.main(*args, **kwargs) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 1082, in main + rv = self.invoke(ctx) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 1443, in invoke + return ctx.invoke(self.callback, **ctx.params) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/click/core.py", line 788, in invoke + return __callback(*args, **kwargs) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/main.py", line 412, in main + run( + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/main.py", line 579, in run + server.run() + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/server.py", line 66, in run + return asyncio.run(self.serve(sockets=sockets)) + File "/usr/lib/python3.10/asyncio/runners.py", line 44, in run + return loop.run_until_complete(main) + File "uvloop/loop.pyx", line 1518, in uvloop.loop.Loop.run_until_complete + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/server.py", line 70, in serve + await self._serve(sockets) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/server.py", line 77, in _serve + config.load() + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/config.py", line 435, in load + self.loaded_app = import_from_string(self.app) + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/importer.py", line 22, in import_from_string + raise exc from None + File "/home/uad/agents/transcriptor/venv/lib/python3.10/site-packages/uvicorn/importer.py", line 19, in import_from_string + module = importlib.import_module(module_str) + File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module + return _bootstrap._gcd_import(name[level:], package, level) + File "", line 1050, in _gcd_import + File "", line 1027, in _find_and_load + File "", line 1006, in _find_and_load_unlocked + File "", line 688, in _load_unlocked + File "", line 883, in exec_module + File "", line 241, in _call_with_frames_removed + File "/home/uad/agents/transcriptor/src/main.py", line 15, in + from config import UPLOAD_DIR, ALLOWED_EXTENSIONS, STATIC_DIR, TEMPLATES_DIR, TRANSCRIPT_DIR +ModuleNotFoundError: No module named 'config' +2025-03-26 05:01:39.826 | DEBUG | engine.stt:__init__:46 - Using CUDA GPU for inference +INFO: Started server process [12383] +INFO: Waiting for application startup. +2025-03-26 05:01:39.833 | DEBUG | main:lifespan:24 - initializing audio processor +2025-03-26 05:01:39.833 | INFO | worker:start:61 - STT Engine started with model: None +INFO: Application startup complete. +INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit) +INFO: ('192.168.1.48', 63004) - "WebSocket /ws" [accepted] +INFO: connection open +INFO: ('192.168.1.48', 63005) - "WebSocket /ws" [accepted] +INFO: connection open +INFO: Shutting down +INFO: connection closed +INFO: connection closed +INFO: Waiting for application shutdown. +INFO: Application shutdown complete. +INFO: Finished server process [12383] +2025-03-26 05:02:01.139 | DEBUG | engine.stt:__init__:46 - Using CUDA GPU for inference +INFO: Started server process [12540] +INFO: Waiting for application startup. +2025-03-26 05:02:01.145 | DEBUG | main:lifespan:24 - initializing audio processor +2025-03-26 05:02:01.145 | INFO | worker:start:61 - STT Engine started with model: None +INFO: Application startup complete. +INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit) +INFO: ('192.168.1.48', 63014) - "WebSocket /ws" [accepted] +INFO: connection open +INFO: ('192.168.1.48', 63015) - "WebSocket /ws" [accepted] +INFO: connection open