Reference documentation and code samples for the Cloud Text-to-Speech V1 Client class TextToSpeechClient.
Service Description: Service that implements Google Cloud Text-to-Speech API.
This class provides the ability to make remote calls to the backing service through method calls that map to API methods. Sample code to get started:
$textToSpeechClient = new TextToSpeechClient();
try {
$response = $textToSpeechClient->listVoices();
} finally {
$textToSpeechClient->close();
}
Many parameters require resource names to be formatted in a particular way. To assist with these names, this class includes a format method for each type of name, and additionally a parseName method to extract the individual identifiers contained within formatted names that are returned by the API.
This service has a new (beta) implementation. See Google\Cloud\TextToSpeech\V1\Client\TextToSpeechClient to use the new surface.
Namespace
Google \ Cloud \ TextToSpeech \ V1Methods
__construct
Constructor.
Parameters | |
---|---|
Name | Description |
options |
array
Optional. Options for configuring the service API wrapper. |
↳ apiEndpoint |
string
The address of the API remote host. May optionally include the port, formatted as "
|
↳ credentials |
string|array|FetchAuthTokenInterface|CredentialsWrapper
The credentials to be used by the client to authorize API calls. This option accepts either a path to a credentials file, or a decoded credentials file as a PHP array. Advanced usage: In addition, this option can also accept a pre-constructed Google\Auth\FetchAuthTokenInterface object or Google\ApiCore\CredentialsWrapper object. Note that when one of these objects are provided, any settings in $credentialsConfig will be ignored. |
↳ credentialsConfig |
array
Options used to configure credentials, including auth token caching, for the client. For a full list of supporting configuration options, see Google\ApiCore\CredentialsWrapper::build() . |
↳ disableRetries |
bool
Determines whether or not retries defined by the client configuration should be disabled. Defaults to |
↳ clientConfig |
string|array
Client method configuration, including retry settings. This option can be either a path to a JSON file, or a PHP array containing the decoded JSON data. By default this settings points to the default client config file, which is provided in the resources folder. |
↳ transport |
string|TransportInterface
The transport used for executing network requests. May be either the string |
↳ transportConfig |
array
Configuration options that will be used to construct the transport. Options for each supported transport type should be passed in a key for that transport. For example: $transportConfig = [ 'grpc' => [...], 'rest' => [...], ]; See the Google\ApiCore\Transport\GrpcTransport::build() and Google\ApiCore\Transport\RestTransport::build() methods for the supported options. |
↳ clientCertSource |
callable
A callable which returns the client cert as a string. This can be used to provide a certificate and private key to the transport layer for mTLS. |
listVoices
Returns a list of Voice supported for synthesis.
Parameters | |
---|---|
Name | Description |
optionalArgs |
array
Optional. |
↳ languageCode |
string
Optional. Recommended. BCP-47 language tag. If not specified, the API will return all supported voices. If specified, the ListVoices call will only return voices that can be used to synthesize this language_code. For example, if you specify |
↳ retrySettings |
RetrySettings|array
Retry settings to use for this call. Can be a Google\ApiCore\RetrySettings object, or an associative array of retry settings parameters. See the documentation on Google\ApiCore\RetrySettings for example usage. |
Returns | |
---|---|
Type | Description |
Google\Cloud\TextToSpeech\V1\ListVoicesResponse |
use Google\ApiCore\ApiException;
use Google\Cloud\TextToSpeech\V1\ListVoicesResponse;
use Google\Cloud\TextToSpeech\V1\TextToSpeechClient;
/**
* This sample has been automatically generated and should be regarded as a code
* template only. It will require modifications to work:
* - It may require correct/in-range values for request initialization.
* - It may require specifying regional endpoints when creating the service client,
* please see the apiEndpoint client configuration option for more details.
*/
function list_voices_sample(): void
{
// Create a client.
$textToSpeechClient = new TextToSpeechClient();
// Call the API and handle any network failures.
try {
/** @var ListVoicesResponse $response */
$response = $textToSpeechClient->listVoices();
printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
} catch (ApiException $ex) {
printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
}
}
synthesizeSpeech
Synthesizes speech synchronously: receive results after all text input has been processed.
Parameters | |
---|---|
Name | Description |
input |
Google\Cloud\TextToSpeech\V1\SynthesisInput
Required. The Synthesizer requires either plain text or SSML as input. |
voice |
Google\Cloud\TextToSpeech\V1\VoiceSelectionParams
Required. The desired voice of the synthesized audio. |
audioConfig |
Google\Cloud\TextToSpeech\V1\AudioConfig
Required. The configuration of the synthesized audio. |
optionalArgs |
array
Optional. |
↳ retrySettings |
RetrySettings|array
Retry settings to use for this call. Can be a Google\ApiCore\RetrySettings object, or an associative array of retry settings parameters. See the documentation on Google\ApiCore\RetrySettings for example usage. |
Returns | |
---|---|
Type | Description |
Google\Cloud\TextToSpeech\V1\SynthesizeSpeechResponse |
use Google\ApiCore\ApiException;
use Google\Cloud\TextToSpeech\V1\AudioConfig;
use Google\Cloud\TextToSpeech\V1\AudioEncoding;
use Google\Cloud\TextToSpeech\V1\SynthesisInput;
use Google\Cloud\TextToSpeech\V1\SynthesizeSpeechResponse;
use Google\Cloud\TextToSpeech\V1\TextToSpeechClient;
use Google\Cloud\TextToSpeech\V1\VoiceSelectionParams;
/**
* @param string $voiceLanguageCode The language (and potentially also the region) of the voice
* expressed as a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt)
* language tag, e.g. "en-US". This should not include a script tag (e.g. use
* "cmn-cn" rather than "cmn-Hant-cn"), because the script will be inferred
* from the input provided in the SynthesisInput. The TTS service
* will use this parameter to help choose an appropriate voice. Note that
* the TTS service may choose a voice with a slightly different language code
* than the one selected; it may substitute a different region
* (e.g. using en-US rather than en-CA if there isn't a Canadian voice
* available), or even a different language, e.g. using "nb" (Norwegian
* Bokmal) instead of "no" (Norwegian)".
* @param int $audioConfigAudioEncoding The format of the audio byte stream.
*/
function synthesize_speech_sample(string $voiceLanguageCode, int $audioConfigAudioEncoding): void
{
// Create a client.
$textToSpeechClient = new TextToSpeechClient();
// Prepare any non-scalar elements to be passed along with the request.
$input = new SynthesisInput();
$voice = (new VoiceSelectionParams())
->setLanguageCode($voiceLanguageCode);
$audioConfig = (new AudioConfig())
->setAudioEncoding($audioConfigAudioEncoding);
// Call the API and handle any network failures.
try {
/** @var SynthesizeSpeechResponse $response */
$response = $textToSpeechClient->synthesizeSpeech($input, $voice, $audioConfig);
printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
} catch (ApiException $ex) {
printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
}
}
/**
* Helper to execute the sample.
*
* This sample has been automatically generated and should be regarded as a code
* template only. It will require modifications to work:
* - It may require correct/in-range values for request initialization.
* - It may require specifying regional endpoints when creating the service client,
* please see the apiEndpoint client configuration option for more details.
*/
function callSample(): void
{
$voiceLanguageCode = '[LANGUAGE_CODE]';
$audioConfigAudioEncoding = AudioEncoding::AUDIO_ENCODING_UNSPECIFIED;
synthesize_speech_sample($voiceLanguageCode, $audioConfigAudioEncoding);
}
static::modelName
Formats a string containing the fully-qualified path to represent a model resource.
Parameters | |
---|---|
Name | Description |
project |
string
|
location |
string
|
model |
string
|
Returns | |
---|---|
Type | Description |
string | The formatted model resource. |
static::parseName
Parses a formatted name string and returns an associative array of the components in the name.
The following name formats are supported: Template: Pattern
- model: projects/{project}/locations/{location}/models/{model}
The optional $template argument can be supplied to specify a particular pattern, and must match one of the templates listed above. If no $template argument is provided, or if the $template argument does not match one of the templates listed, then parseName will check each of the supported templates, and return the first match.
Parameters | |
---|---|
Name | Description |
formattedName |
string
The formatted name string |
template |
string
Optional name of template to match |
Returns | |
---|---|
Type | Description |
array | An associative array from name component IDs to component values. |
Constants
SERVICE_NAME
Value: 'google.cloud.texttospeech.v1.TextToSpeech'
The name of the service.
SERVICE_ADDRESS
Value: 'texttospeech.googleapis.com'
The default address of the service.
DEFAULT_SERVICE_PORT
Value: 443
The default port of the service.
CODEGEN_NAME
Value: 'gapic'
The name of the code generator, to be included in the agent header.