A fast, minimal music player for the Mac. No third-party engine, no account, no subscription. Just a simple, fast player for your files.
- Formats — MP3, MP2, AAC, FLAC, MP4/M4A, AIFF and WAV, all decoded natively by CoreAudio
- Waveform seek bar — a SoundCloud-style waveform; click it to seek
- Drag and drop — drop files or folders on the window or the dock icon to play them
- Metadata and artwork — read with TagLib, then cached to disk
- Keyboard transport —
Spaceplays and pauses,BandNchange track,A–DandZ–Cskip by bars - Performance FX — a low-kill filter, a reverb wash and BPM-synced delays on
Q–T; tap to latch, hold for momentary - Pitch adjust — an optional SL-1200-style pitch fader
Drop audio files or a folder on the window to play them. Click the waveform to seek.
Drag the artwork out to copy the playing file somewhere else.
| Key | Action |
|---|---|
Space |
Play / pause |
B |
Previous track |
N |
Next track |
A / S / D |
Skip forward 8 / 16 / 32 bars when the tempo is known, else 10 / 30 / 60 seconds |
Z / X / C |
Skip back 8 / 16 / 32 bars when the tempo is known, else 10 / 30 / 60 seconds |
Tab |
Show / hide playlist |
P |
Show / hide pitch control |
⌘O |
Open file or folder |
| Key | Action |
|---|---|
Q |
Low-kill filter |
W |
Low-kill boost, which pushes the Q cutoff higher |
E |
Reverb wash |
R |
Delay, 1/8-note taps |
T |
Delay, 1/16-note taps |
Tap an FX key to latch the effect; hold it for momentary.
Vibe is written in Objective-C/C++ and is focused on performance and speed. It uses CoreAudio directly and avoids 3rd-party libraries where possible. TagLib 1.3 is included in-tree and used for reading metadata and artwork.
Vibe.xcodeproj is generated by XcodeGen from project.yml and is not checked in, so a fresh clone has no project to open:
brew install xcodegenxcodegen generate
open Vibe.xcodeprojBuild and run the Vibe scheme with ⌘R. Re-run xcodegen generate after every pull or edit to project.yml.
Requirements, the make targets for building and testing from the command line, and the house rules are in CONTRIBUTING.md.
- Localization — adding a string, adding a language, testing one: docs/localization.md
- Releasing — credentials, localized product-page assets, metadata upload, shipping a build: docs/app-store-releasing.md
Vibe is licensed under the Apache License 2.0.
There is no package manager: all third-party code is vendored under Vibe/ThirdParty/ and compiled into the app target. THIRD-PARTY-NOTICES.md lists every component and the license it is used under — most notably TagLib, which is dual-licensed and which Vibe uses under the Mozilla Public License 1.1 rather than the LGPL, because it is statically linked.