Skip to main content

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’s settings.gradle.kts (or build.gradle):

Add Dependencies

Add the EkaScribe SDK and required networking dependency to your app’s build.gradle.kts:

Required Permissions

Add the following permissions to your AndroidManifest.xml:
Note: You must request RECORD_AUDIO permission at runtime for Android 6.0 and above.

2. Initialization

Initialize the SDK in your Application class or main Activity.

Step 1: Implement Lifecycle Callbacks

Create a class that implements Voice2RxLifecycleCallbacks to handle session events.

Step 2: Implement TokenStorage

The networking module requires a TokenStorage implementation to handle authentication tokens.

Step 3: Configure and Initialize

Initialize Voice2Rx with Voice2RxInitConfig and NetworkConfig.

3. Core API Reference

All main functions are available via the Voice2Rx singleton object.

Recording Control

startVoice2Rx

Starts a new voice recording session.
Example:

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 via EkaScribeError. 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_EMPTY
  • OUTPUT_FORMAT_LIST_CAN_NOT_BE_EMPTY
Data Class:

5. Cleanup

Call releaseResources() when the SDK is no longer needed (e.g., in onDestroy of your host Activity/Application).