assemblyai 1.0.2 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -18,19 +18,34 @@ module AssemblyAI
18
18
  class TranscriptOptionalParams
19
19
  # @return [AssemblyAI::Transcripts::TranscriptLanguageCode]
20
20
  attr_reader :language_code
21
+ # @return [Boolean] Enable [Automatic language
22
+ # www.assemblyai.com/docs/models/speech-recognition#automatic-language-detection),
23
+ # either true or false.
24
+ attr_reader :language_detection
25
+ # @return [Float] The confidence threshold for the automatically detected language.
26
+ # An error will be returned if the language confidence is below this threshold.
27
+ # Defaults to 0.
28
+ attr_reader :language_confidence_threshold
29
+ # @return [AssemblyAI::Transcripts::SpeechModel]
30
+ attr_reader :speech_model
21
31
  # @return [Boolean] Enable Automatic Punctuation, can be true or false
22
32
  attr_reader :punctuate
23
33
  # @return [Boolean] Enable Text Formatting, can be true or false
24
34
  attr_reader :format_text
35
+ # @return [Boolean] Transcribe Filler Words, like "umm", in your media file; can be true or false
36
+ attr_reader :disfluencies
37
+ # @return [Boolean] Enable
38
+ # ://www.assemblyai.com/docs/models/speech-recognition#multichannel-transcription)
39
+ # transcription, can be true or false.
40
+ attr_reader :multichannel
25
41
  # @return [Boolean] Enable [Dual
26
42
  # ://www.assemblyai.com/docs/models/speech-recognition#dual-channel-transcription)
27
43
  # transcription, can be true or false.
28
44
  attr_reader :dual_channel
29
- # @return [AssemblyAI::Transcripts::SpeechModel]
30
- attr_reader :speech_model
31
- # @return [String] The URL to which we send webhook requests. We sends two different types of
32
- # webhook requests. One request when a transcript is completed or failed, and one
33
- # request when the redacted audio is ready if redact_pii_audio is enabled.
45
+ # @return [String] The URL to which we send webhook requests.
46
+ # We sends two different types of webhook requests.
47
+ # One request when a transcript is completed or failed, and one request when the
48
+ # redacted audio is ready if redact_pii_audio is enabled.
34
49
  attr_reader :webhook_url
35
50
  # @return [String] The header name to be sent with the transcript completed or failed webhook
36
51
  # requests
@@ -46,7 +61,7 @@ module AssemblyAI
46
61
  attr_reader :audio_end_at
47
62
  # @return [Array<String>] The list of custom vocabulary to boost transcription probability for
48
63
  attr_reader :word_boost
49
- # @return [AssemblyAI::Transcripts::TranscriptBoostParam] The word boost parameter value
64
+ # @return [AssemblyAI::Transcripts::TranscriptBoostParam] How much to boost specified words
50
65
  attr_reader :boost_param
51
66
  # @return [Boolean] Filter profanity from the transcribed text, can be true or false
52
67
  attr_reader :filter_profanity
@@ -89,14 +104,8 @@ module AssemblyAI
89
104
  # Detection](https://www.assemblyai.com/docs/models/topic-detection), can be true
90
105
  # or false
91
106
  attr_reader :iab_categories
92
- # @return [Boolean] Enable [Automatic language
93
- # www.assemblyai.com/docs/models/speech-recognition#automatic-language-detection),
94
- # either true or false.
95
- attr_reader :language_detection
96
107
  # @return [Array<AssemblyAI::Transcripts::TranscriptCustomSpelling>] Customize how words are spelled and formatted using to and from values
97
108
  attr_reader :custom_spelling
98
- # @return [Boolean] Transcribe Filler Words, like "umm", in your media file; can be true or false
99
- attr_reader :disfluencies
100
109
  # @return [Boolean] Enable [Sentiment
101
110
  # Analysis](https://www.assemblyai.com/docs/models/sentiment-analysis), can be
102
111
  # true or false
@@ -131,15 +140,26 @@ module AssemblyAI
131
140
  OMIT = Object.new
132
141
 
133
142
  # @param language_code [AssemblyAI::Transcripts::TranscriptLanguageCode]
143
+ # @param language_detection [Boolean] Enable [Automatic language
144
+ # www.assemblyai.com/docs/models/speech-recognition#automatic-language-detection),
145
+ # either true or false.
146
+ # @param language_confidence_threshold [Float] The confidence threshold for the automatically detected language.
147
+ # An error will be returned if the language confidence is below this threshold.
148
+ # Defaults to 0.
149
+ # @param speech_model [AssemblyAI::Transcripts::SpeechModel]
134
150
  # @param punctuate [Boolean] Enable Automatic Punctuation, can be true or false
135
151
  # @param format_text [Boolean] Enable Text Formatting, can be true or false
152
+ # @param disfluencies [Boolean] Transcribe Filler Words, like "umm", in your media file; can be true or false
153
+ # @param multichannel [Boolean] Enable
154
+ # ://www.assemblyai.com/docs/models/speech-recognition#multichannel-transcription)
155
+ # transcription, can be true or false.
136
156
  # @param dual_channel [Boolean] Enable [Dual
137
157
  # ://www.assemblyai.com/docs/models/speech-recognition#dual-channel-transcription)
138
158
  # transcription, can be true or false.
139
- # @param speech_model [AssemblyAI::Transcripts::SpeechModel]
140
- # @param webhook_url [String] The URL to which we send webhook requests. We sends two different types of
141
- # webhook requests. One request when a transcript is completed or failed, and one
142
- # request when the redacted audio is ready if redact_pii_audio is enabled.
159
+ # @param webhook_url [String] The URL to which we send webhook requests.
160
+ # We sends two different types of webhook requests.
161
+ # One request when a transcript is completed or failed, and one request when the
162
+ # redacted audio is ready if redact_pii_audio is enabled.
143
163
  # @param webhook_auth_header_name [String] The header name to be sent with the transcript completed or failed webhook
144
164
  # requests
145
165
  # @param webhook_auth_header_value [String] The header value to send back with the transcript completed or failed webhook
@@ -148,7 +168,7 @@ module AssemblyAI
148
168
  # @param audio_start_from [Integer] The point in time, in milliseconds, to begin transcribing in your media file
149
169
  # @param audio_end_at [Integer] The point in time, in milliseconds, to stop transcribing in your media file
150
170
  # @param word_boost [Array<String>] The list of custom vocabulary to boost transcription probability for
151
- # @param boost_param [AssemblyAI::Transcripts::TranscriptBoostParam] The word boost parameter value
171
+ # @param boost_param [AssemblyAI::Transcripts::TranscriptBoostParam] How much to boost specified words
152
172
  # @param filter_profanity [Boolean] Filter profanity from the transcribed text, can be true or false
153
173
  # @param redact_pii [Boolean] Redact PII from the transcribed text using the Redact PII model, can be true or
154
174
  # false
@@ -179,11 +199,7 @@ module AssemblyAI
179
199
  # @param iab_categories [Boolean] Enable [Topic
180
200
  # Detection](https://www.assemblyai.com/docs/models/topic-detection), can be true
181
201
  # or false
182
- # @param language_detection [Boolean] Enable [Automatic language
183
- # www.assemblyai.com/docs/models/speech-recognition#automatic-language-detection),
184
- # either true or false.
185
202
  # @param custom_spelling [Array<AssemblyAI::Transcripts::TranscriptCustomSpelling>] Customize how words are spelled and formatted using to and from values
186
- # @param disfluencies [Boolean] Transcribe Filler Words, like "umm", in your media file; can be true or false
187
203
  # @param sentiment_analysis [Boolean] Enable [Sentiment
188
204
  # Analysis](https://www.assemblyai.com/docs/models/sentiment-analysis), can be
189
205
  # true or false
@@ -202,13 +218,17 @@ module AssemblyAI
202
218
  # @param topics [Array<String>] The list of custom topics
203
219
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
204
220
  # @return [AssemblyAI::Transcripts::TranscriptOptionalParams]
205
- def initialize(language_code: OMIT, punctuate: OMIT, format_text: OMIT, dual_channel: OMIT, speech_model: OMIT,
206
- webhook_url: OMIT, webhook_auth_header_name: OMIT, webhook_auth_header_value: OMIT, auto_highlights: OMIT, audio_start_from: OMIT, audio_end_at: OMIT, word_boost: OMIT, boost_param: OMIT, filter_profanity: OMIT, redact_pii: OMIT, redact_pii_audio: OMIT, redact_pii_audio_quality: OMIT, redact_pii_policies: OMIT, redact_pii_sub: OMIT, speaker_labels: OMIT, speakers_expected: OMIT, content_safety: OMIT, content_safety_confidence: OMIT, iab_categories: OMIT, language_detection: OMIT, custom_spelling: OMIT, disfluencies: OMIT, sentiment_analysis: OMIT, auto_chapters: OMIT, entity_detection: OMIT, speech_threshold: OMIT, summarization: OMIT, summary_model: OMIT, summary_type: OMIT, custom_topics: OMIT, topics: OMIT, additional_properties: nil)
221
+ def initialize(language_code: OMIT, language_detection: OMIT, language_confidence_threshold: OMIT,
222
+ speech_model: OMIT, punctuate: OMIT, format_text: OMIT, disfluencies: OMIT, multichannel: OMIT, dual_channel: OMIT, webhook_url: OMIT, webhook_auth_header_name: OMIT, webhook_auth_header_value: OMIT, auto_highlights: OMIT, audio_start_from: OMIT, audio_end_at: OMIT, word_boost: OMIT, boost_param: OMIT, filter_profanity: OMIT, redact_pii: OMIT, redact_pii_audio: OMIT, redact_pii_audio_quality: OMIT, redact_pii_policies: OMIT, redact_pii_sub: OMIT, speaker_labels: OMIT, speakers_expected: OMIT, content_safety: OMIT, content_safety_confidence: OMIT, iab_categories: OMIT, custom_spelling: OMIT, sentiment_analysis: OMIT, auto_chapters: OMIT, entity_detection: OMIT, speech_threshold: OMIT, summarization: OMIT, summary_model: OMIT, summary_type: OMIT, custom_topics: OMIT, topics: OMIT, additional_properties: nil)
207
223
  @language_code = language_code if language_code != OMIT
224
+ @language_detection = language_detection if language_detection != OMIT
225
+ @language_confidence_threshold = language_confidence_threshold if language_confidence_threshold != OMIT
226
+ @speech_model = speech_model if speech_model != OMIT
208
227
  @punctuate = punctuate if punctuate != OMIT
209
228
  @format_text = format_text if format_text != OMIT
229
+ @disfluencies = disfluencies if disfluencies != OMIT
230
+ @multichannel = multichannel if multichannel != OMIT
210
231
  @dual_channel = dual_channel if dual_channel != OMIT
211
- @speech_model = speech_model if speech_model != OMIT
212
232
  @webhook_url = webhook_url if webhook_url != OMIT
213
233
  @webhook_auth_header_name = webhook_auth_header_name if webhook_auth_header_name != OMIT
214
234
  @webhook_auth_header_value = webhook_auth_header_value if webhook_auth_header_value != OMIT
@@ -228,9 +248,7 @@ module AssemblyAI
228
248
  @content_safety = content_safety if content_safety != OMIT
229
249
  @content_safety_confidence = content_safety_confidence if content_safety_confidence != OMIT
230
250
  @iab_categories = iab_categories if iab_categories != OMIT
231
- @language_detection = language_detection if language_detection != OMIT
232
251
  @custom_spelling = custom_spelling if custom_spelling != OMIT
233
- @disfluencies = disfluencies if disfluencies != OMIT
234
252
  @sentiment_analysis = sentiment_analysis if sentiment_analysis != OMIT
235
253
  @auto_chapters = auto_chapters if auto_chapters != OMIT
236
254
  @entity_detection = entity_detection if entity_detection != OMIT
@@ -243,10 +261,14 @@ module AssemblyAI
243
261
  @additional_properties = additional_properties
244
262
  @_field_set = {
245
263
  "language_code": language_code,
264
+ "language_detection": language_detection,
265
+ "language_confidence_threshold": language_confidence_threshold,
266
+ "speech_model": speech_model,
246
267
  "punctuate": punctuate,
247
268
  "format_text": format_text,
269
+ "disfluencies": disfluencies,
270
+ "multichannel": multichannel,
248
271
  "dual_channel": dual_channel,
249
- "speech_model": speech_model,
250
272
  "webhook_url": webhook_url,
251
273
  "webhook_auth_header_name": webhook_auth_header_name,
252
274
  "webhook_auth_header_value": webhook_auth_header_value,
@@ -266,9 +288,7 @@ module AssemblyAI
266
288
  "content_safety": content_safety,
267
289
  "content_safety_confidence": content_safety_confidence,
268
290
  "iab_categories": iab_categories,
269
- "language_detection": language_detection,
270
291
  "custom_spelling": custom_spelling,
271
- "disfluencies": disfluencies,
272
292
  "sentiment_analysis": sentiment_analysis,
273
293
  "auto_chapters": auto_chapters,
274
294
  "entity_detection": entity_detection,
@@ -291,10 +311,14 @@ module AssemblyAI
291
311
  struct = JSON.parse(json_object, object_class: OpenStruct)
292
312
  parsed_json = JSON.parse(json_object)
293
313
  language_code = struct["language_code"]
314
+ language_detection = struct["language_detection"]
315
+ language_confidence_threshold = struct["language_confidence_threshold"]
316
+ speech_model = struct["speech_model"]
294
317
  punctuate = struct["punctuate"]
295
318
  format_text = struct["format_text"]
319
+ disfluencies = struct["disfluencies"]
320
+ multichannel = struct["multichannel"]
296
321
  dual_channel = struct["dual_channel"]
297
- speech_model = struct["speech_model"]
298
322
  webhook_url = struct["webhook_url"]
299
323
  webhook_auth_header_name = struct["webhook_auth_header_name"]
300
324
  webhook_auth_header_value = struct["webhook_auth_header_value"]
@@ -314,12 +338,10 @@ module AssemblyAI
314
338
  content_safety = struct["content_safety"]
315
339
  content_safety_confidence = struct["content_safety_confidence"]
316
340
  iab_categories = struct["iab_categories"]
317
- language_detection = struct["language_detection"]
318
341
  custom_spelling = parsed_json["custom_spelling"]&.map do |v|
319
342
  v = v.to_json
320
343
  AssemblyAI::Transcripts::TranscriptCustomSpelling.from_json(json_object: v)
321
344
  end
322
- disfluencies = struct["disfluencies"]
323
345
  sentiment_analysis = struct["sentiment_analysis"]
324
346
  auto_chapters = struct["auto_chapters"]
325
347
  entity_detection = struct["entity_detection"]
@@ -331,10 +353,14 @@ module AssemblyAI
331
353
  topics = struct["topics"]
332
354
  new(
333
355
  language_code: language_code,
356
+ language_detection: language_detection,
357
+ language_confidence_threshold: language_confidence_threshold,
358
+ speech_model: speech_model,
334
359
  punctuate: punctuate,
335
360
  format_text: format_text,
361
+ disfluencies: disfluencies,
362
+ multichannel: multichannel,
336
363
  dual_channel: dual_channel,
337
- speech_model: speech_model,
338
364
  webhook_url: webhook_url,
339
365
  webhook_auth_header_name: webhook_auth_header_name,
340
366
  webhook_auth_header_value: webhook_auth_header_value,
@@ -354,9 +380,7 @@ module AssemblyAI
354
380
  content_safety: content_safety,
355
381
  content_safety_confidence: content_safety_confidence,
356
382
  iab_categories: iab_categories,
357
- language_detection: language_detection,
358
383
  custom_spelling: custom_spelling,
359
- disfluencies: disfluencies,
360
384
  sentiment_analysis: sentiment_analysis,
361
385
  auto_chapters: auto_chapters,
362
386
  entity_detection: entity_detection,
@@ -385,10 +409,14 @@ module AssemblyAI
385
409
  # @return [Void]
386
410
  def self.validate_raw(obj:)
387
411
  obj.language_code&.is_a?(AssemblyAI::Transcripts::TranscriptLanguageCode) != false || raise("Passed value for field obj.language_code is not the expected type, validation failed.")
412
+ obj.language_detection&.is_a?(Boolean) != false || raise("Passed value for field obj.language_detection is not the expected type, validation failed.")
413
+ obj.language_confidence_threshold&.is_a?(Float) != false || raise("Passed value for field obj.language_confidence_threshold is not the expected type, validation failed.")
414
+ obj.speech_model&.is_a?(AssemblyAI::Transcripts::SpeechModel) != false || raise("Passed value for field obj.speech_model is not the expected type, validation failed.")
388
415
  obj.punctuate&.is_a?(Boolean) != false || raise("Passed value for field obj.punctuate is not the expected type, validation failed.")
389
416
  obj.format_text&.is_a?(Boolean) != false || raise("Passed value for field obj.format_text is not the expected type, validation failed.")
417
+ obj.disfluencies&.is_a?(Boolean) != false || raise("Passed value for field obj.disfluencies is not the expected type, validation failed.")
418
+ obj.multichannel&.is_a?(Boolean) != false || raise("Passed value for field obj.multichannel is not the expected type, validation failed.")
390
419
  obj.dual_channel&.is_a?(Boolean) != false || raise("Passed value for field obj.dual_channel is not the expected type, validation failed.")
391
- obj.speech_model&.is_a?(AssemblyAI::Transcripts::SpeechModel) != false || raise("Passed value for field obj.speech_model is not the expected type, validation failed.")
392
420
  obj.webhook_url&.is_a?(String) != false || raise("Passed value for field obj.webhook_url is not the expected type, validation failed.")
393
421
  obj.webhook_auth_header_name&.is_a?(String) != false || raise("Passed value for field obj.webhook_auth_header_name is not the expected type, validation failed.")
394
422
  obj.webhook_auth_header_value&.is_a?(String) != false || raise("Passed value for field obj.webhook_auth_header_value is not the expected type, validation failed.")
@@ -408,9 +436,7 @@ module AssemblyAI
408
436
  obj.content_safety&.is_a?(Boolean) != false || raise("Passed value for field obj.content_safety is not the expected type, validation failed.")
409
437
  obj.content_safety_confidence&.is_a?(Integer) != false || raise("Passed value for field obj.content_safety_confidence is not the expected type, validation failed.")
410
438
  obj.iab_categories&.is_a?(Boolean) != false || raise("Passed value for field obj.iab_categories is not the expected type, validation failed.")
411
- obj.language_detection&.is_a?(Boolean) != false || raise("Passed value for field obj.language_detection is not the expected type, validation failed.")
412
439
  obj.custom_spelling&.is_a?(Array) != false || raise("Passed value for field obj.custom_spelling is not the expected type, validation failed.")
413
- obj.disfluencies&.is_a?(Boolean) != false || raise("Passed value for field obj.disfluencies is not the expected type, validation failed.")
414
440
  obj.sentiment_analysis&.is_a?(Boolean) != false || raise("Passed value for field obj.sentiment_analysis is not the expected type, validation failed.")
415
441
  obj.auto_chapters&.is_a?(Boolean) != false || raise("Passed value for field obj.auto_chapters is not the expected type, validation failed.")
416
442
  obj.entity_detection&.is_a?(Boolean) != false || raise("Passed value for field obj.entity_detection is not the expected type, validation failed.")
@@ -7,20 +7,16 @@ require "json"
7
7
  module AssemblyAI
8
8
  class Transcripts
9
9
  class TranscriptParagraph
10
- # @return [String]
10
+ # @return [String] The transcript of the paragraph
11
11
  attr_reader :text
12
- # @return [Integer]
12
+ # @return [Integer] The starting time, in milliseconds, of the paragraph
13
13
  attr_reader :start
14
- # @return [Integer]
14
+ # @return [Integer] The ending time, in milliseconds, of the paragraph
15
15
  attr_reader :end_
16
- # @return [Float]
16
+ # @return [Float] The confidence score for the transcript of this paragraph
17
17
  attr_reader :confidence
18
- # @return [Array<AssemblyAI::Transcripts::TranscriptWord>]
18
+ # @return [Array<AssemblyAI::Transcripts::TranscriptWord>] An array of words in the paragraph
19
19
  attr_reader :words
20
- # @return [String] The speaker of the sentence if [Speaker
21
- # Diarization](https://www.assemblyai.com/docs/models/speaker-diarization) is
22
- # enabled, else null
23
- attr_reader :speaker
24
20
  # @return [OpenStruct] Additional properties unmapped to the current class definition
25
21
  attr_reader :additional_properties
26
22
  # @return [Object]
@@ -29,34 +25,21 @@ module AssemblyAI
29
25
 
30
26
  OMIT = Object.new
31
27
 
32
- # @param text [String]
33
- # @param start [Integer]
34
- # @param end_ [Integer]
35
- # @param confidence [Float]
36
- # @param words [Array<AssemblyAI::Transcripts::TranscriptWord>]
37
- # @param speaker [String] The speaker of the sentence if [Speaker
38
- # Diarization](https://www.assemblyai.com/docs/models/speaker-diarization) is
39
- # enabled, else null
28
+ # @param text [String] The transcript of the paragraph
29
+ # @param start [Integer] The starting time, in milliseconds, of the paragraph
30
+ # @param end_ [Integer] The ending time, in milliseconds, of the paragraph
31
+ # @param confidence [Float] The confidence score for the transcript of this paragraph
32
+ # @param words [Array<AssemblyAI::Transcripts::TranscriptWord>] An array of words in the paragraph
40
33
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
41
34
  # @return [AssemblyAI::Transcripts::TranscriptParagraph]
42
- def initialize(text:, start:, end_:, confidence:, words:, speaker: OMIT, additional_properties: nil)
35
+ def initialize(text:, start:, end_:, confidence:, words:, additional_properties: nil)
43
36
  @text = text
44
37
  @start = start
45
38
  @end_ = end_
46
39
  @confidence = confidence
47
40
  @words = words
48
- @speaker = speaker if speaker != OMIT
49
41
  @additional_properties = additional_properties
50
- @_field_set = {
51
- "text": text,
52
- "start": start,
53
- "end": end_,
54
- "confidence": confidence,
55
- "words": words,
56
- "speaker": speaker
57
- }.reject do |_k, v|
58
- v == OMIT
59
- end
42
+ @_field_set = { "text": text, "start": start, "end": end_, "confidence": confidence, "words": words }
60
43
  end
61
44
 
62
45
  # Deserialize a JSON object to an instance of TranscriptParagraph
@@ -74,14 +57,12 @@ module AssemblyAI
74
57
  v = v.to_json
75
58
  AssemblyAI::Transcripts::TranscriptWord.from_json(json_object: v)
76
59
  end
77
- speaker = struct["speaker"]
78
60
  new(
79
61
  text: text,
80
62
  start: start,
81
63
  end_: end_,
82
64
  confidence: confidence,
83
65
  words: words,
84
- speaker: speaker,
85
66
  additional_properties: struct
86
67
  )
87
68
  end
@@ -105,7 +86,6 @@ module AssemblyAI
105
86
  obj.end_.is_a?(Integer) != false || raise("Passed value for field obj.end_ is not the expected type, validation failed.")
106
87
  obj.confidence.is_a?(Float) != false || raise("Passed value for field obj.confidence is not the expected type, validation failed.")
107
88
  obj.words.is_a?(Array) != false || raise("Passed value for field obj.words is not the expected type, validation failed.")
108
- obj.speaker&.is_a?(String) != false || raise("Passed value for field obj.speaker is not the expected type, validation failed.")
109
89
  end
110
90
  end
111
91
  end
@@ -7,16 +7,19 @@ require "json"
7
7
  module AssemblyAI
8
8
  class Transcripts
9
9
  class TranscriptSentence
10
- # @return [String]
10
+ # @return [String] The transcript of the sentence
11
11
  attr_reader :text
12
- # @return [Integer]
12
+ # @return [Integer] The starting time, in milliseconds, for the sentence
13
13
  attr_reader :start
14
- # @return [Integer]
14
+ # @return [Integer] The ending time, in milliseconds, for the sentence
15
15
  attr_reader :end_
16
- # @return [Float]
16
+ # @return [Float] The confidence score for the transcript of this sentence
17
17
  attr_reader :confidence
18
- # @return [Array<AssemblyAI::Transcripts::TranscriptWord>]
18
+ # @return [Array<AssemblyAI::Transcripts::TranscriptWord>] An array of words in the sentence
19
19
  attr_reader :words
20
+ # @return [String] The channel of the sentence. The left and right channels are channels 1 and 2.
21
+ # Additional channels increment the channel number sequentially.
22
+ attr_reader :channel
20
23
  # @return [String] The speaker of the sentence if [Speaker
21
24
  # Diarization](https://www.assemblyai.com/docs/models/speaker-diarization) is
22
25
  # enabled, else null
@@ -29,22 +32,26 @@ module AssemblyAI
29
32
 
30
33
  OMIT = Object.new
31
34
 
32
- # @param text [String]
33
- # @param start [Integer]
34
- # @param end_ [Integer]
35
- # @param confidence [Float]
36
- # @param words [Array<AssemblyAI::Transcripts::TranscriptWord>]
35
+ # @param text [String] The transcript of the sentence
36
+ # @param start [Integer] The starting time, in milliseconds, for the sentence
37
+ # @param end_ [Integer] The ending time, in milliseconds, for the sentence
38
+ # @param confidence [Float] The confidence score for the transcript of this sentence
39
+ # @param words [Array<AssemblyAI::Transcripts::TranscriptWord>] An array of words in the sentence
40
+ # @param channel [String] The channel of the sentence. The left and right channels are channels 1 and 2.
41
+ # Additional channels increment the channel number sequentially.
37
42
  # @param speaker [String] The speaker of the sentence if [Speaker
38
43
  # Diarization](https://www.assemblyai.com/docs/models/speaker-diarization) is
39
44
  # enabled, else null
40
45
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
41
46
  # @return [AssemblyAI::Transcripts::TranscriptSentence]
42
- def initialize(text:, start:, end_:, confidence:, words:, speaker: OMIT, additional_properties: nil)
47
+ def initialize(text:, start:, end_:, confidence:, words:, channel: OMIT, speaker: OMIT,
48
+ additional_properties: nil)
43
49
  @text = text
44
50
  @start = start
45
51
  @end_ = end_
46
52
  @confidence = confidence
47
53
  @words = words
54
+ @channel = channel if channel != OMIT
48
55
  @speaker = speaker if speaker != OMIT
49
56
  @additional_properties = additional_properties
50
57
  @_field_set = {
@@ -53,6 +60,7 @@ module AssemblyAI
53
60
  "end": end_,
54
61
  "confidence": confidence,
55
62
  "words": words,
63
+ "channel": channel,
56
64
  "speaker": speaker
57
65
  }.reject do |_k, v|
58
66
  v == OMIT
@@ -74,6 +82,7 @@ module AssemblyAI
74
82
  v = v.to_json
75
83
  AssemblyAI::Transcripts::TranscriptWord.from_json(json_object: v)
76
84
  end
85
+ channel = struct["channel"]
77
86
  speaker = struct["speaker"]
78
87
  new(
79
88
  text: text,
@@ -81,6 +90,7 @@ module AssemblyAI
81
90
  end_: end_,
82
91
  confidence: confidence,
83
92
  words: words,
93
+ channel: channel,
84
94
  speaker: speaker,
85
95
  additional_properties: struct
86
96
  )
@@ -105,6 +115,7 @@ module AssemblyAI
105
115
  obj.end_.is_a?(Integer) != false || raise("Passed value for field obj.end_ is not the expected type, validation failed.")
106
116
  obj.confidence.is_a?(Float) != false || raise("Passed value for field obj.confidence is not the expected type, validation failed.")
107
117
  obj.words.is_a?(Array) != false || raise("Passed value for field obj.words is not the expected type, validation failed.")
118
+ obj.channel&.is_a?(String) != false || raise("Passed value for field obj.channel is not the expected type, validation failed.")
108
119
  obj.speaker&.is_a?(String) != false || raise("Passed value for field obj.speaker is not the expected type, validation failed.")
109
120
  end
110
121
  end
@@ -17,6 +17,9 @@ module AssemblyAI
17
17
  attr_reader :text
18
18
  # @return [Array<AssemblyAI::Transcripts::TranscriptWord>] The words in the utterance.
19
19
  attr_reader :words
20
+ # @return [String] The channel of this utterance. The left and right channels are channels 1 and 2.
21
+ # Additional channels increment the channel number sequentially.
22
+ attr_reader :channel
20
23
  # @return [String] The speaker of this utterance, where each speaker is assigned a sequential
21
24
  # capital letter - e.g. "A" for Speaker A, "B" for Speaker B, etc.
22
25
  attr_reader :speaker
@@ -33,16 +36,19 @@ module AssemblyAI
33
36
  # @param end_ [Integer] The ending time, in milliseconds, of the utterance in the audio file
34
37
  # @param text [String] The text for this utterance
35
38
  # @param words [Array<AssemblyAI::Transcripts::TranscriptWord>] The words in the utterance.
39
+ # @param channel [String] The channel of this utterance. The left and right channels are channels 1 and 2.
40
+ # Additional channels increment the channel number sequentially.
36
41
  # @param speaker [String] The speaker of this utterance, where each speaker is assigned a sequential
37
42
  # capital letter - e.g. "A" for Speaker A, "B" for Speaker B, etc.
38
43
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
39
44
  # @return [AssemblyAI::Transcripts::TranscriptUtterance]
40
- def initialize(confidence:, start:, end_:, text:, words:, speaker:, additional_properties: nil)
45
+ def initialize(confidence:, start:, end_:, text:, words:, speaker:, channel: OMIT, additional_properties: nil)
41
46
  @confidence = confidence
42
47
  @start = start
43
48
  @end_ = end_
44
49
  @text = text
45
50
  @words = words
51
+ @channel = channel if channel != OMIT
46
52
  @speaker = speaker
47
53
  @additional_properties = additional_properties
48
54
  @_field_set = {
@@ -51,8 +57,11 @@ module AssemblyAI
51
57
  "end": end_,
52
58
  "text": text,
53
59
  "words": words,
60
+ "channel": channel,
54
61
  "speaker": speaker
55
- }
62
+ }.reject do |_k, v|
63
+ v == OMIT
64
+ end
56
65
  end
57
66
 
58
67
  # Deserialize a JSON object to an instance of TranscriptUtterance
@@ -70,6 +79,7 @@ module AssemblyAI
70
79
  v = v.to_json
71
80
  AssemblyAI::Transcripts::TranscriptWord.from_json(json_object: v)
72
81
  end
82
+ channel = struct["channel"]
73
83
  speaker = struct["speaker"]
74
84
  new(
75
85
  confidence: confidence,
@@ -77,6 +87,7 @@ module AssemblyAI
77
87
  end_: end_,
78
88
  text: text,
79
89
  words: words,
90
+ channel: channel,
80
91
  speaker: speaker,
81
92
  additional_properties: struct
82
93
  )
@@ -101,6 +112,7 @@ module AssemblyAI
101
112
  obj.end_.is_a?(Integer) != false || raise("Passed value for field obj.end_ is not the expected type, validation failed.")
102
113
  obj.text.is_a?(String) != false || raise("Passed value for field obj.text is not the expected type, validation failed.")
103
114
  obj.words.is_a?(Array) != false || raise("Passed value for field obj.words is not the expected type, validation failed.")
115
+ obj.channel&.is_a?(String) != false || raise("Passed value for field obj.channel is not the expected type, validation failed.")
104
116
  obj.speaker.is_a?(String) != false || raise("Passed value for field obj.speaker is not the expected type, validation failed.")
105
117
  end
106
118
  end
@@ -6,15 +6,18 @@ require "json"
6
6
  module AssemblyAI
7
7
  class Transcripts
8
8
  class TranscriptWord
9
- # @return [Float]
9
+ # @return [Float] The confidence score for the transcript of this word
10
10
  attr_reader :confidence
11
- # @return [Integer]
11
+ # @return [Integer] The starting time, in milliseconds, for the word
12
12
  attr_reader :start
13
- # @return [Integer]
13
+ # @return [Integer] The ending time, in milliseconds, for the word
14
14
  attr_reader :end_
15
- # @return [String]
15
+ # @return [String] The text of the word
16
16
  attr_reader :text
17
- # @return [String] The speaker of the sentence if [Speaker
17
+ # @return [String] The channel of the word. The left and right channels are channels 1 and 2.
18
+ # Additional channels increment the channel number sequentially.
19
+ attr_reader :channel
20
+ # @return [String] The speaker of the word if [Speaker
18
21
  # Diarization](https://www.assemblyai.com/docs/models/speaker-diarization) is
19
22
  # enabled, else null
20
23
  attr_reader :speaker
@@ -26,20 +29,23 @@ module AssemblyAI
26
29
 
27
30
  OMIT = Object.new
28
31
 
29
- # @param confidence [Float]
30
- # @param start [Integer]
31
- # @param end_ [Integer]
32
- # @param text [String]
33
- # @param speaker [String] The speaker of the sentence if [Speaker
32
+ # @param confidence [Float] The confidence score for the transcript of this word
33
+ # @param start [Integer] The starting time, in milliseconds, for the word
34
+ # @param end_ [Integer] The ending time, in milliseconds, for the word
35
+ # @param text [String] The text of the word
36
+ # @param channel [String] The channel of the word. The left and right channels are channels 1 and 2.
37
+ # Additional channels increment the channel number sequentially.
38
+ # @param speaker [String] The speaker of the word if [Speaker
34
39
  # Diarization](https://www.assemblyai.com/docs/models/speaker-diarization) is
35
40
  # enabled, else null
36
41
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
37
42
  # @return [AssemblyAI::Transcripts::TranscriptWord]
38
- def initialize(confidence:, start:, end_:, text:, speaker: OMIT, additional_properties: nil)
43
+ def initialize(confidence:, start:, end_:, text:, channel: OMIT, speaker: OMIT, additional_properties: nil)
39
44
  @confidence = confidence
40
45
  @start = start
41
46
  @end_ = end_
42
47
  @text = text
48
+ @channel = channel if channel != OMIT
43
49
  @speaker = speaker if speaker != OMIT
44
50
  @additional_properties = additional_properties
45
51
  @_field_set = {
@@ -47,6 +53,7 @@ module AssemblyAI
47
53
  "start": start,
48
54
  "end": end_,
49
55
  "text": text,
56
+ "channel": channel,
50
57
  "speaker": speaker
51
58
  }.reject do |_k, v|
52
59
  v == OMIT
@@ -63,12 +70,14 @@ module AssemblyAI
63
70
  start = struct["start"]
64
71
  end_ = struct["end"]
65
72
  text = struct["text"]
73
+ channel = struct["channel"]
66
74
  speaker = struct["speaker"]
67
75
  new(
68
76
  confidence: confidence,
69
77
  start: start,
70
78
  end_: end_,
71
79
  text: text,
80
+ channel: channel,
72
81
  speaker: speaker,
73
82
  additional_properties: struct
74
83
  )
@@ -92,6 +101,7 @@ module AssemblyAI
92
101
  obj.start.is_a?(Integer) != false || raise("Passed value for field obj.start is not the expected type, validation failed.")
93
102
  obj.end_.is_a?(Integer) != false || raise("Passed value for field obj.end_ is not the expected type, validation failed.")
94
103
  obj.text.is_a?(String) != false || raise("Passed value for field obj.text is not the expected type, validation failed.")
104
+ obj.channel&.is_a?(String) != false || raise("Passed value for field obj.channel is not the expected type, validation failed.")
95
105
  obj.speaker&.is_a?(String) != false || raise("Passed value for field obj.speaker is not the expected type, validation failed.")
96
106
  end
97
107
  end
data/lib/gemconfig.rb CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  module AssemblyAI
4
4
  module Gemconfig
5
- VERSION = "1.0.2"
5
+ VERSION = "1.2.0"
6
6
  AUTHORS = ["AssemblyAI"].freeze
7
7
  EMAIL = "support@assemblyai.com"
8
8
  SUMMARY = "AssemblyAI Ruby SDK"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: assemblyai
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - AssemblyAI
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-08-20 00:00:00.000000000 Z
11
+ date: 2024-11-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: async-http-faraday