diff --git a/mmv1/products/ces/App.yaml b/mmv1/products/ces/App.yaml index a2ea7e6f1068..642c5edb23c9 100644 --- a/mmv1/products/ces/App.yaml +++ b/mmv1/products/ces/App.yaml @@ -144,12 +144,35 @@ properties: voice based on the other parameters such as language_code. For the list of available voices, please refer to Supported voices and languages from Cloud Text-to-Speech. + - name: voiceSampleGcsUri + type: String + description: |- + The Cloud Storage URI to the audio sample for voice cloning. The audio sample + should be a mono-channel, 24kHz WAV file. + Note: Please make sure the CES service agent + `service-@gcp-sa-ces.iam.gserviceaccount.com` has + `storage.objects.get` permission to the Cloud Storage object. - name: speakingRate type: Double description: |- The speaking rate/speed in the range [0.25, 2.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. Values outside of the range [0.25, 2.0] will return an error. + - name: model + type: String + description: |- + The model used to synthesize audio. + Currently supported values: + - "gemini-3.1-flash-tts-preview" + If empty, Chirp3-HD is used. + - name: instruction + type: String + description: |- + The instruction used to synthesize speech when using a generative model. + - name: consentAudioGcsUri + type: String + description: |- + The Cloud Storage URI to the consent audio for voice cloning. key_name: language_code - name: createTime type: String diff --git a/mmv1/templates/terraform/samples/services/ces/ces_app_basic.tf.tmpl b/mmv1/templates/terraform/samples/services/ces/ces_app_basic.tf.tmpl index fb221232c46b..a8a73ffd64e0 100644 --- a/mmv1/templates/terraform/samples/services/ces/ces_app_basic.tf.tmpl +++ b/mmv1/templates/terraform/samples/services/ces/ces_app_basic.tf.tmpl @@ -38,11 +38,15 @@ resource "google_ces_app" "ces_app_basic" { language_code = "en-US" voice = "en-US-Standard-A" speaking_rate = 1.0 + model = "gemini-3.1-flash-tts-preview" + instruction = "Speak clearly in a professional and helpful tone." } synthesize_speech_configs { language_code = "es-ES" voice = "es-ES-Standard-A" speaking_rate = 0.95 + model = "gemini-3.1-flash-tts-preview" + instruction = "Habla de manera clara y profesional." } barge_in_config { diff --git a/mmv1/third_party/terraform/services/ces/ces_app_test.go b/mmv1/third_party/terraform/services/ces/ces_app_test.go index d1eebeac1a1c..a41cbe2fa97e 100644 --- a/mmv1/third_party/terraform/services/ces/ces_app_test.go +++ b/mmv1/third_party/terraform/services/ces/ces_app_test.go @@ -90,14 +90,20 @@ resource "google_ces_app" "ces_app_basic" { audio_processing_config { synthesize_speech_configs { - language_code = "en-US" - voice = "en-US-Standard-A" - speaking_rate = 1.0 + language_code = "en-US" + voice = "en-US-Standard-A" + speaking_rate = 1.0 + model = "gemini-3.1-flash-tts-preview" + instruction = "Speak clearly in a professional tone." + voice_sample_gcs_uri = "gs://fake-app-audio-recordings/voice-sample.wav" + consent_audio_gcs_uri = "gs://fake-app-audio-recordings/consent.wav" } synthesize_speech_configs { language_code = "es-ES" voice = "es-ES-Standard-A" speaking_rate = 0.95 + model = "gemini-3.1-flash-tts-preview" + instruction = "Habla claramente." } barge_in_config { @@ -282,14 +288,20 @@ resource "google_ces_app" "ces_app_basic" { audio_processing_config { synthesize_speech_configs { - language_code = "en-US" - voice = "en-US-Standard-A" - speaking_rate = 1.0 + language_code = "en-US" + voice = "en-US-Standard-A" + speaking_rate = 1.05 + model = "gemini-3.1-flash-tts-preview" + instruction = "Speak in an updated friendly tone." + voice_sample_gcs_uri = "gs://fake-app-audio-recordings/voice-sample-updated.wav" + consent_audio_gcs_uri = "gs://fake-app-audio-recordings/consent-updated.wav" } synthesize_speech_configs { language_code = "es-ES" voice = "es-ES-Standard-A" - speaking_rate = 0.95 + speaking_rate = 1.0 + model = "gemini-3.1-flash-tts-preview" + instruction = "Habla con tono amigable." } barge_in_config {