ibm_watson 0.14.0 → 0.15.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.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/lib/ibm_watson/assistant_v1.rb +791 -736
  3. data/lib/ibm_watson/assistant_v2.rb +12 -8
  4. data/lib/ibm_watson/common.rb +2 -1
  5. data/lib/ibm_watson/compare_comply_v1.rb +171 -169
  6. data/lib/ibm_watson/discovery_v1.rb +778 -689
  7. data/lib/ibm_watson/language_translator_v3.rb +65 -63
  8. data/lib/ibm_watson/natural_language_classifier_v1.rb +36 -35
  9. data/lib/ibm_watson/natural_language_understanding_v1.rb +28 -25
  10. data/lib/ibm_watson/personality_insights_v3.rb +10 -10
  11. data/lib/ibm_watson/speech_to_text_v1.rb +764 -702
  12. data/lib/ibm_watson/text_to_speech_v1.rb +215 -200
  13. data/lib/ibm_watson/tone_analyzer_v3.rb +10 -9
  14. data/lib/ibm_watson/version.rb +1 -1
  15. data/lib/ibm_watson/visual_recognition_v3.rb +94 -95
  16. data/lib/ibm_watson/websocket/speech_to_text_websocket_listener.rb +1 -1
  17. data/test/integration/test_assistant_v1.rb +18 -289
  18. data/test/integration/test_assistant_v2.rb +21 -31
  19. data/test/integration/test_discovery_v1.rb +21 -18
  20. data/test/integration/test_language_translator_v3.rb +3 -3
  21. data/test/integration/test_natural_language_classifier_v1.rb +3 -3
  22. data/test/integration/test_natural_language_understanding_v1.rb +16 -20
  23. data/test/integration/test_personality_insights_v3.rb +12 -40
  24. data/test/integration/test_speech_to_text_v1.rb +3 -3
  25. data/test/integration/test_text_to_speech_v1.rb +3 -3
  26. data/test/integration/test_tone_analyzer_v3.rb +14 -31
  27. data/test/integration/test_visual_recognition_v3.rb +3 -3
  28. data/test/unit/test_compare_comply_v1.rb +3 -7
  29. data/test/unit/test_discovery_v1.rb +21 -7
  30. data/test/unit/test_language_translator_v3.rb +1 -3
  31. data/test/unit/test_natural_language_classifier_v1.rb +1 -3
  32. data/test/unit/test_speech_to_text_v1.rb +25 -7
  33. data/test/unit/test_text_to_speech_v1.rb +0 -4
  34. data/test/unit/test_visual_recognition_v3.rb +2 -6
  35. metadata +2 -2
@@ -36,7 +36,6 @@
36
36
  require "concurrent"
37
37
  require "erb"
38
38
  require "json"
39
-
40
39
  require "ibm_cloud_sdk_core"
41
40
  require_relative "./common.rb"
42
41
 
@@ -92,32 +91,6 @@ module IBMWatson
92
91
  # Voices
93
92
  #########################
94
93
 
95
- ##
96
- # @!method list_voices
97
- # List voices.
98
- # Lists all voices available for use with the service. The information includes the
99
- # name, language, gender, and other details about the voice. To see information
100
- # about a specific voice, use the **Get a voice** method.
101
- #
102
- # **See also:** [Specifying a
103
- # voice](https://cloud.ibm.com/docs/services/text-to-speech/http.html#voices).
104
- # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
105
- def list_voices
106
- headers = {
107
- }
108
- headers = Common.new.get_sdk_headers(headers: headers, service_name: "text_to_speech", service_version: "V1", operation_id: "list_voices")
109
-
110
- method_url = "/v1/voices"
111
-
112
- response = request(
113
- method: "GET",
114
- url: method_url,
115
- headers: headers,
116
- accept_json: true
117
- )
118
- response
119
- end
120
-
121
94
  ##
122
95
  # @!method get_voice(voice:, customization_id: nil)
123
96
  # Get a voice.
@@ -126,8 +99,8 @@ module IBMWatson
126
99
  # obtain information for that custom voice model of the specified voice. To list
127
100
  # information about all available voices, use the **List voices** method.
128
101
  #
129
- # **See also:** [Specifying a
130
- # voice](https://cloud.ibm.com/docs/services/text-to-speech/http.html#voices).
102
+ # **See also:** [Listing a specific
103
+ # voice](https://cloud.ibm.com/docs/services/text-to-speech/voices.html#listVoice).
131
104
  # @param voice [String] The voice for which information is to be returned.
132
105
  # @param customization_id [String] The customization ID (GUID) of a custom voice model for which information is to be
133
106
  # returned. You must make the request with service credentials created for the
@@ -139,7 +112,8 @@ module IBMWatson
139
112
 
140
113
  headers = {
141
114
  }
142
- headers = Common.new.get_sdk_headers(headers: headers, service_name: "text_to_speech", service_version: "V1", operation_id: "get_voice")
115
+ sdk_headers = Common.new.get_sdk_headers("text_to_speech", "V1", "get_voice")
116
+ headers.merge!(sdk_headers)
143
117
 
144
118
  params = {
145
119
  "customization_id" => customization_id
@@ -156,22 +130,50 @@ module IBMWatson
156
130
  )
157
131
  response
158
132
  end
133
+
134
+ ##
135
+ # @!method list_voices
136
+ # List voices.
137
+ # Lists all voices available for use with the service. The information includes the
138
+ # name, language, gender, and other details about the voice. To see information
139
+ # about a specific voice, use the **Get a voice** method.
140
+ #
141
+ # **See also:** [Listing all available
142
+ # voices](https://cloud.ibm.com/docs/services/text-to-speech/voices.html#listVoices).
143
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
144
+ def list_voices
145
+ headers = {
146
+ }
147
+ sdk_headers = Common.new.get_sdk_headers("text_to_speech", "V1", "list_voices")
148
+ headers.merge!(sdk_headers)
149
+
150
+ method_url = "/v1/voices"
151
+
152
+ response = request(
153
+ method: "GET",
154
+ url: method_url,
155
+ headers: headers,
156
+ accept_json: true
157
+ )
158
+ response
159
+ end
159
160
  #########################
160
161
  # Synthesis
161
162
  #########################
162
163
 
163
164
  ##
164
- # @!method synthesize(text:, accept: nil, voice: nil, customization_id: nil)
165
+ # @!method synthesize(text:, voice: nil, customization_id: nil, accept: nil)
165
166
  # Synthesize audio.
166
167
  # Synthesizes text to audio that is spoken in the specified voice. The service bases
167
168
  # its understanding of the language for the input text on the specified voice. Use a
168
169
  # voice that matches the language of the input text.
169
170
  #
170
- # The service returns the synthesized audio stream as an array of bytes. You can
171
- # pass a maximum of 5 KB of text to the service.
171
+ # The method accepts a maximum of 5 KB of input text in the body of the request, and
172
+ # 8 KB for the URL and headers. The 5 KB limit includes any SSML tags that you
173
+ # specify. The service returns the synthesized audio stream as an array of bytes.
172
174
  #
173
- # **See also:** [Synthesizing text to
174
- # audio](https://cloud.ibm.com/docs/services/text-to-speech/http.html#synthesize).
175
+ # **See also:** [The HTTP
176
+ # interface](https://cloud.ibm.com/docs/services/text-to-speech/http.html).
175
177
  #
176
178
  # ### Audio formats (accept types)
177
179
  #
@@ -238,8 +240,8 @@ module IBMWatson
238
240
  # 22,050 Hz.
239
241
  #
240
242
  # For more information about specifying an audio format, including additional
241
- # details about some of the formats, see [Specifying an audio
242
- # format](https://cloud.ibm.com/docs/services/text-to-speech/http.html#format).
243
+ # details about some of the formats, see [Audio
244
+ # formats](https://cloud.ibm.com/docs/services/text-to-speech/audio-formats.html).
243
245
  #
244
246
  # ### Warning messages
245
247
  #
@@ -250,26 +252,27 @@ module IBMWatson
250
252
  # arguments:\"` followed by a list of the form `\"{invalid_arg_1},
251
253
  # {invalid_arg_2}.\"` The request succeeds despite the warnings.
252
254
  # @param text [String] The text to synthesize.
253
- # @param accept [String] The requested format (MIME type) of the audio. You can use the `Accept` header or
254
- # the `accept` parameter to specify the audio format. For more information about
255
- # specifying an audio format, see **Audio formats (accept types)** in the method
256
- # description.
257
- #
258
- # Default: `audio/ogg;codecs=opus`.
259
255
  # @param voice [String] The voice to use for synthesis.
260
256
  # @param customization_id [String] The customization ID (GUID) of a custom voice model to use for the synthesis. If a
261
257
  # custom voice model is specified, it is guaranteed to work only if it matches the
262
258
  # language of the indicated voice. You must make the request with service
263
259
  # credentials created for the instance of the service that owns the custom model.
264
260
  # Omit the parameter to use the specified voice with no customization.
261
+ # @param accept [String] The requested format (MIME type) of the audio. You can use the `Accept` header or
262
+ # the `accept` parameter to specify the audio format. For more information about
263
+ # specifying an audio format, see **Audio formats (accept types)** in the method
264
+ # description.
265
+ #
266
+ # Default: `audio/ogg;codecs=opus`.
265
267
  # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
266
- def synthesize(text:, accept: nil, voice: nil, customization_id: nil)
268
+ def synthesize(text:, voice: nil, customization_id: nil, accept: nil)
267
269
  raise ArgumentError.new("text must be provided") if text.nil?
268
270
 
269
271
  headers = {
270
272
  "Accept" => accept
271
273
  }
272
- headers = Common.new.get_sdk_headers(headers: headers, service_name: "text_to_speech", service_version: "V1", operation_id: "synthesize")
274
+ sdk_headers = Common.new.get_sdk_headers("text_to_speech", "V1", "synthesize")
275
+ headers.merge!(sdk_headers)
273
276
 
274
277
  params = {
275
278
  "voice" => voice,
@@ -327,7 +330,8 @@ module IBMWatson
327
330
 
328
331
  headers = {
329
332
  }
330
- headers = Common.new.get_sdk_headers(headers: headers, service_name: "text_to_speech", service_version: "V1", operation_id: "get_pronunciation")
333
+ sdk_headers = Common.new.get_sdk_headers("text_to_speech", "V1", "get_pronunciation")
334
+ headers.merge!(sdk_headers)
331
335
 
332
336
  params = {
333
337
  "text" => text,
@@ -374,7 +378,8 @@ module IBMWatson
374
378
 
375
379
  headers = {
376
380
  }
377
- headers = Common.new.get_sdk_headers(headers: headers, service_name: "text_to_speech", service_version: "V1", operation_id: "create_voice_model")
381
+ sdk_headers = Common.new.get_sdk_headers("text_to_speech", "V1", "create_voice_model")
382
+ headers.merge!(sdk_headers)
378
383
 
379
384
  data = {
380
385
  "name" => name,
@@ -394,6 +399,74 @@ module IBMWatson
394
399
  response
395
400
  end
396
401
 
402
+ ##
403
+ # @!method delete_voice_model(customization_id:)
404
+ # Delete a custom model.
405
+ # Deletes the specified custom voice model. You must use credentials for the
406
+ # instance of the service that owns a model to delete it.
407
+ #
408
+ # **Note:** This method is currently a beta release.
409
+ #
410
+ # **See also:** [Deleting a custom
411
+ # model](https://cloud.ibm.com/docs/services/text-to-speech/custom-models.html#cuModelsDelete).
412
+ # @param customization_id [String] The customization ID (GUID) of the custom voice model. You must make the request
413
+ # with service credentials created for the instance of the service that owns the
414
+ # custom model.
415
+ # @return [nil]
416
+ def delete_voice_model(customization_id:)
417
+ raise ArgumentError.new("customization_id must be provided") if customization_id.nil?
418
+
419
+ headers = {
420
+ }
421
+ sdk_headers = Common.new.get_sdk_headers("text_to_speech", "V1", "delete_voice_model")
422
+ headers.merge!(sdk_headers)
423
+
424
+ method_url = "/v1/customizations/%s" % [ERB::Util.url_encode(customization_id)]
425
+
426
+ request(
427
+ method: "DELETE",
428
+ url: method_url,
429
+ headers: headers,
430
+ accept_json: false
431
+ )
432
+ nil
433
+ end
434
+
435
+ ##
436
+ # @!method get_voice_model(customization_id:)
437
+ # Get a custom model.
438
+ # Gets all information about a specified custom voice model. In addition to metadata
439
+ # such as the name and description of the voice model, the output includes the words
440
+ # and their translations as defined in the model. To see just the metadata for a
441
+ # voice model, use the **List custom models** method.
442
+ #
443
+ # **Note:** This method is currently a beta release.
444
+ #
445
+ # **See also:** [Querying a custom
446
+ # model](https://cloud.ibm.com/docs/services/text-to-speech/custom-models.html#cuModelsQuery).
447
+ # @param customization_id [String] The customization ID (GUID) of the custom voice model. You must make the request
448
+ # with service credentials created for the instance of the service that owns the
449
+ # custom model.
450
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
451
+ def get_voice_model(customization_id:)
452
+ raise ArgumentError.new("customization_id must be provided") if customization_id.nil?
453
+
454
+ headers = {
455
+ }
456
+ sdk_headers = Common.new.get_sdk_headers("text_to_speech", "V1", "get_voice_model")
457
+ headers.merge!(sdk_headers)
458
+
459
+ method_url = "/v1/customizations/%s" % [ERB::Util.url_encode(customization_id)]
460
+
461
+ response = request(
462
+ method: "GET",
463
+ url: method_url,
464
+ headers: headers,
465
+ accept_json: true
466
+ )
467
+ response
468
+ end
469
+
397
470
  ##
398
471
  # @!method list_voice_models(language: nil)
399
472
  # List custom models.
@@ -415,7 +488,8 @@ module IBMWatson
415
488
  def list_voice_models(language: nil)
416
489
  headers = {
417
490
  }
418
- headers = Common.new.get_sdk_headers(headers: headers, service_name: "text_to_speech", service_version: "V1", operation_id: "list_voice_models")
491
+ sdk_headers = Common.new.get_sdk_headers("text_to_speech", "V1", "list_voice_models")
492
+ headers.merge!(sdk_headers)
419
493
 
420
494
  params = {
421
495
  "language" => language
@@ -480,7 +554,8 @@ module IBMWatson
480
554
 
481
555
  headers = {
482
556
  }
483
- headers = Common.new.get_sdk_headers(headers: headers, service_name: "text_to_speech", service_version: "V1", operation_id: "update_voice_model")
557
+ sdk_headers = Common.new.get_sdk_headers("text_to_speech", "V1", "update_voice_model")
558
+ headers.merge!(sdk_headers)
484
559
 
485
560
  data = {
486
561
  "name" => name,
@@ -499,75 +574,85 @@ module IBMWatson
499
574
  )
500
575
  nil
501
576
  end
577
+ #########################
578
+ # Custom words
579
+ #########################
502
580
 
503
581
  ##
504
- # @!method get_voice_model(customization_id:)
505
- # Get a custom model.
506
- # Gets all information about a specified custom voice model. In addition to metadata
507
- # such as the name and description of the voice model, the output includes the words
508
- # and their translations as defined in the model. To see just the metadata for a
509
- # voice model, use the **List custom models** method.
582
+ # @!method add_word(customization_id:, word:, translation:, part_of_speech: nil)
583
+ # Add a custom word.
584
+ # Adds a single word and its translation to the specified custom voice model. Adding
585
+ # a new translation for a word that already exists in a custom model overwrites the
586
+ # word's existing translation. A custom model can contain no more than 20,000
587
+ # entries. You must use credentials for the instance of the service that owns a
588
+ # model to add a word to it.
510
589
  #
511
- # **Note:** This method is currently a beta release.
590
+ # You can define sounds-like or phonetic translations for words. A sounds-like
591
+ # translation consists of one or more words that, when combined, sound like the
592
+ # word. Phonetic translations are based on the SSML phoneme format for representing
593
+ # a word. You can specify them in standard International Phonetic Alphabet (IPA)
594
+ # representation
512
595
  #
513
- # **See also:** [Querying a custom
514
- # model](https://cloud.ibm.com/docs/services/text-to-speech/custom-models.html#cuModelsQuery).
515
- # @param customization_id [String] The customization ID (GUID) of the custom voice model. You must make the request
516
- # with service credentials created for the instance of the service that owns the
517
- # custom model.
518
- # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
519
- def get_voice_model(customization_id:)
520
- raise ArgumentError.new("customization_id must be provided") if customization_id.nil?
521
-
522
- headers = {
523
- }
524
- headers = Common.new.get_sdk_headers(headers: headers, service_name: "text_to_speech", service_version: "V1", operation_id: "get_voice_model")
525
-
526
- method_url = "/v1/customizations/%s" % [ERB::Util.url_encode(customization_id)]
527
-
528
- response = request(
529
- method: "GET",
530
- url: method_url,
531
- headers: headers,
532
- accept_json: true
533
- )
534
- response
535
- end
536
-
537
- ##
538
- # @!method delete_voice_model(customization_id:)
539
- # Delete a custom model.
540
- # Deletes the specified custom voice model. You must use credentials for the
541
- # instance of the service that owns a model to delete it.
596
+ # <code>&lt;phoneme alphabet=\"ipa\"
597
+ # ph=\"t&#601;m&#712;&#593;to\"&gt;&lt;/phoneme&gt;</code>
598
+ #
599
+ # or in the proprietary IBM Symbolic Phonetic Representation (SPR)
600
+ #
601
+ # <code>&lt;phoneme alphabet=\"ibm\"
602
+ # ph=\"1gAstroEntxrYFXs\"&gt;&lt;/phoneme&gt;</code>
542
603
  #
543
604
  # **Note:** This method is currently a beta release.
544
605
  #
545
- # **See also:** [Deleting a custom
546
- # model](https://cloud.ibm.com/docs/services/text-to-speech/custom-models.html#cuModelsDelete).
606
+ # **See also:**
607
+ # * [Adding a single word to a custom
608
+ # model](https://cloud.ibm.com/docs/services/text-to-speech/custom-entries.html#cuWordAdd)
609
+ # * [Adding words to a Japanese custom
610
+ # model](https://cloud.ibm.com/docs/services/text-to-speech/custom-entries.html#cuJapaneseAdd)
611
+ # * [Understanding
612
+ # customization](https://cloud.ibm.com/docs/services/text-to-speech/custom-intro.html).
547
613
  # @param customization_id [String] The customization ID (GUID) of the custom voice model. You must make the request
548
614
  # with service credentials created for the instance of the service that owns the
549
615
  # custom model.
616
+ # @param word [String] The word that is to be added or updated for the custom voice model.
617
+ # @param translation [String] The phonetic or sounds-like translation for the word. A phonetic translation is
618
+ # based on the SSML format for representing the phonetic string of a word either as
619
+ # an IPA translation or as an IBM SPR translation. A sounds-like is one or more
620
+ # words that, when combined, sound like the word.
621
+ # @param part_of_speech [String] **Japanese only.** The part of speech for the word. The service uses the value to
622
+ # produce the correct intonation for the word. You can create only a single entry,
623
+ # with or without a single part of speech, for any word; you cannot create multiple
624
+ # entries with different parts of speech for the same word. For more information,
625
+ # see [Working with Japanese
626
+ # entries](https://cloud.ibm.com/docs/services/text-to-speech/custom-rules.html#jaNotes).
550
627
  # @return [nil]
551
- def delete_voice_model(customization_id:)
628
+ def add_word(customization_id:, word:, translation:, part_of_speech: nil)
552
629
  raise ArgumentError.new("customization_id must be provided") if customization_id.nil?
553
630
 
631
+ raise ArgumentError.new("word must be provided") if word.nil?
632
+
633
+ raise ArgumentError.new("translation must be provided") if translation.nil?
634
+
554
635
  headers = {
555
636
  }
556
- headers = Common.new.get_sdk_headers(headers: headers, service_name: "text_to_speech", service_version: "V1", operation_id: "delete_voice_model")
637
+ sdk_headers = Common.new.get_sdk_headers("text_to_speech", "V1", "add_word")
638
+ headers.merge!(sdk_headers)
557
639
 
558
- method_url = "/v1/customizations/%s" % [ERB::Util.url_encode(customization_id)]
640
+ data = {
641
+ "translation" => translation,
642
+ "part_of_speech" => part_of_speech
643
+ }
644
+
645
+ method_url = "/v1/customizations/%s/words/%s" % [ERB::Util.url_encode(customization_id), ERB::Util.url_encode(word)]
559
646
 
560
647
  request(
561
- method: "DELETE",
648
+ method: "PUT",
562
649
  url: method_url,
563
650
  headers: headers,
564
- accept_json: true
651
+ json: data,
652
+ accept_json: false
565
653
  )
566
654
  nil
567
655
  end
568
- #########################
569
- # Custom words
570
- #########################
571
656
 
572
657
  ##
573
658
  # @!method add_words(customization_id:, words:)
@@ -620,7 +705,8 @@ module IBMWatson
620
705
 
621
706
  headers = {
622
707
  }
623
- headers = Common.new.get_sdk_headers(headers: headers, service_name: "text_to_speech", service_version: "V1", operation_id: "add_words")
708
+ sdk_headers = Common.new.get_sdk_headers("text_to_speech", "V1", "add_words")
709
+ headers.merge!(sdk_headers)
624
710
 
625
711
  data = {
626
712
  "words" => words
@@ -639,110 +725,38 @@ module IBMWatson
639
725
  end
640
726
 
641
727
  ##
642
- # @!method list_words(customization_id:)
643
- # List custom words.
644
- # Lists all of the words and their translations for the specified custom voice
645
- # model. The output shows the translations as they are defined in the model. You
646
- # must use credentials for the instance of the service that owns a model to list its
647
- # words.
648
- #
649
- # **Note:** This method is currently a beta release.
650
- #
651
- # **See also:** [Querying all words from a custom
652
- # model](https://cloud.ibm.com/docs/services/text-to-speech/custom-entries.html#cuWordsQueryModel).
653
- # @param customization_id [String] The customization ID (GUID) of the custom voice model. You must make the request
654
- # with service credentials created for the instance of the service that owns the
655
- # custom model.
656
- # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
657
- def list_words(customization_id:)
658
- raise ArgumentError.new("customization_id must be provided") if customization_id.nil?
659
-
660
- headers = {
661
- }
662
- headers = Common.new.get_sdk_headers(headers: headers, service_name: "text_to_speech", service_version: "V1", operation_id: "list_words")
663
-
664
- method_url = "/v1/customizations/%s/words" % [ERB::Util.url_encode(customization_id)]
665
-
666
- response = request(
667
- method: "GET",
668
- url: method_url,
669
- headers: headers,
670
- accept_json: true
671
- )
672
- response
673
- end
674
-
675
- ##
676
- # @!method add_word(customization_id:, word:, translation:, part_of_speech: nil)
677
- # Add a custom word.
678
- # Adds a single word and its translation to the specified custom voice model. Adding
679
- # a new translation for a word that already exists in a custom model overwrites the
680
- # word's existing translation. A custom model can contain no more than 20,000
681
- # entries. You must use credentials for the instance of the service that owns a
682
- # model to add a word to it.
683
- #
684
- # You can define sounds-like or phonetic translations for words. A sounds-like
685
- # translation consists of one or more words that, when combined, sound like the
686
- # word. Phonetic translations are based on the SSML phoneme format for representing
687
- # a word. You can specify them in standard International Phonetic Alphabet (IPA)
688
- # representation
689
- #
690
- # <code>&lt;phoneme alphabet=\"ipa\"
691
- # ph=\"t&#601;m&#712;&#593;to\"&gt;&lt;/phoneme&gt;</code>
728
+ # @!method delete_word(customization_id:, word:)
729
+ # Delete a custom word.
730
+ # Deletes a single word from the specified custom voice model. You must use
731
+ # credentials for the instance of the service that owns a model to delete its words.
692
732
  #
693
- # or in the proprietary IBM Symbolic Phonetic Representation (SPR)
694
- #
695
- # <code>&lt;phoneme alphabet=\"ibm\"
696
- # ph=\"1gAstroEntxrYFXs\"&gt;&lt;/phoneme&gt;</code>
697
733
  #
698
734
  # **Note:** This method is currently a beta release.
699
735
  #
700
- # **See also:**
701
- # * [Adding a single word to a custom
702
- # model](https://cloud.ibm.com/docs/services/text-to-speech/custom-entries.html#cuWordAdd)
703
- # * [Adding words to a Japanese custom
704
- # model](https://cloud.ibm.com/docs/services/text-to-speech/custom-entries.html#cuJapaneseAdd)
705
- # * [Understanding
706
- # customization](https://cloud.ibm.com/docs/services/text-to-speech/custom-intro.html).
736
+ # **See also:** [Deleting a word from a custom
737
+ # model](https://cloud.ibm.com/docs/services/text-to-speech/custom-entries.html#cuWordDelete).
707
738
  # @param customization_id [String] The customization ID (GUID) of the custom voice model. You must make the request
708
739
  # with service credentials created for the instance of the service that owns the
709
740
  # custom model.
710
- # @param word [String] The word that is to be added or updated for the custom voice model.
711
- # @param translation [String] The phonetic or sounds-like translation for the word. A phonetic translation is
712
- # based on the SSML format for representing the phonetic string of a word either as
713
- # an IPA translation or as an IBM SPR translation. A sounds-like is one or more
714
- # words that, when combined, sound like the word.
715
- # @param part_of_speech [String] **Japanese only.** The part of speech for the word. The service uses the value to
716
- # produce the correct intonation for the word. You can create only a single entry,
717
- # with or without a single part of speech, for any word; you cannot create multiple
718
- # entries with different parts of speech for the same word. For more information,
719
- # see [Working with Japanese
720
- # entries](https://cloud.ibm.com/docs/services/text-to-speech/custom-rules.html#jaNotes).
741
+ # @param word [String] The word that is to be deleted from the custom voice model.
721
742
  # @return [nil]
722
- def add_word(customization_id:, word:, translation:, part_of_speech: nil)
743
+ def delete_word(customization_id:, word:)
723
744
  raise ArgumentError.new("customization_id must be provided") if customization_id.nil?
724
745
 
725
746
  raise ArgumentError.new("word must be provided") if word.nil?
726
747
 
727
- raise ArgumentError.new("translation must be provided") if translation.nil?
728
-
729
748
  headers = {
730
749
  }
731
- headers = Common.new.get_sdk_headers(headers: headers, service_name: "text_to_speech", service_version: "V1", operation_id: "add_word")
732
-
733
- data = {
734
- "translation" => translation,
735
- "part_of_speech" => part_of_speech
736
- }
750
+ sdk_headers = Common.new.get_sdk_headers("text_to_speech", "V1", "delete_word")
751
+ headers.merge!(sdk_headers)
737
752
 
738
753
  method_url = "/v1/customizations/%s/words/%s" % [ERB::Util.url_encode(customization_id), ERB::Util.url_encode(word)]
739
754
 
740
755
  request(
741
- method: "PUT",
756
+ method: "DELETE",
742
757
  url: method_url,
743
758
  headers: headers,
744
- json: data,
745
- accept_json: true
759
+ accept_json: false
746
760
  )
747
761
  nil
748
762
  end
@@ -770,7 +784,8 @@ module IBMWatson
770
784
 
771
785
  headers = {
772
786
  }
773
- headers = Common.new.get_sdk_headers(headers: headers, service_name: "text_to_speech", service_version: "V1", operation_id: "get_word")
787
+ sdk_headers = Common.new.get_sdk_headers("text_to_speech", "V1", "get_word")
788
+ headers.merge!(sdk_headers)
774
789
 
775
790
  method_url = "/v1/customizations/%s/words/%s" % [ERB::Util.url_encode(customization_id), ERB::Util.url_encode(word)]
776
791
 
@@ -784,39 +799,38 @@ module IBMWatson
784
799
  end
785
800
 
786
801
  ##
787
- # @!method delete_word(customization_id:, word:)
788
- # Delete a custom word.
789
- # Deletes a single word from the specified custom voice model. You must use
790
- # credentials for the instance of the service that owns a model to delete its words.
791
- #
802
+ # @!method list_words(customization_id:)
803
+ # List custom words.
804
+ # Lists all of the words and their translations for the specified custom voice
805
+ # model. The output shows the translations as they are defined in the model. You
806
+ # must use credentials for the instance of the service that owns a model to list its
807
+ # words.
792
808
  #
793
809
  # **Note:** This method is currently a beta release.
794
810
  #
795
- # **See also:** [Deleting a word from a custom
796
- # model](https://cloud.ibm.com/docs/services/text-to-speech/custom-entries.html#cuWordDelete).
811
+ # **See also:** [Querying all words from a custom
812
+ # model](https://cloud.ibm.com/docs/services/text-to-speech/custom-entries.html#cuWordsQueryModel).
797
813
  # @param customization_id [String] The customization ID (GUID) of the custom voice model. You must make the request
798
814
  # with service credentials created for the instance of the service that owns the
799
815
  # custom model.
800
- # @param word [String] The word that is to be deleted from the custom voice model.
801
- # @return [nil]
802
- def delete_word(customization_id:, word:)
816
+ # @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.
817
+ def list_words(customization_id:)
803
818
  raise ArgumentError.new("customization_id must be provided") if customization_id.nil?
804
819
 
805
- raise ArgumentError.new("word must be provided") if word.nil?
806
-
807
820
  headers = {
808
821
  }
809
- headers = Common.new.get_sdk_headers(headers: headers, service_name: "text_to_speech", service_version: "V1", operation_id: "delete_word")
822
+ sdk_headers = Common.new.get_sdk_headers("text_to_speech", "V1", "list_words")
823
+ headers.merge!(sdk_headers)
810
824
 
811
- method_url = "/v1/customizations/%s/words/%s" % [ERB::Util.url_encode(customization_id), ERB::Util.url_encode(word)]
825
+ method_url = "/v1/customizations/%s/words" % [ERB::Util.url_encode(customization_id)]
812
826
 
813
- request(
814
- method: "DELETE",
827
+ response = request(
828
+ method: "GET",
815
829
  url: method_url,
816
830
  headers: headers,
817
831
  accept_json: true
818
832
  )
819
- nil
833
+ response
820
834
  end
821
835
  #########################
822
836
  # User data
@@ -843,7 +857,8 @@ module IBMWatson
843
857
 
844
858
  headers = {
845
859
  }
846
- headers = Common.new.get_sdk_headers(headers: headers, service_name: "text_to_speech", service_version: "V1", operation_id: "delete_user_data")
860
+ sdk_headers = Common.new.get_sdk_headers("text_to_speech", "V1", "delete_user_data")
861
+ headers.merge!(sdk_headers)
847
862
 
848
863
  params = {
849
864
  "customer_id" => customer_id
@@ -856,7 +871,7 @@ module IBMWatson
856
871
  url: method_url,
857
872
  headers: headers,
858
873
  params: params,
859
- accept_json: true
874
+ accept_json: false
860
875
  )
861
876
  nil
862
877
  end