From abaa019bd2dcf8a38d5f6c26d4269de3b4028bb8 Mon Sep 17 00:00:00 2001 From: Nick Payne Date: Sun, 27 Jul 2025 09:53:26 +0100 Subject: [PATCH 1/5] only write PCM to stdout --- README.md | 190 +++++------------- Sources/CLI/ArgumentParser.swift | 5 - Sources/CLI/AudioTee.swift | 24 +-- Sources/CLI/OutputFormat.swift | 16 -- Sources/Core/AudioFormatConverter.swift | 1 - Sources/Core/AudioPacket.swift | 3 - .../Output/Handlers/AutoOutputHandler.swift | 31 --- .../Output/Handlers/BinaryOutputHandler.swift | 6 - .../Output/Handlers/JSONOutputHandler.swift | 23 --- Sources/Output/OutputPacketTypes.swift | 45 ----- Sources/Utils/Logger.swift | 4 +- 11 files changed, 56 insertions(+), 292 deletions(-) delete mode 100644 Sources/CLI/OutputFormat.swift delete mode 100644 Sources/Output/Handlers/AutoOutputHandler.swift delete mode 100644 Sources/Output/Handlers/JSONOutputHandler.swift delete mode 100644 Sources/Output/OutputPacketTypes.swift diff --git a/README.md b/README.md index ef465db..a316ea8 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,10 @@ # AudioTee -AudioTee captures your Mac's system audio output and writes it in PCM encoded chunks to `stdout` at regular intervals, either in base64-encoded JSON (good for humans, easy on terminals) or binary (good for other programs). It uses the [Core Audio taps](https://developer.apple.com/documentation/coreaudio/capturing-system-audio-with-core-audio-taps) API introduced in macOS 14.2 (released in December 2023). You can do whatever you want with this audio - stream it somewhere else, save it to disk, visualize it, etc. +**⚠️ API Instability Warning: The AudioTee API is incredibly unstable at present and subject to change without notice.** -By default, it taps the audio output from **all** running process and selects the most appropriate audio chunk output format to use based on the presence of a tty. Tap output is forced to `mono` (not yet configurable) and preserves your output device's sample rate (configurable via the `--sample-rate` flag). Only the default output device is currently supported. +AudioTee captures your Mac's system audio output and writes raw PCM audio data directly to `stdout`. All logging and metadata information is written to `stderr`, allowing for clean redirection of audio data to files or pipes. It uses the [Core Audio taps](https://developer.apple.com/documentation/coreaudio/capturing-system-audio-with-core-audio-taps) API introduced in macOS 14.2 (released in December 2023). You can do whatever you want with this audio - stream it somewhere else, save it to disk, visualise it, etc. + +By default, it taps the audio output from **all** running processes. Tap output is forced to `mono` (not yet configurable) and preserves your output device's sample rate (configurable via the `--sample-rate` flag). Only the default output device is currently supported. My original (and so far only) use case is streaming audio to a parent process which communicates with a realtime ASR service, so AudioTee makes some design decisions you might not agree with. Open an issue or a PR and we can talk about them. I'm also no Swift developer, so contributions improving codebase idioms and general hygiene are welcome. @@ -16,7 +18,7 @@ Recording system audio is harder than it should be on macOS, and folks often wre ## Quick start -The following will start capturing audio output from all running programs and write base64-encoded chunks of it to your terminal every 200ms: +The following will start capturing audio output from all running programs and write raw PCM audio data to your terminal: ```bash git clone git@github.com:makeusabrew/audiotee.git @@ -24,7 +26,13 @@ cd audiotee swift run ``` -If you're not playing audio when you run it, you'll just see packets full of `AAAAA...` - the base64 version of a bunch of zeroes. +More usefully, you can redirect the output to a file: + +```bash +swift run > captured_audio.pcm +``` + +If you're not playing audio when you run it, the PCM file will contain silence (zeroes). ## Build @@ -40,14 +48,17 @@ swift build -c release Replace the path below with `.build///audiotee`, e.g. `build/arm64-apple-macosx/release/audiotee` for a release build on Apple Silicon. ```bash -# Auto-detect output format (JSON in terminal, binary when piped) +# Write raw PCM audio to stdout (logs go to stderr) ./audiotee -# Always use JSON format (terminal-safe) -./audiotee --format json +# Redirect audio to a file +./audiotee > captured_audio.pcm -# Always use binary format (pipe-optimised) -./audiotee --format binary +# Pipe to another program +./audiotee | your_audio_processing_tool + +# Redirect logs as well +./audiotee > captured_audio.pcm 2> audiotee.log ``` ### Audio conversion @@ -94,147 +105,52 @@ Note that trying to include or exclude a PID which isn't currently playing audio ./audiotee --chunk-duration 0.1 ``` -## Output formats +## Output -AudioTee supports two output formats optimised for different use cases: +AudioTee writes raw PCM audio data directly to `stdout` in chunks. All logging, metadata, and status information is written to `stderr`, allowing for clean separation of audio data from program output. -### JSON format (`--format json` or auto in terminal) +### Audio format -JSON messages to stdout, one per line. Audio data is base64-encoded for terminal safety. - -### Binary format (`--format binary` or auto when piped) - -JSON metadata lines followed by raw binary audio data. More efficient for piping to other processes. - -## Protocol - -### Message types - -All messages (except raw binary audio chunks) follow this envelope structure: - -```json -{ - "timestamp": "2024-03-21T15:30:45.123Z", - "message_type": "...", - "data": { ... } -} -``` - -#### 1. Metadata - -Sent once at startup to describe the audio format: - -```json -{ - "timestamp": "2024-03-21T15:30:45.123Z", - "message_type": "metadata", - "data": { - "sample_rate": 48000, - "channels_per_frame": 1, - "bits_per_channel": 32, - "is_float": true, - "capture_mode": "audio", - "device_name": null, - "device_uid": null, - "encoding": "pcm_f32le" - } -} -``` - -#### 2. Stream start - -Indicates audio data will follow: - -```json -{ - "timestamp": "2024-03-21T15:30:45.123Z", - "message_type": "stream_start", - "data": null -} -``` - -#### 3. Audio data - -**JSON format:** - -```json -{ - "timestamp": "2024-03-21T15:30:45.123Z", - "message_type": "audio", - "data": { - "timestamp": "2024-03-21T15:30:45.123Z", - "duration": 0.2, - "peak_amplitude": 0.45, - "audio_data": "base64_encoded_raw_audio..." - } -} -``` - -**Binary format:** - -```json -{ - "timestamp": "2024-03-21T15:30:45.123Z", - "message_type": "audio", - "data": { - "timestamp": "2024-03-21T15:30:45.123Z", - "duration": 0.2, - "peak_amplitude": 0.45, - "audio_length": 9600 - } -} -``` - -_Followed immediately by 9600 bytes of raw binary audio data_ - -#### 4. Stream stop - -Sent when recording stops: - -```json -{ - "timestamp": "2024-03-21T15:30:45.123Z", - "message_type": "stream_stop", - "data": null -} -``` - -#### 5. Log messages - -Info, error, and debug messages (useful for monitoring): - -```json -{ - "timestamp": "2024-03-21T15:30:45.123Z", - "message_type": "info", - "data": { - "message": "Starting AudioTee...", - "context": { "output_format": "auto" } - } -} -``` +- **Format**: Raw PCM audio data +- **Channels**: Mono (1 channel) +- **Sample rate**: Matches your output device's sample rate by default (configurable) +- **Bit depth**: 32-bit float by default, or 16-bit when sample rate conversion is performed +- **Endianness**: Little-endian +- **Chunk duration**: 200ms by default (configurable) ### Consuming output -**JSON format:** +The simplest way to consume AudioTee's output is to redirect it to a file: -1. Parse each line as JSON using the envelope structure -2. Use `metadata` message to understand the audio format -3. For `audio` messages, decode `audio_data` from base64 to get raw PCM data -4. Do something with each chunk of data +```bash +./audiotee > captured_audio.pcm +``` -**Binary format:** +You can then process this raw PCM file with tools like: +- **FFmpeg**: `ffmpeg -f f32le -ar 48000 -ac 1 -i captured_audio.pcm output.wav` +- **SoX**: `sox -t f32 -r 48000 -c 1 captured_audio.pcm output.wav` +- **Audacity**: Import as raw data with the appropriate settings -1. Parse JSON metadata lines using the envelope structure -2. Use `metadata` message to understand the audio format -3. For `audio` messages, read `audio_length` bytes of raw binary data after the JSON line -4. Do something with each chunk of data +For real-time processing, pipe the output to your application: -**Note**: binary is actually a mixed mode; JSON during boot, JSON packet header information preceding each binary chunk. +```bash +./audiotee | your_audio_processing_tool +``` + +### Logs and monitoring + +All program logs are written to `stderr` and can be captured separately: + +```bash +# Capture audio and logs separately +./audiotee > audio.pcm 2> audiotee.log + +# View logs in real-time while capturing audio +./audiotee > audio.pcm 2>&1 | grep "AudioTee" +``` ## Command Line options -- `--format, -f`: Output format (`json`, `binary`, `auto`) [default: `auto`] - `--include-processes`: Process IDs to tap (space-separated, empty = all processes) - `--exclude-processes`: Process IDs to exclude (space-separated, empty = none) - `--mute`: Mute processes being tapped diff --git a/Sources/CLI/ArgumentParser.swift b/Sources/CLI/ArgumentParser.swift index 5917463..260e164 100644 --- a/Sources/CLI/ArgumentParser.swift +++ b/Sources/CLI/ArgumentParser.swift @@ -189,11 +189,6 @@ class SimpleArgumentParser { throw ArgumentParserError.invalidValue(optionName, value) } return doubleValue as! T - } else if type == OutputFormat.self { - guard let format = OutputFormat(rawValue: value) else { - throw ArgumentParserError.invalidValue(optionName, value) - } - return format as! T } throw ArgumentParserError.invalidValue(optionName, value) diff --git a/Sources/CLI/AudioTee.swift b/Sources/CLI/AudioTee.swift index 51da1d7..10895a4 100644 --- a/Sources/CLI/AudioTee.swift +++ b/Sources/CLI/AudioTee.swift @@ -2,7 +2,6 @@ import CoreAudio import Foundation struct AudioTee { - var format: OutputFormat = .auto var includeProcesses: [Int32] = [] var excludeProcesses: [Int32] = [] var mute: Bool = false @@ -18,11 +17,6 @@ struct AudioTee { discussion: """ AudioTee captures system audio using Core Audio taps and streams it as structured output. - Output formats: - • json: Base64-encoded audio in JSON messages (safe for terminals) - • binary: Raw binary audio with JSON metadata headers (efficient for pipes) - • auto: Automatically choose based on whether stdout is a terminal (default) - Process filtering: • include-processes: Only tap specified process IDs (empty = all processes) • exclude-processes: Tap all processes except specified ones @@ -30,8 +24,6 @@ struct AudioTee { Examples: audiotee # Auto format, tap all processes - audiotee --format=json # Always use JSON format - audiotee --format=binary # Always use binary format audiotee --sample-rate=16000 # Convert to 16kHz mono for ASR audiotee --sample-rate=8000 # Convert to 8kHz for telephony audiotee --include-processes 1234 # Only tap process 1234 @@ -42,7 +34,6 @@ struct AudioTee { ) // Configure arguments - parser.addOption(name: "format", shortName: "f", help: "Output format", defaultValue: "auto") parser.addArrayOption( name: "include-processes", help: "Process IDs to include (space-separated, empty = all processes)") @@ -62,7 +53,6 @@ struct AudioTee { var audioTee = AudioTee() // Extract values - audioTee.format = try parser.getValue("format", as: OutputFormat.self) audioTee.includeProcesses = try parser.getArrayValue("include-processes", as: Int32.self) audioTee.excludeProcesses = try parser.getArrayValue("exclude-processes", as: Int32.self) audioTee.mute = parser.getFlag("mute") @@ -102,7 +92,6 @@ struct AudioTee { setupSignalHandlers() Logger.info("Starting AudioTee...") - Logger.debug("Using output format: \(format)") // Validate chunk duration guard chunkDuration > 0 && chunkDuration <= 5.0 else { @@ -143,7 +132,7 @@ struct AudioTee { throw ExitCode.failure } - let outputHandler = createOutputHandler(for: format) + let outputHandler = BinaryAudioOutputHandler() let recorder = AudioRecorder( deviceID: deviceID, outputHandler: outputHandler, convertToSampleRate: sampleRate, chunkDuration: chunkDuration) @@ -172,17 +161,6 @@ struct AudioTee { } } - private func createOutputHandler(for format: OutputFormat) -> AudioOutputHandler { - switch format { - case .json: - return JSONAudioOutputHandler() - case .binary: - return BinaryAudioOutputHandler() - case .auto: - return AutoAudioOutputHandler() - } - } - private func convertProcessFlags() -> ([Int32], Bool) { if !includeProcesses.isEmpty { // Include specific processes only diff --git a/Sources/CLI/OutputFormat.swift b/Sources/CLI/OutputFormat.swift deleted file mode 100644 index a9646bc..0000000 --- a/Sources/CLI/OutputFormat.swift +++ /dev/null @@ -1,16 +0,0 @@ -enum OutputFormat: String, CaseIterable { - case json = "json" - case binary = "binary" - case auto = "auto" - - var description: String { - switch self { - case .json: - return "Base64-encoded JSON (terminal-safe)" - case .binary: - return "Binary with JSON headers (pipe-optimised)" - case .auto: - return "Auto-detect based on TTY (default)" - } - } -} diff --git a/Sources/Core/AudioFormatConverter.swift b/Sources/Core/AudioFormatConverter.swift index c413f2f..d394ac2 100644 --- a/Sources/Core/AudioFormatConverter.swift +++ b/Sources/Core/AudioFormatConverter.swift @@ -119,7 +119,6 @@ public class AudioFormatConverter { return AudioPacket( timestamp: packet.timestamp, duration: packet.duration, - peakAmplitude: packet.peakAmplitude, rawAudioData: outputData ) } diff --git a/Sources/Core/AudioPacket.swift b/Sources/Core/AudioPacket.swift index 0a703cc..5ae6471 100644 --- a/Sources/Core/AudioPacket.swift +++ b/Sources/Core/AudioPacket.swift @@ -3,18 +3,15 @@ import Foundation public struct AudioPacket { public let timestamp: Date public let duration: Double - public let peakAmplitude: Float // useful for level monitoring public let rawAudioData: Data public init( timestamp: Date, duration: Double, - peakAmplitude: Float, rawAudioData: Data ) { self.timestamp = timestamp self.duration = duration - self.peakAmplitude = peakAmplitude self.rawAudioData = rawAudioData } } diff --git a/Sources/Output/Handlers/AutoOutputHandler.swift b/Sources/Output/Handlers/AutoOutputHandler.swift deleted file mode 100644 index 1b38abd..0000000 --- a/Sources/Output/Handlers/AutoOutputHandler.swift +++ /dev/null @@ -1,31 +0,0 @@ -import Foundation - -/// Auto-detecting output handler based on TTY -public class AutoAudioOutputHandler: AudioOutputHandler { - private let handler: AudioOutputHandler - - public init() { - // Auto-detect based on whether stdout is a terminal - if isatty(STDOUT_FILENO) != 0 { - handler = JSONAudioOutputHandler() - } else { - handler = BinaryAudioOutputHandler() - } - } - - public func handleAudioPacket(_ packet: AudioPacket) { - handler.handleAudioPacket(packet) - } - - public func handleMetadata(_ metadata: AudioStreamMetadata) { - handler.handleMetadata(metadata) - } - - public func handleStreamStart() { - handler.handleStreamStart() - } - - public func handleStreamStop() { - handler.handleStreamStop() - } -} diff --git a/Sources/Output/Handlers/BinaryOutputHandler.swift b/Sources/Output/Handlers/BinaryOutputHandler.swift index 7f4e7bb..781c0e2 100644 --- a/Sources/Output/Handlers/BinaryOutputHandler.swift +++ b/Sources/Output/Handlers/BinaryOutputHandler.swift @@ -5,12 +5,6 @@ public class BinaryAudioOutputHandler: AudioOutputHandler { public init() {} public func handleAudioPacket(_ packet: AudioPacket) { - // Create metadata without the audio data - let metadata = BinaryPacketHeader(from: packet) - - // Write JSON metadata line - Logger.writeMessage(.audio, data: metadata) - // Write raw binary audio data directly to stdout FileHandle.standardOutput.write(packet.rawAudioData) } diff --git a/Sources/Output/Handlers/JSONOutputHandler.swift b/Sources/Output/Handlers/JSONOutputHandler.swift deleted file mode 100644 index cb43e9d..0000000 --- a/Sources/Output/Handlers/JSONOutputHandler.swift +++ /dev/null @@ -1,23 +0,0 @@ -import Foundation - -/// Base64-encoded JSON output (terminal-safe) -public class JSONAudioOutputHandler: AudioOutputHandler { - public init() {} - - public func handleAudioPacket(_ packet: AudioPacket) { - let jsonPacket = JSONAudioPacket(from: packet) - Logger.writeMessage(.audio, data: jsonPacket) - } - - public func handleMetadata(_ metadata: AudioStreamMetadata) { - Logger.writeMessage(.metadata, data: metadata) - } - - public func handleStreamStart() { - Logger.writeMessage(.streamStart, data: Optional.none) - } - - public func handleStreamStop() { - Logger.writeMessage(.streamStop, data: Optional.none) - } -} diff --git a/Sources/Output/OutputPacketTypes.swift b/Sources/Output/OutputPacketTypes.swift deleted file mode 100644 index 205a68b..0000000 --- a/Sources/Output/OutputPacketTypes.swift +++ /dev/null @@ -1,45 +0,0 @@ -import Foundation - -/// JSON-serializable version of AudioPacket with base64-encoded audio data -public struct JSONAudioPacket: Codable { - public let timestamp: Date - public let duration: Double - public let peakAmplitude: Float - public let audioData: String // base64 encoded audio data - - public enum CodingKeys: String, CodingKey { - case timestamp - case duration - case peakAmplitude = "peak_amplitude" - case audioData = "audio_data" - } - - public init(from packet: AudioPacket) { - self.timestamp = packet.timestamp - self.duration = packet.duration - self.peakAmplitude = packet.peakAmplitude - self.audioData = packet.rawAudioData.base64EncodedString() - } -} - -/// Metadata-only packet for binary output (without base64 audio data) -public struct BinaryPacketHeader: Codable { - public let timestamp: Date - public let duration: Double - public let peakAmplitude: Float - public let audioLength: Int // Length of raw audio data in bytes - - public enum CodingKeys: String, CodingKey { - case timestamp - case duration - case peakAmplitude = "peak_amplitude" - case audioLength = "audio_length" - } - - public init(from packet: AudioPacket) { - self.timestamp = packet.timestamp - self.duration = packet.duration - self.peakAmplitude = packet.peakAmplitude - self.audioLength = packet.rawAudioData.count - } -} diff --git a/Sources/Utils/Logger.swift b/Sources/Utils/Logger.swift index a89ff67..b19139e 100644 --- a/Sources/Utils/Logger.swift +++ b/Sources/Utils/Logger.swift @@ -24,8 +24,8 @@ public class Logger { let message = Message(type: type, data: data) do { let jsonData = try jsonEncoder.encode(message) - FileHandle.standardOutput.write(jsonData) - FileHandle.standardOutput.write("\n".data(using: .utf8)!) + FileHandle.standardError.write(jsonData) + FileHandle.standardError.write("\n".data(using: .utf8)!) } catch { // TODO: handle at some point } From 8c3ee0f4e72823c611fc8446bfad9e362cba5441 Mon Sep 17 00:00:00 2001 From: Nick Payne Date: Sun, 27 Jul 2025 09:55:33 +0100 Subject: [PATCH 2/5] fix build error --- README.md | 2 +- Sources/Core/AudioBuffer.swift | 35 +++++++++++++++++----------------- 2 files changed, 19 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index a316ea8..f8bedb6 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ **⚠️ API Instability Warning: The AudioTee API is incredibly unstable at present and subject to change without notice.** -AudioTee captures your Mac's system audio output and writes raw PCM audio data directly to `stdout`. All logging and metadata information is written to `stderr`, allowing for clean redirection of audio data to files or pipes. It uses the [Core Audio taps](https://developer.apple.com/documentation/coreaudio/capturing-system-audio-with-core-audio-taps) API introduced in macOS 14.2 (released in December 2023). You can do whatever you want with this audio - stream it somewhere else, save it to disk, visualise it, etc. +AudioTee captures your Mac's system audio output and writes it in PCM encoded chunks to `stdout` at regular intervals. All logging and metadata information is written to `stderr`, allowing for clean redirection of audio data to files or pipes. It uses the [Core Audio taps](https://developer.apple.com/documentation/coreaudio/capturing-system-audio-with-core-audio-taps) API introduced in macOS 14.2 (released in December 2023). You can do whatever you want with this audio - stream it somewhere else, save it to disk, visualise it, etc. By default, it taps the audio output from **all** running processes. Tap output is forced to `mono` (not yet configurable) and preserves your output device's sample rate (configurable via the `--sample-rate` flag). Only the default output device is currently supported. diff --git a/Sources/Core/AudioBuffer.swift b/Sources/Core/AudioBuffer.swift index 4d4bfc7..80f8f4e 100644 --- a/Sources/Core/AudioBuffer.swift +++ b/Sources/Core/AudioBuffer.swift @@ -7,12 +7,12 @@ public class AudioBuffer { private var readIndex: Int = 0 private var availableBytes: Int = 0 private let maxBufferSize: Int - + private let bytesPerChunk: Int private let chunkDuration: Double public init(format: AudioStreamBasicDescription, chunkDuration: Double = 0.2) { - + // Pre-calculate chunk parameters let bytesPerFrame = Int(format.mBytesPerFrame) let samplesPerChunk = Int(format.mSampleRate * chunkDuration) @@ -22,24 +22,26 @@ public class AudioBuffer { // Calculate max buffer size to hold ~10 seconds of audio, way more than the maximum we allow let bytesPerSecond = Int(format.mSampleRate) * bytesPerFrame self.maxBufferSize = bytesPerSecond * 10 - + // Pre-allocated ring buffer self.buffer = Array(repeating: 0, count: maxBufferSize) } public func append(_ data: Data) { guard availableBytes + data.count <= maxBufferSize else { - Logger.error("Audio buffer overflow", context: [ - "requested": String(data.count), - "available": String(maxBufferSize - availableBytes) - ]) + Logger.error( + "Audio buffer overflow", + context: [ + "requested": String(data.count), + "available": String(maxBufferSize - availableBytes), + ]) return } - + data.withUnsafeBytes { bytes in let sourceBytes = bytes.bindMemory(to: UInt8.self) let dataSize = sourceBytes.count - + // Check if we can copy in one block (no wrap-around) if writeIndex + dataSize <= maxBufferSize { // only one write needed @@ -49,14 +51,14 @@ public class AudioBuffer { // two writes needed due to wrap-around let firstChunkSize = maxBufferSize - writeIndex let secondChunkSize = dataSize - firstChunkSize - + buffer.replaceSubrange(writeIndex..= bytesPerChunk else { return nil } var chunkData = Data(capacity: bytesPerChunk) - + // Check if we can copy in one block (no wrap-around) if readIndex + bytesPerChunk <= maxBufferSize { // one copy needed @@ -85,19 +87,18 @@ public class AudioBuffer { // two copies needed due to wrap-around let firstChunkSize = maxBufferSize - readIndex let secondChunkSize = bytesPerChunk - firstChunkSize - + chunkData.append(contentsOf: buffer[readIndex.. Date: Sun, 27 Jul 2025 10:06:01 +0100 Subject: [PATCH 3/5] update readme --- README.md | 30 +++++++++++++++++++++--------- Sources/CLI/AudioTee.swift | 4 ++-- output.pcm | Bin 0 -> 236800 bytes 3 files changed, 23 insertions(+), 11 deletions(-) create mode 100644 output.pcm diff --git a/README.md b/README.md index f8bedb6..a3a849d 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,18 @@ # AudioTee -**⚠️ API Instability Warning: The AudioTee API is incredibly unstable at present and subject to change without notice.** +**⚠️ API Instability Warning: The AudioTee API is unstable at present and subject to change without notice.** -AudioTee captures your Mac's system audio output and writes it in PCM encoded chunks to `stdout` at regular intervals. All logging and metadata information is written to `stderr`, allowing for clean redirection of audio data to files or pipes. It uses the [Core Audio taps](https://developer.apple.com/documentation/coreaudio/capturing-system-audio-with-core-audio-taps) API introduced in macOS 14.2 (released in December 2023). You can do whatever you want with this audio - stream it somewhere else, save it to disk, visualise it, etc. +AudioTee captures your Mac's system audio output and writes it in PCM encoded chunks to `stdout` at regular intervals. All logging and metadata information is written to `stderr`, allowing for clean redirection of audio data to files or pipes. Conceptually, that means you can do this: -By default, it taps the audio output from **all** running processes. Tap output is forced to `mono` (not yet configurable) and preserves your output device's sample rate (configurable via the `--sample-rate` flag). Only the default output device is currently supported. +```bash +/path/to/audiotee > output.pcm +``` -My original (and so far only) use case is streaming audio to a parent process which communicates with a realtime ASR service, so AudioTee makes some design decisions you might not agree with. Open an issue or a PR and we can talk about them. I'm also no Swift developer, so contributions improving codebase idioms and general hygiene are welcome. + It captures system audio using the [Core Audio taps](https://developer.apple.com/documentation/coreaudio/capturing-system-audio-with-core-audio-taps) API introduced in macOS 14.2 (released in December 2023). You can do whatever you want with this audio - stream it somewhere else, save it to disk, visualise it, etc. + +By default, audiotee captures audio output from **all** running processes. Tap output is forced to `mono` (not yet configurable) and preserves your output device's sample rate (configurable via the `--sample-rate` flag). Only the default output device is currently supported. + +My original (and so far only) use case is streaming audio to a parent process which communicates with a realtime ASR service, so AudioTee makes some design decisions you might not agree with. Open an issue or a PR and we can talk about them. I'm also no Swift developer, so contributions improving codebase idioms and general hygiene are welcome. I have internal variations of audiotee which allow recording mic input as well as system audio, and I'm open to making that part of the main API. Recording system audio is harder than it should be on macOS, and folks often wrestle with outdated advice and poorly documented APIs. It's a boring problem which stands in the way of lots of fun applications. There's more code here than you need to solve this problem yourself: the main classes of interest are probably [`Core/AudioTapManager`](https://github.com/makeusabrew/audiotee/blob/main/Sources/Core/AudioTapManager.swift) and [`Core/AudioRecorder`](https://github.com/makeusabrew/audiotee/blob/main/Sources/Core/AudioRecorder.swift). Everything's wired together in [`CLI/AudioTee`](https://github.com/makeusabrew/audiotee/blob/main/Sources/CLI/AudioTee.swift). The rest is just CLI configuration support, output formatting logic, and some utility functions you could probably live without. @@ -29,10 +35,14 @@ swift run More usefully, you can redirect the output to a file: ```bash -swift run > captured_audio.pcm +swift run audiotee --sample-rate 16000 > output.pcm ``` -If you're not playing audio when you run it, the PCM file will contain silence (zeroes). +You can play the PCM stream back using something like `ffplay`: + +```bash +ffplay -f s16le -ar 16000 output.pcm +``` ## Build @@ -52,7 +62,7 @@ Replace the path below with `.build///audiotee`, e.g. `build/arm64 ./audiotee # Redirect audio to a file -./audiotee > captured_audio.pcm +./audiotee > output.pcm # Pipe to another program ./audiotee | your_audio_processing_tool @@ -64,7 +74,7 @@ Replace the path below with `.build///audiotee`, e.g. `build/arm64 ### Audio conversion Note that performing sample rate conversion will also convert the output bit depth to -16-bit - assuming an original depth of 32-bit this results in a loss of dynamic range in exchange for half the output chunk size. For ASR services, 16-bit is sufficient, but in any case it's a behaviour worth being aware of. +16-bit - assuming an original depth of 32-bit this results in a loss of dynamic range in exchange for half the output chunk size. For ASR services, 16-bit is sufficient, but it's a behaviour worth being aware of. ```bash # Convert to 16kHz mono (useful for ASR services) @@ -160,7 +170,9 @@ All program logs are written to `stderr` and can be captured separately: ## Permissions There is no provision in the code to pre-emptively check for the required `NSAudioCaptureUsageDescription` permission, -so you'll be prompted the first time AudioTee tries to record anything. If you want to check and/or request permissions ahead of time, check out [AudioCap's clever TCC probing approach](https://github.com/insidegui/AudioCap/blob/main/AudioCap/ProcessTap/AudioRecordingPermission.swift). +so you'll be prompted the first time AudioTee tries to record anything. If you want to check and/or request permissions ahead of time, check out [AudioCap's clever TCC probing approach](https://github.com/insidegui/AudioCap/blob/main/AudioCap/ProcessTap/AudioRecordingPermission.swift). Note that some terminal emulators like +iTerm don't always prompt for these permissions (the macOS builtin terminal definitely does), so you +might need to grant them ahead of time if audiotee looks like it's running but never records anything. ## References diff --git a/Sources/CLI/AudioTee.swift b/Sources/CLI/AudioTee.swift index 10895a4..1dea18b 100644 --- a/Sources/CLI/AudioTee.swift +++ b/Sources/CLI/AudioTee.swift @@ -24,8 +24,8 @@ struct AudioTee { Examples: audiotee # Auto format, tap all processes - audiotee --sample-rate=16000 # Convert to 16kHz mono for ASR - audiotee --sample-rate=8000 # Convert to 8kHz for telephony + audiotee --sample-rate 16000 # Convert to 16kHz mono for ASR + audiotee --sample-rate 8000 # Convert to 8kHz for telephony audiotee --include-processes 1234 # Only tap process 1234 audiotee --include-processes 1234 5678 9012 # Tap only these processes audiotee --exclude-processes 1234 5678 # Tap everything except these diff --git a/output.pcm b/output.pcm new file mode 100644 index 0000000000000000000000000000000000000000..b2539f060e7a9d2dfe622f12471c15db7a95c661 GIT binary patch literal 236800 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 literal 0 HcmV?d00001 From 3449a9bb9c277ff4d20baf03c926f91e768cbea2 Mon Sep 17 00:00:00 2001 From: Nick Payne Date: Sun, 27 Jul 2025 10:10:36 +0100 Subject: [PATCH 4/5] further README tweaks --- README.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index a3a849d..c8329ba 100644 --- a/README.md +++ b/README.md @@ -2,17 +2,18 @@ **⚠️ API Instability Warning: The AudioTee API is unstable at present and subject to change without notice.** -AudioTee captures your Mac's system audio output and writes it in PCM encoded chunks to `stdout` at regular intervals. All logging and metadata information is written to `stderr`, allowing for clean redirection of audio data to files or pipes. Conceptually, that means you can do this: +AudioTee captures your Mac's system audio output and writes it in PCM encoded chunks to `stdout` at regular intervals. All logging and metadata information is written to `stderr`, meaning at its simplest you can +capture system audio to a file like this: ```bash /path/to/audiotee > output.pcm ``` - It captures system audio using the [Core Audio taps](https://developer.apple.com/documentation/coreaudio/capturing-system-audio-with-core-audio-taps) API introduced in macOS 14.2 (released in December 2023). You can do whatever you want with this audio - stream it somewhere else, save it to disk, visualise it, etc. +System audio is captured using the [Core Audio taps](https://developer.apple.com/documentation/coreaudio/capturing-system-audio-with-core-audio-taps) API introduced in macOS 14.2 (released in December 2023). You can do whatever you want with this audio - stream it somewhere else, save it to disk, visualise it, etc. By default, audiotee captures audio output from **all** running processes. Tap output is forced to `mono` (not yet configurable) and preserves your output device's sample rate (configurable via the `--sample-rate` flag). Only the default output device is currently supported. -My original (and so far only) use case is streaming audio to a parent process which communicates with a realtime ASR service, so AudioTee makes some design decisions you might not agree with. Open an issue or a PR and we can talk about them. I'm also no Swift developer, so contributions improving codebase idioms and general hygiene are welcome. I have internal variations of audiotee which allow recording mic input as well as system audio, and I'm open to making that part of the main API. +My original (and so far only) use case is streaming audio to a parent process which communicates with a realtime ASR service, so AudioTee makes some design decisions you might not agree with. Open an issue or a PR and we can talk about them. I'm also no Swift developer, so contributions improving codebase idioms and general hygiene are welcome. I have internal variations (and, franky, improvements) of audiotee which allow recording mic input as well as system audio, and I'm open to making that part of the main API. Recording system audio is harder than it should be on macOS, and folks often wrestle with outdated advice and poorly documented APIs. It's a boring problem which stands in the way of lots of fun applications. There's more code here than you need to solve this problem yourself: the main classes of interest are probably [`Core/AudioTapManager`](https://github.com/makeusabrew/audiotee/blob/main/Sources/Core/AudioTapManager.swift) and [`Core/AudioRecorder`](https://github.com/makeusabrew/audiotee/blob/main/Sources/Core/AudioRecorder.swift). Everything's wired together in [`CLI/AudioTee`](https://github.com/makeusabrew/audiotee/blob/main/Sources/CLI/AudioTee.swift). The rest is just CLI configuration support, output formatting logic, and some utility functions you could probably live without. @@ -32,13 +33,13 @@ cd audiotee swift run ``` -More usefully, you can redirect the output to a file: +More usefully, you can redirect `stdout` to a file: ```bash swift run audiotee --sample-rate 16000 > output.pcm ``` -You can play the PCM stream back using something like `ffplay`: +Which you can play back using something like `ffplay`: ```bash ffplay -f s16le -ar 16000 output.pcm From 2040510e9e12479a2e1dbca023b2157a277fae7a Mon Sep 17 00:00:00 2001 From: Nick Payne Date: Sun, 27 Jul 2025 10:14:19 +0100 Subject: [PATCH 5/5] consuming output is already fairly well covered --- README.md | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/README.md b/README.md index c8329ba..f1d73f6 100644 --- a/README.md +++ b/README.md @@ -129,25 +129,6 @@ AudioTee writes raw PCM audio data directly to `stdout` in chunks. All logging, - **Endianness**: Little-endian - **Chunk duration**: 200ms by default (configurable) -### Consuming output - -The simplest way to consume AudioTee's output is to redirect it to a file: - -```bash -./audiotee > captured_audio.pcm -``` - -You can then process this raw PCM file with tools like: -- **FFmpeg**: `ffmpeg -f f32le -ar 48000 -ac 1 -i captured_audio.pcm output.wav` -- **SoX**: `sox -t f32 -r 48000 -c 1 captured_audio.pcm output.wav` -- **Audacity**: Import as raw data with the appropriate settings - -For real-time processing, pipe the output to your application: - -```bash -./audiotee | your_audio_processing_tool -``` - ### Logs and monitoring All program logs are written to `stderr` and can be captured separately: