Repository navigation
Releases: dappermint/occam
Release list
v0.4.6
Full Changelog: v0.4.5...v0.4.6
v0.4.5
v0.4.4
v0.4.3
v0.4.2
v0.4.1
v0.4.0
occam v0.2.3
Native macOS control for the Razer BlackShark V3 Pro, plus binaural rendering.
Synapse does not ship for macOS, so this is the missing piece.
brew install dappermint/tap/occam
brew services start occam
what is new since 0.1.2
Two renderers. occam-spatial renders a file to binaural offline.
occmixer does the same to system audio as it plays, capturing through a
CoreAudio process tap and rendering in Rust on the audio render thread, at 128
frames and 2.7 ms a cycle. Both use measured SADIE II KU100 head impulses.
A settings window in the shape of System Settings, with tabs for the
headset, the microphone and spatial audio. Noise control lives in the status
menu too, as a segmented picker with its strength.
Ambient turned out to be 0x50, not the 2 that had been assumed. The
register stores any small byte without validating and reports it back
faithfully, so the wrong value read back correctly while doing nothing at all.
Found by polling the register while pressing the earcup button.
Writes were leaving their replies queued on the interrupt-IN pipe, which
desynchronised the next read and hid every device-level rejection.
Output level is measured through the chain rather than derived from the
speaker count, which was about 7 dB too quiet in both renderers. The feeds are
all derived from one mid/side pair, so they sum close to coherently rather than
as independent sources.
what it does
Ten-band headset and microphone equalisers with Razer's cloud preset library,
noise cancelling mode and strength, microphone mute and monitoring, game/chat
balance, dongle indicator modes, auto power-off, HyperSpeed low latency.
Settings save to a profile and re-apply themselves whenever the dongle
reconnects.
No permissions required, not even for the menu bar agent. macOS only: it talks
to IOHIDManager through cgo, with no hidapi and no vendored C.