import os import subprocess import sys import urllib.request import zipfile import shutil VENV_DIR = "venv" REQUIREMENTS_FILE = "requirements.txt" MODEL_URL = "https://alphacephei.com/vosk/models/vosk-model-small-pl-0.22.zip" MODEL_ZIP = "vosk-model-small-pl-0.22.zip" MODEL_DIR = "vosk-model-small-pl-0.22" def create_virtualenv(): print("[+] Tworzenie środowiska wirtualnego...") subprocess.check_call([sys.executable, "-m", "venv", VENV_DIR]) def install_requirements(): print("[+] Instalacja pakietów z requirements.txt...") pip_path = os.path.join(VENV_DIR, "bin", "pip") if os.name != "nt" else os.path.join(VENV_DIR, "Scripts", "pip.exe") subprocess.check_call([pip_path, "install", "-r", REQUIREMENTS_FILE]) def download_model(): if os.path.exists(MODEL_DIR): print("[i] Model już istnieje, pomijam pobieranie.") return print(f"[+] Pobieranie modelu z {MODEL_URL}...") urllib.request.urlretrieve(MODEL_URL, MODEL_ZIP) print("[+] Rozpakowywanie modelu...") with zipfile.ZipFile(MODEL_ZIP, 'r') as zip_ref: zip_ref.extractall(".") print("[+] Usuwanie archiwum ZIP...") os.remove(MODEL_ZIP) def main(): create_virtualenv() install_requirements() download_model() print("[✓] Gotowe!") if __name__ == "__main__": main()