Skip to content
iOS 17+ · v0.10.0

BitaBit

Bit-Perfect Audio.
From bit to beat.

A SwiftUI iOS hi-fi audio player focused on transparent, lossless playback. 19 formats — from FLAC and DSD to VGM chiptunes — with real-time visualization and remote control for Plex, LMS, podcasts and radio.

9:41Hi-Fi
Bit-PerfectFLAC · 24/96

From Bit to Beat

BitaBit Sessions · Hi-Fi EP

1:244:08
USB DAC · 96 kHz · 24-bit
Why BitaBit

Everything an audiophile needs.
Nothing they don't.

Built native on SwiftUI and AVFoundation. A single, transparent audio pipeline — no black boxes, no silent transcoding, no compromise.

Bit-perfect engine

A single AVAudioEngine pipeline minimizes processing. What goes in is what comes out — transparent, lossless, no silent re-encoding.

19 audio formats

FLAC, MP3, ALAC, WAV, AIFF, DSD (DSF/DFF), Ogg Vorbis, Opus, APE, TTA, WavPack and VGM/VGZ chiptunes — all native, all gapless-ready.

8 live visualizers

Bars, waveform, spectrum, circular, particles, layered, dots and mirror — rendered in real time from FFT analysis on the Accelerate framework.

Two-tier explanations

Every quality limitation is explained twice: once for the engineer (sample rates, bit depth, codec) and once for the curious (plain language, no jargon).

Remote sources

Stream from Plex, remote-control Lyrion Music Server hardware, subscribe to podcasts, and tune into internet radio — all from one player.

Real-time synthesis

VGM/VGZ chiptunes synthesized live via a vendored libvgm driving 40+ retro sound chips. Lock-free render callbacks, zero allocations.

Persistent queue

Security-scoped bookmarks keep your Document Picker files accessible across launches. Drag-to-reorder, shuffle, repeat — your queue survives.

Adaptive artwork theming

Glassmorphic UI that borrows its palette from the playing artwork. Dark mode only, by design — built for the music, not the sun.

19 formats

If it's audio, it probably plays.

Native AVFoundation decoding for the common formats, SFBAudioEngine for the rare ones, and a real-time synthesizer for chiptunes. One registry, feature-flagged and extensible.

19

audio formats

8

live visualizers

40+

retro chips synthesized

384 kHz

USB DAC passthrough

Lossless
FLACALACWAVAIFF
Lossy
MP3Ogg VorbisOpus
DSD
DSFDFF
Niche lossless
APETTAWavPack
Chiptune
VGMVGZ
See the sound

Eight ways to watch the music.

Real-time FFT analysis on Apple's Accelerate framework — 64 logarithmic bands via vDSP_DFT, rendered live on every beat. Pick your aesthetic.

Bars

Classic equalizer columns

Waveform

Smooth scrolling oscilloscope

Spectrum

64 logarithmic FFT bands

Circular

Radial frequency sweep

Particles

Reactive dust cloud

Layered

Depth-stacked bars

Dots

Point-grid intensity

Mirror

Symmetric reflection

Plus an interactive waveform scrubber with offline RMS analysis for precise seeking.

Beyond local

Your library, everywhere it lives.

Local files are just the start. Stream from your servers, remote-control your hi-fi hardware, subscribe to shows and tune into the world.

Stream

Plex

PIN-authenticated streaming from your Plex Media Server with token-secured URLs.

Remote control

Lyrion Music Server

Browse your library and drive Squeezebox hardware over JSON-RPC. The server plays; you conduct.

Subscribe

Podcasts

RSS/Atom subscriptions with SwiftData persistence, background refresh and WiFi-only downloads.

Tune in

Internet Radio

Browse the RadioBrowser directory, save favorites and stream any HTTP(S) audio URL.

The differentiator

Two explanations. One truth.

BitaBit demystifies hi-fi. Every quality limitation is explained twice — once for the engineer, once for the curious. No jargon tax.

Audio quality analysis

Live route + source comparison

SourceFLAC · 96 kHz · 24-bit · ~4608 kbps
Output routeUSB Audio · 96 kHz · 24-bit · no resampling
VerdictBit-transparent. No decimation, no dithering, no codec conversion. Pass-through.
Under the hood

Engineered for the signal path.

No magic, just careful audio engineering. Every decision documented in Architecture Decision Records.

DSD → PCM

DSF/DFF decoded via ExtAudioFile into Float32. DoP markers preserved for DSD64/128/256 carrier rates on compatible USB DACs.

libvgm synthesis

Vendored C++ engine driving 40+ retro sound chips — YM2612, SN76489, SPC700, and more. Lock-free render callbacks, zero allocations.

FFT · Accelerate

vDSP_DFT into 64 logarithmic bands. Hann window, precomputed buffers. Processed on a dedicated serial queue — never the render thread.

Three engines

AVAudioEngine for local + VGM. AVPlayer for Plex and radio. Only one active at a time — clean handoff, no mixer conflicts.

Signal path

AVAudioFileAVAudioPlayerNodeAVAudioMixerNodeAVAudioOutputNodeHardware

VGM and synthesis paths route through an AVAudioSourceNode with a pre-allocated scratch buffer — never allocating on the real-time thread.

Questions

Good questions, honest answers.

iOS routes all audio through a system mixer, so true bit-perfect output isn't possible system-wide. BitaBit keeps the AVAudioEngine chain as short as possible and avoids unnecessary format conversions, so what reaches the output is as transparent as iOS allows. With a USB DAC, high sample rates up to 384 kHz pass through untouched.

Hear it the way it was made.

BitaBit is free of the loudness war, the codec war and the jargon war. Just your music, bit for bit.

iOS 17+ · com.overpal.bitabit