EkaScribe SDK Documentation
EkaScribe SDK (Voice2Rx) is an Android SDK for voice-based medical transcription and documentation. It provides real-time voice recording, transcription, and intelligent medical documentation generation with support for multiple languages and output formats. Version: 3.0.7 Minimum Android SDK: 23 (Android 6.0)1. Installation
Add Maven Repository
Add the JitPack repository to your project’ssettings.gradle.kts (or build.gradle):
Add Dependencies
Add the EkaScribe SDK and required networking dependency to your app’sbuild.gradle.kts:
Required Permissions
Add the following permissions to yourAndroidManifest.xml:
RECORD_AUDIO permission at runtime for Android 6.0 and above.
2. Initialization
Initialize the SDK in yourApplication class or main Activity.
Step 1: Implement Lifecycle Callbacks
Create a class that implementsVoice2RxLifecycleCallbacks to handle session events.
Step 2: Implement TokenStorage
The networking module requires aTokenStorage implementation to handle authentication tokens.
Step 3: Configure and Initialize
InitializeVoice2Rx with Voice2RxInitConfig and NetworkConfig.
3. Core API Reference
All main functions are available via theVoice2Rx singleton object.
Recording Control
startVoice2Rx
Starts a new voice recording session.
pauseVoice2Rx
Pauses the current recording.
resumeVoice2Rx
Resumes a paused recording.
stopVoice2Rx
Stops the recording and triggers processing.
isCurrentlyRecording
Checks if a recording is in progress.
Data & Results
getSessionOutput
Retrieves the transcription/generated output for a session.
pollEkaScribeResult
Polls for results, useful for waiting until processing completes.
getHistoryVoice2Rx
Fetches session history.
getFullRecordingFile
Gets the audio file for a session.
Session Info & Monitoring
getSessionUploadInfoAsFlow
Observe the upload stage of a session (Uploading, Processing, Completed).
getVoiceActivityFlow
Flow for real-time voice activity (speech detection, amplitude).
getAudioQualityFlow
Flow for real-time audio quality metrics (STOI, PESQ, SI-SDR).
Configuration & Templates
getTemplates
Get available output templates.
getUserConfigs
Get user configuration including supported languages and modes.
updateUserConfigs
Update user preferences (selected language, mode, etc.).
4. Error Handling
Errors are returned viaEkaScribeError.
Common Error Codes:
SUPPORTED_OUTPUT_FORMATS_COUNT_EXCEEDED: Max 2 output formats allowed.SUPPORTED_LANGUAGES_COUNT_EXCEEDED: Max 2 languages allowed.LANGUAGE_LIST_CAN_NOT_BE_EMPTYOUTPUT_FORMAT_LIST_CAN_NOT_BE_EMPTY
5. Cleanup
CallreleaseResources() when the SDK is no longer needed (e.g., in onDestroy of your host
Activity/Application).

