Skip to content

Add ZoomIt webcam backgroun (blur) and microphone noise cancellation#48266

Merged
foxmsft merged 13 commits into
microsoft:mainfrom
foxmsft:foxmsft/zoomit-av-models
Jun 11, 2026
Merged

Add ZoomIt webcam backgroun (blur) and microphone noise cancellation#48266
foxmsft merged 13 commits into
microsoft:mainfrom
foxmsft:foxmsft/zoomit-av-models

Conversation

@foxmsft

@foxmsft foxmsft commented Jun 2, 2026

Copy link
Copy Markdown
Contributor

Summary of the Pull Request

This change adds the RNNoise filter for noise cancellation (audio) and the Google mediapipe selfie_segmentation_cpu model for webcam background detection and blurring.

It also fixes an issue introduced with ba68b88 causing the ZoomIt shortcuts to fail to register in the standalone version.

PR Checklist

  • Closes: #xxx
  • Communication: I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected
  • Tests: Added/updated and all pass
  • Localization: All end-user-facing strings can be localized
  • Dev docs: Added/updated
  • New binaries: Added on the required places
  • Documentation updated: If checked, please file a pull request on our docs repo and link it here: #xxx

Detailed Description of the Pull Request / Additional comments

The Settings UI has been extended with a Noise cancellation option, a Background selection for the webcam and a Brightness slider.

The functionality for these is added to ZoomIt itself. Also, restored the Mono checkbox which was accidentally masked by b93fd97.

Validation Steps Performed

@foxmsft foxmsft requested review from MarioHewardt and niels9001 June 2, 2026 18:29

@github-advanced-security github-advanced-security AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

check-spelling found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@niels9001 niels9001 added Area-Localization issues regarding to Localization the application Product-Settings The standalone PowerToys Settings application Product-ZoomIt Refers to the ZoomIt tool and removed Product-Settings The standalone PowerToys Settings application Area-Localization issues regarding to Localization the application labels Jun 5, 2026
MarioHewardt and others added 13 commits June 10, 2026 12:37
- Add background selection for webcam
- Move webcam settings to own dialog and remove dep on external onnx engine
- Move attribution to webcam settings dialog
- Blurring perf improvements and embedding segmentation model
- Blurring tweak to make less aggressive
- Perf improvement: Add GPU support
- Perf improvements
- Optimizations
- Optimizations during fast movements
- Optimizations and GPU offloading
- Add brightness slider in settings
- GPU-accelerate background blur via D3D11 compute shader
- Add noise reduction
- Update settings
- Add noise cancellation setting
- Add rnnoise x86 ignored by .gitignore
- Update gitignore to allow rnnoise
@foxmsft foxmsft force-pushed the foxmsft/zoomit-av-models branch from efcd09d to 947b027 Compare June 10, 2026 10:50
Comment thread src/modules/ZoomIt/ZoomIt/rnnoise/kiss_fft.h Dismissed
@github-actions

Copy link
Copy Markdown

@check-spelling-bot Report

🔴 Please review

See the 📂 files view, the 📜action log, 👼 SARIF report, or 📝 job summary for details.

❌ Errors and Warnings Count
⚠️ binary-file 1
⚠️ duplicate-pattern 2
❌ forbidden-pattern 1
⚠️ large-file 1

See ❌ Event descriptions for more information.

Some files were automatically ignored 🙈

These sample patterns would exclude them:

^src/modules/ZoomIt/ZoomIt/rnnoise/rnnoise_data_little\.c$
^src/modules/ZoomIt/ZoomIt/selfie_segmentation\.onnx$

You should consider adding them to:

.github/actions/spell-check/excludes.txt

File matching is via Perl regular expressions.

To check these files, more of their words need to be in the dictionary than not. You can use patterns.txt to exclude portions, add items to the dictionary (e.g. by adding them to allow.txt), or fix typos.

To update file exclusions, you could run the following commands

... in a clone of the git@github.com:foxmsft/PowerToys.git repository
on the foxmsft/zoomit-av-models branch (ℹ️ how do I use this?):

curl -s -S -L 'https://raw.githubusercontent.com/check-spelling/check-spelling/cfb6f7e75bbfc89c71eaa30366d0c166f1bd9c8c/apply.pl' |
perl - 'https://github.com/microsoft/PowerToys/actions/runs/27271097117/attempts/1' &&
git commit -m 'Update check-spelling metadata'

Forbidden patterns 🙅 (1)

In order to address this, you could change the content to not match the forbidden patterns (comments before forbidden patterns may help explain why they're forbidden), add patterns for acceptable instances, or adjust the forbidden patterns themselves.

These forbidden patterns matched content:

Should be a
\san (?=(?:[b-dfgjklpqtvwz]|h(?!onou?r|our|s[lv]|tml|ttp|ref)|n(?!ginx|grok|pm)|r(?!c)|s(?!s[ho]|vg))[a-z]|x(?!\b|[-\d]|ml))
If the flagged items are 🤯 false positives

If items relate to a ...

  • binary file (or some other file you wouldn't want to check at all).

    Please add a file path to the excludes.txt file matching the containing file.

    File paths are Perl 5 Regular Expressions - you can test yours before committing to verify it will match your files.

    ^ refers to the file's path from the root of the repository, so ^README\.md$ would exclude README.md (on whichever branch you're using).

  • well-formed pattern.

    If you can write a pattern that would match it,
    try adding it to the patterns.txt file.

    Patterns are Perl 5 Regular Expressions - you can test yours before committing to verify it will match your lines.

    Note that patterns can't match multiline strings.

@foxmsft foxmsft merged commit 272b725 into microsoft:main Jun 11, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Product-ZoomIt Refers to the ZoomIt tool

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants