Visual-Mic v2.0.0: Project hardening#11
Merged
Merged
Conversation
Remove denoise_spectral(), denoise_morphological(), --denoise, and --denoise-input CLI flags. Denoising is available separately via the audio_denoising repo. Add VERSION file (2.0.0), __version__, and --version CLI flag. Make -i/--input required (no longer optional due to --denoise-input mode). Fixes #3
Make wavelet parameters configurable: --nlevels (default 3), --biort (default near_sym_b), --qshift (default qshift_b). Defaults match DTCWT Motion Mag v2.0.0. Both CPU and GPU paths now use the same filter defaults for consistency. Add estimate_vram() and pre-flight VRAM check before GPU processing. Warns if estimated usage exceeds 70% of available VRAM with actionable suggestions. Fixes #4
…ging Upgrade GPU base image from pytorch:1.12.1-cuda11.3 to pytorch:2.1.2-cuda12.1-cudnn8-runtime. Pin numpy<2 in requirements-gpu.txt for pytorch_wavelets compatibility. Pin upper bounds on all dependencies. Update both Dockerfiles to include tests/ and requirements-dev.txt. Add VERSION build arg and version label. Update docker-build scripts to read VERSION file and tag images with version + latest. Add requirements-dev.txt (pytest, ruff) and tests/ stub for Dockerfile compatibility. Fixes #5
Add tests/test_visualmic.py (28 CPU tests) with tiered coverage: - Strict: format_duration, find_best_shift, save_wav - Moderate: postprocess_phase_signals, Butterworth filter, estimate_vram - Smoke: extract_audio on synthetic 256x256 video, CLI validation Add tests/test_visualmic_gpu.py (7 GPU tests): - DTCWTForward shapes/finiteness, custom filters - extract_audio_gpu smoke test on synthetic video - All skip automatically without CUDA Add test.sh Docker-based test runner supporting cpu/gpu/--build modes. Move nlevels validation before file check for early error reporting. Fixes #6
Add .github/workflows/ci.yml with two jobs matching EVM/DTCWT repos: - CPU: build Docker, lint (ruff), verify import/help/version - GPU: build GPU Docker, lint (ruff), verify import/help/version Triggers on push to main and pull requests to main. Fixes #7
Add CHANGELOG.md (Keep a Changelog, starting at v2.0.0), CONTRIBUTING.md, and docs/design/visualmic-hardening.md ADR. README overhaul: - Remove Part 4 (Denoising) — use audio_denoising repo instead - Restructure Setup section (remove YouTube link, add GPU Docker) - Add CI badge - Add Development section (tests, versioning, project structure) - Update CLI flags table with --nlevels, --biort, --qshift, --version - Update Future Work (remove GPU as done, remove denoising ref) - Update parameters table with filter defaults Fixes #8
This was referenced Mar 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Bring Visual-Mic to parity with EVM and DTCWT Motion Mag repos.
denoise_spectral(),denoise_morphological(),--denoise,--denoise-inputremoved. Useaudio_denoisingrepo instead.VERSIONfile (2.0.0),__version__,--versionflag, Docker image version tags--nlevels(default 3),--biort(defaultnear_sym_b),--qshift(defaultqshift_b) matching DTCWT Motion Mag v2.0.0test.shDocker-based runner,requirements-dev.txt.github/workflows/ci.ymlwith CPU + GPU jobs (lint, import, help, version)Fixes #3, Fixes #4, Fixes #5, Fixes #6, Fixes #7, Fixes #8
Note: #9 (manual GPU verification with MIT CSAIL video) and #10 (parent tracking) remain open.
Test plan
./test.sh— 28 passed, 7 skipped (CPU)./test.sh gpu— 32 passed, 3 skipped (GPU)🤖 Generated with Claude Code