vania-janet/multiturn-rag-retrieval-data huggingface dataset:
Also, the new voices do not support the SSML elements <prosody>, <express-as>, and <voice-transformation>.

For more information about these DNN-based voices and how they differ from the existing voices, see [Languages and voices](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-voices).





 28 January 2019 

New support for IBM Cloud IAM by WebSocket interface
: The WebSocket interface now supports token-based Identity and Access Management (IAM) authentication from browser-based JavaScript code. The limitation to the contrary has been removed. To establish an authenticated connection with the WebSocket /v1/synthesize method:



* If you use IAM authentication, include the access_token query parameter.
* If you use Cloud Foundry service credentials, include the watson-token query parameter.



For more information, see [Open a connection](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-usingWebSocketWSopen).





 13 December 2018 

New London location now available
: The Text to Speech service is now available in the IBM Cloud® London location (eu-gb). Like all locations, London uses token-based Identity and Access Management (IAM) authentication. All new service instances that you create in this location use IAM authentication.





 7 November 2018 

New Tokyo location now available
: The Text to Speech service is now available in the IBM Cloud® Tokyo location (jp-tok). Like all locations, Tokyo uses token-based Identity and Access Management (IAM) authentication. All new service instances that you create in this location use IAM authentication.





 30 October 2018 

New support for token-based IBM Cloud IAM
: The Text to Speech service has migrated to token-based Identity and Access Management (IAM) authentication for all locations. All IBM Cloud services now use IAM authentication. The Text to Speech service migrated in each location on the following dates:



* Dallas (us-south): October 30, 2018
* Frankfurt (eu-de): October 30, 2018
: The default voice for speech synthesis and pronunciation requests is en-US_MichaelV3Voice. If you do not install the en-US_MichaelV3Voice, you must either



* Use the voice parameter to pass the voice that is to be used with each request.
* Specify a new default voice for your installation of Text to Speech for IBM Cloud Pak for Data by using the defaultTTSVoice property in the Speech services custom resource. For more information, see [Installing Watson Text to Speech](https://www.ibm.com/docs/en/cloud-paks/cp-data/4.0?topic=speech-installing-watson-text) and [Using the default voice](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-voices-usespecify-voice-default).



Change to word timing response for WebSocket interface
: The response object that the service sends when you request word timings with the WebSocket interface has changed. The service now sends word timing results in a single array that includes a string followed by two floats:

{
"words": [
"Hello", 0.0, 0.259],
"world", 0.259, 0.532]
]
}

The service previously sent timing results as an array that included a string following by an array of two floats:

{
"words": [
"Hello", 0.0629826778195474, 0.2590192737303819]],
"world", 0.2598829173456253, 0.5322130804452672]]
]
}

Also, the level of precision for word timings and marks is now reduced to three decimal places. For more information about the new responses, see [Generating word timings](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-timing).

Security vulnerabilities addressed
: The following security vulnerabilities have been fixed:
* --all-resource-groups: Query all resource groups.
* --output: Specify output format, only JSON is supported. One of: JSON.
* -q, --quiet: Suppress verbose output.



--------------------







 ibmcloud is instance-console 

Open an interactive console to the virtual server instance. This command opens an interactive serial console by default.

ibmcloud is instance-console INSTANCE [--vnc] [-q, --quiet]



 Command options 



* INSTANCE: ID or name of the instance.
* --vnc: Get the WebSocket URI for the VNC console and open the IBM Cloud web VNC console in the browser for the instance.
* -q, --quiet: Suppress verbose output.



--------------------







 ibmcloud is instance-create 

Create a virtual server instance.
Specify "console_type"："VNC" in the payload.

curl -X POST "$vpc_api_endpoint/v1/instances/$instance_id/console_access_token?version=2021-01-26&generation=2" -H "Authorization: $iam_token" -d '{
"console_type": "vnc"
}'

The access token will be invalid after 3 minutes.
2. Save the value of "href" in the response.
3. Open the [noVNC portal](https://novnc.com/noVNC/vnc.html) in a browser.
4. Click Setting and expand Advanced > WebSocket.
5. Check Encrypt, paste the URL's API endpoint portion you saved in step 2 to Host:, do not include "wss://", set Port to "443", paste the URL's path portion you saved in step 2 to Path.



* Example API endpoint: us-south.iaas.cloud.ibm.com
* Example path: v1/instances/<instance_id>/console?access_token=<access_token>&version=2020-12-06&generation=2



6. Click Connect.
7. Log in to the instance.







 Using API to connect to a serial console 



1. Create a console access token for the instance, specify "console_type": "serial" and "force": true in the payload.

curl -X POST "$vpc_api_endpoint/v1/instances/$instance_id/console_access_token?version=2020-01-26&generation=2" -H "Authorization: $token" -d '{
"console_type":"serial",
"force": true
}'

By specifying "force" to true, you can connect to the serial console even when the console is used by other users. The default value is false, which means the connection can't be established if the console is being used.
2.
The service recognizes only strings that are defined by the grammar. You must specify both the name of the grammar and the customization ID of the custom language model for which the grammar is defined. For more information, see [Using a grammar for speech recognition](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-grammarUse).



Table 10. The grammar_name parameter

 Availability and usage Description 

 Previous-generation models Generally available or beta for all models that support language model customization. For more information, see [Customization support for previous-generation models](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-custom-supportcustom-language-support-pg). 
 Next-generation models Generally available or beta for all models that support language model customization. For more information, see [Customization support for next-generation models](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-custom-supportcustom-language-support-ng). 
 WebSocket Parameter of JSON start message 
 Synchronous HTTP Query parameter of POST /v1/recognize method 
 Asynchronous HTTP Query parameter of POST /v1/recognitions method 







 inactivity_timeout 

An optional integer that specifies the number of seconds for the service's inactivity timeout. Inactivity means that the service detects no speech in streaming audio. The default is 30 seconds. Use -1 to indicate infinity. For more information, see [Inactivity timeout](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-inputtimeouts-inactivity).



Table 11. The inactivity_timeout parameter

 Availability and usage Description 

 Previous-generation models Generally available for all languages. 
 Next-generation models Generally available for all languages. 
 WebSocket Parameter of JSON start message 
 Synchronous HTTP Query parameter of POST /v1/recognize method
Overview of API Connect 

Use the IBM® API Connect for IBM Cloud® service to quickly create APIs and microservices based on Node.js and Java runtimes.

You can manage your APIs with business-level controls by setting varying levels of security, visibility, billing plans, and rate limits. The API Connect service also provides you with the tools to transform and grow your business with insights through detailed analytics with structured filtered searches.



 API creation 

With API Connect, you can import APIs from OpenAPI (Swagger) definitions, or create APIs by using a proxy URL or by assembling data from HTTP data sources. In addition, API Connect supports creating and testing APIs offline. Embedded with the developer toolkit is a micro gateway that connects your APIs to back-end data sources, such as an SQL database, and perform create-, read-, update-, and delete-based operations.

APIs are created within the developer toolkit. The developer toolkit includes a CLI and API Designer graphical user interface. To access the developer toolkit, you need to download and install it from npm. When you install the toolkit, you begin by creating a LoopBack project. The following diagram illustrates what is contained within a LoopBack project.



* LoopBack project: The LoopBack project contains the LoopBack application and API Product.
* LoopBack application: The Loopback application contains the API endpoint that provides access to your data source, business asset, or cloud service.
* Product: The Product is the unit that enables you to publish your APIs. A Product contains a Plan and a Plan contains the API that invokes the API endpoint when it is called.



The following diagram demonstrates where the LoopBack application, API, and Product are deployed to after they are published from the developer toolkit CLI or UI.

![Diagram to show what is contained within a LoopBack project](images/loopback_project.png "A LoopBack project)



* IBM Cloud run time: The LoopBack app is deployed to the IBM Cloud run time of your choice.
* Gateway: The API is deployed to the gateway.



API Manager: The product is deployed to the API Manager where you can specify how it is used.
Concatenate the transcript elements to assemble the complete transcript.

The service enforces timeouts on a streaming session. It can terminate a streaming session if it detects an extended period of silence or receives no audio during a 30-second period. For more information about timeouts and how to avoid them, see [Timeouts](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-inputtimeouts).



 Audio transmission example 

The following example request specifies chunked for the Transfer-Encoding header to use streaming mode. The connection remains open to accept additional chunks of audio.

IBM Cloud

curl -X POST -u "apikey:{apikey}" --header "Content-Type: audio/flac" --header "Transfer-Encoding: chunked" --data-binary @{path}audio-file1.flac "{url}/v1/recognize"

IBM Cloud Pak for Data

curl -X POST --header "Authorization: Bearer {token}" --header "Content-Type: audio/flac" --header "Transfer-Encoding: chunked" --data-binary @{path}audio-file1.flac "{url}/v1/recognize"







 Timeouts 

When you initiate a streaming session with the HTTP or WebSocket speech recognition methods, the service enforces inactivity and session timeouts. If a timeout lapses during a streaming session, the service closes the connection. Your application must recover gracefully from possible closed connections.

When you stream audio over HTTP, the service sends a space character in its response every 20 seconds. The service does this to improve usability by avoiding the 30-second HTTP REST inactivity timeout. To keep the connection alive while recognition is ongoing, the service continues to send this space character until it completes its transcription. The space character has no effect on JSON-encoded response data.

This HTTP inactivity timeout is different from the service's inactivity timeout. The WebSocket interface is not subject to this HTTP timeout.



 Inactivity timeout
For most languages, you can transcribe audio at one of two sampling rates:



* Use Broadband or Multimedia models for audio that is sampled at a minimum sampling rate of 16 kHz.
* Use Narrowband or Telephony models for audio that is sampled at a minimum sampling rate of 8 kHz.



Effective 31 July 2023, all previous-generation models will be removed from the service and the documentation. Most previous-generation models were deprecated on 15 March 2022. You must migrate to the equivalent next-generation model by 31 July 2023. For more information, see [Migrating to next-generation models](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-models-migrate).





 Using audio formats 

The service supports speech recognition for the many audio formats listed in [Audio support](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-aboutabout-formats). Different formats support different sampling rates and other characteristics. By using a format that supports compression, you can maximize the amount of audio data that you can send with a request.



* For more information about understanding audio concepts, see [Audio terminology and characteristics](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-audio-terminology).
* For more information about the audio formats that you can use with the service, see [Supported audio formats](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-audio-formats).







 Recognizing speech with the service 

The Speech to Text service offers a WebSocket interface and synchronous and asynchronous HTTP Representational State Transfer (REST) interfaces.



* [The WebSocket interface](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-websockets) offers an efficient, low-latency, and high-throughput implementation over a full-duplex connection.
8 April 2022 (Version 4.0.7) 

Support for sounds-like is now documented for custom models based on next-generation models
: For custom language models that are based on next-generation models, support is now documented for sounds-like specifications for custom words. Support for sounds-likes has been available since late 2021.

Differences exist between the use of the sounds_like field for custom models that are based on next-generation and previous-generation models. For more information about using the sounds_like field with custom models that are based on next-generation models, see [Working with custom words for next-generation models](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-corporaWords-ngworkingWords-ng).

Important: Deprecated customization_id parameter removed from the documentation
: Important: On [9 October 2018](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-release-notes-dataspeech-to-text-9october2018), the customization_id parameter of all speech recognition requests was deprecated and replaced by the language_customization_id parameter. The customization_id parameter has now been removed from the documentation for the speech recognition methods:



* /v1/recognize for WebSocket requests
* POST /v1/recognize for synchronous HTTP requests (including multipart requests)
* POST /v1/recognitions for asynchronous HTTP requests



Note: If you use the Watson SDKs, make sure that you have updated any application code to use the language_customization_id parameter instead of the customization_id parameter. The customization_id parameter will no longer be available from the equivalent methods of the SDKs as of their next major release. For more information about the speech recognition methods, see the [API & SDK reference](https://cloud.ibm.com/apidocs/speech-to-text/speech-to-textservice-endpoint).





 30 March 2022 (Version 4.0.7) 

Version 4.0.7 is now available
Specify a value of 1 to prevent the service from using the audio and transcription results. The parameter applies only to the current request. The new header replaces the X-logging header from the beta API. See [Controlling request logging for Watson services](https://cloud.ibm.com/docs/watson?topic=watson-gs-logging-overview).

Changes to HTTP error codes
: The service can now respond with the following HTTP error codes:



* For the /v1/models, /v1/models/{model_id}, /v1/sessions, /v1/sessions/{session_id}, /v1/sessions/{session_id}/observe_result, /v1/sessions/{session_id}/recognize, and /v1/recognize methods, error code 415 ("Unsupported Media Type") is added.
* For POST and GET requests to the /v1/sessions/{session_id}/recognize method, the following error codes have been modified:



* Error code 404 ("Session_id not found") has a more descriptive message (POST and GET).
* Error code 503 ("Session is already processing a request. Concurrent requests are not allowed on the same session. Session remains alive after this error.") has a more descriptive message (POST only).
* For HTTP POST requests to the /v1/sessions and /v1/recognize methods, error code 503 ("Service Unavailable") can be returned. The error code can also be returned when creating a WebSocket connection with the /v1/recognize method.
* When the value is set to ANY, you can use IAM tokens and Monitor API tokens to authenticate.



Check the external_api_auth to find out what tokens are allowed for authentication.





 Step 2. Reset the Monitor API token for each team 

Complete this step if you are configuring your monitoring instance to authenticate with IAM tokens only.

When you reset a Monitor API token , you disable the current Monitor API token that users might be using. There is 1 Monitor API token per team.

For each team in the Monitoring instance, [Reset the Monitor API token](https://cloud.ibm.com/docs/monitoring?topic=monitoring-api_monitoring_tokenapi_token_reset).





 Step 3. Configure the Monitoring instance to only allow IAM tokens 

Run the following command to update a Monitoring instance so that only IAM tokens are allowed when you use Python scripts or the monitoring REST API to manage resources:

ibmcloud resource service-instance-update NAME -p '{"external_api_auth": "IAM_ONLY"}'

Where

NAME is the name of the Monitoring instance.

API_AUTH is set to the authorization model that is enabled to authenticate with the IBM Cloud Monitoring service when you use Python scripts or the monitoring REST API. By default, it is set to ANY. Valid values are: ANY and IAM_ONLY.

For example, to modify an instance, run the following command:

ibmcloud resource service-instance-create monitoring-instance-01 -p '{"external_api_auth": "IAM_ONLY"}'
See [View all block storage volumes from the CLI](https://cloud.ibm.com/docs/vpc?topic=vpc-viewing-block-storage-cli). Verify that you specified the correct resource group or zone.





 Cannot update a volume name by using the API or CLI 

 What’s happening 

You receive an error message when you attempt to rename an existing volume.

This condition might appear in the API or CLI in the following scenarios.



* In the API, when you send a PATCH request to rename the volume.
* In the CLI, when you specify the ibmcloud is volume-update command.



 Why it’s happening 

You might be renaming the volume with an invalid volume name. In this case, you see a 400 "validation_invalid_name" error. You might also be specifying a valid volume name, but one that is already in the VPC. For example, if you create two volumes from compute resources that are in the same account, the same region, and have the same name, you see a 400 "volume_name_duplicate" error.

Note: The UI prevents you from entering an invalid volume name.

 How to fix it 

Follow these guidelines for valid volume names:



* Volume names can include a combination of lowercase alpha-numeric characters (a-z, 0-9) and the hyphen (-), up to 63 characters.
* Volume names must begin with a lowercase letter.
* Volume names must be unique across a VPC region.







 Cannot delete a volume by name or ID 

 What’s happening 

You can't delete a block storage volume by name or ID.

 Why it’s happening 

The volume name and ID are not accepted.

 How to fix it 

Verify that the volume name or identifier is correct and that the volume is not attached to a virtual server instance. Also, verify that the volume is not in a pending state.





 Expandable volume remains in an updating state when an attempt is made to delete an instance 

 What’s happening
* For information about the latest service update, see the [6 April 2023](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-release-notestext-to-speech-6april2023) service update in the release notes.



IBM Cloud Pak for Data

for installed or on-premises instances of Text to Speech for IBM Cloud Pak for Data. For links to information about installing and managing Text to Speech for IBM Cloud Pak for Data, see [Installing IBM Watson Text to Speech for IBM Cloud Pak for Data](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-speech-install-data).



* For information about all service updates, see the [Release notes for Text to Speech for IBM Cloud Pak for Data](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-release-notes-data).
* For information about the latest service update, see the [2 May 2023 (Version 4.6.5)](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-release-notes-datatext-to-speech-data-2may2023) service update in the release notes.









 Speech synthesis 

The Text to Speech service supports both HTTP and WebSocket interfaces for speech synthesis. Both interfaces accept plain text and text that is marked up with the XML-based Speech Synthesis Markup Language (SSML). The WebSocket interface can also produce timing information about the words of the audio. For more information, see the following service features:



* [Synthesizing speech with the service](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-service-featuresfeatures-synthesis-interfaces)
* [Using speech synthesis features](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-service-featuresfeatures-synthesis)







 Customization
* INSTANCE: ID or name of the instance.
* --private-key: key|@key-file. The private key in PEM format to decrypt password.
* --private-key-passphrase: The passphrase for the encrypted private key.
* --output: Specify output format, only JSON is supported. One of: JSON.
* -q, --quiet: Suppress verbose output.



--------------------







 ibmcloud is instances 

List all virtual server instances.

ibmcloud is instances [--resource-group-id RESOURCE_GROUP_ID | --resource-group-name RESOURCE_GROUP_NAME | --all-resource-groups] [--output JSON] [-q, --quiet]



 Command options 



* --resource-group-id: ID of the resource group. This ID is mutually exclusive with --resource-group-name.
* --resource-group-name: Name of the resource group. This name is mutually exclusive with --resource-group-id.
* --all-resource-groups: Query all resource groups.
* --output: Specify output format, only JSON is supported. One of: JSON.
* -q, --quiet: Suppress verbose output.



--------------------







 ibmcloud is instance-console 

Open an interactive console to the virtual server instance. This command opens an interactive serial console by default.

ibmcloud is instance-console INSTANCE [--vnc] [-q, --quiet]



 Command options 



* INSTANCE: ID or name of the instance.
* --vnc: Get the WebSocket URI for the VNC console and open the IBM Cloud web VNC console in the browser for the instance.
* -q, --quiet: Suppress verbose output.



--------------------







 ibmcloud is instance-create