mirror of
https://github.com/jambonz/freeswitch-modules.git
synced 2025-12-18 22:27:43 +00:00
* add mod_dub Signed-off-by: Dave Horton <daveh@beachdognet.com> * remove some locks --------- Signed-off-by: Dave Horton <daveh@beachdognet.com>
mod_ibm_transcribe
A Freeswitch module that generates real-time transcriptions on a Freeswitch channel by using IBM Watson
API
Commands
The freeswitch module exposes the following API commands:
uuid_ibm_transcribe <uuid> start <lang-code> [interim]
Attaches media bug to channel and performs streaming recognize request.
uuid- unique identifier of Freeswitch channellang-code- a valid IBM language code that is supported for streaming transcriptioninterim- If the 'interim' keyword is present then both interim and final transcription results will be returned; otherwise only final transcriptions will be returned
uuid_ibm_transcribe <uuid> stop
Stop transcription on the channel.
Channel Variables
| variable | Description |
|---|---|
| IBM_ACCESS_TOKEN | IBM access token used to authenticate |
| IBM_SPEECH_INSTANCE_ID | IBM instance id |
| IBM_SPEECH_MODEL | IBM speech model (https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-websockets) |
| IBM_SPEECH_LANGUAGE_CUSTOMIZATION_ID | IBM speech language customization id |
| IBM_SPEECH_ACOUSTIC_CUSTOMIZATION_ID | IBM accoustic customization id |
| IBM_SPEECH_BASE_MODEL_VERSION | IBM base model version |
| IBM_SPEECH_WATSON_METADATA | customer metadata to pass to IBM watson |
| IBM_SPEECH_WATSON_LEARNING_OPT_OUT | 1 means opt out |
Events
ibm_transcribe::transcription - returns an interim or final transcription. The event contains a JSON body describing the transcription result:
{
"result_index": 0,
"results": [{
"final": true,
"alternatives": [{
"transcript": "what kind of dog is that",
"confidence": 0.83
}]
}]
}
Usage
When using drachtio-fsrmf, you can access this API command via the api method on the 'endpoint' object.
ep.api('uuid_ibm_transcribe', `${ep.uuid} start en-US interim`);