Skip to content

Commit a2694b9

Browse files
author
AWS
committed
Amazon Transcribe Streaming Service Update: Amazon Transcribe Medical streaming added medical specialties and HTTP/2 support. Amazon Transcribe streaming supports additional languages. Both support OGG/OPUS and FLAC codecs for streaming.
1 parent 35d8065 commit a2694b9

File tree

2 files changed

+328
-5
lines changed

2 files changed

+328
-5
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"type": "feature",
3+
"category": "Amazon Transcribe Streaming Service",
4+
"contributor": "",
5+
"description": "Amazon Transcribe Medical streaming added medical specialties and HTTP/2 support. Amazon Transcribe streaming supports additional languages. Both support OGG/OPUS and FLAC codecs for streaming."
6+
}

services/transcribestreaming/src/main/resources/codegen-resources/service-2.json

Lines changed: 322 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,23 @@
1212
"uid":"transcribe-streaming-2017-10-26"
1313
},
1414
"operations":{
15+
"StartMedicalStreamTranscription":{
16+
"name":"StartMedicalStreamTranscription",
17+
"http":{
18+
"method":"POST",
19+
"requestUri":"/medical-stream-transcription"
20+
},
21+
"input":{"shape":"StartMedicalStreamTranscriptionRequest"},
22+
"output":{"shape":"StartMedicalStreamTranscriptionResponse"},
23+
"errors":[
24+
{"shape":"BadRequestException"},
25+
{"shape":"LimitExceededException"},
26+
{"shape":"InternalFailureException"},
27+
{"shape":"ConflictException"},
28+
{"shape":"ServiceUnavailableException"}
29+
],
30+
"documentation":"<p>Starts a bidirectional HTTP/2 stream where audio is streamed to Amazon Transcribe Medical and the transcription results are streamed to your application.</p>"
31+
},
1532
"StartStreamTranscription":{
1633
"name":"StartStreamTranscription",
1734
"http":{
@@ -78,11 +95,12 @@
7895
"members":{
7996
"Message":{"shape":"String"}
8097
},
81-
"documentation":"<p>One or more arguments to the <code>StartStreamTranscription</code> operation was invalid. For example, <code>MediaEncoding</code> was not set to <code>pcm</code> or <code>LanguageCode</code> was not set to a valid code. Check the parameters and try your request again.</p>",
98+
"documentation":"<p>One or more arguments to the <code>StartStreamTranscription</code> or <code>StartMedicalStreamTranscription</code> operation was invalid. For example, <code>MediaEncoding</code> was not set to a valid encoding, or <code>LanguageCode</code> was not set to a valid code. Check the parameters and try your request again.</p>",
8299
"error":{"httpStatusCode":400},
83100
"exception":true
84101
},
85102
"Boolean":{"type":"boolean"},
103+
"Confidence":{"type":"double"},
86104
"ConflictException":{
87105
"type":"structure",
88106
"members":{
@@ -98,7 +116,7 @@
98116
"members":{
99117
"Message":{"shape":"String"}
100118
},
101-
"documentation":"<p>A problem occurred while processing the audio. Amazon Transcribe terminated processing. Try your request again.</p>",
119+
"documentation":"<p>A problem occurred while processing the audio. Amazon Transcribe or Amazon Transcribe Medical terminated processing. Try your request again.</p>",
102120
"error":{"httpStatusCode":500},
103121
"exception":true,
104122
"fault":true
@@ -154,7 +172,10 @@
154172
"fr-FR",
155173
"en-AU",
156174
"it-IT",
157-
"de-DE"
175+
"de-DE",
176+
"pt-BR",
177+
"ja-JP",
178+
"ko-KR"
158179
]
159180
},
160181
"LimitExceededException":{
@@ -168,13 +189,140 @@
168189
},
169190
"MediaEncoding":{
170191
"type":"string",
171-
"enum":["pcm"]
192+
"enum":[
193+
"pcm",
194+
"ogg-opus",
195+
"flac"
196+
]
172197
},
173198
"MediaSampleRateHertz":{
174199
"type":"integer",
175200
"max":48000,
176201
"min":8000
177202
},
203+
"MedicalAlternative":{
204+
"type":"structure",
205+
"members":{
206+
"Transcript":{
207+
"shape":"String",
208+
"documentation":"<p>The text that was transcribed from the audio.</p>"
209+
},
210+
"Items":{
211+
"shape":"MedicalItemList",
212+
"documentation":"<p>A list of objects that contains words and punctuation marks that represents one or more interpretations of the input audio.</p>"
213+
}
214+
},
215+
"documentation":"<p>A list of possible transcriptions for the audio.</p>"
216+
},
217+
"MedicalAlternativeList":{
218+
"type":"list",
219+
"member":{"shape":"MedicalAlternative"}
220+
},
221+
"MedicalItem":{
222+
"type":"structure",
223+
"members":{
224+
"StartTime":{
225+
"shape":"Double",
226+
"documentation":"<p>The number of seconds into an audio stream that indicates the creation time of an item.</p>"
227+
},
228+
"EndTime":{
229+
"shape":"Double",
230+
"documentation":"<p>The number of seconds into an audio stream that indicates the creation time of an item.</p>"
231+
},
232+
"Type":{
233+
"shape":"ItemType",
234+
"documentation":"<p>The type of the item. <code>PRONUNCIATION</code> indicates that the item is a word that was recognized in the input audio. <code>PUNCTUATION</code> indicates that the item was interpreted as a pause in the input audio, such as a period to indicate the end of a sentence.</p>"
235+
},
236+
"Content":{
237+
"shape":"String",
238+
"documentation":"<p>The word or punctuation mark that was recognized in the input audio.</p>"
239+
},
240+
"Confidence":{
241+
"shape":"Confidence",
242+
"documentation":"<p>A value between 0 and 1 for an item that is a confidence score that Amazon Transcribe Medical assigns to each word that it transcribes.</p>"
243+
},
244+
"Speaker":{
245+
"shape":"String",
246+
"documentation":"<p>If speaker identification is enabled, shows the integer values that correspond to the different speakers identified in the stream. For example, if the value of <code>Speaker</code> in the stream is either a <code>0</code> or a <code>1</code>, that indicates that Amazon Transcribe Medical has identified two speakers in the stream. The value of <code>0</code> corresponds to one speaker and the value of <code>1</code> corresponds to the other speaker.</p>"
247+
}
248+
},
249+
"documentation":"<p>A word or punctuation that is transcribed from the input audio.</p>"
250+
},
251+
"MedicalItemList":{
252+
"type":"list",
253+
"member":{"shape":"MedicalItem"}
254+
},
255+
"MedicalResult":{
256+
"type":"structure",
257+
"members":{
258+
"ResultId":{
259+
"shape":"String",
260+
"documentation":"<p>A unique identifier for the result.</p>"
261+
},
262+
"StartTime":{
263+
"shape":"Double",
264+
"documentation":"<p>The time, in seconds, from the beginning of the audio stream to the beginning of the result.</p>"
265+
},
266+
"EndTime":{
267+
"shape":"Double",
268+
"documentation":"<p>The time, in seconds, from the beginning of the audio stream to the end of the result.</p>"
269+
},
270+
"IsPartial":{
271+
"shape":"Boolean",
272+
"documentation":"<p>Amazon Transcribe Medical divides the incoming audio stream into segments at natural points in the audio. Transcription results are returned based on these segments.</p> <p>The <code>IsPartial</code> field is <code>true</code> to indicate that Amazon Transcribe Medical has additional transcription data to send. The <code>IsPartial</code> field is <code>false</code> to indicate that this is the last transcription result for the segment.</p>"
273+
},
274+
"Alternatives":{
275+
"shape":"MedicalAlternativeList",
276+
"documentation":"<p>A list of possible transcriptions of the audio. Each alternative typically contains one <code>Item</code> that contains the result of the transcription.</p>"
277+
},
278+
"ChannelId":{
279+
"shape":"String",
280+
"documentation":"<p>When channel identification is enabled, Amazon Transcribe Medical transcribes the speech from each audio channel separately.</p> <p>You can use <code>ChannelId</code> to retrieve the transcription results for a single channel in your audio stream.</p>"
281+
}
282+
},
283+
"documentation":"<p>The results of transcribing a portion of the input audio stream.</p>"
284+
},
285+
"MedicalResultList":{
286+
"type":"list",
287+
"member":{"shape":"MedicalResult"}
288+
},
289+
"MedicalTranscript":{
290+
"type":"structure",
291+
"members":{
292+
"Results":{
293+
"shape":"MedicalResultList",
294+
"documentation":"<p> <a>MedicalResult</a> objects that contain the results of transcribing a portion of the input audio stream. The array can be empty.</p>"
295+
}
296+
},
297+
"documentation":"<p>The medical transcript in a <a>MedicalTranscriptEvent</a>.</p>"
298+
},
299+
"MedicalTranscriptEvent":{
300+
"type":"structure",
301+
"members":{
302+
"Transcript":{
303+
"shape":"MedicalTranscript",
304+
"documentation":"<p>The transcription of the audio stream. The transcription is composed of all of the items in the results list.</p>"
305+
}
306+
},
307+
"documentation":"<p>Represents a set of transcription results from the server to the client. It contains one or more segments of the transcription.</p>",
308+
"event":true
309+
},
310+
"MedicalTranscriptResultStream":{
311+
"type":"structure",
312+
"members":{
313+
"TranscriptEvent":{
314+
"shape":"MedicalTranscriptEvent",
315+
"documentation":"<p>A portion of the transcription of the audio stream. Events are sent periodically from Amazon Transcribe Medical to your application. The event can be a partial transcription of a section of the audio stream, or it can be the entire transcription of that portion of the audio stream.</p>"
316+
},
317+
"BadRequestException":{"shape":"BadRequestException"},
318+
"LimitExceededException":{"shape":"LimitExceededException"},
319+
"InternalFailureException":{"shape":"InternalFailureException"},
320+
"ConflictException":{"shape":"ConflictException"},
321+
"ServiceUnavailableException":{"shape":"ServiceUnavailableException"}
322+
},
323+
"documentation":"<p>Represents the transcription result stream from Amazon Transcribe Medical to your application.</p>",
324+
"eventstream":true
325+
},
178326
"NumberOfChannels":{
179327
"type":"integer",
180328
"min":2
@@ -229,6 +377,168 @@
229377
"min":36,
230378
"pattern":"[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}"
231379
},
380+
"Specialty":{
381+
"type":"string",
382+
"enum":[
383+
"PRIMARYCARE",
384+
"CARDIOLOGY",
385+
"NEUROLOGY",
386+
"ONCOLOGY",
387+
"RADIOLOGY",
388+
"UROLOGY"
389+
]
390+
},
391+
"StartMedicalStreamTranscriptionRequest":{
392+
"type":"structure",
393+
"required":[
394+
"LanguageCode",
395+
"MediaSampleRateHertz",
396+
"MediaEncoding",
397+
"Specialty",
398+
"Type",
399+
"AudioStream"
400+
],
401+
"members":{
402+
"LanguageCode":{
403+
"shape":"LanguageCode",
404+
"documentation":"<p> Indicates the source language used in the input audio stream. For Amazon Transcribe Medical, this is US English (en-US). </p>",
405+
"location":"header",
406+
"locationName":"x-amzn-transcribe-language-code"
407+
},
408+
"MediaSampleRateHertz":{
409+
"shape":"MediaSampleRateHertz",
410+
"documentation":"<p>The sample rate of the input audio in Hertz. Sample rates of 16000 Hz or higher are accepted.</p>",
411+
"location":"header",
412+
"locationName":"x-amzn-transcribe-sample-rate"
413+
},
414+
"MediaEncoding":{
415+
"shape":"MediaEncoding",
416+
"documentation":"<p>The encoding used for the input audio.</p>",
417+
"location":"header",
418+
"locationName":"x-amzn-transcribe-media-encoding"
419+
},
420+
"VocabularyName":{
421+
"shape":"VocabularyName",
422+
"documentation":"<p>The name of the medical custom vocabulary to use when processing the real-time stream.</p>",
423+
"location":"header",
424+
"locationName":"x-amzn-transcribe-vocabulary-name"
425+
},
426+
"Specialty":{
427+
"shape":"Specialty",
428+
"documentation":"<p>The medical specialty of the clinician or provider.</p>",
429+
"location":"header",
430+
"locationName":"x-amzn-transcribe-specialty"
431+
},
432+
"Type":{
433+
"shape":"Type",
434+
"documentation":"<p>The type of input audio. Choose <code>DICTATION</code> for a provider dictating patient notes. Choose <code>CONVERSATION</code> for a dialogue between a patient and one or more medical professionanls.</p>",
435+
"location":"header",
436+
"locationName":"x-amzn-transcribe-type"
437+
},
438+
"ShowSpeakerLabel":{
439+
"shape":"Boolean",
440+
"documentation":"<p>When <code>true</code>, enables speaker identification in your real-time stream.</p>",
441+
"location":"header",
442+
"locationName":"x-amzn-transcribe-show-speaker-label"
443+
},
444+
"SessionId":{
445+
"shape":"SessionId",
446+
"documentation":"<p> Optional. An identifier for the transcription session. If you don't provide a session ID, Amazon Transcribe generates one for you and returns it in the response. </p>",
447+
"location":"header",
448+
"locationName":"x-amzn-transcribe-session-id"
449+
},
450+
"AudioStream":{"shape":"AudioStream"},
451+
"EnableChannelIdentification":{
452+
"shape":"Boolean",
453+
"documentation":"<p>When <code>true</code>, instructs Amazon Transcribe Medical to process each audio channel separately and then merge the transcription output of each channel into a single transcription.</p> <p>Amazon Transcribe Medical also produces a transcription of each item. An item includes the start time, end time, and any alternative transcriptions.</p> <p>You can't set both <code>ShowSpeakerLabel</code> and <code>EnableChannelIdentification</code> in the same request. If you set both, your request returns a <code>BadRequestException</code>.</p>",
454+
"location":"header",
455+
"locationName":"x-amzn-transcribe-enable-channel-identification"
456+
},
457+
"NumberOfChannels":{
458+
"shape":"NumberOfChannels",
459+
"documentation":"<p>The number of channels that are in your audio stream.</p>",
460+
"location":"header",
461+
"locationName":"x-amzn-transcribe-number-of-channels"
462+
}
463+
},
464+
"payload":"AudioStream"
465+
},
466+
"StartMedicalStreamTranscriptionResponse":{
467+
"type":"structure",
468+
"members":{
469+
"RequestId":{
470+
"shape":"RequestId",
471+
"documentation":"<p>An identifier for the streaming transcription.</p>",
472+
"location":"header",
473+
"locationName":"x-amzn-request-id"
474+
},
475+
"LanguageCode":{
476+
"shape":"LanguageCode",
477+
"documentation":"<p>The language code for the response transcript. For Amazon Transcribe Medical, this is US English (en-US).</p>",
478+
"location":"header",
479+
"locationName":"x-amzn-transcribe-language-code"
480+
},
481+
"MediaSampleRateHertz":{
482+
"shape":"MediaSampleRateHertz",
483+
"documentation":"<p>The sample rate of the input audio in Hertz. Valid value: 16000 Hz.</p>",
484+
"location":"header",
485+
"locationName":"x-amzn-transcribe-sample-rate"
486+
},
487+
"MediaEncoding":{
488+
"shape":"MediaEncoding",
489+
"documentation":"<p>The encoding used for the input audio stream.</p>",
490+
"location":"header",
491+
"locationName":"x-amzn-transcribe-media-encoding"
492+
},
493+
"VocabularyName":{
494+
"shape":"VocabularyName",
495+
"documentation":"<p>The name of the vocabulary used when processing the stream.</p>",
496+
"location":"header",
497+
"locationName":"x-amzn-transcribe-vocabulary-name"
498+
},
499+
"Specialty":{
500+
"shape":"Specialty",
501+
"documentation":"<p>The specialty in the medical domain.</p>",
502+
"location":"header",
503+
"locationName":"x-amzn-transcribe-specialty"
504+
},
505+
"Type":{
506+
"shape":"Type",
507+
"documentation":"<p>The type of audio that was transcribed. </p>",
508+
"location":"header",
509+
"locationName":"x-amzn-transcribe-type"
510+
},
511+
"ShowSpeakerLabel":{
512+
"shape":"Boolean",
513+
"documentation":"<p>Shows whether speaker identification was enabled in the stream.</p>",
514+
"location":"header",
515+
"locationName":"x-amzn-transcribe-show-speaker-label"
516+
},
517+
"SessionId":{
518+
"shape":"SessionId",
519+
"documentation":"<p>Optional. An identifier for the transcription session. If you don't provide a session ID, Amazon Transcribe generates one for you and returns it in the response.</p>",
520+
"location":"header",
521+
"locationName":"x-amzn-transcribe-session-id"
522+
},
523+
"TranscriptResultStream":{
524+
"shape":"MedicalTranscriptResultStream",
525+
"documentation":"<p>Represents the stream of transcription events from Amazon Transcribe Medical to your application. </p>"
526+
},
527+
"EnableChannelIdentification":{
528+
"shape":"Boolean",
529+
"documentation":"<p>Shows whether channel identification has been enabled in the stream.</p>",
530+
"location":"header",
531+
"locationName":"x-amzn-transcribe-enable-channel-identification"
532+
},
533+
"NumberOfChannels":{
534+
"shape":"NumberOfChannels",
535+
"documentation":"<p>The number of channels identified in the stream.</p>",
536+
"location":"header",
537+
"locationName":"x-amzn-transcribe-number-of-channels"
538+
}
539+
},
540+
"payload":"TranscriptResultStream"
541+
},
232542
"StartStreamTranscriptionRequest":{
233543
"type":"structure",
234544
"required":[
@@ -252,7 +562,7 @@
252562
},
253563
"MediaEncoding":{
254564
"shape":"MediaEncoding",
255-
"documentation":"<p>The encoding used for the input audio. <code>pcm</code> is the only valid value.</p>",
565+
"documentation":"<p>The encoding used for the input audio.</p>",
256566
"location":"header",
257567
"locationName":"x-amzn-transcribe-media-encoding"
258568
},
@@ -434,6 +744,13 @@
434744
"documentation":"<p>Represents the transcription result stream from Amazon Transcribe to your application.</p>",
435745
"eventstream":true
436746
},
747+
"Type":{
748+
"type":"string",
749+
"enum":[
750+
"CONVERSATION",
751+
"DICTATION"
752+
]
753+
},
437754
"VocabularyFilterMethod":{
438755
"type":"string",
439756
"enum":[

0 commit comments

Comments
 (0)