Qevoxyl v1.3.0

Qevoxyl — Documentation Bundle (v1.3.0)

Voice in. Clean text out.

Tagline: Voice in. Clean text out.
Target OS: Windows 10/11 (x64)
Primary binary (dev build): dist\Qevoxyl\Qevoxyl.exe (PyInstaller one-folder)

Overview

Qevoxyl is a desktop speech-to-text utility with a clean CustomTkinter UI. It records audio (or loads existing WAV/MP3), runs offline transcription using OpenAI Whisper, and can read the transcript aloud via optional Online TTS (cloud) or offline/system TTS when you keep Online TTS off.

Key Features

  • Record / Transcribe — Capture mic audio or load a file and transcribe it offline.
  • Offline models — Whisper models are cached locally per user.
  • TTS — Playback via Online TTS (cloud) when enabled, or offline TTS (system voice) when disabled.
  • Context menu — Right-click a .wav/.mp3 → “Transcribe with Qevoxyl”.
  • Installer — Inno Setup per-user installer (no admin/UAC); optional Desktop/Startup shortcuts.
  • Logs — Persistent logs in %LOCALAPPDATA%\Qevoxyl\logs\app.log.

v1.3.0 Highlights

  • Reset/New Session (Ctrl+N) — cancels active work, clears UI, new target filename, resets timer.
  • Session guard — prevents stale background threads from updating the UI after reset.
  • Editable transcript — transcription results are left editable by default.
  • Persistent settings — appearance, model, and Online TTS toggle saved in settings.json.
  • Online/Offline TTS — toggle in UI; online uses cloud TTS (off by default), offline uses system voice.
  • FFmpeg hardening — imageio-ffmpeg resolution with local fallback copy into models\ffmpeg-bin.
  • Packaging — PyInstaller one-folder build with version resource & manifest; Inno script with code-signing hook and Startup shortcut (no Run key).
  • Docs/Site — updated landing page, changelog, and privacy policy; optional offline Poppins font bundle.

Building

Prerequisites

Verify Python:

py -3.13 -V

Environment Setup

# Create venv (optional but recommended)
py -3.13 -m venv .venv
. .venv\Scripts\Activate

# Upgrade pip & install deps
python -m pip install --upgrade pip
python -m pip install -r requirements.txt   # or install the list below

# Ensure ffmpeg shim is available
python -m pip install imageio-ffmpeg

Typical packages:

customtkinter pillow numpy sounddevice soundfile pygame
edge_tts aiohttp pyttsx3 comtypes
torch openai-whisper imageio-ffmpeg pyinstaller

Build (PyInstaller, one-folder)

We ship one-folder (not one-file) to reduce AV heuristics and improve startup time.

# Clean previous artifacts (optional)
Remove-Item -Recurse -Force .\build, .\dist -ErrorAction SilentlyContinue

# Build using the spec
python -m PyInstaller --clean .\app.spec

Result:

dist\Qevoxyl\Qevoxyl.exe        <-- run this

What the Spec Does (high level)

Local Run

# From project root
.\dist\Qevoxyl\Qevoxyl.exe
# or auto-transcribe a file
.\dist\Qevoxyl\Qevoxyl.exe "C:\path\audio.wav"

Logs & Settings (dev)

Troubleshooting (build/runtime)

PyInstaller

Whisper/Torch

Audio

FFmpeg

Performance Tips

Packaging

PyInstaller Output

Why one-folder?

Inno Setup Installer (per-user, no UAC)

Key traits

Context Menu (per-user)

HKCU\Software\Classes\SystemFileAssociations\.{wav|mp3}\shell\Qevoxyl.Transcribe
Command: "{app}\Qevoxyl.exe" "%1"

Startup (per-user)

{userstartup}\Qevoxyl.lnk  ->  "{app}\Qevoxyl.exe"

Code Signing (optional but recommended)

SignTool=signtool sign /a /fd SHA256 /tr http://timestamp.digicert.com /td SHA256 /d "Qevoxyl 1.3.0" $f
SignedUninstaller=yes
Don’t have a cert yet? Ship unsigned while testing, then acquire OV/EV for releases.

Publishing & Checksums

# Installer
certutil -hashfile .\output\Qevoxyl-Setup-1.3.0.exe SHA256

# App binary
certutil -hashfile .\dist\Qevoxyl\Qevoxyl.exe SHA256

Web Assets (optional, offline fonts)

AV-Friendlier Packaging Defaults

Security & Privacy

Privacy (summary)

See privacy.html for the full user-facing policy.

Runtime Security Choices

Code Signing (recommended)

Reducing AV False Positives

Verifying Integrity

# Verify installer
certutil -hashfile .\output\Qevoxyl-Setup-1.3.0.exe SHA256

# Verify app exe
certutil -hashfile .\dist\Qevoxyl\Qevoxyl.exe SHA256

If signed: Right-click → Properties → Digital Signatures → verify signature and timestamp.

Support & Reporting

Changelog

1.3.0

1.2.0

Support