Skip to content

Latest commit

 

History

History
254 lines (168 loc) · 7.53 KB

File metadata and controls

254 lines (168 loc) · 7.53 KB

Frequently Asked Questions (FAQ)

General Questions

What is BitPerfectCore?

BitPerfectCore is a Swift framework for macOS that provides true bit-perfect audio playback. It's designed for audiophiles and developers who need pristine audio reproduction without any processing or modification.

Why bit-perfect playback?

Bit-perfect playback ensures that the audio you hear is exactly what the artist and engineer intended. No resampling, no processing, no coloration - just pure, transparent audio reproduction.

What's the difference between BitPerfectCore and regular audio playback?

Regular macOS audio playback:

  • Mixes all audio through the system mixer
  • May resample to a common sample rate
  • Applies system audio processing
  • Shares the audio device with other apps

BitPerfectCore:

  • Direct hardware access (exclusive mode)
  • No resampling (matches device to source)
  • Zero audio processing
  • Dedicated device access for perfect playback

Is BitPerfectCore open source?

Yes! BitPerfectCore is released under the MIT License, allowing free use, modification, and distribution.

Technical Questions

What audio formats are supported?

Currently Planned:

  • FLAC (Free Lossless Audio Codec)
  • ALAC (Apple Lossless)
  • WAV (uncompressed PCM)
  • AIFF (uncompressed PCM)
  • DSD (DSF, DFF files)
  • APE (Monkey's Audio)
  • WavPack

Not Supported:

  • Lossy formats (MP3, AAC, OGG) - these are already compromised and don't benefit from bit-perfect playback

What sample rates and bit depths are supported?

BitPerfectCore supports whatever your audio device supports:

  • Sample rates: 44.1kHz, 48kHz, 88.2kHz, 96kHz, 176.4kHz, 192kHz, 384kHz, and higher
  • Bit depths: 16-bit, 24-bit, 32-bit (integer and float)
  • DSD: DSD64, DSD128, DSD256, DSD512

Does BitPerfectCore work with all audio devices?

BitPerfectCore works with any CoreAudio-compatible device, including:

  • Built-in Mac audio
  • USB DACs
  • Thunderbolt audio interfaces
  • Professional audio hardware

Some devices may not support exclusive mode, in which case BitPerfectCore will fall back gracefully.

What are the system requirements?

  • macOS 13.0+ (Ventura)
  • Apple Silicon or Intel Mac
  • Swift 5.9+
  • Xcode 15.0+ (for development)

How much CPU does BitPerfectCore use?

BitPerfectCore is designed for minimal overhead:

  • Target: < 5% CPU on modern Macs
  • Optimized for efficiency
  • Lock-free audio thread
  • Minimal allocations

What's the latency?

BitPerfectCore targets < 10ms latency from decode to output, though actual latency depends on:

  • Audio device buffer size
  • System load
  • File format decoding time

Usage Questions

How do I use BitPerfectCore in my app?

import BitPerfectCore

let engine = BitPerfectEngine()
try engine.configure(device: myDevice, sampleRate: 96000)
try await engine.play(url: audioFileURL)

See the README and documentation for complete examples.

Can I use BitPerfectCore with SwiftUI?

Yes! BitPerfectCore is designed to work seamlessly with SwiftUI through Combine publishers and async/await.

Does BitPerfectCore support gapless playback?

Yes! Gapless playback is a core feature, essential for albums and live recordings.

Can I use BitPerfectCore for streaming?

BitPerfectCore is designed for local file playback. Network streaming support may be added in the future.

Does BitPerfectCore support playlists?

BitPerfectCore is an audio engine, not a complete player. Playlist management is the responsibility of the app using BitPerfectCore (like Perfecta).

Project Questions

What's the current status?

BitPerfectCore is in active development (v0.5.0) with core playback features complete through Phase 5. See ROADMAP.md for details and CHANGELOG.md for what's been implemented.

When will v1.0 be released?

Target: Q4 2026. This is an estimate and may change based on development progress.

Is BitPerfectCore production-ready?

Not yet. The project is in active development. We'll announce when it's ready for production use.

How can I contribute?

See CONTRIBUTING.md for contribution guidelines. We welcome bug reports, feature requests, and code contributions!

What's the relationship with Perfecta?

BitPerfectCore is the audio engine that powers Perfecta, the perfect music player for macOS. They're separate projects:

  • BitPerfectCore - Audio engine (this project)
  • Perfecta - Music player app
  • RoomTone - Visual companion

Why create another audio library?

Existing solutions either:

  • Don't provide true bit-perfect playback
  • Are closed source
  • Don't support modern Swift
  • Lack exclusive mode support
  • Are no longer maintained

BitPerfectCore fills this gap with a modern, open-source, Swift-native solution.

Audiophile Questions

Will bit-perfect playback improve my audio quality?

If you have:

  • High-quality audio files (lossless formats)
  • Good audio equipment (DAC, headphones/speakers)
  • Trained ears

Then yes, bit-perfect playback ensures you're hearing exactly what's in the file without system processing.

Do I need expensive equipment?

BitPerfectCore works with any audio device, but you'll appreciate the difference most with quality equipment. Even mid-range DACs benefit from bit-perfect playback.

Can I hear the difference?

This depends on:

  • Your audio equipment
  • Your hearing
  • The source material
  • Your listening environment

Many audiophiles report noticeable improvements, especially with high-resolution audio.

What about volume control?

In exclusive mode, system volume control is bypassed. Volume should be controlled at:

  • The DAC/amplifier (preferred)
  • The application level (Perfecta provides this)

BitPerfectCore can optionally apply volume in the digital domain if needed.

Troubleshooting

My audio device isn't detected

  • Check that the device is connected and powered on
  • Verify it appears in System Settings > Sound
  • Try unplugging and reconnecting
  • Check for macOS audio device permissions

I get buffer underruns/dropouts

  • Close other audio applications
  • Increase buffer size
  • Check CPU usage
  • Verify file isn't corrupted
  • Check disk speed (especially for high-res files)

Exclusive mode doesn't work

  • Some devices don't support exclusive mode
  • Other apps may be using the device
  • Check device permissions
  • Try restarting the audio device

Sample rate won't change

  • Some devices have fixed sample rates
  • Check device capabilities
  • Verify device isn't locked by another app
  • Try manual configuration in Audio MIDI Setup

Development Questions

How do I build BitPerfectCore?

git clone https://github.com/marioarce/BitPerfectCore.git
cd BitPerfectCore
swift build

How do I run tests?

swift test

Where's the documentation?

Can I use BitPerfectCore in commercial apps?

Yes! The MIT License allows commercial use. See LICENSE for details.

Still Have Questions?


Last Updated: June 2026
Note: This FAQ will be updated as the project develops and more questions arise.