Fuente
All about QA - Все про тестування ПЗ | Скрипт для розпізнавання аудіо українською мовоюЩо робить:- Обробляє в...
690 Vistas/Alcance
2025-03-25 05:35
Mensaje №1058
🎧 Скрипт для розпізнавання аудіо українською мовоюЩо робить:- Обробляє всі файли у папці audio/- Розпізнає українську мову (Whisper Large)- Зберігає текст у файл- Відкриває результат у VS CodeЯк запустити:1. Встановити Python: https://www.python.org/downloads/2. Встановити FFmpeg: - Mac: brew install ffmpeg - Windows: https://ffmpeg.org/download.html3. Встановити бібліотеки:pip install openai-whisper ffmpeg-python4. Створити папку audio/ і додати туди файли (.mp3, .wav, .m4a, .flac)5. Запустити скрипт:python transcriber.pyРезультат:- Для кожного файлу з’явиться текстовий файл з розпізнаним текстом.Сам код:import whisperimport osimport subprocessimport time # ⬅️ Додаємо імпорт timeprint("=== Скрипт стартував ===")# Вимірюємо час стартуstart_time = time.time()# Завантаження моделі Whisperprint("Завантаження моделі...")model = whisper.load_model("large") # ⬅️ Тут обираєш точну модельprint("Модель завантажено!")# Шлях до аудіофайлівaudio_dir = "audio"supported_formats = [".mp3", ".wav", ".m4a", ".flac"]# Сканування аудіофайлівaudio_files = [f for f in os.listdir(audio_dir) if os.path.splitext(f)[1].lower() in supported_formats]if not audio_files: print("⚠️ Аудіофайли не знайдено в папці 'audio/'.")else: print(f"Знайдено файлів: {len(audio_files)}") for file_name in audio_files: audio_path = os.path.join(audio_dir, file_name) print(f"\n▶️ Обробка: {audio_path}") result = model.transcribe(audio_path, language="uk") recognized_text = result["text"] output_file = os.path.join(audio_dir, f"{os.path.splitext(file_name)[0]}_transcription.txt") with open(output_file, "w", encoding="utf-8") as f: f.write(recognized_text) print(f"✅ Збережено у файл: {output_file}") subprocess.run(["code", output_file]) # Автовідкриття VS Code# Вимірюємо час завершенняend_time = time.time()elapsed = end_time - start_timeprint(f"\n⏱️ Обробка завершена за {elapsed:.2f} секунд")print("=== Скрипт завершено ===")