Broadcast Audio Logger

Airchecker v1.6 is a web-managed audio recording engine designed for radio stations, podcasters, and broadcast facilities.

Download Airchecker v1.6 Learn More

Features

Built for seamless broadcast integration.

🎙️

Bit-Perfect Audio Capture

Supports AudioScience (ASI) cards to bypass the Windows mixer, alongside modern WASAPI (WheatNet-IP, Dante, Livewire) and legacy DirectSound drivers.

🎛️

Hardware Triggering

Automate your recordings directly from your console. Native integration with Wheatstone WheatNet-IP (SLIOs) and Serial COM integration for Broadcast Tools (GPI-16/24). System-agnostic triggering supported via customizable TCP string triggers.

💾

Efficient Encoding

Save storage space with modern OPUS and VORBIS (.ogg) compression, or maintain maximum compatibility with standard MP3 and lossless Linear WAV formats.

⏱️

Flexible Recording Modes

Record 24/7 with automatic hourly file splitting, limit recordings to specific days/hours, or use dynamic GPI window logic to record only when triggered during scheduled shows.

📊

Real-Time Web Interface

Monitor live channel VU meters, trigger logic states, and system diagnostic logs remotely via a web dashboard*.

🔊

Mono Downmixing

Cut your storage footprint in half with Stereo-to-Mono downmixing.

Interface Gallery

Main Interface

Channel Management

Easily configure unlimited** virtual recording channels. Assign custom input devices, set your desired compression type and bitrate, and monitor audio levels with dynamic, real-time VU meters directly in your browser.

Hardware Configuration

Logic Support

Link physical events to your audio logger. Configure Wheatstone WheatNet-IP SLIOs, Broadcast Tools GPI's via serial communication or allow generic TCP connections for generic string monitoring. Configure the hardware connection and logic, name them, and map them to start/stop any recording channel automatically.

GPI Diagnostics

Diagnostics

Never guess if your triggers are working. The GPI Status tab provides visual badge indicators for every SLIO, physical input pin, or configured TCP string monitor. Plus, view the raw background processing logs in real time.

Real Time Log

Supported Audio Engines/Devices

  • AudioScience (ASI): Multi-stream 16-bit uncompressed PCM capture with dedicated driver memory pooling. ASI Cards supported by ASI Driver 4.36.3 or later. The ASI8821 Tuner is recommend for direct over the air capture. ASI56XX or ASI57XX cards are recommended for standard audio capture.
  • Windows Audio Session API (WASAPI): Most WDM audio devices are supported via Windows Audio Session API (WASAPI) the native, low-latency audio engine for modern versions of Windows that provides exceptionally clean capture for almost all professional broadcast gear such as the Wheatstone WheatNet AoIP Driver, Dante Virtual Soundcard, Axia Livewire+ AES67 IP Audio Driver, and most generic USB Audio Interfaces.
  • DirectSound: Legacy fallback wrapper for older audio hardware.

Supported File Formats

  • OPUS (.ogg): Ideal for high-efficiency, long-term archiving.
  • VORBIS (.ogg): High compatibility production format for native Adobe Audition integration.
  • MP3 (.mp3): Maximum compatibility across many platforms best for universal playback.
  • WAV (.wav): 1411kbps bit-for-bit uncompressed linear PCM.

Supported GPI Sources

  • Wheatstone: Upto 128 SLIOs are supported via TCP/IP connection to a WheatNet Blade. Currently only a single Blade connection is supported.
  • Broadcast Tools: A GPI-16, GPI-24 or SRC-16 device is supported via RS-232 connection.
  • Direct TCP Triggering: A built in TCP Server monitors for client connection looking for matching commands strings to simulate GPI logic.
  • Livewire: Livewire support via the Axia Livewire+ AES67 IP Audio Driver or Pathfind Core Pro will hopefully be introduced in a future version.

Download

Requires Windows 10/11 or Windows Server 2016+.

Airchecker is free to download and use. Planning, Installation and Technical Support are available as paid services as needed.

✅ Changelog (v1.6) Last updated: 6/23/26
CONFIG
1.6 ASI Device Enumeration

Added a setting to turn off ASI Device Enumeration. On systems not using an ASI card this will skip the GetAsiDevices() function in the AudioDeviceEnumerator and suppress the error messages when asihpi64.dll is not found.

CONFIG
1.6 Initial Crash

Corrected NullReferenceException at startup on first run/when no configuration file exists.

CONFIG
1.6 Misc

Interface improvements to better support smaller screens. Changed language on from "Trigger/Record Delay" to "Trigger/Record Offset" to better indicate how this feature works.

SYSTEM
1.6 SMTP and Alerts

Added SMTP Configuration fields to GlobalSettings and added EmailManager Class. Critical Alert storage threshold will now trigger an email alert for monitored drives if SMTP is configured.

AUDIO RECORDING ENGINE
1.6 Live Monitor

Added a real-time live monitor for record channels. Data inside the OnAudioDataAvailable routine gets forked to prevent any interference with recording. Raw audio chunks get cloned and pushed to a thread-safe concurrent queue dedicated to the browser/client connection. Instead of using high-latency streaming streaming protocols, which introduce encoding delays, we can stream the raw audio blocks using a chunked HTTP connection to the browser's native Web Audio API. This provides very low latency monitoring but uses more bandwidth ~ 0.77Mbps - 3.07Mbps depending on channel type (shouldn't be a problem as traffic is intended for internal network).

SYSTEM
1.6 Storage Management

Added secondary protection to PruneDriveBalanced routine to only allow automated purging of .wav, .mp3 and .ogg files.

SYSTEM
1.6 Storage Management

Added DriveStorageConfig.CriticalThresholdGB to StorageManagementService in case automated purging fails or Minimum retention prevents enough clean up... this will trigger email alerts in later builds once SMTP module is tested and server configuration added to global settings.

SYSTEM
1.6 Storage Management

Added Minimum File Retention Setting (DriveStorageConfig.MinAgeRetentionDays) to prevent deletion of X days regardless of free space thresholds.

SYSTEM
1.6 Storage Management

Added DriveStorageConfig and StorageManagementService Class to monitor disk usage and automate balanced purging of record channel paths.

AUDIO RECORDING ENGINE
1.6 Profanity Delay

ProfanityDelaySeconds and ProfanityTriggerSources settings added. When a profanity delay is configured on a channel and a trigger source is assigned the channel will add that delay to the recording start/stop timing only when the trigger is active.

TRIGGERS
1.5 BTS GPI-24

Fixed input enumeration in BroadcastToolsListener preventing detection of closures above input 16. Now allows for dynamic range and in theory should work with any BTS GPI device.

SECURITY/NIC BINDING
1.5 NIC Interface Binding & IP Whitelisting

Fixed network adapter binding/IP access restriction mechanism.

SYSTEM
1.5 Automatic Log & Backup Retention Schedules

Added LogRetentionDays and BackupRetentionDays to Public Class GlobalSettings. PruneExpiredLogs() will remove expired logs checking every 12 hours triggered by the ConsoleLogger->WriteLine subroutine. ConfigBackupService->ExecuteAsync will remove old backup at the same time automated backups occur.

CONFIG
1.5 JSON

Fixed Active Config console. (Scrubs encrypted passwords from config display).

CONFIG
1.5 SanitizeConfig

Added SanitizeConfig(updatedConfig) as a safety net for bad data/negative values. These have been guarded against in the web configuration but this is a double check in case a bad value was manually introduced in to the json file.

CONFIG
1.5 Manual Backups

Added option to delete a manual backup.

CONFIG
1.5 Fixed Header

Made page header sticky so commit button and settings tabs are always visible.

CONFIG
1.5 Collapse Notices

Made "AudioScience (ASI) Hardware Routing Notice" and "Audio Format & Bitrate Deployment Guide" on Record Channels tab collapsable so they don't take up space unless being read.

CONFIG
1.5 GPI Text

Corrected "No hardware triggers are currently enabled" text.

TRIGGERS
1.4 TCP Trigger/String Listener

Added multi-client automation agnostic asynchronous TCP Server to catch user defined start/stop strings from any automation system/client.

Airchecker Web Server (End User Web Based File Browser)
1.4 (Airchecker Web Server / End User Browser)

Added web based configuration of web server settings instead of manual editing of config.json at /admin or /admin.html Default password created on first run is 'your_secure_password'

🚧 Work In Progress & Future Features
1.? Livewire GPI Integration

Add Livewire GPI Triggering via Livewire Routing Protocol.

1.? Profanity Delay Improvements

Right now the profanity delay option simply adds the offset time of the delay when the selected trigger(s) are active. Might be edge cases where a mic is opened while a delay is ramping up or down... best way to handle this?

1.? Error Alerts

Trigger SMTP email notifications for recording errors and hardware disconnects. Add a zero byte (or small file) watchdog to detect potential issues.

1.? Silence Detection & Dead Air Alerts?

Check real-time VU thresholds to detect dropped streams or dead air. Trigger SMTP email notifications if thresholds break for a user-defined duration.

Automatic Podcast Assembly

Add automatic podcast assembly option? Could use FFmpeg Concat Demuxer to quick stitch files without re-encoding depending on source format or depending on source formats stitch and re-encode to required output.

File/Folder Naming

Add ability to customize the folder structures and file naming design. Might complicate automatic podcast assembly.

API

Add API Key Generation and /api/status endpoint for external monitoring?

Streaming Relay

Could have FFmpeg push output to an external icecast stream.

Adjustable Input Faders

Add input adjustment sliders to each record channel. Not sure this is needed might add extra cpu usage to process sample arrays through a multiplication step on arrival to attenuate or boost input levels. This is probably better handled by the Windows mixer, ASI Control or adjustment of the input signal. Possible could tie the sliders in to the Windows Mixer Control or ASI Mixer.

ISSUE
Known Issue

In some rare situations a reboot such as that caused by a Windows Update will cause the service to loop while trying to continue with recordings. This prevents or slows down the Windows shutdown procedure. While stuck in the loop a large number of 1KB files get created for active record channels. The problem seems to be that the windows audio service shuts down before Airchecker so the service was modified to add a dependency on the windows audio service so it should shutdown with that service but needs more testing to confirm the fix.

Metadata

Add file metadata to supported formats so recording information will be retained regardless of filename adjustments.

Transcription

Airchecker Web Server (1.5) - User option to transcribe files. Add AI API call.

Off-Site Archive Cloud Sync?/Low Priority

Automate backups. The moment an audio chunk is finalized and split, push the clip to a remote FTP/SFTP storage system or an Amazon S3 cloud bucket.