EkaScribe
A Swift package for voice-to-prescription functionality with floating UI components, audio recording, and real-time transcription capabilities for medical consultation applications.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
- Installation
- Quick Start
- Core Components
- Integration Guide
- Configuration
- Usage Examples
- Best Practices
- API Reference
Requirements
- iOS: 14.0+
- Swift: 5.5+
- Xcode: 13.0+
System Permissions
Add the following permissions to your app’sInfo.plist
:
Installation
Swift Package Manager
Add EkaScribe to your project using Swift Package Manager:- In Xcode, select File → Add Package Dependencies
- Enter the repository URL:
- Choose the version or branch
- 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