aws-sdk-transcribestreamingservice 1.23.0 → 1.24.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/aws-sdk-transcribestreamingservice.rb +2 -2
- data/lib/aws-sdk-transcribestreamingservice/async_client.rb +263 -6
- data/lib/aws-sdk-transcribestreamingservice/client.rb +1 -1
- data/lib/aws-sdk-transcribestreamingservice/client_api.rb +99 -0
- data/lib/aws-sdk-transcribestreamingservice/event_streams.rb +83 -0
- data/lib/aws-sdk-transcribestreamingservice/types.rb +359 -10
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 728ef1d0f1267f59a84f2f623af1875963689aadea2090675656dac21e9ac71b
|
4
|
+
data.tar.gz: 62eeffcdb268c681bd31ff1d9ba171b127922956c4b6e1e4c3684c5d36169c41
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3d6679ae7783a568fc94d632999e9956a107de2d041f322e166995c6a18223c33aa2d5893461e750a4d68acbf1d8630569bb5fa040c11eb3c7bc46de37297ef2
|
7
|
+
data.tar.gz: 4ba8a7960984cc65c2b9b4c380b10b874b81caca9faa716bbc7da0f6cf7a296aa6bacc787a58184d9095640d1646a80cbdf2c5d880247c8fb1694bec0f4f4336
|
@@ -30,7 +30,7 @@ require_relative 'aws-sdk-transcribestreamingservice/event_streams'
|
|
30
30
|
# structure.
|
31
31
|
#
|
32
32
|
# transcribe_streaming_service = Aws::TranscribeStreamingService::Client.new
|
33
|
-
# resp = transcribe_streaming_service.
|
33
|
+
# resp = transcribe_streaming_service.start_medical_stream_transcription(params)
|
34
34
|
#
|
35
35
|
# See {Client} for more information.
|
36
36
|
#
|
@@ -50,6 +50,6 @@ require_relative 'aws-sdk-transcribestreamingservice/event_streams'
|
|
50
50
|
# @!group service
|
51
51
|
module Aws::TranscribeStreamingService
|
52
52
|
|
53
|
-
GEM_VERSION = '1.
|
53
|
+
GEM_VERSION = '1.24.0'
|
54
54
|
|
55
55
|
end
|
@@ -237,6 +237,263 @@ module Aws::TranscribeStreamingService
|
|
237
237
|
|
238
238
|
# @!group API Operations
|
239
239
|
|
240
|
+
# Starts a bidirectional HTTP/2 stream where audio is streamed to Amazon
|
241
|
+
# Transcribe Medical and the transcription results are streamed to your
|
242
|
+
# application.
|
243
|
+
#
|
244
|
+
# @option params [required, String] :language_code
|
245
|
+
# Indicates the source language used in the input audio stream. For
|
246
|
+
# Amazon Transcribe Medical, this is US English (en-US).
|
247
|
+
#
|
248
|
+
# @option params [required, Integer] :media_sample_rate_hertz
|
249
|
+
# The sample rate of the input audio in Hertz. Sample rates of 16000 Hz
|
250
|
+
# or higher are accepted.
|
251
|
+
#
|
252
|
+
# @option params [required, String] :media_encoding
|
253
|
+
# The encoding used for the input audio.
|
254
|
+
#
|
255
|
+
# @option params [String] :vocabulary_name
|
256
|
+
# The name of the medical custom vocabulary to use when processing the
|
257
|
+
# real-time stream.
|
258
|
+
#
|
259
|
+
# @option params [required, String] :specialty
|
260
|
+
# The medical specialty of the clinician or provider.
|
261
|
+
#
|
262
|
+
# @option params [required, String] :type
|
263
|
+
# The type of input audio. Choose `DICTATION` for a provider dictating
|
264
|
+
# patient notes. Choose `CONVERSATION` for a dialogue between a patient
|
265
|
+
# and one or more medical professionanls.
|
266
|
+
#
|
267
|
+
# @option params [Boolean] :show_speaker_label
|
268
|
+
# When `true`, enables speaker identification in your real-time stream.
|
269
|
+
#
|
270
|
+
# @option params [String] :session_id
|
271
|
+
# Optional. An identifier for the transcription session. If you don't
|
272
|
+
# provide a session ID, Amazon Transcribe generates one for you and
|
273
|
+
# returns it in the response.
|
274
|
+
#
|
275
|
+
# @option params [Boolean] :enable_channel_identification
|
276
|
+
# When `true`, instructs Amazon Transcribe Medical to process each audio
|
277
|
+
# channel separately and then merge the transcription output of each
|
278
|
+
# channel into a single transcription.
|
279
|
+
#
|
280
|
+
# Amazon Transcribe Medical also produces a transcription of each item.
|
281
|
+
# An item includes the start time, end time, and any alternative
|
282
|
+
# transcriptions.
|
283
|
+
#
|
284
|
+
# You can't set both `ShowSpeakerLabel` and
|
285
|
+
# `EnableChannelIdentification` in the same request. If you set both,
|
286
|
+
# your request returns a `BadRequestException`.
|
287
|
+
#
|
288
|
+
# @option params [Integer] :number_of_channels
|
289
|
+
# The number of channels that are in your audio stream.
|
290
|
+
#
|
291
|
+
# @return [Types::StartMedicalStreamTranscriptionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
292
|
+
#
|
293
|
+
# * {Types::StartMedicalStreamTranscriptionResponse#request_id #request_id} => String
|
294
|
+
# * {Types::StartMedicalStreamTranscriptionResponse#language_code #language_code} => String
|
295
|
+
# * {Types::StartMedicalStreamTranscriptionResponse#media_sample_rate_hertz #media_sample_rate_hertz} => Integer
|
296
|
+
# * {Types::StartMedicalStreamTranscriptionResponse#media_encoding #media_encoding} => String
|
297
|
+
# * {Types::StartMedicalStreamTranscriptionResponse#vocabulary_name #vocabulary_name} => String
|
298
|
+
# * {Types::StartMedicalStreamTranscriptionResponse#specialty #specialty} => String
|
299
|
+
# * {Types::StartMedicalStreamTranscriptionResponse#type #type} => String
|
300
|
+
# * {Types::StartMedicalStreamTranscriptionResponse#show_speaker_label #show_speaker_label} => Boolean
|
301
|
+
# * {Types::StartMedicalStreamTranscriptionResponse#session_id #session_id} => String
|
302
|
+
# * {Types::StartMedicalStreamTranscriptionResponse#transcript_result_stream #transcript_result_stream} => Types::MedicalTranscriptResultStream
|
303
|
+
# * {Types::StartMedicalStreamTranscriptionResponse#enable_channel_identification #enable_channel_identification} => Boolean
|
304
|
+
# * {Types::StartMedicalStreamTranscriptionResponse#number_of_channels #number_of_channels} => Integer
|
305
|
+
#
|
306
|
+
# @example Bi-directional EventStream Operation Example
|
307
|
+
#
|
308
|
+
# You can signal input events after initial request is
|
309
|
+
# established, events will be sent to stream
|
310
|
+
# immediately (once stream connection is established successfully).
|
311
|
+
#
|
312
|
+
# To signal events, you can call #signal methods from an Aws::TranscribeStreamingService::EventStreams::AudioStream object.
|
313
|
+
# Make sure signal events before calling #wait or #join! at async response.
|
314
|
+
#
|
315
|
+
# input_stream = Aws::TranscribeStreamingService::EventStreams::AudioStream.new
|
316
|
+
#
|
317
|
+
# async_resp = client.start_medical_stream_transcription( # params input,
|
318
|
+
# input_event_stream_handler: input_stream) do |out_stream|
|
319
|
+
#
|
320
|
+
# # register callbacks for events arrival
|
321
|
+
# out_stream.on_transcript_event_event do |event|
|
322
|
+
# event # => Aws::TranscribeStreamingService::Types::TranscriptEvent
|
323
|
+
# end
|
324
|
+
# out_stream.on_bad_request_exception_event do |event|
|
325
|
+
# event # => Aws::TranscribeStreamingService::Types::BadRequestException
|
326
|
+
# end
|
327
|
+
# out_stream.on_limit_exceeded_exception_event do |event|
|
328
|
+
# event # => Aws::TranscribeStreamingService::Types::LimitExceededException
|
329
|
+
# end
|
330
|
+
# out_stream.on_internal_failure_exception_event do |event|
|
331
|
+
# event # => Aws::TranscribeStreamingService::Types::InternalFailureException
|
332
|
+
# end
|
333
|
+
# out_stream.on_conflict_exception_event do |event|
|
334
|
+
# event # => Aws::TranscribeStreamingService::Types::ConflictException
|
335
|
+
# end
|
336
|
+
# out_stream.on_service_unavailable_exception_event do |event|
|
337
|
+
# event # => Aws::TranscribeStreamingService::Types::ServiceUnavailableException
|
338
|
+
# end
|
339
|
+
#
|
340
|
+
# end
|
341
|
+
# # => returns Aws::Seahorse::Client::AsyncResponse
|
342
|
+
#
|
343
|
+
# # signal events
|
344
|
+
# input_stream.signal_audio_event_event( ... )
|
345
|
+
#
|
346
|
+
# # make sure signaling :end_stream in the end
|
347
|
+
# input_stream.signal_end_stream
|
348
|
+
#
|
349
|
+
# # wait until stream is closed before finalizing sync response
|
350
|
+
# resp = async_resp.wait
|
351
|
+
# # Or close stream and finalizing sync response immediately
|
352
|
+
# # resp = async_resp.join!
|
353
|
+
#
|
354
|
+
# Inorder to streamingly processing events received, you can also provide an Aws::TranscribeStreamingService::EventStreams::MedicalTranscriptResultStream
|
355
|
+
# object to register callbacks before initializing request instead of processing from request block
|
356
|
+
#
|
357
|
+
# output_stream = Aws::TranscribeStreamingService::EventStreams::MedicalTranscriptResultStream.new
|
358
|
+
# # register callbacks for events arrival
|
359
|
+
# output_stream.on_transcript_event_event do |event|
|
360
|
+
# event # => Aws::TranscribeStreamingService::Types::TranscriptEvent
|
361
|
+
# end
|
362
|
+
# output_stream.on_bad_request_exception_event do |event|
|
363
|
+
# event # => Aws::TranscribeStreamingService::Types::BadRequestException
|
364
|
+
# end
|
365
|
+
# output_stream.on_limit_exceeded_exception_event do |event|
|
366
|
+
# event # => Aws::TranscribeStreamingService::Types::LimitExceededException
|
367
|
+
# end
|
368
|
+
# output_stream.on_internal_failure_exception_event do |event|
|
369
|
+
# event # => Aws::TranscribeStreamingService::Types::InternalFailureException
|
370
|
+
# end
|
371
|
+
# output_stream.on_conflict_exception_event do |event|
|
372
|
+
# event # => Aws::TranscribeStreamingService::Types::ConflictException
|
373
|
+
# end
|
374
|
+
# output_stream.on_service_unavailable_exception_event do |event|
|
375
|
+
# event # => Aws::TranscribeStreamingService::Types::ServiceUnavailableException
|
376
|
+
# end
|
377
|
+
# output_stream.on_error_event do |event|
|
378
|
+
# # catch unmodeled error event in the stream
|
379
|
+
# raise event
|
380
|
+
# # => Aws::Errors::EventError
|
381
|
+
# # event.event_type => :error
|
382
|
+
# # event.error_code => String
|
383
|
+
# # event.error_message => String
|
384
|
+
# end
|
385
|
+
#
|
386
|
+
# async_resp = client.start_medical_stream_transcription ( #params input,
|
387
|
+
# input_event_stream_handler: input_stream
|
388
|
+
# output_event_stream_handler: output_stream
|
389
|
+
# )
|
390
|
+
#
|
391
|
+
# resp = async_resp.wait!
|
392
|
+
#
|
393
|
+
# Besides above usage patterns for process events when they arrive immediately, you can also
|
394
|
+
# iterate through events after response complete.
|
395
|
+
#
|
396
|
+
# Events are available at resp.transcript_result_stream # => Enumerator
|
397
|
+
#
|
398
|
+
# @example Request syntax with placeholder values
|
399
|
+
#
|
400
|
+
# async_resp = async_client.start_medical_stream_transcription({
|
401
|
+
# language_code: "en-US", # required, accepts en-US, en-GB, es-US, fr-CA, fr-FR, en-AU, it-IT, de-DE, pt-BR, ja-JP, ko-KR
|
402
|
+
# media_sample_rate_hertz: 1, # required
|
403
|
+
# media_encoding: "pcm", # required, accepts pcm, ogg-opus, flac
|
404
|
+
# vocabulary_name: "VocabularyName",
|
405
|
+
# specialty: "PRIMARYCARE", # required, accepts PRIMARYCARE, CARDIOLOGY, NEUROLOGY, ONCOLOGY, RADIOLOGY, UROLOGY
|
406
|
+
# type: "CONVERSATION", # required, accepts CONVERSATION, DICTATION
|
407
|
+
# show_speaker_label: false,
|
408
|
+
# session_id: "SessionId",
|
409
|
+
# input_event_stream_hander: EventStreams::AudioStream.new,
|
410
|
+
# enable_channel_identification: false,
|
411
|
+
# number_of_channels: 1,
|
412
|
+
# })
|
413
|
+
# # => Seahorse::Client::AsyncResponse
|
414
|
+
# async_resp.wait
|
415
|
+
# # => Seahorse::Client::Response
|
416
|
+
# # Or use async_resp.join!
|
417
|
+
#
|
418
|
+
# @example Response structure
|
419
|
+
#
|
420
|
+
# resp.request_id #=> String
|
421
|
+
# resp.language_code #=> String, one of "en-US", "en-GB", "es-US", "fr-CA", "fr-FR", "en-AU", "it-IT", "de-DE", "pt-BR", "ja-JP", "ko-KR"
|
422
|
+
# resp.media_sample_rate_hertz #=> Integer
|
423
|
+
# resp.media_encoding #=> String, one of "pcm", "ogg-opus", "flac"
|
424
|
+
# resp.vocabulary_name #=> String
|
425
|
+
# resp.specialty #=> String, one of "PRIMARYCARE", "CARDIOLOGY", "NEUROLOGY", "ONCOLOGY", "RADIOLOGY", "UROLOGY"
|
426
|
+
# resp.type #=> String, one of "CONVERSATION", "DICTATION"
|
427
|
+
# resp.show_speaker_label #=> Boolean
|
428
|
+
# resp.session_id #=> String
|
429
|
+
# All events are available at resp.transcript_result_stream:
|
430
|
+
# resp.transcript_result_stream #=> Enumerator
|
431
|
+
# resp.transcript_result_stream.event_types #=> [:transcript_event, :bad_request_exception, :limit_exceeded_exception, :internal_failure_exception, :conflict_exception, :service_unavailable_exception]
|
432
|
+
#
|
433
|
+
# For :transcript_event event available at #on_transcript_event_event callback and response eventstream enumerator:
|
434
|
+
# event.transcript.results #=> Array
|
435
|
+
# event.transcript.results[0].result_id #=> String
|
436
|
+
# event.transcript.results[0].start_time #=> Float
|
437
|
+
# event.transcript.results[0].end_time #=> Float
|
438
|
+
# event.transcript.results[0].is_partial #=> Boolean
|
439
|
+
# event.transcript.results[0].alternatives #=> Array
|
440
|
+
# event.transcript.results[0].alternatives[0].transcript #=> String
|
441
|
+
# event.transcript.results[0].alternatives[0].items #=> Array
|
442
|
+
# event.transcript.results[0].alternatives[0].items[0].start_time #=> Float
|
443
|
+
# event.transcript.results[0].alternatives[0].items[0].end_time #=> Float
|
444
|
+
# event.transcript.results[0].alternatives[0].items[0].type #=> String, one of "pronunciation", "punctuation"
|
445
|
+
# event.transcript.results[0].alternatives[0].items[0].content #=> String
|
446
|
+
# event.transcript.results[0].alternatives[0].items[0].confidence #=> Float
|
447
|
+
# event.transcript.results[0].alternatives[0].items[0].speaker #=> String
|
448
|
+
# event.transcript.results[0].channel_id #=> String
|
449
|
+
#
|
450
|
+
# For :bad_request_exception event available at #on_bad_request_exception_event callback and response eventstream enumerator:
|
451
|
+
# event.message #=> String
|
452
|
+
#
|
453
|
+
# For :limit_exceeded_exception event available at #on_limit_exceeded_exception_event callback and response eventstream enumerator:
|
454
|
+
# event.message #=> String
|
455
|
+
#
|
456
|
+
# For :internal_failure_exception event available at #on_internal_failure_exception_event callback and response eventstream enumerator:
|
457
|
+
# event.message #=> String
|
458
|
+
#
|
459
|
+
# For :conflict_exception event available at #on_conflict_exception_event callback and response eventstream enumerator:
|
460
|
+
# event.message #=> String
|
461
|
+
#
|
462
|
+
# For :service_unavailable_exception event available at #on_service_unavailable_exception_event callback and response eventstream enumerator:
|
463
|
+
# event.message #=> String
|
464
|
+
#
|
465
|
+
# resp.enable_channel_identification #=> Boolean
|
466
|
+
# resp.number_of_channels #=> Integer
|
467
|
+
#
|
468
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/transcribe-streaming-2017-10-26/StartMedicalStreamTranscription AWS API Documentation
|
469
|
+
#
|
470
|
+
# @overload start_medical_stream_transcription(params = {})
|
471
|
+
# @param [Hash] params ({})
|
472
|
+
def start_medical_stream_transcription(params = {}, options = {}, &block)
|
473
|
+
params = params.dup
|
474
|
+
input_event_stream_handler = _event_stream_handler(
|
475
|
+
:input,
|
476
|
+
params.delete(:input_event_stream_handler),
|
477
|
+
EventStreams::AudioStream
|
478
|
+
)
|
479
|
+
output_event_stream_handler = _event_stream_handler(
|
480
|
+
:output,
|
481
|
+
params.delete(:output_event_stream_handler) || params.delete(:event_stream_handler),
|
482
|
+
EventStreams::MedicalTranscriptResultStream
|
483
|
+
)
|
484
|
+
|
485
|
+
yield(output_event_stream_handler) if block_given?
|
486
|
+
|
487
|
+
req = build_request(:start_medical_stream_transcription, params)
|
488
|
+
|
489
|
+
req.context[:input_event_stream_handler] = input_event_stream_handler
|
490
|
+
req.handlers.add(Aws::Binary::EncodeHandler, priority: 95)
|
491
|
+
req.context[:output_event_stream_handler] = output_event_stream_handler
|
492
|
+
req.handlers.add(Aws::Binary::DecodeHandler, priority: 95)
|
493
|
+
|
494
|
+
req.send_request(options, &block)
|
495
|
+
end
|
496
|
+
|
240
497
|
# Starts a bidirectional HTTP2 stream where audio is streamed to Amazon
|
241
498
|
# Transcribe and the transcription results are streamed to your
|
242
499
|
# application.
|
@@ -259,7 +516,7 @@ module Aws::TranscribeStreamingService
|
|
259
516
|
# 8000 Hz for low quality audio and 16000 Hz for high quality audio.
|
260
517
|
#
|
261
518
|
# @option params [required, String] :media_encoding
|
262
|
-
# The encoding used for the input audio.
|
519
|
+
# The encoding used for the input audio.
|
263
520
|
#
|
264
521
|
# @option params [String] :vocabulary_name
|
265
522
|
# The name of the vocabulary to use when processing the transcription
|
@@ -412,9 +669,9 @@ module Aws::TranscribeStreamingService
|
|
412
669
|
# @example Request syntax with placeholder values
|
413
670
|
#
|
414
671
|
# async_resp = async_client.start_stream_transcription({
|
415
|
-
# language_code: "en-US", # required, accepts en-US, en-GB, es-US, fr-CA, fr-FR, en-AU, it-IT, de-DE
|
672
|
+
# language_code: "en-US", # required, accepts en-US, en-GB, es-US, fr-CA, fr-FR, en-AU, it-IT, de-DE, pt-BR, ja-JP, ko-KR
|
416
673
|
# media_sample_rate_hertz: 1, # required
|
417
|
-
# media_encoding: "pcm", # required, accepts pcm
|
674
|
+
# media_encoding: "pcm", # required, accepts pcm, ogg-opus, flac
|
418
675
|
# vocabulary_name: "VocabularyName",
|
419
676
|
# session_id: "SessionId",
|
420
677
|
# input_event_stream_hander: EventStreams::AudioStream.new,
|
@@ -432,9 +689,9 @@ module Aws::TranscribeStreamingService
|
|
432
689
|
# @example Response structure
|
433
690
|
#
|
434
691
|
# resp.request_id #=> String
|
435
|
-
# resp.language_code #=> String, one of "en-US", "en-GB", "es-US", "fr-CA", "fr-FR", "en-AU", "it-IT", "de-DE"
|
692
|
+
# resp.language_code #=> String, one of "en-US", "en-GB", "es-US", "fr-CA", "fr-FR", "en-AU", "it-IT", "de-DE", "pt-BR", "ja-JP", "ko-KR"
|
436
693
|
# resp.media_sample_rate_hertz #=> Integer
|
437
|
-
# resp.media_encoding #=> String, one of "pcm"
|
694
|
+
# resp.media_encoding #=> String, one of "pcm", "ogg-opus", "flac"
|
438
695
|
# resp.vocabulary_name #=> String
|
439
696
|
# resp.session_id #=> String
|
440
697
|
# All events are available at resp.transcript_result_stream:
|
@@ -522,7 +779,7 @@ module Aws::TranscribeStreamingService
|
|
522
779
|
http_response: Seahorse::Client::Http::AsyncResponse.new,
|
523
780
|
config: config)
|
524
781
|
context[:gem_name] = 'aws-sdk-transcribestreamingservice'
|
525
|
-
context[:gem_version] = '1.
|
782
|
+
context[:gem_version] = '1.24.0'
|
526
783
|
Seahorse::Client::Request.new(handlers, context)
|
527
784
|
end
|
528
785
|
|
@@ -351,7 +351,7 @@ module Aws::TranscribeStreamingService
|
|
351
351
|
params: params,
|
352
352
|
config: config)
|
353
353
|
context[:gem_name] = 'aws-sdk-transcribestreamingservice'
|
354
|
-
context[:gem_version] = '1.
|
354
|
+
context[:gem_version] = '1.24.0'
|
355
355
|
Seahorse::Client::Request.new(handlers, context)
|
356
356
|
end
|
357
357
|
|
@@ -20,6 +20,7 @@ module Aws::TranscribeStreamingService
|
|
20
20
|
AudioStream = Shapes::StructureShape.new(name: 'AudioStream')
|
21
21
|
BadRequestException = Shapes::StructureShape.new(name: 'BadRequestException')
|
22
22
|
Boolean = Shapes::BooleanShape.new(name: 'Boolean')
|
23
|
+
Confidence = Shapes::FloatShape.new(name: 'Confidence')
|
23
24
|
ConflictException = Shapes::StructureShape.new(name: 'ConflictException')
|
24
25
|
Double = Shapes::FloatShape.new(name: 'Double')
|
25
26
|
InternalFailureException = Shapes::StructureShape.new(name: 'InternalFailureException')
|
@@ -30,18 +31,31 @@ module Aws::TranscribeStreamingService
|
|
30
31
|
LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
|
31
32
|
MediaEncoding = Shapes::StringShape.new(name: 'MediaEncoding')
|
32
33
|
MediaSampleRateHertz = Shapes::IntegerShape.new(name: 'MediaSampleRateHertz')
|
34
|
+
MedicalAlternative = Shapes::StructureShape.new(name: 'MedicalAlternative')
|
35
|
+
MedicalAlternativeList = Shapes::ListShape.new(name: 'MedicalAlternativeList')
|
36
|
+
MedicalItem = Shapes::StructureShape.new(name: 'MedicalItem')
|
37
|
+
MedicalItemList = Shapes::ListShape.new(name: 'MedicalItemList')
|
38
|
+
MedicalResult = Shapes::StructureShape.new(name: 'MedicalResult')
|
39
|
+
MedicalResultList = Shapes::ListShape.new(name: 'MedicalResultList')
|
40
|
+
MedicalTranscript = Shapes::StructureShape.new(name: 'MedicalTranscript')
|
41
|
+
MedicalTranscriptEvent = Shapes::StructureShape.new(name: 'MedicalTranscriptEvent')
|
42
|
+
MedicalTranscriptResultStream = Shapes::StructureShape.new(name: 'MedicalTranscriptResultStream')
|
33
43
|
NumberOfChannels = Shapes::IntegerShape.new(name: 'NumberOfChannels')
|
34
44
|
RequestId = Shapes::StringShape.new(name: 'RequestId')
|
35
45
|
Result = Shapes::StructureShape.new(name: 'Result')
|
36
46
|
ResultList = Shapes::ListShape.new(name: 'ResultList')
|
37
47
|
ServiceUnavailableException = Shapes::StructureShape.new(name: 'ServiceUnavailableException')
|
38
48
|
SessionId = Shapes::StringShape.new(name: 'SessionId')
|
49
|
+
Specialty = Shapes::StringShape.new(name: 'Specialty')
|
50
|
+
StartMedicalStreamTranscriptionRequest = Shapes::StructureShape.new(name: 'StartMedicalStreamTranscriptionRequest')
|
51
|
+
StartMedicalStreamTranscriptionResponse = Shapes::StructureShape.new(name: 'StartMedicalStreamTranscriptionResponse')
|
39
52
|
StartStreamTranscriptionRequest = Shapes::StructureShape.new(name: 'StartStreamTranscriptionRequest')
|
40
53
|
StartStreamTranscriptionResponse = Shapes::StructureShape.new(name: 'StartStreamTranscriptionResponse')
|
41
54
|
String = Shapes::StringShape.new(name: 'String')
|
42
55
|
Transcript = Shapes::StructureShape.new(name: 'Transcript')
|
43
56
|
TranscriptEvent = Shapes::StructureShape.new(name: 'TranscriptEvent')
|
44
57
|
TranscriptResultStream = Shapes::StructureShape.new(name: 'TranscriptResultStream')
|
58
|
+
Type = Shapes::StringShape.new(name: 'Type')
|
45
59
|
VocabularyFilterMethod = Shapes::StringShape.new(name: 'VocabularyFilterMethod')
|
46
60
|
VocabularyFilterName = Shapes::StringShape.new(name: 'VocabularyFilterName')
|
47
61
|
VocabularyName = Shapes::StringShape.new(name: 'VocabularyName')
|
@@ -80,6 +94,46 @@ module Aws::TranscribeStreamingService
|
|
80
94
|
LimitExceededException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "Message"))
|
81
95
|
LimitExceededException.struct_class = Types::LimitExceededException
|
82
96
|
|
97
|
+
MedicalAlternative.add_member(:transcript, Shapes::ShapeRef.new(shape: String, location_name: "Transcript"))
|
98
|
+
MedicalAlternative.add_member(:items, Shapes::ShapeRef.new(shape: MedicalItemList, location_name: "Items"))
|
99
|
+
MedicalAlternative.struct_class = Types::MedicalAlternative
|
100
|
+
|
101
|
+
MedicalAlternativeList.member = Shapes::ShapeRef.new(shape: MedicalAlternative)
|
102
|
+
|
103
|
+
MedicalItem.add_member(:start_time, Shapes::ShapeRef.new(shape: Double, location_name: "StartTime"))
|
104
|
+
MedicalItem.add_member(:end_time, Shapes::ShapeRef.new(shape: Double, location_name: "EndTime"))
|
105
|
+
MedicalItem.add_member(:type, Shapes::ShapeRef.new(shape: ItemType, location_name: "Type"))
|
106
|
+
MedicalItem.add_member(:content, Shapes::ShapeRef.new(shape: String, location_name: "Content"))
|
107
|
+
MedicalItem.add_member(:confidence, Shapes::ShapeRef.new(shape: Confidence, location_name: "Confidence"))
|
108
|
+
MedicalItem.add_member(:speaker, Shapes::ShapeRef.new(shape: String, location_name: "Speaker"))
|
109
|
+
MedicalItem.struct_class = Types::MedicalItem
|
110
|
+
|
111
|
+
MedicalItemList.member = Shapes::ShapeRef.new(shape: MedicalItem)
|
112
|
+
|
113
|
+
MedicalResult.add_member(:result_id, Shapes::ShapeRef.new(shape: String, location_name: "ResultId"))
|
114
|
+
MedicalResult.add_member(:start_time, Shapes::ShapeRef.new(shape: Double, location_name: "StartTime"))
|
115
|
+
MedicalResult.add_member(:end_time, Shapes::ShapeRef.new(shape: Double, location_name: "EndTime"))
|
116
|
+
MedicalResult.add_member(:is_partial, Shapes::ShapeRef.new(shape: Boolean, location_name: "IsPartial"))
|
117
|
+
MedicalResult.add_member(:alternatives, Shapes::ShapeRef.new(shape: MedicalAlternativeList, location_name: "Alternatives"))
|
118
|
+
MedicalResult.add_member(:channel_id, Shapes::ShapeRef.new(shape: String, location_name: "ChannelId"))
|
119
|
+
MedicalResult.struct_class = Types::MedicalResult
|
120
|
+
|
121
|
+
MedicalResultList.member = Shapes::ShapeRef.new(shape: MedicalResult)
|
122
|
+
|
123
|
+
MedicalTranscript.add_member(:results, Shapes::ShapeRef.new(shape: MedicalResultList, location_name: "Results"))
|
124
|
+
MedicalTranscript.struct_class = Types::MedicalTranscript
|
125
|
+
|
126
|
+
MedicalTranscriptEvent.add_member(:transcript, Shapes::ShapeRef.new(shape: MedicalTranscript, location_name: "Transcript"))
|
127
|
+
MedicalTranscriptEvent.struct_class = Types::MedicalTranscriptEvent
|
128
|
+
|
129
|
+
MedicalTranscriptResultStream.add_member(:transcript_event, Shapes::ShapeRef.new(shape: MedicalTranscriptEvent, event: true, location_name: "TranscriptEvent"))
|
130
|
+
MedicalTranscriptResultStream.add_member(:bad_request_exception, Shapes::ShapeRef.new(shape: BadRequestException, event: true, location_name: "BadRequestException"))
|
131
|
+
MedicalTranscriptResultStream.add_member(:limit_exceeded_exception, Shapes::ShapeRef.new(shape: LimitExceededException, event: true, location_name: "LimitExceededException"))
|
132
|
+
MedicalTranscriptResultStream.add_member(:internal_failure_exception, Shapes::ShapeRef.new(shape: InternalFailureException, event: true, location_name: "InternalFailureException"))
|
133
|
+
MedicalTranscriptResultStream.add_member(:conflict_exception, Shapes::ShapeRef.new(shape: ConflictException, event: true, location_name: "ConflictException"))
|
134
|
+
MedicalTranscriptResultStream.add_member(:service_unavailable_exception, Shapes::ShapeRef.new(shape: ServiceUnavailableException, event: true, location_name: "ServiceUnavailableException"))
|
135
|
+
MedicalTranscriptResultStream.struct_class = Types::MedicalTranscriptResultStream
|
136
|
+
|
83
137
|
Result.add_member(:result_id, Shapes::ShapeRef.new(shape: String, location_name: "ResultId"))
|
84
138
|
Result.add_member(:start_time, Shapes::ShapeRef.new(shape: Double, location_name: "StartTime"))
|
85
139
|
Result.add_member(:end_time, Shapes::ShapeRef.new(shape: Double, location_name: "EndTime"))
|
@@ -93,6 +147,37 @@ module Aws::TranscribeStreamingService
|
|
93
147
|
ServiceUnavailableException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "Message"))
|
94
148
|
ServiceUnavailableException.struct_class = Types::ServiceUnavailableException
|
95
149
|
|
150
|
+
StartMedicalStreamTranscriptionRequest.add_member(:language_code, Shapes::ShapeRef.new(shape: LanguageCode, required: true, location: "header", location_name: "x-amzn-transcribe-language-code"))
|
151
|
+
StartMedicalStreamTranscriptionRequest.add_member(:media_sample_rate_hertz, Shapes::ShapeRef.new(shape: MediaSampleRateHertz, required: true, location: "header", location_name: "x-amzn-transcribe-sample-rate"))
|
152
|
+
StartMedicalStreamTranscriptionRequest.add_member(:media_encoding, Shapes::ShapeRef.new(shape: MediaEncoding, required: true, location: "header", location_name: "x-amzn-transcribe-media-encoding"))
|
153
|
+
StartMedicalStreamTranscriptionRequest.add_member(:vocabulary_name, Shapes::ShapeRef.new(shape: VocabularyName, location: "header", location_name: "x-amzn-transcribe-vocabulary-name"))
|
154
|
+
StartMedicalStreamTranscriptionRequest.add_member(:specialty, Shapes::ShapeRef.new(shape: Specialty, required: true, location: "header", location_name: "x-amzn-transcribe-specialty"))
|
155
|
+
StartMedicalStreamTranscriptionRequest.add_member(:type, Shapes::ShapeRef.new(shape: Type, required: true, location: "header", location_name: "x-amzn-transcribe-type"))
|
156
|
+
StartMedicalStreamTranscriptionRequest.add_member(:show_speaker_label, Shapes::ShapeRef.new(shape: Boolean, location: "header", location_name: "x-amzn-transcribe-show-speaker-label"))
|
157
|
+
StartMedicalStreamTranscriptionRequest.add_member(:session_id, Shapes::ShapeRef.new(shape: SessionId, location: "header", location_name: "x-amzn-transcribe-session-id"))
|
158
|
+
StartMedicalStreamTranscriptionRequest.add_member(:audio_stream, Shapes::ShapeRef.new(shape: AudioStream, required: true, eventstream: true, location_name: "AudioStream"))
|
159
|
+
StartMedicalStreamTranscriptionRequest.add_member(:enable_channel_identification, Shapes::ShapeRef.new(shape: Boolean, location: "header", location_name: "x-amzn-transcribe-enable-channel-identification"))
|
160
|
+
StartMedicalStreamTranscriptionRequest.add_member(:number_of_channels, Shapes::ShapeRef.new(shape: NumberOfChannels, location: "header", location_name: "x-amzn-transcribe-number-of-channels"))
|
161
|
+
StartMedicalStreamTranscriptionRequest.struct_class = Types::StartMedicalStreamTranscriptionRequest
|
162
|
+
StartMedicalStreamTranscriptionRequest[:payload] = :audio_stream
|
163
|
+
StartMedicalStreamTranscriptionRequest[:payload_member] = StartMedicalStreamTranscriptionRequest.member(:audio_stream)
|
164
|
+
|
165
|
+
StartMedicalStreamTranscriptionResponse.add_member(:request_id, Shapes::ShapeRef.new(shape: RequestId, location: "header", location_name: "x-amzn-request-id"))
|
166
|
+
StartMedicalStreamTranscriptionResponse.add_member(:language_code, Shapes::ShapeRef.new(shape: LanguageCode, location: "header", location_name: "x-amzn-transcribe-language-code"))
|
167
|
+
StartMedicalStreamTranscriptionResponse.add_member(:media_sample_rate_hertz, Shapes::ShapeRef.new(shape: MediaSampleRateHertz, location: "header", location_name: "x-amzn-transcribe-sample-rate"))
|
168
|
+
StartMedicalStreamTranscriptionResponse.add_member(:media_encoding, Shapes::ShapeRef.new(shape: MediaEncoding, location: "header", location_name: "x-amzn-transcribe-media-encoding"))
|
169
|
+
StartMedicalStreamTranscriptionResponse.add_member(:vocabulary_name, Shapes::ShapeRef.new(shape: VocabularyName, location: "header", location_name: "x-amzn-transcribe-vocabulary-name"))
|
170
|
+
StartMedicalStreamTranscriptionResponse.add_member(:specialty, Shapes::ShapeRef.new(shape: Specialty, location: "header", location_name: "x-amzn-transcribe-specialty"))
|
171
|
+
StartMedicalStreamTranscriptionResponse.add_member(:type, Shapes::ShapeRef.new(shape: Type, location: "header", location_name: "x-amzn-transcribe-type"))
|
172
|
+
StartMedicalStreamTranscriptionResponse.add_member(:show_speaker_label, Shapes::ShapeRef.new(shape: Boolean, location: "header", location_name: "x-amzn-transcribe-show-speaker-label"))
|
173
|
+
StartMedicalStreamTranscriptionResponse.add_member(:session_id, Shapes::ShapeRef.new(shape: SessionId, location: "header", location_name: "x-amzn-transcribe-session-id"))
|
174
|
+
StartMedicalStreamTranscriptionResponse.add_member(:transcript_result_stream, Shapes::ShapeRef.new(shape: MedicalTranscriptResultStream, eventstream: true, location_name: "TranscriptResultStream"))
|
175
|
+
StartMedicalStreamTranscriptionResponse.add_member(:enable_channel_identification, Shapes::ShapeRef.new(shape: Boolean, location: "header", location_name: "x-amzn-transcribe-enable-channel-identification"))
|
176
|
+
StartMedicalStreamTranscriptionResponse.add_member(:number_of_channels, Shapes::ShapeRef.new(shape: NumberOfChannels, location: "header", location_name: "x-amzn-transcribe-number-of-channels"))
|
177
|
+
StartMedicalStreamTranscriptionResponse.struct_class = Types::StartMedicalStreamTranscriptionResponse
|
178
|
+
StartMedicalStreamTranscriptionResponse[:payload] = :transcript_result_stream
|
179
|
+
StartMedicalStreamTranscriptionResponse[:payload_member] = StartMedicalStreamTranscriptionResponse.member(:transcript_result_stream)
|
180
|
+
|
96
181
|
StartStreamTranscriptionRequest.add_member(:language_code, Shapes::ShapeRef.new(shape: LanguageCode, required: true, location: "header", location_name: "x-amzn-transcribe-language-code"))
|
97
182
|
StartStreamTranscriptionRequest.add_member(:media_sample_rate_hertz, Shapes::ShapeRef.new(shape: MediaSampleRateHertz, required: true, location: "header", location_name: "x-amzn-transcribe-sample-rate"))
|
98
183
|
StartStreamTranscriptionRequest.add_member(:media_encoding, Shapes::ShapeRef.new(shape: MediaEncoding, required: true, location: "header", location_name: "x-amzn-transcribe-media-encoding"))
|
@@ -156,6 +241,20 @@ module Aws::TranscribeStreamingService
|
|
156
241
|
"uid" => "transcribe-streaming-2017-10-26",
|
157
242
|
}
|
158
243
|
|
244
|
+
api.add_operation(:start_medical_stream_transcription, Seahorse::Model::Operation.new.tap do |o|
|
245
|
+
o.name = "StartMedicalStreamTranscription"
|
246
|
+
o.http_method = "POST"
|
247
|
+
o.http_request_uri = "/medical-stream-transcription"
|
248
|
+
o.input = Shapes::ShapeRef.new(shape: StartMedicalStreamTranscriptionRequest)
|
249
|
+
o.output = Shapes::ShapeRef.new(shape: StartMedicalStreamTranscriptionResponse)
|
250
|
+
o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
|
251
|
+
o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
|
252
|
+
o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
|
253
|
+
o.errors << Shapes::ShapeRef.new(shape: ConflictException)
|
254
|
+
o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
|
255
|
+
o.async = true
|
256
|
+
end)
|
257
|
+
|
159
258
|
api.add_operation(:start_stream_transcription, Seahorse::Model::Operation.new.tap do |o|
|
160
259
|
o.name = "StartStreamTranscription"
|
161
260
|
o.http_method = "POST"
|
@@ -33,6 +33,89 @@ module Aws::TranscribeStreamingService
|
|
33
33
|
|
34
34
|
end
|
35
35
|
|
36
|
+
class AudioStream
|
37
|
+
|
38
|
+
def initialize
|
39
|
+
@event_emitter = Aws::EventEmitter.new
|
40
|
+
end
|
41
|
+
|
42
|
+
# @option params [String, StringIO, File] :audio_chunk
|
43
|
+
# An audio blob that contains the next part of the audio that you want
|
44
|
+
# to transcribe.
|
45
|
+
#
|
46
|
+
def signal_audio_event_event(params = {})
|
47
|
+
@event_emitter.emit(:audio_event, params)
|
48
|
+
end
|
49
|
+
|
50
|
+
def signal_end_stream
|
51
|
+
@event_emitter.emit(:end_stream, {})
|
52
|
+
end
|
53
|
+
|
54
|
+
# @api private
|
55
|
+
# @return Aws::EventEmitter
|
56
|
+
attr_reader :event_emitter
|
57
|
+
|
58
|
+
end
|
59
|
+
|
60
|
+
class MedicalTranscriptResultStream
|
61
|
+
|
62
|
+
def initialize
|
63
|
+
@event_emitter = Aws::EventEmitter.new
|
64
|
+
end
|
65
|
+
|
66
|
+
def on_transcript_event_event(&block)
|
67
|
+
@event_emitter.on(:transcript_event, block) if block_given?
|
68
|
+
end
|
69
|
+
|
70
|
+
def on_bad_request_exception_event(&block)
|
71
|
+
@event_emitter.on(:bad_request_exception, block) if block_given?
|
72
|
+
end
|
73
|
+
|
74
|
+
def on_limit_exceeded_exception_event(&block)
|
75
|
+
@event_emitter.on(:limit_exceeded_exception, block) if block_given?
|
76
|
+
end
|
77
|
+
|
78
|
+
def on_internal_failure_exception_event(&block)
|
79
|
+
@event_emitter.on(:internal_failure_exception, block) if block_given?
|
80
|
+
end
|
81
|
+
|
82
|
+
def on_conflict_exception_event(&block)
|
83
|
+
@event_emitter.on(:conflict_exception, block) if block_given?
|
84
|
+
end
|
85
|
+
|
86
|
+
def on_service_unavailable_exception_event(&block)
|
87
|
+
@event_emitter.on(:service_unavailable_exception, block) if block_given?
|
88
|
+
end
|
89
|
+
|
90
|
+
def on_error_event(&block)
|
91
|
+
@event_emitter.on(:error, block) if block_given?
|
92
|
+
end
|
93
|
+
|
94
|
+
def on_initial_response_event(&block)
|
95
|
+
@event_emitter.on(:initial_response, block) if block_given?
|
96
|
+
end
|
97
|
+
|
98
|
+
def on_unknown_event(&block)
|
99
|
+
@event_emitter.on(:unknown_event, block) if block_given?
|
100
|
+
end
|
101
|
+
|
102
|
+
def on_event(&block)
|
103
|
+
on_transcript_event_event(&block)
|
104
|
+
on_bad_request_exception_event(&block)
|
105
|
+
on_limit_exceeded_exception_event(&block)
|
106
|
+
on_internal_failure_exception_event(&block)
|
107
|
+
on_conflict_exception_event(&block)
|
108
|
+
on_service_unavailable_exception_event(&block)
|
109
|
+
on_error_event(&block)
|
110
|
+
on_initial_response_event(&block)
|
111
|
+
on_unknown_event(&block)
|
112
|
+
end
|
113
|
+
|
114
|
+
# @api private
|
115
|
+
# @return Aws::EventEmitter
|
116
|
+
attr_reader :event_emitter
|
117
|
+
|
118
|
+
end
|
36
119
|
class TranscriptResultStream
|
37
120
|
|
38
121
|
def initialize
|
@@ -52,10 +52,11 @@ module Aws::TranscribeStreamingService
|
|
52
52
|
include Aws::Structure
|
53
53
|
end
|
54
54
|
|
55
|
-
# One or more arguments to the `StartStreamTranscription`
|
56
|
-
# invalid. For example,
|
57
|
-
# `
|
58
|
-
# try your request
|
55
|
+
# One or more arguments to the `StartStreamTranscription` or
|
56
|
+
# `StartMedicalStreamTranscription` operation was invalid. For example,
|
57
|
+
# `MediaEncoding` was not set to a valid encoding, or `LanguageCode` was
|
58
|
+
# not set to a valid code. Check the parameters and try your request
|
59
|
+
# again.
|
59
60
|
#
|
60
61
|
# @!attribute [rw] message
|
61
62
|
# @return [String]
|
@@ -84,8 +85,9 @@ module Aws::TranscribeStreamingService
|
|
84
85
|
include Aws::Structure
|
85
86
|
end
|
86
87
|
|
87
|
-
# A problem occurred while processing the audio. Amazon Transcribe
|
88
|
-
# terminated processing. Try your request
|
88
|
+
# A problem occurred while processing the audio. Amazon Transcribe or
|
89
|
+
# Amazon Transcribe Medical terminated processing. Try your request
|
90
|
+
# again.
|
89
91
|
#
|
90
92
|
# @!attribute [rw] message
|
91
93
|
# @return [String]
|
@@ -163,6 +165,162 @@ module Aws::TranscribeStreamingService
|
|
163
165
|
include Aws::Structure
|
164
166
|
end
|
165
167
|
|
168
|
+
# A list of possible transcriptions for the audio.
|
169
|
+
#
|
170
|
+
# @!attribute [rw] transcript
|
171
|
+
# The text that was transcribed from the audio.
|
172
|
+
# @return [String]
|
173
|
+
#
|
174
|
+
# @!attribute [rw] items
|
175
|
+
# A list of objects that contains words and punctuation marks that
|
176
|
+
# represents one or more interpretations of the input audio.
|
177
|
+
# @return [Array<Types::MedicalItem>]
|
178
|
+
#
|
179
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/transcribe-streaming-2017-10-26/MedicalAlternative AWS API Documentation
|
180
|
+
#
|
181
|
+
class MedicalAlternative < Struct.new(
|
182
|
+
:transcript,
|
183
|
+
:items)
|
184
|
+
SENSITIVE = []
|
185
|
+
include Aws::Structure
|
186
|
+
end
|
187
|
+
|
188
|
+
# A word or punctuation that is transcribed from the input audio.
|
189
|
+
#
|
190
|
+
# @!attribute [rw] start_time
|
191
|
+
# The number of seconds into an audio stream that indicates the
|
192
|
+
# creation time of an item.
|
193
|
+
# @return [Float]
|
194
|
+
#
|
195
|
+
# @!attribute [rw] end_time
|
196
|
+
# The number of seconds into an audio stream that indicates the
|
197
|
+
# creation time of an item.
|
198
|
+
# @return [Float]
|
199
|
+
#
|
200
|
+
# @!attribute [rw] type
|
201
|
+
# The type of the item. `PRONUNCIATION` indicates that the item is a
|
202
|
+
# word that was recognized in the input audio. `PUNCTUATION` indicates
|
203
|
+
# that the item was interpreted as a pause in the input audio, such as
|
204
|
+
# a period to indicate the end of a sentence.
|
205
|
+
# @return [String]
|
206
|
+
#
|
207
|
+
# @!attribute [rw] content
|
208
|
+
# The word or punctuation mark that was recognized in the input audio.
|
209
|
+
# @return [String]
|
210
|
+
#
|
211
|
+
# @!attribute [rw] confidence
|
212
|
+
# A value between 0 and 1 for an item that is a confidence score that
|
213
|
+
# Amazon Transcribe Medical assigns to each word that it transcribes.
|
214
|
+
# @return [Float]
|
215
|
+
#
|
216
|
+
# @!attribute [rw] speaker
|
217
|
+
# If speaker identification is enabled, shows the integer values that
|
218
|
+
# correspond to the different speakers identified in the stream. For
|
219
|
+
# example, if the value of `Speaker` in the stream is either a `0` or
|
220
|
+
# a `1`, that indicates that Amazon Transcribe Medical has identified
|
221
|
+
# two speakers in the stream. The value of `0` corresponds to one
|
222
|
+
# speaker and the value of `1` corresponds to the other speaker.
|
223
|
+
# @return [String]
|
224
|
+
#
|
225
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/transcribe-streaming-2017-10-26/MedicalItem AWS API Documentation
|
226
|
+
#
|
227
|
+
class MedicalItem < Struct.new(
|
228
|
+
:start_time,
|
229
|
+
:end_time,
|
230
|
+
:type,
|
231
|
+
:content,
|
232
|
+
:confidence,
|
233
|
+
:speaker)
|
234
|
+
SENSITIVE = []
|
235
|
+
include Aws::Structure
|
236
|
+
end
|
237
|
+
|
238
|
+
# The results of transcribing a portion of the input audio stream.
|
239
|
+
#
|
240
|
+
# @!attribute [rw] result_id
|
241
|
+
# A unique identifier for the result.
|
242
|
+
# @return [String]
|
243
|
+
#
|
244
|
+
# @!attribute [rw] start_time
|
245
|
+
# The time, in seconds, from the beginning of the audio stream to the
|
246
|
+
# beginning of the result.
|
247
|
+
# @return [Float]
|
248
|
+
#
|
249
|
+
# @!attribute [rw] end_time
|
250
|
+
# The time, in seconds, from the beginning of the audio stream to the
|
251
|
+
# end of the result.
|
252
|
+
# @return [Float]
|
253
|
+
#
|
254
|
+
# @!attribute [rw] is_partial
|
255
|
+
# Amazon Transcribe Medical divides the incoming audio stream into
|
256
|
+
# segments at natural points in the audio. Transcription results are
|
257
|
+
# returned based on these segments.
|
258
|
+
#
|
259
|
+
# The `IsPartial` field is `true` to indicate that Amazon Transcribe
|
260
|
+
# Medical has additional transcription data to send. The `IsPartial`
|
261
|
+
# field is `false` to indicate that this is the last transcription
|
262
|
+
# result for the segment.
|
263
|
+
# @return [Boolean]
|
264
|
+
#
|
265
|
+
# @!attribute [rw] alternatives
|
266
|
+
# A list of possible transcriptions of the audio. Each alternative
|
267
|
+
# typically contains one `Item` that contains the result of the
|
268
|
+
# transcription.
|
269
|
+
# @return [Array<Types::MedicalAlternative>]
|
270
|
+
#
|
271
|
+
# @!attribute [rw] channel_id
|
272
|
+
# When channel identification is enabled, Amazon Transcribe Medical
|
273
|
+
# transcribes the speech from each audio channel separately.
|
274
|
+
#
|
275
|
+
# You can use `ChannelId` to retrieve the transcription results for a
|
276
|
+
# single channel in your audio stream.
|
277
|
+
# @return [String]
|
278
|
+
#
|
279
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/transcribe-streaming-2017-10-26/MedicalResult AWS API Documentation
|
280
|
+
#
|
281
|
+
class MedicalResult < Struct.new(
|
282
|
+
:result_id,
|
283
|
+
:start_time,
|
284
|
+
:end_time,
|
285
|
+
:is_partial,
|
286
|
+
:alternatives,
|
287
|
+
:channel_id)
|
288
|
+
SENSITIVE = []
|
289
|
+
include Aws::Structure
|
290
|
+
end
|
291
|
+
|
292
|
+
# The medical transcript in a MedicalTranscriptEvent.
|
293
|
+
#
|
294
|
+
# @!attribute [rw] results
|
295
|
+
# MedicalResult objects that contain the results of transcribing a
|
296
|
+
# portion of the input audio stream. The array can be empty.
|
297
|
+
# @return [Array<Types::MedicalResult>]
|
298
|
+
#
|
299
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/transcribe-streaming-2017-10-26/MedicalTranscript AWS API Documentation
|
300
|
+
#
|
301
|
+
class MedicalTranscript < Struct.new(
|
302
|
+
:results)
|
303
|
+
SENSITIVE = []
|
304
|
+
include Aws::Structure
|
305
|
+
end
|
306
|
+
|
307
|
+
# Represents a set of transcription results from the server to the
|
308
|
+
# client. It contains one or more segments of the transcription.
|
309
|
+
#
|
310
|
+
# @!attribute [rw] transcript
|
311
|
+
# The transcription of the audio stream. The transcription is composed
|
312
|
+
# of all of the items in the results list.
|
313
|
+
# @return [Types::MedicalTranscript]
|
314
|
+
#
|
315
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/transcribe-streaming-2017-10-26/MedicalTranscriptEvent AWS API Documentation
|
316
|
+
#
|
317
|
+
class MedicalTranscriptEvent < Struct.new(
|
318
|
+
:transcript,
|
319
|
+
:event_type)
|
320
|
+
SENSITIVE = []
|
321
|
+
include Aws::Structure
|
322
|
+
end
|
323
|
+
|
166
324
|
# The result of transcribing a portion of the input audio stream.
|
167
325
|
#
|
168
326
|
# @!attribute [rw] result_id
|
@@ -230,13 +388,182 @@ module Aws::TranscribeStreamingService
|
|
230
388
|
include Aws::Structure
|
231
389
|
end
|
232
390
|
|
391
|
+
# @note When making an API call, you may pass StartMedicalStreamTranscriptionRequest
|
392
|
+
# data as a hash:
|
393
|
+
#
|
394
|
+
# {
|
395
|
+
# language_code: "en-US", # required, accepts en-US, en-GB, es-US, fr-CA, fr-FR, en-AU, it-IT, de-DE, pt-BR, ja-JP, ko-KR
|
396
|
+
# media_sample_rate_hertz: 1, # required
|
397
|
+
# media_encoding: "pcm", # required, accepts pcm, ogg-opus, flac
|
398
|
+
# vocabulary_name: "VocabularyName",
|
399
|
+
# specialty: "PRIMARYCARE", # required, accepts PRIMARYCARE, CARDIOLOGY, NEUROLOGY, ONCOLOGY, RADIOLOGY, UROLOGY
|
400
|
+
# type: "CONVERSATION", # required, accepts CONVERSATION, DICTATION
|
401
|
+
# show_speaker_label: false,
|
402
|
+
# session_id: "SessionId",
|
403
|
+
# input_event_stream_hander: EventStreams::AudioStream.new,
|
404
|
+
# enable_channel_identification: false,
|
405
|
+
# number_of_channels: 1,
|
406
|
+
# }
|
407
|
+
#
|
408
|
+
# @!attribute [rw] language_code
|
409
|
+
# Indicates the source language used in the input audio stream. For
|
410
|
+
# Amazon Transcribe Medical, this is US English (en-US).
|
411
|
+
# @return [String]
|
412
|
+
#
|
413
|
+
# @!attribute [rw] media_sample_rate_hertz
|
414
|
+
# The sample rate of the input audio in Hertz. Sample rates of 16000
|
415
|
+
# Hz or higher are accepted.
|
416
|
+
# @return [Integer]
|
417
|
+
#
|
418
|
+
# @!attribute [rw] media_encoding
|
419
|
+
# The encoding used for the input audio.
|
420
|
+
# @return [String]
|
421
|
+
#
|
422
|
+
# @!attribute [rw] vocabulary_name
|
423
|
+
# The name of the medical custom vocabulary to use when processing the
|
424
|
+
# real-time stream.
|
425
|
+
# @return [String]
|
426
|
+
#
|
427
|
+
# @!attribute [rw] specialty
|
428
|
+
# The medical specialty of the clinician or provider.
|
429
|
+
# @return [String]
|
430
|
+
#
|
431
|
+
# @!attribute [rw] type
|
432
|
+
# The type of input audio. Choose `DICTATION` for a provider dictating
|
433
|
+
# patient notes. Choose `CONVERSATION` for a dialogue between a
|
434
|
+
# patient and one or more medical professionanls.
|
435
|
+
# @return [String]
|
436
|
+
#
|
437
|
+
# @!attribute [rw] show_speaker_label
|
438
|
+
# When `true`, enables speaker identification in your real-time
|
439
|
+
# stream.
|
440
|
+
# @return [Boolean]
|
441
|
+
#
|
442
|
+
# @!attribute [rw] session_id
|
443
|
+
# Optional. An identifier for the transcription session. If you don't
|
444
|
+
# provide a session ID, Amazon Transcribe generates one for you and
|
445
|
+
# returns it in the response.
|
446
|
+
# @return [String]
|
447
|
+
#
|
448
|
+
# @!attribute [rw] audio_stream
|
449
|
+
# Represents the audio stream from your application to Amazon
|
450
|
+
# Transcribe.
|
451
|
+
# @return [Types::AudioStream]
|
452
|
+
#
|
453
|
+
# @!attribute [rw] enable_channel_identification
|
454
|
+
# When `true`, instructs Amazon Transcribe Medical to process each
|
455
|
+
# audio channel separately and then merge the transcription output of
|
456
|
+
# each channel into a single transcription.
|
457
|
+
#
|
458
|
+
# Amazon Transcribe Medical also produces a transcription of each
|
459
|
+
# item. An item includes the start time, end time, and any alternative
|
460
|
+
# transcriptions.
|
461
|
+
#
|
462
|
+
# You can't set both `ShowSpeakerLabel` and
|
463
|
+
# `EnableChannelIdentification` in the same request. If you set both,
|
464
|
+
# your request returns a `BadRequestException`.
|
465
|
+
# @return [Boolean]
|
466
|
+
#
|
467
|
+
# @!attribute [rw] number_of_channels
|
468
|
+
# The number of channels that are in your audio stream.
|
469
|
+
# @return [Integer]
|
470
|
+
#
|
471
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/transcribe-streaming-2017-10-26/StartMedicalStreamTranscriptionRequest AWS API Documentation
|
472
|
+
#
|
473
|
+
class StartMedicalStreamTranscriptionRequest < Struct.new(
|
474
|
+
:language_code,
|
475
|
+
:media_sample_rate_hertz,
|
476
|
+
:media_encoding,
|
477
|
+
:vocabulary_name,
|
478
|
+
:specialty,
|
479
|
+
:type,
|
480
|
+
:show_speaker_label,
|
481
|
+
:session_id,
|
482
|
+
:audio_stream,
|
483
|
+
:enable_channel_identification,
|
484
|
+
:number_of_channels)
|
485
|
+
SENSITIVE = []
|
486
|
+
include Aws::Structure
|
487
|
+
end
|
488
|
+
|
489
|
+
# @!attribute [rw] request_id
|
490
|
+
# An identifier for the streaming transcription.
|
491
|
+
# @return [String]
|
492
|
+
#
|
493
|
+
# @!attribute [rw] language_code
|
494
|
+
# The language code for the response transcript. For Amazon Transcribe
|
495
|
+
# Medical, this is US English (en-US).
|
496
|
+
# @return [String]
|
497
|
+
#
|
498
|
+
# @!attribute [rw] media_sample_rate_hertz
|
499
|
+
# The sample rate of the input audio in Hertz. Valid value: 16000 Hz.
|
500
|
+
# @return [Integer]
|
501
|
+
#
|
502
|
+
# @!attribute [rw] media_encoding
|
503
|
+
# The encoding used for the input audio stream.
|
504
|
+
# @return [String]
|
505
|
+
#
|
506
|
+
# @!attribute [rw] vocabulary_name
|
507
|
+
# The name of the vocabulary used when processing the stream.
|
508
|
+
# @return [String]
|
509
|
+
#
|
510
|
+
# @!attribute [rw] specialty
|
511
|
+
# The specialty in the medical domain.
|
512
|
+
# @return [String]
|
513
|
+
#
|
514
|
+
# @!attribute [rw] type
|
515
|
+
# The type of audio that was transcribed.
|
516
|
+
# @return [String]
|
517
|
+
#
|
518
|
+
# @!attribute [rw] show_speaker_label
|
519
|
+
# Shows whether speaker identification was enabled in the stream.
|
520
|
+
# @return [Boolean]
|
521
|
+
#
|
522
|
+
# @!attribute [rw] session_id
|
523
|
+
# Optional. An identifier for the transcription session. If you don't
|
524
|
+
# provide a session ID, Amazon Transcribe generates one for you and
|
525
|
+
# returns it in the response.
|
526
|
+
# @return [String]
|
527
|
+
#
|
528
|
+
# @!attribute [rw] transcript_result_stream
|
529
|
+
# Represents the stream of transcription events from Amazon Transcribe
|
530
|
+
# Medical to your application.
|
531
|
+
# @return [Types::MedicalTranscriptResultStream]
|
532
|
+
#
|
533
|
+
# @!attribute [rw] enable_channel_identification
|
534
|
+
# Shows whether channel identification has been enabled in the stream.
|
535
|
+
# @return [Boolean]
|
536
|
+
#
|
537
|
+
# @!attribute [rw] number_of_channels
|
538
|
+
# The number of channels identified in the stream.
|
539
|
+
# @return [Integer]
|
540
|
+
#
|
541
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/transcribe-streaming-2017-10-26/StartMedicalStreamTranscriptionResponse AWS API Documentation
|
542
|
+
#
|
543
|
+
class StartMedicalStreamTranscriptionResponse < Struct.new(
|
544
|
+
:request_id,
|
545
|
+
:language_code,
|
546
|
+
:media_sample_rate_hertz,
|
547
|
+
:media_encoding,
|
548
|
+
:vocabulary_name,
|
549
|
+
:specialty,
|
550
|
+
:type,
|
551
|
+
:show_speaker_label,
|
552
|
+
:session_id,
|
553
|
+
:transcript_result_stream,
|
554
|
+
:enable_channel_identification,
|
555
|
+
:number_of_channels)
|
556
|
+
SENSITIVE = []
|
557
|
+
include Aws::Structure
|
558
|
+
end
|
559
|
+
|
233
560
|
# @note When making an API call, you may pass StartStreamTranscriptionRequest
|
234
561
|
# data as a hash:
|
235
562
|
#
|
236
563
|
# {
|
237
|
-
# language_code: "en-US", # required, accepts en-US, en-GB, es-US, fr-CA, fr-FR, en-AU, it-IT, de-DE
|
564
|
+
# language_code: "en-US", # required, accepts en-US, en-GB, es-US, fr-CA, fr-FR, en-AU, it-IT, de-DE, pt-BR, ja-JP, ko-KR
|
238
565
|
# media_sample_rate_hertz: 1, # required
|
239
|
-
# media_encoding: "pcm", # required, accepts pcm
|
566
|
+
# media_encoding: "pcm", # required, accepts pcm, ogg-opus, flac
|
240
567
|
# vocabulary_name: "VocabularyName",
|
241
568
|
# session_id: "SessionId",
|
242
569
|
# input_event_stream_hander: EventStreams::AudioStream.new,
|
@@ -258,8 +585,7 @@ module Aws::TranscribeStreamingService
|
|
258
585
|
# @return [Integer]
|
259
586
|
#
|
260
587
|
# @!attribute [rw] media_encoding
|
261
|
-
# The encoding used for the input audio.
|
262
|
-
# value.
|
588
|
+
# The encoding used for the input audio.
|
263
589
|
# @return [String]
|
264
590
|
#
|
265
591
|
# @!attribute [rw] vocabulary_name
|
@@ -463,6 +789,29 @@ module Aws::TranscribeStreamingService
|
|
463
789
|
|
464
790
|
end
|
465
791
|
|
792
|
+
# Represents the transcription result stream from Amazon Transcribe
|
793
|
+
# Medical to your application.
|
794
|
+
#
|
795
|
+
# EventStream is an Enumerator of Events.
|
796
|
+
# #event_types #=> Array, returns all modeled event types in the stream
|
797
|
+
#
|
798
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/transcribe-streaming-2017-10-26/MedicalTranscriptResultStream AWS API Documentation
|
799
|
+
#
|
800
|
+
class MedicalTranscriptResultStream < Enumerator
|
801
|
+
|
802
|
+
def event_types
|
803
|
+
[
|
804
|
+
:transcript_event,
|
805
|
+
:bad_request_exception,
|
806
|
+
:limit_exceeded_exception,
|
807
|
+
:internal_failure_exception,
|
808
|
+
:conflict_exception,
|
809
|
+
:service_unavailable_exception
|
810
|
+
]
|
811
|
+
end
|
812
|
+
|
813
|
+
end
|
814
|
+
|
466
815
|
# Represents the transcription result stream from Amazon Transcribe to
|
467
816
|
# your application.
|
468
817
|
#
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aws-sdk-transcribestreamingservice
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.24.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Amazon Web Services
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-11-
|
11
|
+
date: 2020-11-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk-core
|