drachtio / drachtio-freeswitch-modules

A collection of open-sourced freeswitch modules that I use in various drachtio applications
MIT License
169 stars 114 forks source link

Adding Alternative Language Support to AWS Transcribe #132

Open lylepratt opened 10 months ago

lylepratt commented 10 months ago

Adding support for automatic language detection in AWS transcribe. Based on this support doc: https://docs.aws.amazon.com/transcribe/latest/dg/lang-id-stream.html

SetLanguageOptions https://docs.aws.amazon.com/sdk-for-go/api/service/transcribestreamingservice/

SetPreferredLanguage https://docs.aws.amazon.com/sdk-for-go/api/service/transcribestreamingservice/

SetIdentifyLanguage https://docs.aws.amazon.com/sdk-for-go/api/service/transcribestreamingservice/

davehorton commented 10 months ago

this does not compile for me. Did it for you @lylepratt ? You've tested this, right?

make[4]: Entering directory '/usr/local/src/freeswitch/src/mod/applications/mod_aws_transcribe'
  CXX      mod_aws_transcribe_la-aws_transcribe_glue.lo
aws_transcribe_glue.cpp: In constructor ‘GStreamer::GStreamer(const char*, const char*, u_int16_t, char*, int, uint32_t, const char*, const char*, const char*, responseHandler_t)’:
aws_transcribe_glue.cpp:116:14: error: ‘class Aws::TranscribeStreamingService::Model::StartStreamTranscriptionRequest’ has no member named ‘SetEnablePartialResultsStabilization’
  116 |    m_request.SetEnablePartialResultsStabilization(true);
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
aws_transcribe_glue.cpp:117:14: error: ‘class Aws::TranscribeStreamingService::Model::StartStreamTranscriptionRequest’ has no member named ‘SetPartialResultsStability’
  117 |    m_request.SetPartialResultsStability(PartialResultsStabilityMapper::GetPartialResultsStabilityForName(var));
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~~
aws_transcribe_glue.cpp:117:41: error: ‘PartialResultsStabilityMapper’ has not been declared
  117 |    m_request.SetPartialResultsStability(PartialResultsStabilityMapper::GetPartialResultsStabilityForName(var));
      |                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
aws_transcribe_glue.cpp:120:14: error: ‘class Aws::TranscribeStreamingService::Model::StartStreamTranscriptionRequest’ has no member named ‘SetIdentifyLanguage’
  120 |    m_request.SetIdentifyLanguage(true);
      |              ^~~~~~~~~~~~~~~~~~~
aws_transcribe_glue.cpp:121:14: error: ‘class Aws::TranscribeStreamingService::Model::StartStreamTranscriptionRequest’ has no member named ‘SetLanguageOptions’; did you mean ‘SetLanguageCode’?
  121 |    m_request.SetLanguageOptions(var);
      |              ^~~~~~~~~~~~~~~~~~
      |              SetLanguageCode
aws_transcribe_glue.cpp:122:14: error: ‘class Aws::TranscribeStreamingService::Model::StartStreamTranscriptionRequest’ has no member named ‘SetPreferredLanguage’
  122 |    m_request.SetPreferredLanguage(LanguageCodeMapper::GetLanguageCodeForName(lang));
      |              ^~~~~~~~~~~~~~~~~~~~