TreeMap
무료 오픈소스 디스크 사용량 시각화 도구로, 사각형 트리맵·중복 파일 탐색·디스크 가득 예측·정리 시 파일을 휴지통으로만 이동한다
Скриншот, який пояснює сам себе: виділи область, скажи голосом, що не так, і встав у чат. Windows, офлайн-розпізнавання (Whisper).
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗ScreenVoicer — легка програма для Windows і macOS, що живе в треї (на Mac — у рядку меню): робить знімок екрана, дає швидко його розмітити, записує голосовий коментар (розпізнається онлайн через сервер ScreenVoicer — Cloudflare Workers AI, whisper-large-v3-turbo; без інтернету — локально через Whisper) і копіює в буфер обміну готовий Markdown для баг-репорту чи AI-асистента.
[C:\AI_Screenshots\screenshot_20261009_141611_139.png]
**Comment:** Кнопка «Зберегти» не реагує, якщо змінити email і одразу натиснути Enter.
macOS: та сама програма й той самий вигляд, macOS 14 або новіший. Як встановити й дати дозволи — у mac/README.md.
Alt + Shift + S, змінюється в треї: натиснув комбінацію — і готово, зайняті програма відхиляє) — миттєвий знімок монітора під курсором у рідній роздільності (коректно працює з різним масштабом на кількох моніторах).Ctrl+Z / Ctrl+Y для всього, включно з переміщенням і правками тексту.Пробіл і говоріть, або коротко натисніть Пробіл / клацніть мікрофон — запис іде, доки не натиснете ще раз. Працює і коли курсор у полі коментаря (короткий Пробіл друкує пробіл, утримання — записує). Текст з'являється наживо, після зупинки уточнюється; кілька фрагментів дописуються один за одним, ручні правки не губляться.share-worker/ (POST /api/transcribe, Workers AI @cf/openai/whisper-large-v3-turbo, мова визначається сама; якщо модель почула російську, сервер переробляє українською). Безкоштовний ліміт Workers AI — 10 000 «нейронів» на день (≈ 3,5 години мовлення для всіх разом); коли його вичерпано або немає інтернету, програма розпізнає локально (Whisper.net, модель на диску), текст під час розмови більше не показується (локальна модель надто часто помилялась). Сервер спершу розпізнає через Groq (GROQ_API_KEY, безкоштовний ключ console.groq.com; повна модель whisper-large-v3, ≈2 000 запитів і 8 годин мовлення на день): мова визначається сама, а все, що не українська й не англійська, переробляється українською. Якщо на сервері заданий секрет GEMINI_API_KEY (безкоштовний ключ Google AI Studio), сервер спершу розпізнає через Google Gemini (GEMINI_MODEL, за замовчуванням gemini-flash-latest) і лише при помилці чи вичерпаному ліміті — через Whisper. Вибору мови й моделі в треї більше немає.Enter — вікно зникає одразу, PNG зберігається у фоні, у буфер потрапляють Markdown, сам файл і картинка (вставляється і в термінал, і в Slack/Telegram/браузер).dc:description). Людям його не видно: месенджери, що стискають фото, його стирають, а AI-чати читають лише пікселі. Це службова річ (галерея, завантаження зі сторінки посилання), на сайті її не обіцяємо./s/<id>.md і /s/<id>.json. Сервер: share-worker/ (Cloudflare Worker, безкоштовний тариф).Час на фразу 4–7 с (GeForce GTX 1650 / Core i5-10400F):
| Модель | Розмір | Відеокарта (CUDA / Vulkan) | Процесор | Коли обирати |
|---|---|---|---|---|
Швидка — base | 141 МБ | 0,3 с | 1,3 с | слабкий ПК без відеокарти |
Точна — small | 181 МБ | 0,7 с | 4,2 с | слабша відеокарта або потрібна швидкість |
Дуже точна — turbo | 547 МБ | 2,8 / 3,3 с | дуже повільно | відеокарта AMD / Intel (large-v3-turbo) |
Максимальна — large | 1031 МБ | 3,5 / 8 с | дуже повільно | рекомендовано з NVIDIA + CUDA: найкраще розуміє нечітку вимову (large-v3) |
На записі з нечіткою вимовою large розпізнав фразу без помилок, turbo помилився в одному слові, small — майже в кожному.
Прискорення NVIDIA CUDA (для локального запасного розпізнавання; у треї більше не пропонується): збірка Whisper.net з CUDA, яку раніше можна було завантажити окремо.
Перший запуск через Vulkan компілює шейдери (~25 с, один раз): у цей час розпізнавання вже працює на процесорі, а потім само переходить на відеокарту. Якщо драйвер відеокарти колись «впаде», програма помітить це під час наступного запуску і перемкнеться на процесор.
| Клавіша | Дія |
|---|---|
Alt + Shift + S або ваша | Зробити знімок (глобально) |
| Клік по іконці в треї | Зробити знімок; правий клік — меню |
| Миша | Виділити область |
Затиснути Пробіл | Голосовий коментар, поки тримаєте |
Коротко Пробіл або клік по мікрофону | Почати / зупинити запис без утримання |
Enter | Зберегти PNG і скопіювати Markdown (у текстовому підписі — завершити підпис) |
Shift + Enter | Новий рядок у коментарі чи підписі |
Esc | Скасувати (під час запису — викинути цей фрагмент; у полі коментаря чи підписі — вийти з поля) |
P H A R T N B E | Олівець, маркер, стрілка, рамка, текст, мітка 1-2-3, «Приховати», гумка |
1–6, [ ] | Колір, товщина / розмір тексту й міток |
Ctrl + Z / Ctrl + Y | Скасувати / повторити |
Shift під час малювання | Стрілка під кутом 45°, рамка-квадрат |
| Гумкою по підпису, мітці чи прихованому | Видалити його |
| Тягнути квадратик на рамці | Підправити область |
Steam Streaming) і передає лише тишу.%LOCALAPPDATA%\ScreenVoicer\logs\screenvoicer.log.ScreenVoicer.exe --selftest [--model large] [--cpu] [--lang en] speech.wav (WAV 16 кГц, моно) — завантажує модель так само, як програма, і друкує, де вона працює, результат і час розпізнавання.%APPDATA%\ScreenVoicer\, скриншоти — у C:\AI_Screenshots\ (або Зображення\AI_Screenshots, якщо в корінь диска писати не можна).Знак програми — помаранчева плитка, що світиться, як лампа «запис» на камері, з темними кутами кадру й білою капсулою мікрофона. Це один малюнок для всіх розмірів, від трею (16 px) до іконки програми. Уся програма в темному склі з одним теплим акцентом:
| Роль | Колір |
|---|---|
| Акцент (лампа, «Зберегти», активні елементи) | #FF8A4C → #FFC68A |
| Тло вікон / поверхні | #0F0F13 / #17171D |
| Текст / другорядний текст | #F3F3F6 / #9D9DAA |
| Запис голосу | #FF4D5E |
App.xaml.Icon.* в App.xaml, малює їх Views/GlyphIcon.BrandMark в App.xaml). Файли Resources/AppIcon.ico (16–256 px) і AppLogo.png згенеровані з нього. Для сайту й соцмереж є branding/logo.svg і logo-512.png, а дошка напрямів бренду — у branding/brand-board.html.landing/index.html разом із картинками в landing/img. Це статична сторінка, її можна викласти на будь-який хостинг (GitHub Pages, Netlify). Кнопка «Завантажити» поки має позначку «скоро»; щоб її увімкнути, замініть aria-disabled на справжнє посилання на інсталятор.ScreenVoicer/
├── App.xaml(.cs) # трей, один екземпляр, автозапуск, глобальні помилки; бренд: кольори, скло, іконки, лого
├── app.manifest # Per-Monitor V2 DPI, сучасні системні діалоги
├── Native/User32.cs # гаряча клавіша, позиціювання/активація вікон, DWM
├── Services/
│ ├── ScreenCaptureService # знімок монітора під курсором
│ ├── AudioRecorderService # запис 16 кГц моно (WinMM), вибір мікрофона за назвою
│ ├── WhisperTranscriptionService # моделі, CPU→GPU (CUDA / Vulkan), перемикання без перерви, превʼю/фінал
│ ├── CudaPack # необовʼязкове прискорення NVIDIA CUDA (завантаження з перевіркою SHA-256)
│ ├── WhisperModels # каталог моделей (base / small / turbo / large)
│ ├── SpeechTextUtils # детектор тиші, доповнення коротких фраз, фільтр «галюцинацій»
│ ├── ImageCompositorService # шар анотацій у рідній роздільності, кроп, PNG
│ ├── ClipboardService # Markdown + файл + картинка в буфер
│ ├── HistoryService # history.json (атомарний запис, резервна копія при пошкодженні)
│ ├── NotificationService # стек сповіщень
│ ├── HotkeyService, HotkeyGesture # глобальна гаряча клавіша та її розбір/показ
│ ├── SettingsService, StartupManager, Log, SelfTest
└── Views/
├── OverlayWindow # вікно знімка: виділення, розмітка, текст, мітки, голос
├── GalleryWindow # галерея
├── HotkeyWindow # «натисніть нову комбінацію»
├── TrayMenuWindow # скляне меню трею
├── ToastWindow, CountdownWindow
└── GlyphIcon # лінійні іконки бренду
branding/ # лого (SVG/PNG), дошка напрямів бренду
landing/ # статичний лендінг
dotnet build
dotnet run
Один самодостатній .exe (без встановленого .NET):
dotnet publish -c Release -o ./publish
Інсталятор: відкрийте installer.iss в Inno Setup 6 і зберіть — він додає автозапуск з ключем --autostart (без відкриття галереї при вході в систему).