diff --git a/.gitignore b/.gitignore index 91fe893..6f18bf5 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ build/ downloads/ temp/ .DS_Store +folders.txt diff --git a/README.md b/README.md index af6209e..c881ec2 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ Novofon DATA API ──► call-to-text ──► Directus (Postgres) - Звонки получаются через JSON-RPC API (`get.calls_report`) - Аудио скачивается по прямой ссылке -- Стерео-файлы разделяются на каналы: левый = caller, правый = callee +- Стерео-файлы разделяются на каналы: левый = callee, правый = caller - Каждый канал транскрибируется через faster-whisper на CUDA - Результат сохраняется в Directus (коллекции `calls` / `calls_*`) @@ -239,7 +239,7 @@ docker compose down -v 1. `get.calls_report` получает звонки чанками по 90 дней (максимум API) 2. Скачивается аудио по `full_record_file_link` или `call_records` 3. FFmpeg конвертирует в WAV: 16 кГц, pcm_s16le, моно или стерео -4. Если каналы разные (реальное стерео) — левый = caller, правый = callee +4. Если каналы разные (реальное стерео) — левый = callee, правый = caller 5. Каждый канал транскрибируется faster-whisper на CUDA (float16) 6. Сегменты выравниваются по времени и маркируются спикером 7. Результат сохраняется в Directus diff --git a/aligner/aligner.py b/aligner/aligner.py index 5301048..343fdb5 100644 --- a/aligner/aligner.py +++ b/aligner/aligner.py @@ -8,7 +8,7 @@ def align(left_segments: list[dict], right_segments: list[dict]) -> list[dict]: merged.append({ "start": seg["start"], "end": seg["end"], - "speaker": "caller", + "speaker": "callee", "text": seg["text"].strip(), }) @@ -16,7 +16,7 @@ def align(left_segments: list[dict], right_segments: list[dict]) -> list[dict]: merged.append({ "start": seg["start"], "end": seg["end"], - "speaker": "callee", + "speaker": "caller", "text": seg["text"].strip(), }) diff --git a/folders.txt b/folders.txt new file mode 100644 index 0000000..2dc32b1 --- /dev/null +++ b/folders.txt @@ -0,0 +1,18 @@ +Отправленные +Архив +Вход +ГБУ Малый бизнес +Запись разговоров +Исходящие +Регистрации +Спам +Старые +Удаленные +Черновики +Черновики|template +INBOX +Mailspring +Mailspring|Snoozed +Support +Templates +hh.ru diff --git a/main.py b/main.py index 1f3d749..43e788d 100644 --- a/main.py +++ b/main.py @@ -112,7 +112,7 @@ def _transcribe_stereo(wav_path: str, meta: dict) -> dict: click.echo(" Real stereo, splitting channels...") left_wav, right_wav = split_stereo_channels(wav_path, config.TEMP_DIR) - click.echo(" Transcribing left channel (caller)...") + click.echo(" Transcribing left channel (callee)...") left_segments, left_text = transcribe( left_wav, model_size=config.WHISPER_MODEL_SIZE, @@ -120,7 +120,7 @@ def _transcribe_stereo(wav_path: str, meta: dict) -> dict: compute_type=config.WHISPER_COMPUTE_TYPE, ) - click.echo(" Transcribing right channel (callee)...") + click.echo(" Transcribing right channel (caller)...") right_segments, right_text = transcribe( right_wav, model_size=config.WHISPER_MODEL_SIZE,