Sno Station
Sno Station은 AI 에이전트를 하나의 팀으로 묶는 오픈소스 워크스테이션으로, 로컬 머신에서 에이전트 협업을 가능하게 함
Automatic volume normalizer for Chrome: no clicks. Tames loud ads and peaks, lifts quiet dialogue, all on-device.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Automatic volume normalizer for Chrome — loud ads and sudden peaks down, quiet dialogue up. No clicks.
Install it and forget it. LoudEase evens out video and audio volume on the sites you watch,
so you stop reaching for the volume control. Processing stays on your device, and player volume and mute stay yours.
Install LoudEase from the Chrome Web Store
If LoudEase helps, leave an honest store review or star the project on GitHub .
LoudEase is publicly available as a beta. Compatibility statements below distinguish verified behavior from community test targets.README 전문 보기 ↗[!NOTE] LoudEase is publicly available as a beta. Compatibility statements below distinguish verified behavior from community test targets.
It works automatically on video and audio elements in ordinary web pages (verified today on YouTube and Bilibili); nothing to click per tab. For sites where Chrome protects the audio, one click on that tab switches to full-tab capture.
| LoudEase | Typical volume booster | Typical fixed compressor | |
|---|---|---|---|
| Adapts to each video and ad | Yes, measures programme loudness | No, one gain for everything | Partly, fixed threshold |
| Lifts quiet sources | Bounded, confidence-gated lift | Boosts everything, including peaks | Makeup gain only |
| Protects against sudden peaks | 5 ms look-ahead limiter | Often clips | Depends on settings |
| Respects mute and player volume | Hard boundary | Usually not | Usually not |
| Needs per-tab clicks | No (automatic) | Often | Often |
| Audio leaves your device | Never | Varies | Varies |
Web audio rarely agrees on one comfortable level. Dialogue disappears, effects jump out, ads arrive hot, and the next creator or stream can sound completely different. A normal volume slider moves everything together; LoudEase works on the difference between moments.
Use the website player or operating-system volume to choose the overall listening level. The two LoudEase controls only set how strongly loud passages are reduced and quiet detail is lifted. LoudEase intentionally does not add a separate master-volume slider: moving every sound together would duplicate existing volume controls without improving source-to-source balance.
| Calm sudden loudness | Recover quiet detail | Respect your controls |
|---|---|---|
| Fast gain reduction and a look-ahead limiter catch uncomfortable jumps and short peaks. | A programme baseline lifts sources that are quiet overall; clearly audible within-programme detail gets at most 16 dB extra lift, while near-silence is not chased. | Mute and zero player volume are hard boundaries. The UI only says active when fresh runtime evidence exists. |
LoudEase is not a simple volume booster, an equalizer, or a calibrated hearing-protection device. It narrows disruptive level differences with a strength-scaled, bounded peak-compression budget.
Eligible audible media is routed through a local AudioWorklet automatically; when Chrome protects the audio, the authorized tab is captured as one audio stream and processed by the same worklet. K-weighted gated measurement establishes a stable programme baseline, a floor-qualified 16 dB detail term handles clearly audible quiet passages, and independent fast protection plus a 5 ms look-ahead limiter catch loud onsets. Transient blob or srcObject replacement inside one page does not reset the programme. Upward lift still waits for representative signal, but now reaches full confidence after about 1.5 seconds of continuous accepted audio so short quiet videos are not left behind. No raw audio is uploaded.
For implementation details, assumptions, and current gaps, read Audio DSP, Architecture, and Known limitations.
LoudEase attaches to audible video and audio elements on its own (automatic mode). Media that Chrome would silence when routed through Web Audio — cross-origin media without CORS, DRM streams, and pages that build their own audio graph — is never touched by automatic mode; there, opening LoudEase once on the tab uses full-tab capture instead. Both use the identical DSP.
| Chrome Web Store build | GitHub development build |
|---|---|
| The same DSP, popup, settings, languages, and per-site rules. Localhost diagnostics and contributor-only controls are physically removed from the package. | The complete open-source project, including opt-in local diagnostics, test pages, evidence tools, and reproducible store packaging. |
The store build is smaller for privacy and review compliance; it does not use a weaker balancing algorithm. dist/github-dev only adds contributor diagnostics and test controls. Both builds use Chrome's standard user-invoked tabCapture flow and never modify Chrome startup shortcuts. Public GitHub Releases attach the stripped store ZIP; dist/github-dev is not an ordinary public installation artifact.
Ordinary users install LoudEase from the Chrome Web Store and need only Chrome 116 or newer. They do not need Node.js, a server, or a database.
This Developer-mode route is for testing trusted code, not normal public distribution.
loudease-store.zip from the selected GitHub prerelease and extract it to a permanent folder.chrome://extensions and enable Developer mode.manifest.json.Updates are manual: replace the files in the same directory with the next verified ZIP, click the extension's Reload button, and reload affected web pages. Managed Chrome installations may block Developer mode or unpacked extensions.
Contributors need Node.js 20 or newer:
git clone https://github.com/WSL043/loudease.git
cd loudease
npm run build:dev
Open chrome://extensions, enable Developer mode, choose Load unpacked, and select dist/github-dev.
http or https page.tabCapture.LoudEase does not publish a Tampermonkey, Violentmonkey, or Greasy Fork core edition. A userscript cannot access the extension-only chrome.tabCapture and offscreen-document pipeline or the complete tab mix, so it would reintroduce iframe, Web Audio, protected-player, and pre-play gaps. A non-audio site-UI companion would only be considered if it later has a distinct use case.
See Installation for the store, packaged-beta, and source-development paths.
| Evidence | Current scope |
|---|---|
| Automatic mode, real sites (no click) | YouTube, Bilibili and Dailymotion video (node tools/e2e_auto_mode.js --url <page>) |
| Automatic mode, local fixtures | Same-origin media, strict page CSP, shadow DOM, CORS-enabled cross-origin media, declined cross-origin media, muted media, per-site switch |
| Tab-capture baseline | YouTube video/live, Bilibili video/live, Douyin video/live |
| Automated regression | HTML5 media, SPA source replacement, iframes, Web Audio, mute, zero player volume, slider persistence, and offline DSP graphs |
| Community test targets | Twitch, TikTok, Spotify Web Player, Vimeo, social video, regional services, and protected streaming |
Test targets are not compatibility promises. Chrome internal pages and surfaces Chrome refuses to capture are unsupported. See Site adapters and the Test matrix.
The interface currently includes Arabic, German, English, Spanish, French, Japanese, Korean, Brazilian Portuguese, Russian, Simplified Chinese, and Traditional Chinese. English is the default.
No single tester needs to cover every platform or run a two-hour endurance session. Small, reproducible checks are more useful:
Start with the community testing guide, then use the issue chooser for compatibility, audio-quality, bug, or product feedback. Reports are voluntary and user-initiated; LoudEase contains no automatic telemetry service.
WSL043 maintains the official project. Use Support and the GitHub Issue Forms for reports and proposals; Governance defines the project boundary.
npm test # contracts, DSP tests, and offline audio graphs
npm run test:dsp # focused DSP verification
npm run test:silent # isolated live capture with no system audio output
npm run test:auto # automatic mode: no-click attach, CSP, shadow DOM, CORS, per-site switch
npm run test:capture # silent local loud/lift/mute/player-volume/burst matrix
npm run test:sites # silent YouTube/Bilibili/Douyin video/live matrix
npm run test:long # configurable isolated stability/endurance run
npm run test:slider # popup persistence regression
npm run test:release # stripped Chrome Web Store package
npm run audit # release-readiness evidence audit
dist/github-dev keeps contributor diagnostics available but off by default. dist/store removes localhost permissions, diagnostic UI, symbols, and network code through an allowlist build. Read Build, Publishing, and AGENTS.md before changing permissions, packaging, or release state.
Open beta and store gates are tracked in the evidence-based Release readiness review.
chrome.storage.sync, subject to the user's Chrome Sync configuration.See Privacy, Feedback and data boundaries, and Security.
Source code is licensed under GPL-3.0-only. Distributed derivative versions must provide the corresponding source under GPLv3. Copies previously distributed under historical Beta tags retain the license grants attached to those copies, even if a prerelease or tag is later removed from GitHub. The LoudEase name and logo are governed separately by the Trademark Policy; bundled icon notices are recorded in Third-party notices.
The decision and transition boundary are explained in Licensing. Project authority and contribution rights are documented in Governance, Contributing, and the Developer Certificate of Origin. Asset origins and machine-readable license boundaries are recorded in Asset provenance and REUSE.toml.