Skip to content

ImagineBowl/Raven

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Raven

A local-first audiobook player for iOS. Import folders of audio files, listen with background playback and lock screen controls, track progress per book and chapter, and generate on-device transcripts with Whisper.

Features

  • Local library — Drop audiobook folders in Files (On My iPhone → Raven) or use Add Folder in the app
  • Automatic import — Scans your library folder on launch and when returning to the app
  • Playback — Play/pause, skip ±15s/±30s, speed control (0.75×–2×), sleep timer
  • Progress — Saves chapter index and timestamp; resumes where you left off
  • Background audio — Lock screen and AirPods controls with artwork
  • Mini player — Persistent bar when navigating away from the player
  • Transcripts — On-device transcription via WhisperKit with search and SRT/VTT export

Requirements

  • iOS 18+
  • Xcode 16+
  • Swift 5

Getting started

  1. Clone the repository
  2. Open Raven.xcodeproj in Xcode
  3. Select your device or simulator
  4. Build and run (Cmd + R)

Adding audiobooks

Option A — Files app

  1. Open Files → Browse → On My iPhone → Raven
  2. Create a folder for each book (e.g. My Audiobook/)
  3. Add audio files inside (mp3, m4a, m4b, aac, wav, flac)
  4. Open Raven — books appear automatically

Option B — In app

  1. Tap Add Folder in the library
  2. Pick a folder from Files — it is copied into your Raven library

Architecture

Raven/
├── Models/           SwiftData (Book, Chapter, TranscriptSegment)
├── Services/         Audio, import, library sync, transcription
├── ViewModels/       Library and player state
├── Views/            SwiftUI screens and components
└── Utilities/        Shared helpers
  • MVVM with @Observable view models
  • SwiftData for persistence
  • AVFoundation for playback
  • WhisperKit for on-device speech-to-text

Transcription

The first transcript download pulls the Whisper tiny model (~75 MB). Transcripts are stored locally per chapter and reused on later playback.

License

MIT — see LICENSE.

About

Raven is a local-first audiobook player for iOS. Drop audio folders in Files, listen with background playback and lock screen controls, and generate searchable transcripts locally with Whisper.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages