OrbNote supports transcribing voice messages to text after recording. Transcription runs on-device, with audio never sent to a server.

Dual-engine architecture

OrbNote uses two transcription engines and automatically selects the best option:

Engine Characteristics Use case
Apple Speech Built into the system, no download needed, multilingual First-time use, quick transcription
WhisperKit Requires local model download, higher accuracy High-precision transcription needs

Engine selection logic

The system selects a transcription engine in the following order:

  1. If the user manually specifies an engine, that engine is used.
  2. If the platform does not support WhisperKit (e.g., watchOS or Share Extension), Apple Speech is used.
  3. If the WhisperKit model is downloaded and ready, WhisperKit is used.
  4. Otherwise, Apple Speech is used, with a prompt to download the Whisper model for better accuracy.

When the engine is not manually specified, a WhisperKit failure automatically falls back to Apple Speech. A manually specified WhisperKit failure reports an error directly.

How transcripts are stored

After transcription, the text is stored in the attachment's metadata:

  • transcribedText: The final transcript text.
  • transcription_status: Status marker (in progress / completed / failed).
  • The transcript is included in the message's search index and can be found via global search.

Automatic vs. manual transcription

User type Transcription method
Free user Manually trigger transcription
Pro user Automatic transcription after recording completes

For more on message editing and operations, read Message operations.