SoundDesk

Tiện ích khay hệ thống Windows

Mỗi ứng dụng một mức âm lượng, chỉ một cú nhấp.

Chrome 30%, Teams 70%, Spotify 20%. Thay vì mở bộ trộn âm lượng mỗi lần, một hồ sơ đưa tất cả về đúng chỗ. Hai cú nhấp từ khay, hoặc một thanh trượt trong bảng điều khiển.

Windows 10 · 11Không cần cài đặt, một tệp chạy duy nhấtKết nối ra ngoài mặc định tắt

Cửa sổ mở ra khi bấm biểu tượng ở khay. Cũng có thể đổi đúng những giá trị đó ngay từ menu.

Làm được gì

Việc bạn vẫn làm trong bộ trộn âm lượng, nay chỉ hai cú nhấp từ khay.

01

Âm lượng và tắt tiếng theo ứng dụng

Gom các phiên đang phát tiếng theo từng ứng dụng. Ứng dụng chạy nhiều tiến trình như Chrome vẫn chỉ là một dòng.

02

Mỗi ứng dụng một thiết bị phát khác nhau

Game ra loa, Discord ra tai nghe. Thiết bị phát mặc định cũng đổi được từ menu, và hồ sơ lưu luôn thiết bị cùng với âm lượng.

03

Giữ nguyên khi đóng rồi mở lại ứng dụng

Nhớ âm lượng của từng ứng dụng và đặt lại khi ứng dụng đó phát tiếng trở lại. Rút ra cắm lại thiết bị, hay thức dậy sau khi ngủ, cũng áp dụng lại hồ sơ.

04

Micrô cũng trong tầm tay

Nút gấp nhất khi đang họp. CtrlAltK tắt và bật lại micrô.

05

Bảng điều khiển

Sửa hồ sơ, đổi phím tắt, viết quy tắc tự động hoá — tất cả trong cửa sổ. Không bao giờ phải sửa tay tệp cài đặt.

06

Chỉ ba thứ đi ra ngoài

Tự động cập nhật, báo cáo sử dụng ẩn danh và thông báo của người phát triển — chỉ vậy thôi. chỉ tự động cập nhật là bật sẵn, và tệp tải về sẽ được kiểm tra chữ ký trước khi hỏi bạn có cài hay không. Bảng điều khiển chỉ lắng nghe trên 127.0.0.1 và đòi một token được tạo mới mỗi lần chạy.

Hồ sơ

Hoàn cảnh đổi thì âm lượng của mọi ứng dụng cũng nên đổi theo.

Có sẵn ba hồ sơ, và trạng thái hiện tại có thể lưu thành hồ sơ mới bất cứ lúc nào. Chuyển tự động — khi ứng dụng khởi chạy, khi cắm thiết bị, hoặc theo khung giờ — mặc định tắt.

Các hồ sơ có sẵn
Hồ sơTổngCài đặt theo ứng dụng
Work72%Chrome 30% · Teams 70% · Spotify 20%
Gaming80%Discord 65% · Spotify 15% · trình duyệt tắt tiếng
Meeting60%Teams 80% · Zoom 80% · Chrome 20% · Spotify tắt tiếng

Phím tắt

Khi tay đã đặt sẵn trên bàn phím.

Đổi được hết, và nếu chương trình khác đã dùng tổ hợp đó thì bạn sẽ được báo, thay vì thất bại trong im lặng.

  • CtrlAlt↑ Tăng âm lượng tổng
  • CtrlAlt↓ Giảm âm lượng tổng
  • CtrlAltM Tắt tiếng
  • CtrlAltK Tắt tiếng micrô
  • CtrlAltS Cửa sổ
  • CtrlAlt1–3 Đổi hồ sơ

Định tuyến theo ứng dụng

Một lối đi Windows chưa từng ghi vào tài liệu, được kiểm chứng trước khi dùng.

đo thực tế

«chỉ ứng dụng này ra tai nghe» không có API công khai. Phải gọi giao diện nội bộ mà ứng dụng Cài đặt của Windows dùng, Windows.Media.Internal.AudioPolicyConfig, và cả mã định danh giao diện lẫn bố cục vtable của nó đều khác nhau giữa các bản dựng. SoundDesk không dùng chúng theo phỏng đoán.

Lần gọi đầu tiên, nguy hiểm nhất, được thực hiện trong một tiến trình riêng, để khay vẫn sống nếu nó sập, và sau khi ứng dụng thực sự được chuyển đi thì đọc lại bằng Get; chỉ khi đúng thiết bị đó quay lại mới nâng lên mức «đã xác minh». Nếu đọc lại không khớp, tính năng tự tắt và mở trang cài đặt của Windows.

Kết luận có nghĩa gì
Trạng tháiCăn cứ
verifiedĐã thực sự chuyển một tiến trình và endpoint id đọc lại khớp. Nếu không có gì đang phát, phần tự kiểm tra tạo cho mình một phiên với luồng im lặng và kiểm tra bằng chính nó
probableKhông tạo được thứ gì để đọc lại — chỉ biết rằng việc kích hoạt factory và gọi qua vtable đã không làm sập
unsupportedTự kiểm tra thất bại, hoặc lệnh gọi thành công mà Windows không áp dụng → bạn được dẫn tới trang cài đặt

Trên Windows 10 22H2, bản dựng 19045, verified đã xác nhận Kết luận được lưu kèm số bản dựng và kiểm tra lại khi Windows cập nhật

Bảo mật

An toàn ngay cả khi chạy thẳng từ thư mục tải về.

Đây là những vấn đề mà một tệp chạy di động thực sự gặp phải. Không phải danh sách kiểm tra trừu tượng: mỗi dòng đều có mã nguồn và một bài kiểm thử đứng sau.

Mối đe doạCách xử lý
Chiếm quyền DLL
Một DLL giả đặt cạnh tệp exe
DLL hệ thống chỉ được nạp theo System32 đường dẫn tuyệt đối. Khi khởi động, thư mục chứa exe và thư mục làm việc bị loại khỏi đường tìm kiếm
Chiếm tên mutex
Một phiên khác giành tên trước và chặn việc khởi chạy
Đối tượng một-thực-thể nằm trong không gian tên Local\.
Tiêm qua tệp cài đặt endpoint id chỉ tới được lệnh gọi COM sau khi qua kiểm tra bằng biểu thức chính quy
Giả mạo nhật ký
Một ký tự xuống dòng trong tên tiến trình để chèn dòng nhật ký giả
Tên ứng dụng và thiết bị bị loại bỏ ký tự điều khiển rồi giới hạn độ dài
Đường dẫn tự khởi động không có dấu nháy Giá trị Run luôn là đường dẫn tuyệt đối trong dấu nháy, và chỉ dùng HKCU.
Can thiệp trái phép vào bảng điều khiển
Chương trình khác trên cùng máy, hoặc một trang web
127.0.0.1 mà thôi, cộng với một token 256 bit mới mỗi lần chạy và kiểm tra Host cùng Origin. Token biến thành cookie HttpOnly ngay lần tải đầu và biến mất khỏi thanh địa chỉ

1270 bài kiểm thử · độ phủ 82% Bao gồm bài kiểm thử thật đặt một DLL giả vào và kiểm tra xem nó có bị chặn không Ký mã với tên PROJECTTEAMFORYOU · hãy kiểm tra tên nhà phát hành trước khi chạy

Quyền riêng tư

Chỉ có ba thứ rời khỏi máy này, và đây là chúng.

Tên ứng dụng và thông tin phiên được xử lý trên máy này, còn cài đặt gói gọn trong một tệp JSON. Có ba tính năng ra internet: tự động cập nhật, báo cáo sử dụng ẩn danh và thông báo của người phát triển. Điều khiển từ xa bằng điện thoại tắt cho đến khi bạn tự bật, và khi bật chỉ hiện tên ứng dụng cho những điện thoại bạn đã ghép đôi, trong cùng một mạng riêng. chỉ tự động cập nhật là bật sẵn: nó hỏi xem có bản mới hay không, có thì tải về rồi hỏi bạn có cài không. Chỉ gửi phiên bản đang chạy và ngôn ngữ, không bao giờ gửi id cài đặt, và có thể tắt trong bảng điều khiển. Hai thứ còn lại im lặng cho tới khi bạn bật.

Tệp cài đặt%APPDATA%\SoundDesk\config.json
Nhật ký%APPDATA%\SoundDesk\sounddesk.log
Tự động cập nhậtBật sẵn — mỗi lần khởi động một lần, chỉ phiên bản đang chạy và ngôn ngữ. Không gửi id cài đặt. Bản mới được tải về, Windows xác nhận chữ ký là PROJECTTEAMFORYOU, và việc cài đặt cần bạn bấm
Báo cáo sử dụng ẩn danhMặc định tắt — khi bật, mỗi ngày một lần: một id cài đặt ngẫu nhiên, phiên bản, bản dựng Windows, ngôn ngữ và ba con số đếm
Thông báo của người phát triểnTắt sẵn — khi bật chỉ gửi phiên bản đang chạy và ngôn ngữ
Những thứ không bao giờ được gửi điTên ứng dụng · tên thiết bị · đường dẫn tệp · tên tài khoản Windows
API được dùngIMMDeviceEnumerator · IAudioSessionManager2 · ISimpleAudioVolume · IPolicyConfig · AudioPolicyConfig
Tự khởi độngHKCU\Software\Microsoft\Windows\CurrentVersion\Run (tuỳ chọn)

Tự kiểm tra

Hãy hỏi thẳng ứng dụng xem nó có chạy được trên máy bạn không.

Chạy từng tính năng của chính nó trên ngăn xếp âm thanh thật, và trả lại nguyên trạng những gì đã động vào. Không làm bất cứ thay đổi nào có thể phát ra tiếng — âm lượng tổng được chứng minh bằng cách ghi lại đúng giá trị đang có, tức chỉ kiểm chứng đường gọi.

LệnhKiểm tra những gì
--selftest-audio Thiết bị · âm lượng tổng · micrô · âm lượng, tắt tiếng và định tuyến theo ứng dụng · hồ sơ · phím tắt toàn cục. Nếu không ứng dụng nào đang phát, định tuyến được kiểm tra bằng phiên im lặng của chính nó
--selftest-panel Tệp chạy đã đóng gói có thực sự phục vụ bảng điều khiển hay không
--report Thiết bị, phiên và hồ sơ dưới dạng JSON

Kết quả trên máy này

OK  Âm lượng theo ứng dụng (firefox.exe 100% → 42% → khôi phục)
OK  Tắt tiếng theo ứng dụng
OK  Định tuyến đầu ra theo ứng dụng (firefox.exe → ASUS VZ279 → khôi phục)
OK  Đổi thiết bị mặc định · hồ sơ · phím tắt toàn cục
—   Micrô (máy này không có thiết bị đầu vào)

11 passed, 0 failed, 2 skipped — Windows 10 22H2 bản dựng 19045

Ở đâu cũng vậy

Bằng ngôn ngữ của bạn, trên máy của bạn.

Cùng một bộ cài đặt ở nhà và ở công ty, đọc bằng ngôn ngữ bạn dùng, gọi từ macro khi cần.

01

12 ngôn ngữ

Đi theo ngôn ngữ hiển thị của Windows. Bạn cũng có thể tự chọn, và khi đổi thì bảng điều khiển cùng menu khay đổi ngay tại chỗ, không cần khởi động lại.

한국어 · English · 日本語 · 简体中文 · 繁體中文 · Español · Português · Français · Deutsch · Русский · Italiano · Tiếng Việt

02

Ở nhà và ở công ty, cùng một bộ cài đặt

Xuất hồ sơ, phím tắt và quy tắc ra một tệp rồi nhập trên máy khác. Thiết bị được ghép theo tên — cùng một tai nghe nhưng id trên mỗi máy lại khác, nên chỉ chép tệp thôi sẽ làm phần định tuyến lặng lẽ biến mất. Những thiết bị máy này không có sẽ được nêu tên cho bạn.

03

Gọi từ macro

Dùng thẳng từ một nút Stream Deck hay một dòng AutoHotkey. Hoạt động dù khay có đang chạy hay không, và không tạo thêm biểu tượng thứ hai. Mã thoát 0 nếu có gì đó thay đổi, 1 nếu không khớp gì cả.

SoundDesk.exe --set-app chrome.exe=25
SoundDesk.exe --profile Gaming
SoundDesk.exe --list apps

Cài đặt

Một tệp. Không có trình cài đặt.

SoundDesk.exe vào nơi bạn muốn rồi chạy, biểu tượng sẽ hiện ở khay. Không cần Python.

Tải SoundDesk.exe Tải bản zip

21,9 MB · đã ký mãexe SHA-256zip SHA-256

Nếu trình duyệt hoặc máy công ty chặn tệp thực thi, hãy tải bản zip. Bên trong là cùng một tệp, và mỗi bản đều có mã băm riêng.

Xem lại

Trình duyệt có thể chặn tệp này vì cho là tải xuống đáng ngờ. Điều đó nghĩa là chưa có nhiều người tải nó, chứ không phải tệp có vấn đề. Với Chrome, mở danh sách tải xuống, bấm ⋮ rồi chọn Giữ lại; nếu Windows chặn, chọn Thông tin thêm → Vẫn chạy. Thứ thực sự xác minh được chỉ có hai: tên nhà phát hành có phải PROJECTTEAMFORYOU không, và SHA-256 ở trên có khớp với tệp bạn nhận được không. Cảnh báo sẽ mất dần khi có thêm người tải.

Windows 10 1803 trở lênMột tệp chạy duy nhấtKhông cần quyền quản trịKèm SHA-256

Nhật ký thay đổi

Cái gì đã đổi, và đổi khi nào.

Mọi mốc giờ đều theo giờ chuẩn Hàn Quốc (KST). Bản ghi đầy đủ nằm trong tệp nhật ký thay đổi của kho mã.

  1. v1.7.0 Mới nhất

    • Điều khiển từ xa bằng điện thoại. Điện thoại Android cùng mạng Wi-Fi (SoundDesk Remote) điều khiển âm lượng, tắt tiếng, thiết bị đầu ra và hồ sơ. Mặc định tắt; khi bật, chỉ điện thoại đã ghép đôi bằng mã QR mới kết nối được, và chỉ từ trong mạng riêng.
    • Chính sách quyền riêng tư và điều khoản sử dụng được công bố bằng mười hai ngôn ngữ.
  2. v1.6.0

    • Tự động cập nhật. Có bản mới thì tải sẵn về rồi hỏi bạn có cài không. Bật sẵn và có thể tắt trong phần cài đặt.
    • Tệp tải về phải qua được cả mã băm đã công bố lẫn chữ ký, và chữ ký còn được kiểm tra thêm một lần ngay lúc cài.
  3. v1.5.0

    • Mức âm thanh đang phát ra ngay lúc này, vẽ dưới âm lượng chính, micrô và từng ứng dụng đang phát.
    • Phím tắt toàn cục chỉ định một ứng dụng. Tắt tiếng một chương trình giữa cuộc họp mà không cần mở bảng điều khiển.
    • Tự động hạ âm — khi ứng dụng đã chọn phát tiếng thì các ứng dụng khác nhỏ lại, im tiếng thì trả về như cũ.
  4. v1.4.0

    • Có sẵn dạng tệp thực thi và dạng zip. Các byte bên trong giống nhau và mỗi bản đều có mã băm riêng.
    • Ứng dụng biết địa chỉ của chính nó — mở từ menu khay hệ thống hoặc mục Giới thiệu trong bảng điều khiển.
    • Cả trang dùng chung một bộ chữ, và tệp giảm từ 870KB xuống 225KB.
  5. v1.3.0

    • Hồ sơ nay có thể nói “ứng dụng này theo thiết bị mặc định”.
    • Trang này được xuất bản bằng mười hai thứ tiếng.