Sonde Health API Platform Documentation

Android Verification Module

Overview

The verification module is responsible for verifying the user’s audio against the voice used for enrollment, which was described in Sonde Edge Passive SDK Architecture. Additionally, before starting with the steps mentioned here, please review Android Sonde Edge Passive SDK Integration.

The following steps guide your app development. They provide detailed information for verifying the user’s voice, describe collecting the audio sample, and generate the score for Mental Fitness.

 

  • Import the following classes in your Activity/Fragment

import com.sondeservices.common_passive.RecordingDataType import com.sondeservices.passive.continuous.analysis.VoiceAnalysisCallback import com.sondeservices.passive.continuous.analysis.VoiceSegmentData import com.sondeservices.passive.models.Score import sonde_passive.application_api.init.SondePassiveSdk
  • Before starting the verification, add the next check to make sure that the RECORD_AUDIO permission is enabled in your App :

  • Declare the following code.

private val REQUEST_CODE_RECORD_AUDIO = 11111

Then add the following check,

if (ContextCompat.checkSelfPermission( requireContext(), android.Manifest.permission.RECORD_AUDIO ) != PackageManager.PERMISSION_GRANTED ) { val permissions = arrayOf(android.Manifest.permission.RECORD_AUDIO) ActivityCompat.requestPermissions( requireActivity(), permissions, REQUEST_CODE_RECORD_AUDIO ) }

 

  • Also, verify that the app user grants record audio permission—the recording functionality will not function without permission. To do this, override the onRequestPermissionsResult method in your app and check the permission result.

override fun onRequestPermissionsResult( requestCode: Int, permissions: Array<String>, grantResults: IntArray ) { super.onRequestPermissionsResult(requestCode, permissions, grantResults) if (requestCode == REQUEST_CODE_RECORD_AUDIO && grantResults.isNotEmpty() && grantResults[0] != PackageManager.PERMISSION_GRANTED) { throw RuntimeException("Record Audio permission is required to start recording.") } }
  • Initialize continuous analysis in your Activity/Fragment/Service

  • Call the startContinuousVoiceAnalysis() function to start verification.

  • Typecast the score to VFFinalScore to get the other voice feature's scores.

  • Display the score to the user

The score value generated in the above step varies between 0-100. Once you get the score, display it to the user. You should always show the user the interpretation message on the score screen. For some applications, scores may be uploaded and not shown to the users. However, the scores can be uploaded for an individual user or in bulk for further analysis through API function calls.

Refer to Vocal Biomarkers - Health Checks for the interpretation message.

Below is the screenshot for your reference.

 

 

 

Sonde Health