ibm_watson 0.14.0 → 0.15.0

Sign up to get free protection for your applications and to get access to all the features.
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