Заметки с Совещаний через Whisper на Windows

Транскрибируйте звонки Zoom, Teams и Meet локально на Windows с помощью Whisper и low-latency audio capture loopback — без загрузки в облако, полная приватность, итоги в Markdown.

Если каждое совещание заканчивается перепиской с вопросом «а что мы в итоге решили?», проблема не в самой встрече — а в отсутствии надёжного транскрипта. Облачные сервисы транскрипции решают это частично, но требуют загрузки аудио звонка на сторонние серверы. По юридическим, комплаенс или просто приватным соображениям это не всегда допустимо.

В этом руководстве показано, как выстроить workflow голосовых заметок с совещаний полностью на вашем Windows-ПК: захватить аудио через low-latency audio capture loopback, обработать локальной моделью Whisper от OpenAI и автоматически извлечь Markdown-резюме с решениями и задачами. Без загрузки в облако. Без дополнительных подписок. Всё обрабатывается на вашей машине.


TL;DR

ШагИнструментВремя
Захват аудиоFFmpeg + low-latency audio capture loopbackВ реальном времени
ТранскрипцияWhisper (medium.en)~4 мин / 1 ч совещания
Извлечение задачPython + локальная LLM или вставить в AI~2 мин
РезультатФайл Markdown .mdМгновенно

Почему Локальная Транскрипция Лучше Облака для Совещаний

Большинство облачных сервисов транскрипции — Otter.ai, Fireflies, встроенные AI Notes в Zoom — работают путём отправки вашего аудио на удалённые серверы, где оно обрабатывается и нередко хранится для обучения моделей. Для неформальных личных разговоров это приемлемо. Для звонков с именами клиентов, финансовыми прогнозами, медицинскими данными или юридическими обсуждениями — нет.

Запуск Whisper локально означает, что аудиофайл никогда не покидает машину. Нет API-ключей, привязанных к корпоративному аккаунту, нет политики хранения данных, которую нужно читать, и нет возможности утечки контента звонков через взлом стороннего сервиса.

Есть и экономический аргумент. Облачная транскрипция в масштабе — 100 часов совещаний в месяц на команду — стоит от $40 до $200 на пользователя в месяц на большинстве платформ. Локальный вывод на GPU, которое у вас уже есть, не стоит ничего за транскрипт после первоначальной настройки.


Юридические Аспекты и Согласие — Читайте в Первую Очередь

Запись или транскрибирование совещания без согласия участников является незаконным во многих юрисдикциях, включая ряд штатов США (законы о двустороннем согласии), ЕС (GDPR, статья 6) и другие страны.

Перед транскрибированием любого совещания:

  1. Чётко объявите в начале: «Я записываю аудио для локальной транскрипции и составления заметок о встрече.»
  2. Дайте участникам возможность отказаться или говорить в частном порядке.
  3. Проверьте корпоративную политику записи звонков.
  4. Храните транскрипты в безопасности и применяйте те же правила обработки данных, что и к другим конфиденциальным документам.

Эта статья — техническое руководство. Это не юридическая консультация.


Что Вам Понадобится

  • Windows 10 или 11 — low-latency audio capture loopback доступен на обеих системах
  • Python 3.10+ — с python.org или через winget
  • FFmpeg — для захвата аудио с loopback-устройства
  • openai-whisper или faster-whisper — движок транскрипции
  • GPU NVIDIA (опционально, но рекомендуется) — RTX 2060 или лучше для быстрого вывода; CPU тоже работает
  • Приложение для совещаний: Zoom, Microsoft Teams, Google Meet или любое приложение, воспроизводящее аудио

Шаг 1 — Определить Устройство low-latency audio capture Loopback

low-latency audio capture loopback захватывает всё, что Windows воспроизводит через устройство вывода — тот же звук, что вы слышите в наушниках. Установка драйверов не требуется; это часть аудиостека Windows с Vista.

Откройте терминал и выполните:

ffmpeg -list_devices true -f dshow -i dummy 2>&1 | findstr /i "audio"

Вы увидите вывод примерно следующего вида:

"Speakers (Realtek High Definition Audio)" (audio)
"Headphones (USB Audio Device)" (audio)

Запишите точное название активного устройства вывода. Для захвата loopback добавьте (loopback) к имени устройства при использовании с FFmpeg.


Шаг 2 — Записать Аудио Совещания

Начните звонок в Zoom, Teams или Meet. До начала основного контента запустите FFmpeg в отдельном терминале:

ffmpeg -f dshow -i audio="Speakers (Realtek High Definition Audio) (loopback)" ^
  -ar 16000 -ac 1 -c:a pcm_s16le ^
  meeting_2026-06-12.wav

Ключевые параметры:

  • -ar 16000 — нативная частота дискретизации Whisper; передискретизация не требуется
  • -ac 1 — моно; уменьшает размер файла и соответствует ожидаемому входу Whisper
  • -c:a pcm_s16le — несжатый WAV для максимальной точности

Остановите запись по окончании совещания нажатием Ctrl+C. Час совещания с этими настройками даёт примерно 115 МБ.

Совет: Если качество аудио низкое из-за фонового шума, включение шумоподавления VoxBooster на канале микрофона перед звонком сохранит ваш голос чистым в захвате. low-latency audio capture loopback записывает смешанный вывод, поэтому аудио других участников выигрывает от обработки шума на их собственных платформах.


Шаг 3 — Установить Whisper

Если Whisper ещё не установлен:

pip install openai-whisper
# Для более быстрого вывода на CPU/GPU:
pip install faster-whisper

Для GPU-ускорения (NVIDIA) дополнительно установите:

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

Сначала проверьте версию CUDA командой nvidia-smi и подберите соответствующую версию cu.


Шаг 4 — Транскрибировать Запись

Через openai-whisper (CLI)

whisper meeting_2026-06-12.wav --model medium.en --output_format txt --output_dir ./transcripts

Это сохраняет файл .txt и файл субтитров .srt. Модель medium.en — только для английского языка, она быстрее и точнее для англоязычных совещаний, чем многоязычный medium.

Через faster-whisper (Python-скрипт)

from faster_whisper import WhisperModel

model = WhisperModel("medium.en", device="cuda", compute_type="float16")

segments, info = model.transcribe("meeting_2026-06-12.wav", beam_size=5)

with open("transcript.txt", "w", encoding="utf-8") as f:
    for segment in segments:
        timestamp = f"[{segment.start:.1f}s]"
        f.write(f"{timestamp} {segment.text.strip()}\n")

print("Транскрипция завершена.")

faster-whisper использует CTranslate2 под капотом и работает в 2–4 раза быстрее оригинала на том же железе.


Шаг 5 — Извлечь Задачи в Markdown

Сырые транскрипты — это стены текста. Полезный артефакт — структурированное резюме: принятые решения, назначенные задачи и открытые вопросы. Вот простой Python-скрипт, использующий Ollama (локальная LLM) для его генерации:

import subprocess
import sys

transcript_path = sys.argv[1]

with open(transcript_path, "r", encoding="utf-8") as f:
    transcript = f.read()

prompt = f"""Ты — ассистент по заметкам совещаний. По приведённому транскрипту создай Markdown-документ с разделами:
1. **Краткое резюме совещания** (3-5 предложений)
2. **Принятые решения** (маркированный список)
3. **Задачи** (маркированный список с ответственным и дедлайном, если упомянуты)
4. **Открытые вопросы** (маркированный список)

Транскрипт:
{transcript}
"""

result = subprocess.run(
    ["ollama", "run", "llama3"],
    input=prompt,
    capture_output=True,
    text=True,
    encoding="utf-8"
)

output_path = transcript_path.replace(".txt", "_summary.md")
with open(output_path, "w", encoding="utf-8") as f:
    f.write(result.stdout)

print(f"Резюме сохранено в {output_path}")

Запустите так:

python extract_actions.py transcripts/meeting_2026-06-12.txt

Нет Ollama? Вставьте транскрипт напрямую в любой AI-чат с тем же промптом. Результат идентичен — отличается только шаг автоматизации.


Руководство по Выбору Модели

МодельVRAMСкорость (GPU)Скорость (CPU)Для чего
tiny.en1 ГБОчень быстро5 мин/чЧерновики, тестирование
small.en2 ГББыстро20 мин/чМашины только с CPU
medium.en5 ГБСбалансировано60 мин/чРекомендация по умолчанию
large-v310 ГБМедленноНепрактичноМаксимальная точность, RTX 4070+

Все модели работают полностью офлайн после первоначальной загрузки.


Сравнение: Локальный Whisper vs. Облачные Сервисы Транскрипции

ФункцияWhisper (локально)Otter.aiFirefliesZoom AI Notes
Данные покидают устройствоНетДаДаДа
Стоимость в месяц$0$10–$20/пользователь$10–$19/пользовательВключено в Zoom
Точность (английский)88–94% WER~88%~87%~85%
Диаризация спикеровС pyannoteДаДаДа
Кастомный словарьЧерез промптПлатноПлатноНет
Работа офлайнДаНетНетНет
Время настройки30 мин5 мин5 мин0 мин

Облачные сервисы выигрывают по удобству и готовой диаризации. Локальный Whisper выигрывает по приватности, стоимости в масштабе и способности работать без интернета.


Добавление Диаризации Спикеров

Whisper сам по себе не определяет, кто что сказал. Для совещаний, где важна атрибуция, объедините его с pyannote.audio:

pip install pyannote.audio
from pyannote.audio import Pipeline

pipeline = Pipeline.from_pretrained(
    "pyannote/speaker-diarization-3.1",
    use_auth_token="ВАШ_HF_ТОКЕН"
)

diarization = pipeline("meeting_2026-06-12.wav")

for turn, _, speaker in diarization.itertracks(yield_label=True):
    print(f"{speaker}: {turn.start:.1f}s – {turn.end:.1f}s")

Временны́е метки диаризации можно совместить с временны́ми метками сегментов Whisper для получения транскриптов с метками спикеров. Модели pyannote работают локально после загрузки — аккаунт Hugging Face нужен только для принятия лицензии модели, но вывод полностью офлайн.


Конфиденциальность и Хранение Данных

При хранении транскриптов совещаний учитывайте следующее:

  • Шифруйте WAV-файлы и транскрипты, если они содержат конфиденциальную корпоративную информацию. BitLocker в Windows или VeraCrypt обеспечивают это на уровне папки.
  • Установите политику хранения — удаляйте сырые WAV-файлы после транскрипции; сохраняйте только резюме, если не нужны дословные цитаты.
  • Общие диски: Если вы синхронизируете транскрипты с OneDrive или SharePoint, проверьте, применяют ли эти системы OCR или AI-индексирование к загруженным документам.
  • Контроль доступа: Ограничьте доступ к файлам транскриптов только для участников. Общая папка \meetings\ на корпоративном сетевом диске не должна быть открыта для всей компании.

Предложение Ценности

Шумоподавление VoxBooster гарантирует чистоту канала микрофона до того, как аудио попадает в low-latency audio capture loopback, что напрямую улучшает частоту ошибок слов Whisper на вашем голосе. Работает локально на Windows 10/11, не требует драйверов ядра и интегрируется с любым приложением для совещаний. Доступен 3-дневный бесплатный пробный период — банковская карта не нужна.

После trial: тарифы от $6.99/месяц.


FAQ

Whisper транскрибирует в реальном времени на обычном Windows-ПК? Не в полном реальном времени с максимальной точностью — Whisper является пакетной моделью. На GPU среднего класса (RTX 3060) модель small или medium транскрибирует часовое совещание примерно за 3-5 минут после окончания звонка. Для живых субтитров существуют форки вроде Whisper Live, хотя они жертвуют частью точности ради снижения задержки.

Законно ли транскрибировать совещания в Zoom или Teams? Законность зависит от юрисдикции и политики компании. В большинстве случаев необходимо уведомить всех участников перед записью или транскрибированием. Всегда объявляйте в начале, что записываете аудио для заметок, и получайте явное согласие. Эта статья — техническое руководство, а не юридическая консультация.

Какое устройство low-latency audio capture loopback нужно установить? Устанавливать драйверы не нужно. low-latency audio capture loopback — нативный API Windows 10/11, зеркалирующий активное устройство вывода как источник захвата. FFmpeg, Python sounddevice и большинство аудиобиблиотек работают с ним напрямую. Виртуальный кабель и сторонние драйверы не требуются.

Какую модель Whisper использовать для транскрипции совещаний? Модель medium.en — лучший практический баланс: 1.5 ГБ VRAM, снижение WER примерно на 90% по сравнению с tiny и в 4-6 раз быстрее large на GPU. Для машин без GPU используйте small.en — она транскрибирует часовое совещание примерно за 20 минут на современном CPU.

Можно ли транскрибировать совещания без GPU? Да. Whisper работает на CPU через пакет openai-whisper или бэкенд CTranslate2 пакета faster-whisper, который сокращает время вывода примерно вдвое. Совещание, которое заняло бы 8 минут на GPU, займёт около 20-25 минут на современном CPU с small.en.

Как автоматически извлекать задачи из транскрипта? Простейший способ — Python-скрипт, передающий транскрипт в промпт локальной LLM (Ollama + llama3 или Mistral) с запросом решений и задач. Также можно вставить транскрипт в любой AI-чат. Шумоподавление VoxBooster поддерживает захваченное аудио чистым, напрямую улучшая точность транскрипции.

Работает ли этот workflow с записанными совещаниями Microsoft Teams? Да, двумя способами: захват живого аудио через low-latency audio capture loopback во время звонка или скачивание записи из Teams в OneDrive и запуск Whisper на MP4-файле. Второй вариант проще и позволяет транскрибировать повторно в любое время.


Дополнительные Материалы

Попробуй VoxBooster — 3 дня бесплатно.

Клонирование голоса в реальном времени, саундборд и эффекты — везде, где ты говоришь.

  • Без карты
  • ~30 мс задержки
  • Discord · Teams · OBS
Попробовать 3 дня бесплатно