Skip to content

Repository files navigation

Overtune

A minimal, elegant instrument tuner for macOS. Real-time pitch detection with a high-resolution arc meter, instant Hz readout, and a clean tone generator.

macOS 13+ Swift 5.9

Features

  • Real-time pitch detection — YIN algorithm with FFT acceleration and parabolic interpolation for sub-cent accuracy
  • High-resolution arc meter — 220° sweep with tick marks every 1 cent, major marks every 10 cents
  • Dual frequency display — target note Hz (e.g. A4 = 440.00 Hz) and live detected Hz simultaneously
  • Cent deviation readout — color-coded: green ±3¢ (in tune), amber ±15¢, red beyond
  • IN TUNE indicator — glowing dot and badge that lights up when within ±3 cents
  • Tone generator — play any note C2–B6 by name (with Hz shown) or enter a custom Hz value
  • Minimal dark UI — no title bar, draggable, fixed 420×620 window

Requirements

  • macOS 13 Ventura or later
  • Xcode 15+ (or Swift 5.9 toolchain)

Build & Run

# Clone
git clone https://github.com/overbeck/Overtune.git
cd Overtune

# Build release .app, sign ad-hoc, and launch
make run

# Or just build
make build
# → Overtune.app in the project root

On first launch, macOS will ask for microphone permission. Grant it and the tuner starts immediately.

Architecture

File Role
Audio/PitchDetector.swift YIN algorithm with FFT-accelerated autocorrelation
Audio/ToneGenerator.swift Real-time sine-wave synthesis via AVAudioSourceNode
Audio/AudioEngine.swift ObservableObject orchestrating mic input and tone output
Models/NoteInfo.swift Frequency ↔ note conversion, cent calculation
Views/CentMeterView.swift SwiftUI Canvas arc meter with animated needle
Views/TunerView.swift Main tuner layout
Views/ToneGeneratorView.swift Note grid + custom Hz generator

Note Frequencies (Equal Temperament, A4 = 440 Hz)

Note Hz
C4 261.63
D4 293.66
E4 329.63
F4 349.23
G4 392.00
A4 440.00
B4 493.88

About

Minimal elegant instrument tuner — real-time pitch detection, precise visual feedback, and reference tone generation

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages