Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions mmv1/products/ces/App.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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-<PROJECT-NUMBER>@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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
26 changes: 19 additions & 7 deletions mmv1/third_party/terraform/services/ces/ces_app_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We're running this as a test against prod so these need to be accessible to the public. Is this a controlled bucket containing test samples?

Error: Error waiting to create App: Error waiting for Creating App: Error code 5, message: GCS object not found: gs://fake-app-audio-recordings/voice-sample.wav

We can manage it from our end otherwise if you can furnish test files we can release as OSS, let me know if we need to do that.

}
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 {
Expand Down Expand Up @@ -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 {
Expand Down
Loading