Небольшое кроссплатформенное “оконное” приложение на C#/.NET + Avalonia, которое:
- скачивает локальную модель Whisper (whisper.cpp через
whisper.net) при необходимости - принимает на вход аудиофайл (пока только файлы, без потоков)
- делает speech‑to‑text
- сохраняет результат в
.txt
- .NET SDK (проект собирается на
net9.0) - ffmpeg в PATH (Windows/macOS/Linux) — используется для приведения входного аудио к WAV 16kHz mono (
pcm_s16le) - LibVLC (для вкладки Видео):
- Windows/macOS: подтягивается через NuGet (
VideoLAN.LibVLC.*) - Linux: обычно нужен установленный системный
libvlc/VLC (иначе видеоплеер не стартанёт)
- Windows/macOS: подтягивается через NuGet (
dotnet restore
dotnet run- Вкладка «Аудио» → «Выбрать…» и выбрать аудиофайл.
- Выбрать модель (или оставить как есть).
- «Транскрибировать» — результат сохранится в
.txt.
- Вкладка «Видео» → «Выбрать видео…».
- «Субтитры → (re)generate»:
- извлечёт аудио через ffmpeg
- прогонит через Whisper
- сохранит субтитры в
subs/возле исполняемого файла (.srtи.vtt)
- Перемотка ползунком под видео синхронно переключает субтитры.
- Справа можно редактировать сегменты и подгонять тайминги кнопками
±100ms/±500ms.
Модели скачиваются в папку пользовательских данных приложения:
.../WhisperTranscriptor/models/
(путь зависит от ОС; приложение берёт Environment.SpecialFolder.ApplicationData).