A signal generator utility for macOS, to help sound engineers, audio technicians and audiophiles test sound recording and reproduction equipment. Generates test signals only — SoundCheck is not an audio analyser and never captures or measures audio.
Every control has a keyboard shortcut, printed right on the control, so you can run a whole sound check from the keyboard and keep your attention on your ears. Project page: vkoeppel.free.fr/soundcheck.
Signal types: sine, square, pink noise, white noise, a logarithmic sine sweep, and a repeating click for checking delay alignment between speakers. Pink and White each offer full-range, band-limited (presets or a manual range), and 1/3-octave (31 ISO 266 bands) modes. All of them are wired end-to-end to a real AVAudioEngine graph, with live Core Audio device enumeration, per-channel mute/phase, a live sample rate/bit depth display, and persisted settings. See docs/spec.md for the complete spec.
- macOS 14 (Sonoma) or later
- Any Mac — Apple Silicon or Intel. Releases ship as a universal binary.
- An audio output device (built-in speakers, headphones, USB interface, etc.). SoundCheck plays test signals only — it never records, so no microphone access is needed.
- Download the latest
SoundCheck-vX.Y.Z.zipfrom the Releases page. - Double-click the
.zipto unpackSoundCheck.app, then drag it into your Applications folder. - First launch. The app is signed for development but not notarized by Apple, so macOS Gatekeeper blocks it the first time. To open it anyway:
- Right-click (or Control-click)
SoundCheck.app→ Open, then click Open in the dialog. macOS remembers your choice, so later launches are ordinary double-clicks. - If no Open button appears, clear the quarantine flag in Terminal and try again:
xattr -dr com.apple.quarantine /Applications/SoundCheck.app
- Right-click (or Control-click)
Heads up: because these builds use an Apple Development certificate and aren't notarized, some Macs may refuse to open the app at all rather than just warn. If the steps above don't work, build from source instead — a notarized, friction-free build is future work.
- Launch SoundCheck and pick your Output Device.
- Choose a signal type (sine, square, pink, white, sweep, or click), set its frequency, noise mode, sweep duration, or click interval as applicable, set the level, and flip the generator On.
- Use the per-channel mute / phase controls to send the signal where you need it.
xcodebuild -project SoundCheck.xcodeproj -scheme SoundCheck -destination 'platform=macOS' build
xcodebuild -project SoundCheck.xcodeproj -scheme SoundCheck -destination 'platform=macOS' test
Or open SoundCheck.xcodeproj in Xcode and use Cmd-R / Cmd-U. Requires Xcode (SwiftUI + AVAudioEngine + Core Audio); iOS portability is considered but not designed for yet.
docs/spec.md— the feature spec: signal types, screen layout, control behaviors, audio engine architecture, and the full decisions log.CONTEXT.md— domain glossary.docs/adr/— architecture decision records.docs/research/— research writeups backing specific technical decisions.
Feature work is planned on GitHub Issues.
Out of scope: any audio analysis, metering, or capture.
GPLv3 — see LICENSE.