Skip to main content

EkaScribe

A Swift package for voice-to-prescription functionality with floating UI components, audio recording, and real-time transcription capabilities for medical consultation applications. Swift Version Platform License

Overview

EkaScribe empowers healthcare applications with advanced voice recording and transcription capabilities. It provides a seamless integration for medical consultation workflows, enabling doctors to record patient interactions and automatically generate prescriptions through AI-powered voice analysis.

Key Features

  • 🎙️ Voice Activity Detection (VAD) - Intelligent audio recording with automatic speech detection
  • 🔄 Real-time Transcription - Live audio-to-text conversion during consultations
  • 📱 Floating UI Interface - Picture-in-picture recording interface that stays accessible
  • 🏥 Medical Context Aware - Specialized for healthcare terminology and prescription generation
  • 📊 Session Management - Complete recording session lifecycle management
  • ☁️ Cloud Integration - Automatic audio upload and processing

Table of Contents

Requirements

  • iOS: 14.0+
  • Swift: 5.5+
  • Xcode: 13.0+

System Permissions

Add the following permissions to your app’s Info.plist:

Installation

Swift Package Manager

Add EkaScribe to your project using Swift Package Manager:
  1. In Xcode, select File → Add Package Dependencies
  2. Enter the repository URL:
  3. Choose the version or branch
  4. Add to your target

Package.swift

Quick Start

Here’s a minimal example to get you started:

Core Components

VoiceToRxViewModel

The central view model that manages the entire voice recording and processing workflow.

Recording States

Conversation Types

FloatingVoiceToRxViewController

Provides a system-wide floating interface for recording control, similar to FaceTime’s picture-in-picture.

Configuration Classes

V2RxInitConfigurations

Central configuration object for session parameters:

Integration Guide

Step 1: Configure Dependencies

Set up authentication and core configurations:

Step 2: Implement Required Delegates

FloatingVoiceToRxDelegate (Required)

LiveActivityDelegate (Optional)

For iOS Live Activities support during recording:

Step 3: Initialize and Control Recording

Configuration

Audio Configuration

EkaScribe automatically configures optimal audio settings, but you can customize them:

Network Configuration

Configure upload and processing endpoints:

Usage Examples

Basic Recording Session

Session Management

Custom UI Integration

Best Practices

Memory Management

Network Optimization

Performance Optimization

API Reference

VoiceToRxViewModel

Properties

Methods

FloatingVoiceToRxViewController

Methods

Delegate Protocols

FloatingVoiceToRxDelegate

LiveActivityDelegate

Configuration Classes

V2RxInitConfigurations

AuthTokenHolder

3. Session Creation Failures

Symptoms: onCreateVoiceToRxSession not called or called with nil values Solutions:

Debug Mode

Enable detailed logging for troubleshooting:

Support Resources

  • GitHub Issues: Report bugs or request features
  • Documentation: Check this guide and inline code documentation
  • Sample Project: Request access to the sample integration project
  • Technical Support: Contact the EkaScribe team for integration assistance

License

EkaScribe is available under the MIT license. See the LICENSE file for more info.

Contributing

We welcome contributions! Please see our contributing guidelines for details on how to submit pull requests, report issues, and suggest improvements.
Made with ❤️ by the Eka.Care team