From e6b6ed52b74f72599eba6193a9d4a9a51fda2219 Mon Sep 17 00:00:00 2001 From: Serge Zaigraeff Date: Sun, 2 Mar 2025 09:33:55 +0300 Subject: [PATCH] . --- .DS_Store | Bin 0 -> 6148 bytes app/audio_processor.py | 7 +++++++ app/routes.py | 5 +++-- app/transcriber.py | 8 ++++++++ 4 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..2491fee627cf5182885352be18cd45d0a01d14c3 GIT binary patch literal 6148 zcmeHKOHRW;4E3~?C_+eGvLj2jy+K-q6LgOtt<+K_nux%H1tNPc!;*3U&cH1=0z8kc zHfd9KAcSmb{HFelofj!n6OkL=&4xq+BI;u?b`GIhg#EmBq@$K&pyM;9S?Ybp)~>n? z{x}2t?z(hE1r@Wh{{Dg~n-3>bpBM5FPoJCM+$Twz`4pD^%h~GUef2h~duQKxi$(p^ zXFmLZ7IaM|-IAvpx^LFyfbEES{fCd!$5*Mpbx!U#ee92F_7kf0C_^W6DqA{P`|3R` zN50e^YW_|2Hh)XqP~4O;UI-2prn)2;lpWVrxS_`)p33l!pX&g zri}q(pviy^=>xw1&-c&&%_RF}3>X9diUHS4Cdn9&q<8Di!|`1kVO?Uea9kz0PQfNz g#fasr_yj8m>=AE(v0^0%3&j2i1R6{k1Ha0^7soei8~^|S literal 0 HcmV?d00001 diff --git a/app/audio_processor.py b/app/audio_processor.py index 6d5e57f..ba7c428 100644 --- a/app/audio_processor.py +++ b/app/audio_processor.py @@ -1,3 +1,10 @@ +""" +Файл audio_processor.py содержит класс AudioProcessor, предназначенный для предобработки аудиофайлов +перед их использованием в системах распознавания речи. Класс предоставляет методы для конвертации +аудио в формат WAV с частотой дискретизации 16 кГц, нормализации уровня громкости, +добавления тишины в начало записи, а также для удаления временных файлов, созданных в процессе обработки. +""" + import os import subprocess import tempfile diff --git a/app/routes.py b/app/routes.py index 1a19117..14140ed 100644 --- a/app/routes.py +++ b/app/routes.py @@ -29,7 +29,7 @@ class FakeFile: Пример использования: >>> with open('audio.wav', 'rb') as f: >>> fake = FakeFile(f, 'audio.wav') - >>> fake.save('/tmp/copy.wav') # Новый метод сохранения + >>> fake.save('/tmp/copy.wav') >>> processor.handle_file(fake) """ def __init__(self, file, filename): @@ -123,7 +123,8 @@ class AudioFileProcessor: return jsonify({ "text": text, "processing_time": processing_time, - "response_size_bytes": len(text.encode('utf-8')) + "response_size_bytes": len(text.encode('utf-8')), + "model": os.path.basename(self.config["model_path"]) }), 200 except Exception as e: diff --git a/app/transcriber.py b/app/transcriber.py index f34af79..6ebe5a5 100644 --- a/app/transcriber.py +++ b/app/transcriber.py @@ -1,3 +1,11 @@ +""" +Этот файл (transcriber.py) содержит класс WhisperTranscriber, который использует модель Whisper от +OpenAI для транскрибации аудиофайлов в текст. Класс включает в себя методы для загрузки модели, +обработки аудио (с использованием класса AudioProcessor), и выполнения транскрибации. +Обрабатывает выбор устройства (CPU, CUDA, MPS) для выполнения вычислений и обеспечивает +возможность использования Flash Attention 2 для ускорения работы модели на поддерживаемых GPU. +""" + import time from typing import Dict, Tuple