Using BlueChasm's Cognitive Audio APIs to build a Cognitive Call Center
At BlueChasm, we built a platform using cognitive technologies on IBM Cloud to enable developers access to gain metadata and analytics on spoken audio. One prominent use case for this technology is to help call centers increase efficiency, improve employee productivity and make more informed decisions based on near real-time insights.
Most call centers record phone conversations as unstructured data; only searchable by manually entered “tags.” If a conversation is relevant to an audit, it must be transcribed manually, which means reports can take weeks, which can result in decreased productivity and potentially decreased customer satisfaction.
BlueChasm’s Cognitive Call Center platform transforms the traditional call center model by using IBM Cloud and Watson to help agents identify, filter, analyze and take actions on inbound and outbound calls. The platform uses IBM Cloud Object Storage to manage the unstructured data, and it uses Watson APIs, specifically Watson Speech to Text and Watson Tone Analyzer, to automate the transcription and tagging of audio, providing near real-time analytics and actions and enable deeper analytics for audit situations.
At BlueChasm, we leveraged virtually the entire IBM development deployment stack to create the cloud-based platform with an open API. Developers can quickly and easily integrate this technology into their own products to get the value of the IBM Watson platform.
Components
BlueChasm’s Cognitive Audio APIs contain three main features: single file transcription, batch upload, and streaming. The single file transcription and batch upload APIs are a RESTful, multipart/form-data POST requests that consist of a binary file and JSON string containing configuration parameters. Streaming transcriptions uses WebSockets to ensure the HTTP connection stays open.
BlueChasm supports multiple formats of audio for transcriptions. Developers must specify the audio format, or MIME type, of the data that you pass to the service. The following table lists the supported formats and, where necessary, documents the maximum number of supported channels.
Supported Audio Formats
Free Lossless Audio Codec (FLAC), a lossless compressed audio coding format.
MIME type - audio/flac
Linear 16-bit Pulse-Code Modulation (PCM), an uncompressed audio data format. Use this media type to pass a raw PCM file.
MIME type - audio/l16
Waveform Audio File Format (WAV), a standard audio format.
MIME type - audio/wav
Ogg is a free, open container format maintained by the Xiph.org Foundation. You can use audio streams compressed with the following codecs:
· Opus.
· Vorbis.
Both codecs are free, open, lossy audio-compression formats. Opus is the preferred codec. If you omit the codec, the service automatically detects it from the input audio.
MIME Type - audio/ogg, audio/ogg;codecs=opus, audio/ogg;codecs=vorbis
To process batch audio, simply update a zip file containing the audio files. Currently, all files must be in the same format. The Cognitive Audio API will automatically process the zip file and respond with the details of all the files contained in the zip.
Usage
To access the API, contact BlueChasm to get an access key and application secret as well as your custom URL. For streaming documentation, please contact BlueChasm.
Batch Transcription Endpoint URL
<https://customerURL>/api/v1/batch_transcribe
The Batch Transcribe endpoint returns the data pertaining to the audio files contained inside a zip file passed based on the parameter that are set in the call.
Required Headers:
Content-Type: multipart/form-data; boundary=BOUNDARY
AccessKey: XXXXXXX
ApplicationSecret: XXXXXXXXXXXX
Body:
--BOUNDARY
Content-Disposition: form-data; name="parameters"
{
"includeTone" : true,
"storeResults" : true,
"includeConcepts" : true,
"includeTimeStamps" : true,
"provideTranscript" : true,
"filename" : "anyfilename"
}
--BOUNDARY
Content-Disposition: form-data; name="audio"; Content-Type: "application/zip"
<zip file data>
--BOUNDARY—
Single Transcription Endpoint URL
<https://customerURL>/api/v1/transcribe
The Transcribe endpoint returns the data pertaining to the audio files passed based on the parameter that are set in the call.
Required Headers:
Content-Type: multipart/form-data; boundary=BOUNDARY
AccessKey: XXXXXXX
ApplicationSecret: XXXXXXXXXXXX
Body:
--BOUNDARY
Content-Disposition: form-data; name="parameters"
{
"includeTone" : true,
"storeResults" : true,
"includeConcepts" : true,
"includeTimeStamps" : true,
"provideTranscript" : true,
"filename" : "anyfilename"
}
--BOUNDARY
Content-Disposition: form-data; name="audio"; Content-Type: "audio/wav"
<Audio Data>
--BOUNDARY--
Watch our demo video here:












