Audio management
This section contains audio management proto files.
Notes:
- To download Gatekeeper proto files, click download Gatekeeper proto files.
- Default values are determined by the gRPC specification. For more information, go to protocol buffers language guide .
audio_management_service.proto
AudioManager
This service uploads and downloads audio to the system.
gRPC method definitions
| Method Name | Request Type | Response Type | Description |
|---|---|---|---|
| GetUploadUrl | GetUploadUrl Request |
GetUploadUrl Response |
Gets a temporary URL endpoint for audio upload. The calling application should upload the audio to the provided URL. |
| GetDownloadUrl | GetDownloadUrl Request |
GetDownloadUrl Response |
Gets a temporary URL endpoint for audio download. Audio is playable and not encrypted. |
| GetProcessedAudioDetails | GetProcessedAudioDetails Request |
GetProcessedAudioDetails Response |
Gets detailed information about a processed audio including both read-only and writable properties. |
| UpdateProcessedAudioDetails | UpdateProcessedAudioDetails Request |
UpdateProcessedAudioDetails Response |
Updates one or more processed audio properties. |
| GetMediaSegmentDetails | GetMediaSegmentDetails Request |
GetMediaSegmentDetails Response |
Gets detailed information about a media segment including both read-only and writable properties. |
| UpdateMediaSegmentDetails | UpdateMediaSegmentDetails Request |
UpdateMediaSegmentDetails Response |
Updates one or more media segment properties. |
| DeleteMediaSegment | DeleteMediaSegment Request |
DeleteMediaSegment Response |
Deletes the media segment and all its associated processed audio segments. Returns PERMISSION_DENIED for live media, media used for enrollment, media shared in the datashare, and media marked as legal_hold. |
Methods with HTTP bindings
Notes:
-
REST API responses use the camel case naming convention, such as gkPersonId, but the REST API requests can either use the camel case or snake case naming convention, such as gk_person_id.
-
The following example displays root prefix and endpoint to build a complete URL, such as
https://gatekeeper.api.nuance.com/v1/audios/upload-url:- Root prefix for API:
https://gatekeeper.api.nuance.com - Endpoint:
/v1/audios/upload-url
To know more about root prefixes for API that can be used for different geographies, go to Sites.
- Root prefix for API:
GetUploadUrl
GetDownloadUrl
GetProcessedAudioDetails
UpdateProcessedAudioDetails
GetMediaSegmentDetails
UpdateMediaSegmentDetails
DeleteMediaSegment
audio_management_messages.proto
ALaw
ALaw audio format. G.711 audio formats are set to 8kHz.
AudioFormat
The audio format of the media segment.
| Field | Type | Description |
|---|---|---|
| One of audio_format: | One of the following audio formats. |
|
| pcm | PCM | Signed 16-bit little endian PCM |
| alaw | ALaw | G.711 A-law, 8kHz |
| ulaw | ULaw | G.711 Mu-law, 8kHz |
| mp3 | Mp3 | Mp3 |
| g729 | G729 | G729/G729A |
| number_of_channels | uint32 | Number of channels. i.e. mono audios have one channel, while stereo audios have 2 channels. |
DeleteMediaSegmentRequest
Input message that defines parameters for DeleteMediaSegment.
Uses the context field as follows:
- gk_engagement_id: Mandatory
- gk_session_id: Mandatory
- gk_scope_id: Mandatory
- configset_id: Not used
| Field | Type | Description |
|---|---|---|
| context | nuance.biosec.v1.Context | Mandatory. General request context. |
| gk_media_segment_id | nuance.biosec.v1.UniqueId | Mandatory. Unique ID of the media segment. |
DeleteMediaSegmentResponse
Output message that defines parameters returned by DeleteMediaSegment.
| Field | Type | Description |
|---|---|---|
| status | nuance.rpc.Status | Mandatory. General operation status. |
DeviceprintProcessingAttributes
Contains information about the processed audio. Included in GetProcessedAudioDetailsResponse.
| Field | Type | Description |
|---|---|---|
| gross_audio | google.protobuf.Duration | Optional. Amount of gross audio. |
| net_audio | google.protobuf.Duration | Optional. Amount of net audio. |
| not_speech | google.protobuf.Duration | Optional. Amount of audio containing everything that is not speech, like noise and silence. |
| snr_db | google.protobuf.FloatValue | Optional. The SNR (Signal to noise ratio) value of the audio in dB. |
| speech_level | google.protobuf.FloatValue | Optional. A measure related to the estimated power of the speech signal. Lower values mean that the signal level is softer. |
| saturation_level | google.protobuf.FloatValue | Optional. The number of saturated audio samples for one minute of speech. |
| perceptual_speech_quality | google.protobuf.FloatValue | Optional. Pesq: a number in range 0-5, 0 means noise ony, 5 means perfect quality of speech |
| packet_loss_rate | google.protobuf.FloatValue | Optional. Packet loss rate expressed as percentage. |
| channel_scores | repeated nuance.biosec.v1.deviceprint.TelephonyChannelScore | Optional. Telephony channel identification scores. |
G729
The input message that defines the G729/G729A audio format. By default, the G.729/G.729A audio format is set to 8kHz.
GetDownloadUrlRequest
Input message that defines parameters for GetDownloadUrl.
Uses the context field as follows:
- gk_engagement_id: Not used
- gk_session_id: Not used
- gk_scope_id: Mandatory
- configset_id: Not used
| Field | Type | Description |
|---|---|---|
| context | nuance.biosec.v1.Context | Mandatory. General request context. |
| gk_media_segment_id | nuance.biosec.v1.UniqueId | Mandatory. Unique ID of the media segment to download. |
| format | AudioFormat | Optional. The audio format. |
| container | Container | Optional. Specifies the audio file’s type. |
| channel_selector | nuance.biosec.v1.AudioChannelSelector | Optional. Specify the channel to download when only one channel of a stereo media is needed. For stereo, left is channel 1 and right is channel 2. When not specified, all channels are downloaded. |
GetDownloadUrlResponse
Output message that defines parameters returned by GetDownloadUrl.
| Field | Type | Description |
|---|---|---|
| status | nuance.rpc.Status | Mandatory. General operation status. |
| media_download_url | string | Optional. URL for downloading media. |
GetMediaSegmentDetailsRequest
Input message that defines parameters for GetMediaSegmentDetails.
Uses the context field as follows:
- gk_engagement_id: Not used
- gk_session_id: Not used
- gk_scope_id: Mandatory
- configset_id: Not used
| Field | Type | Description |
|---|---|---|
| context | nuance.biosec.v1.Context | Mandatory. General request context. |
| gk_media_segment_id | nuance.biosec.v1.UniqueId | Mandatory. Unique ID of the media segment. |
| field_mask | google.protobuf.FieldMask | Optional. A field mask used to specify the MediaSegmentDetailsForRead fields that the method reads. |
GetMediaSegmentDetailsResponse
Output message that defines parameters returned by GetMediaSegmentDetails.
| Field | Type | Description |
|---|---|---|
| status | nuance.rpc.Status | Mandatory. General operation status. |
| details | MediaSegmentDetailsForRead | Optional. Media segment’s details. |
GetProcessedAudioDetailsRequest
Input message that defines parameters for GetProcessedAudioDetails.
Uses the context field as follows:
- gk_engagement_id: Not used
- gk_session_id: Not used
- gk_scope_id: Mandatory
- configset_id: Not used
| Field | Type | Description |
|---|---|---|
| context | nuance.biosec.v1.Context | Mandatory. General request context. |
| gk_processed_audio_id | nuance.biosec.v1.UniqueId | Mandatory. Unique ID of the processed audio. |
| field_mask | google.protobuf.FieldMask | Optional. A field mask used to specify the ProcessedAudioDetailsForRead fields that the method reads. |
GetProcessedAudioDetailsResponse
Output message that defines parameters returned by GetProcessedAudioDetails.
| Field | Type | Description |
|---|---|---|
| status | nuance.rpc.Status | Mandatory. General operation status. |
| details | ProcessedAudioDetailsForRead | Optional. Audio details. |
| gk_media_segment_id | nuance.biosec.v1.UniqueId | Optional. ID of the media segment that is used to generate gk_processed_audio_id. |
GetUploadUrlRequest
Input message that defines parameters for GetUploadUrl.
Uses the context field as follows:
- gk_engagement_id: Mandatory
- gk_session_id: Mandatory
- gk_scope_id: Mandatory
- configset_id: Not used
| Field | Type | Description |
|---|---|---|
| context | nuance.biosec.v1.Context | Mandatory. General request context. |
| format | AudioFormat | Optional if uploading a wav file. Mandatory when uploading a header-less audio file. |
| container | Container | Mandatory. Specifies the audio file’s type. |
| call_parties | repeated PartyAttributes | Optional. Call parties attributes. |
GetUploadUrlResponse
Output message that defines parameters returned by GetUploadUrl.
| Field | Type | Description |
|---|---|---|
| status | nuance.rpc.Status | Mandatory. General operation status. |
| media_upload_url | string | Optional. URL for uploading media. |
| gk_media_segment_id | nuance.biosec.v1.UniqueId | Optional. Uploaded media’s unique Media Segment ID for use in other API methods. |
Interval
Contains parameters that define an interval.
| Field | Type | Description |
|---|---|---|
| start_offset | google.protobuf.Duration | Mandatory. Marks the beginning of the media interval. |
| end_offset | google.protobuf.Duration | Optional. Marks the end of the media interval. When not set, the interval stops at the end of media segment and must be the last interval in the list. |
| channel | uint32 | Mandatory. Specifies the interval’s media channel. |
MediaSegmentDetailsForRead
Contains the readable fields of the media segment. Included in GetMediaSegmentDetailsResponse. Only the fields that match the GetMediaSegmentDetailsRequest are returned. If no mask is specified, all fields are returned.
| Field | Type | Description |
|---|---|---|
| gk_person_id | nuance.biosec.v1.UniqueId | Optional. The unique ID of the person owning the media segment. |
| legal_hold | google.protobuf.BoolValue | Optional. Determined if the media should be kept due to a regulatory requirement. |
| media_length | google.protobuf.Duration | Optional. Amount of gross audio collected. This represents the actual recording duration excluding the time the call was on hold. |
| sample_rate_hz | google.protobuf.Int32Value | Optional. Number of audio samples per second. |
| number_of_channels | google.protobuf.Int32Value | Optional. Number of recording channels (1 for Mono, 2 for Stereo). |
| call_parties | repeated PartyAttributes | Optional. Parties attributes. |
| call_type | nuance.biosec.v1.CallType | Optional. The type of the call. |
| redacted_intervals | repeated Interval | Optional. List of redacted intervals for all channels. |
| masked_intervals | repeated Interval | Optional. List of masked intervals for all channels. |
| custom_data | repeated MediaSegmentDetailsForRead.CustomDataEntry | Optional. Custom application data in a list of key-value pairs. |
MediaSegmentDetailsForRead.CustomDataEntry
| Field | Type | Description |
|---|---|---|
| key | string | |
| value | string |
MediaSegmentDetailsForWrite
Contains the writable fields of the media segment. Included in UpdateMediaSegmentDetailsRequest. Provide fields that match UpdateMediaSegmentDetailsRequest.
| Field | Type | Description |
|---|---|---|
| gk_person_id | nuance.biosec.v1.UniqueId | Optional. The unique ID of the person owning the media segment. |
| legal_hold | google.protobuf.BoolValue | Optional. Determined if the media should be kept due to a regulatory requirement. |
| custom_data | repeated MediaSegmentDetailsForWrite.CustomDataEntry | Optional. Custom application data in a list of key-value pairs. |
MediaSegmentDetailsForWrite.CustomDataEntry
| Field | Type | Description |
|---|---|---|
| key | string | |
| value | string |
Mp3
MP3 audio format
| Field | Type | Description |
|---|---|---|
| target | Target | Optimize for quality or bitrate. |
| bitrate | uint32 | Bitrate in kbit/sec (Only valid if target is bitrate, for CBR one of 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256 or 320) |
| cbr | bool | Enforces constant bitrate encoding (Only valid if target is bitrate) |
| quality | float | VBR Quality from 0 to 10, 0 being the best (Only valid if target is quality) |
| mono | bool | Enforces mono encoding |
| encoding_engine_quality | EncodingEngineQuality | Quality/speed of the encoding engine, this does not affect the bitrate! |
PCM
PCM audio format
| Field | Type | Description |
|---|---|---|
| sample_rate_hz | uint32 | Audio sample rate. Default 0, meaning 8000. |
PartyAttributes
Attributes of a call party.
| Field | Type | Description |
|---|---|---|
| channel_index | int32 | Optional. The channel index. Valid values are between 1 and the number of channels. |
| party_type | PartyType | Optional. The party type. |
| gk_party_id | nuance.biosec.v1.UniqueId | Optional. The ID associated with this party. |
ProcessedAudioDetailsForRead
Contains the readable fields of the Processed Audio. Included in GetProcessedAudioDetailsResponse. Only fields that match the GetProcessedAudioDetailsRequest are returned. If no mask is specified, all fields are returned.
| Field | Type | Description |
|---|---|---|
| gk_calibration_model_revision_id | nuance.biosec.v1.UniqueId | Optional. Unique ID of the calibration model that the system used to create the audio model. |
| gk_playback_calibration_model_revision_id | nuance.biosec.v1.UniqueId | Optional. Unique ID of the calibration model that the system used to perform channel playback detection. |
| processed_audio_attributes | RecordingAttributes | Optional. Processed audio recording details. |
| One of attributes: | Optional, there is only one of them, according to processing type. |
|
| processing_attributes | ProcessingAttributes | Optional. Audio processing details. |
| deviceprint_processing_attributes | DeviceprintProcessingAttributes | Optional. Audio processing details specific for deviceprint operations. |
| voice_class_score | google.protobuf.FloatValue | Optional. A score between 0 and 100 that can be used to categorize voices into classes according to various factors such as timbre, pitch, and so on. |
| actual_language | string | Optional. The language spoken in the audio. This info is provided by the client. |
| creation_timestamp | google.protobuf.Timestamp | Optional. Date and time of the processed audio segment creation. |
| modification_timestamp | google.protobuf.Timestamp | Optional. Date and time of last modification. |
| custom_data | repeated ProcessedAudioDetailsForRead.CustomDataEntry | Optional. Custom application data in a list of key-value pairs. |
ProcessedAudioDetailsForRead.CustomDataEntry
| Field | Type | Description |
|---|---|---|
| key | string | |
| value | string |
ProcessedAudioDetailsForWrite
Contains the writable fields of the processed audio segment. Included in UpdateProcessedAudioDetailsRequest. Provide fields that match UpdateProcessedAudioDetailsRequest.
| Field | Type | Description |
|---|---|---|
| actual_language | string | The language spoken in the audio. This info is provided by the client. |
| custom_data | repeated ProcessedAudioDetailsForWrite.CustomDataEntry | Custom application data in a list of key-value pairs. |
ProcessedAudioDetailsForWrite.CustomDataEntry
| Field | Type | Description |
|---|---|---|
| key | string | |
| value | string |
ProcessingAttributes
Contains information about the processed audio. Included in GetProcessedAudioDetailsResponse.
| Field | Type | Description |
|---|---|---|
| gross_audio | google.protobuf.Duration | Optional. Amount of gross audio. |
| net_audio | google.protobuf.Duration | Optional. Amount of net audio. |
| snr_db | google.protobuf.FloatValue | Optional. The SNR (Signal to noise ratio) value of the audio in dB. |
| speech_level | google.protobuf.FloatValue | Optional. A measure related to the estimated power of the speech signal. Lower values mean that the signal level is softer. |
| saturation_level | google.protobuf.FloatValue | Optional. The number of saturated audio samples for one minute of speech. |
| synthetic_score | google.protobuf.FloatValue | Optional. Synthetic Speech Detection score. |
| channel_playback_score | google.protobuf.FloatValue | Optional. Channel Playback Detection score. |
| playback_version | google.protobuf.Int32Value | Optional. Version of the playback algorithm used to compute the score. |
RecordingAttributes
Contains information about the processed audio recording. Included in GetProcessedAudioDetailsResponse.
| Field | Type | Description |
|---|---|---|
| sample_rate_hz | google.protobuf.Int32Value | Optional. Number of audio samples per second. |
| number_of_channels | google.protobuf.Int32Value | Optional. Number of recording channels (1 for Mono, 2 for Stereo). |
| selected_channel | nuance.biosec.v1.AudioChannelSelector | Optional. Specifies the processed channel when processing media with multiple channels. This parameter is not set if the media has a single channel. |
ULaw
ULaw audio format. G.711 audio formats are set to 8kHz.
UpdateMediaSegmentDetailsRequest
Input message that defines parameters for UpdateMediaSegmentDetails.
Uses the context field as follows:
- gk_engagement_id: Mandatory
- gk_session_id: Mandatory
- gk_scope_id: Mandatory
- configset_id: Not used
| Field | Type | Description |
|---|---|---|
| context | nuance.biosec.v1.Context | Mandatory. General request context. |
| gk_media_segment_id | nuance.biosec.v1.UniqueId | Mandatory. Unique ID of the media segment. |
| details | MediaSegmentDetailsForWrite | Mandatory. Fields that the method sets or updates. |
| field_mask | google.protobuf.FieldMask | Mandatory. A field mask used to specify the MediaSegmentDetailsForWrite fields to set. |
UpdateMediaSegmentDetailsResponse
Output message that defines parameters returned by UpdateMediaSegmentDetails.
| Field | Type | Description |
|---|---|---|
| status | nuance.rpc.Status | Mandatory. General operation status. |
UpdateProcessedAudioDetailsRequest
Input message that defines parameters for UpdateProcessedAudioDetails.
Uses the context field as follows:
- gk_engagement_id: Mandatory
- gk_session_id: Mandatory
- gk_scope_id: Mandatory
- configset_id: Not used
| Field | Type | Description |
|---|---|---|
| context | nuance.biosec.v1.Context | Mandatory. General request context. |
| gk_processed_audio_id | nuance.biosec.v1.UniqueId | Mandatory. Unique ID of the processed audio. |
| details | ProcessedAudioDetailsForWrite | Mandatory. Fields that the method sets or updates. |
| field_mask | google.protobuf.FieldMask | Mandatory. A field mask used to specify the ProcessedAudioDetailsForWrite fields to set. |
UpdateProcessedAudioDetailsResponse
Output message that defines parameters returned by UpdateProcessedAudioDetails.
| Field | Type | Description |
|---|---|---|
| status | nuance.rpc.Status | Mandatory. General operation status. |
Container
The audio file type.
| Name | Number | Description |
|---|---|---|
| CONTAINER_UNSPECIFIED | 0 | The audio file type is not specified. |
| CONTAINER_RAW | 1 | The audio file type is raw. |
| CONTAINER_WAV | 2 | The audio file type is wav. |
| CONTAINER_MP3 | 3 | The audio file type is mp3. |
EncodingEngineQuality
Encoding engine quality
| Name | Number | Description |
|---|---|---|
| ENCODING_ENGINE_QUALITY_UNSPECIFIED | 0 | Encoding quality engine is not specified. |
| ENCODING_ENGINE_QUALITY_FAST | 1 | Encoding quality engine is ‘Fast’. |
| ENCODING_ENGINE_QUALITY_STANDARD | 2 | Encoding quality engine is ‘Standard’. |
| ENCODING_ENGINE_QUALITY_HIGH | 3 | Encoding quality engine is ‘High’. |
PartyType
The party type.
| Name | Number | Description |
|---|---|---|
| PARTY_TYPE_UNSPECIFIED | 0 | Party type is not set. |
| PARTY_TYPE_AGENT | 1 | Party type is agent. |
| PARTY_TYPE_PERSON | 2 | Party type is person. |
| PARTY_TYPE_IVR | 3 | Party type is IVR. |
| PARTY_TYPE_OTHER | 999 | Party type is other. |
Target
| Name | Number | Description |
|---|---|---|
| TARGET_UNSPECIFIED | 0 | Target is not specified. |
| TARGET_QUALITY | 1 | Target is quality. |
| TARGET_BITRATE | 2 | Target is bitrate. |