Skip to content

Releases: trsdn/OpenConnct

v0.4.0

Choose a tag to compare

@trsdn trsdn released this 19 Sep 19:01

Added

  • Solo, fader and filters over the local API. GET /v1/state now reports each
    channel's soloed, faderDB, highPass, gate, compressor, exciter,
    bassEnhancer and pad. New calls: POST /v1/channel/{i}/solo (and
    /solo/toggle), POST /v1/channel/{i}/fader, and
    POST /v1/channel/{i}/effect/{highpass|gate|compressor|exciter|bass|pad}/toggle.
    Until now the API could mute and set the input gain, but not move the fader you
    actually see in the mixer.
  • OpenDeck and Stream Deck plugin: Solo, Level (fader) and Filter keys, and a
    label on every key. Keys tell you when the app they talk to is too old.

v0.3.1

Choose a tag to compare

@trsdn trsdn released this 19 Sep 18:00

Changed

  • Control from other apps moved out of the diagnostics panel into a proper
    Settings window (OpenConnct ▸ Settings…, ⌘,), where a setting can be found.
    Its description is also easier to read.

v0.3.0

Choose a tag to compare

@trsdn trsdn released this 19 Sep 16:37

Added

  • Control from other apps. OpenConnct can now be muted, have its gain set and
    be read from a script or a Stream Deck over a small local web API. It is off
    until you switch on Control from other apps in Technical details, listens
    on this Mac only, and every request needs a secret key that only your user
    account can read. See the README, "Controlling it from other apps".
  • OpenDeck and Stream Deck plugin (integrations/opendeck). Keys mute a
    microphone and step its gain, and turn red while a microphone is muted or
    silenced by another channel's solo, including when that was done in the app.
  • In-app updates. OpenConnct checks GitHub once a day for a newer version and
    offers Install and Restart; nothing installs without that click.
  • A gain that finds itself. Say a sentence and OpenConnct proposes a gain from
    your measured voice instead of asking you to guess.
  • The noise gate sets its threshold from your room.
  • New devices arrive muted, so a headset that connects itself never joins a
    call unannounced. The strip says why it is muted.
  • The switches on a microphone's own body (pad, high-pass filter) are read
    where the microphone allows it, so the same filter is not applied twice.
    OpenConnct never asks for the permission this needs.
  • The controls now show whether they run on the microphone or in the app, and gain
    is taken from the microphone's own stage where one exists.
  • A project website: https://trsdn.github.io/OpenConnct/

Changed

  • Mute and solo are a speaker and headphones instead of the letters M and S.
  • The level meter shows one quantity instead of three, and channel strips show the
    part of a name that identifies the microphone.
  • A muted channel is now not processed at all, and the window says so.
  • The gate, compressor and bass stage no longer compute a logarithm per sample,
    which lowers CPU use.

Fixed

  • The wide level meters no longer trust what they drew last time, which left stale
    marks, and no longer draw a hold mark when there is nothing to hold.
  • The meter's target band is drawn in a neutral colour rather than the level colour.

OpenConnct v0.1.0

Choose a tag to compare

@trsdn trsdn released this 22 Aug 16:03

First release. Signed with a Developer ID certificate and notarized by Apple, so it runs on any Mac without a Gatekeeper override.

What it is

Several USB microphones, each with its own gain and processing chain, mixed into one system-wide input device. Teams, Zoom, OBS and anything else see a single microphone called OpenConnct Mic.

Per channel: gain, pad, high-pass filter, noise gate, compressor, exciter and bass enhancer, plus a fader with mute and solo.

Install

  1. Open the DMG and drag OpenConnct to Applications.
  2. Launch it. A banner at the top offers to install the audio driver — click Install and enter your password once. System audio drops for about a second while coreaudiod restarts.
  3. Grant microphone access when asked.
  4. In your conferencing app, pick OpenConnct Mic as the input.

The driver installs to /Library/Audio/Plug-Ins/HAL. The banner only appears when there is actually something to do.

Verified in this build

  • Notarized and stapled; Gatekeeper reports source=Notarized Developer ID.
  • Universal: x86_64 and arm64, both the app and the driver.
  • Loopback through the driver is lossless — a 440 Hz tone returns at 100.0 % of the sent amplitude, with no zero samples in 240 128 frames.
  • Clock drift: two simulated hours at +200 ppm with zero underruns and zero overruns.
  • Cable pulled and replugged while running: no crash, the channel returns on its own.

Notes

  • macOS 14 or later.
  • The app is not sandboxed and cannot be, because a HAL plug-in has to be written into a system directory. It is Developer ID distribution only.
  • Removing the driver: sudo rm -rf /Library/Audio/Plug-Ins/HAL/OpenConnct.driver && sudo killall -9 coreaudiod.

Checksums for both artifacts are attached, along with provenance.json recording the exact source commit, the broker run and the hashes of every signed executable.