From 4c1732132690363e5a1aece52f06c01defd1f615 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Tue, 28 Jul 2020 12:36:03 -0700 Subject: [PATCH] feat: Support MULAW audio encoding feat: Support MP3_64_KBPS audio encoding feat: Support timepointing via SSML tag (#198) This PR was generated using Autosynth. :rainbow: Synth log will be available here: https://source.cloud.google.com/results/invocations/1bfd519f-1b14-449f-9567-cb3f2afc7961/targets - [ ] To automatically regenerate this PR, check this box. PiperOrigin-RevId: 323424211 Source-Link: https://github.com/googleapis/googleapis/commit/a94df49e8f208649f2f5cb39a84668c6a3434ce8 --- .../stub/TextToSpeechStubSettings.java | 6 +- .../clirr-ignored-differences.xml | 19 + .../clirr-ignored-differences.xml | 19 + .../texttospeech/v1beta1/AudioEncoding.java | 46 + .../texttospeech/v1beta1/SsmlVoiceGender.java | 4 +- .../v1beta1/SynthesizeSpeechRequest.java | 589 ++++++++++++- .../SynthesizeSpeechRequestOrBuilder.java | 75 ++ .../v1beta1/SynthesizeSpeechResponse.java | 801 +++++++++++++++++- .../SynthesizeSpeechResponseOrBuilder.java | 92 ++ .../v1beta1/TextToSpeechProto.java | 101 ++- .../cloud/texttospeech/v1beta1/Timepoint.java | 731 ++++++++++++++++ .../v1beta1/TimepointOrBuilder.java | 63 ++ .../texttospeech/v1beta1/cloud_tts.proto | 39 +- synth.metadata | 151 +++- 14 files changed, 2682 insertions(+), 54 deletions(-) create mode 100644 proto-google-cloud-texttospeech-v1/clirr-ignored-differences.xml create mode 100644 proto-google-cloud-texttospeech-v1beta1/clirr-ignored-differences.xml create mode 100644 proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/Timepoint.java create mode 100644 proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/TimepointOrBuilder.java diff --git a/google-cloud-texttospeech/src/main/java/com/google/cloud/texttospeech/v1beta1/stub/TextToSpeechStubSettings.java b/google-cloud-texttospeech/src/main/java/com/google/cloud/texttospeech/v1beta1/stub/TextToSpeechStubSettings.java index 25b2c989..e990fe7d 100644 --- a/google-cloud-texttospeech/src/main/java/com/google/cloud/texttospeech/v1beta1/stub/TextToSpeechStubSettings.java +++ b/google-cloud-texttospeech/src/main/java/com/google/cloud/texttospeech/v1beta1/stub/TextToSpeechStubSettings.java @@ -203,10 +203,10 @@ public static class Builder extends StubSettings.Builder + + + + 7012 + com/google/cloud/texttospeech/v1/*OrBuilder + * get*(*) + + + 7012 + com/google/cloud/texttospeech/v1/*OrBuilder + boolean contains*(*) + + + 7012 + com/google/cloud/texttospeech/v1/*OrBuilder + boolean has*(*) + + diff --git a/proto-google-cloud-texttospeech-v1beta1/clirr-ignored-differences.xml b/proto-google-cloud-texttospeech-v1beta1/clirr-ignored-differences.xml new file mode 100644 index 00000000..682226ff --- /dev/null +++ b/proto-google-cloud-texttospeech-v1beta1/clirr-ignored-differences.xml @@ -0,0 +1,19 @@ + + + + + 7012 + com/google/cloud/texttospeech/v1beta1/*OrBuilder + * get*(*) + + + 7012 + com/google/cloud/texttospeech/v1beta1/*OrBuilder + boolean contains*(*) + + + 7012 + com/google/cloud/texttospeech/v1beta1/*OrBuilder + boolean has*(*) + + diff --git a/proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/AudioEncoding.java b/proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/AudioEncoding.java index 97b55111..a25ee778 100644 --- a/proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/AudioEncoding.java +++ b/proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/AudioEncoding.java @@ -60,6 +60,16 @@ public enum AudioEncoding implements com.google.protobuf.ProtocolMessageEnum { * MP3 = 2; */ MP3(2), + /** + * + * + *
+   * MP3 at 64kbps.
+   * 
+ * + * MP3_64_KBPS = 4; + */ + MP3_64_KBPS(4), /** * * @@ -73,6 +83,17 @@ public enum AudioEncoding implements com.google.protobuf.ProtocolMessageEnum { * OGG_OPUS = 3; */ OGG_OPUS(3), + /** + * + * + *
+   * 8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law.
+   * Audio content returned as MULAW also contains a WAV header.
+   * 
+ * + * MULAW = 5; + */ + MULAW(5), UNRECOGNIZED(-1), ; @@ -107,6 +128,16 @@ public enum AudioEncoding implements com.google.protobuf.ProtocolMessageEnum { * MP3 = 2; */ public static final int MP3_VALUE = 2; + /** + * + * + *
+   * MP3 at 64kbps.
+   * 
+ * + * MP3_64_KBPS = 4; + */ + public static final int MP3_64_KBPS_VALUE = 4; /** * * @@ -120,6 +151,17 @@ public enum AudioEncoding implements com.google.protobuf.ProtocolMessageEnum { * OGG_OPUS = 3; */ public static final int OGG_OPUS_VALUE = 3; + /** + * + * + *
+   * 8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law.
+   * Audio content returned as MULAW also contains a WAV header.
+   * 
+ * + * MULAW = 5; + */ + public static final int MULAW_VALUE = 5; public final int getNumber() { if (this == UNRECOGNIZED) { @@ -151,8 +193,12 @@ public static AudioEncoding forNumber(int value) { return LINEAR16; case 2: return MP3; + case 4: + return MP3_64_KBPS; case 3: return OGG_OPUS; + case 5: + return MULAW; default: return null; } diff --git a/proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/SsmlVoiceGender.java b/proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/SsmlVoiceGender.java index 807b44ef..925a1456 100644 --- a/proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/SsmlVoiceGender.java +++ b/proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/SsmlVoiceGender.java @@ -67,7 +67,7 @@ public enum SsmlVoiceGender implements com.google.protobuf.ProtocolMessageEnum { * * *
-   * A gender-neutral voice.
+   * A gender-neutral voice. This voice is not yet supported.
    * 
* * NEUTRAL = 3; @@ -114,7 +114,7 @@ public enum SsmlVoiceGender implements com.google.protobuf.ProtocolMessageEnum { * * *
-   * A gender-neutral voice.
+   * A gender-neutral voice. This voice is not yet supported.
    * 
* * NEUTRAL = 3; diff --git a/proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/SynthesizeSpeechRequest.java b/proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/SynthesizeSpeechRequest.java index ad4572b0..f7ec768c 100644 --- a/proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/SynthesizeSpeechRequest.java +++ b/proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/SynthesizeSpeechRequest.java @@ -37,7 +37,9 @@ private SynthesizeSpeechRequest(com.google.protobuf.GeneratedMessageV3.Builder(); + mutable_bitField0_ |= 0x00000001; + } + enableTimePointing_.add(rawValue); + break; + } + case 34: + { + int length = input.readRawVarint32(); + int oldLimit = input.pushLimit(length); + while (input.getBytesUntilLimit() > 0) { + int rawValue = input.readEnum(); + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + enableTimePointing_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + enableTimePointing_.add(rawValue); + } + input.popLimit(oldLimit); break; } default: @@ -133,6 +161,9 @@ private SynthesizeSpeechRequest( } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + enableTimePointing_ = java.util.Collections.unmodifiableList(enableTimePointing_); + } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } @@ -153,6 +184,143 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { com.google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest.Builder.class); } + /** + * + * + *
+   * The type of timepoint information that is returned in the response.
+   * 
+ * + * Protobuf enum {@code google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest.TimepointType} + */ + public enum TimepointType implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+     * Not specified. No timepoint information will be returned.
+     * 
+ * + * TIMEPOINT_TYPE_UNSPECIFIED = 0; + */ + TIMEPOINT_TYPE_UNSPECIFIED(0), + /** + * + * + *
+     * Timepoint information of `<mark>` tags in SSML input will be returned.
+     * 
+ * + * SSML_MARK = 1; + */ + SSML_MARK(1), + UNRECOGNIZED(-1), + ; + + /** + * + * + *
+     * Not specified. No timepoint information will be returned.
+     * 
+ * + * TIMEPOINT_TYPE_UNSPECIFIED = 0; + */ + public static final int TIMEPOINT_TYPE_UNSPECIFIED_VALUE = 0; + /** + * + * + *
+     * Timepoint information of `<mark>` tags in SSML input will be returned.
+     * 
+ * + * SSML_MARK = 1; + */ + public static final int SSML_MARK_VALUE = 1; + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static TimepointType valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static TimepointType forNumber(int value) { + switch (value) { + case 0: + return TIMEPOINT_TYPE_UNSPECIFIED; + case 1: + return SSML_MARK; + default: + return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { + return internalValueMap; + } + + private static final com.google.protobuf.Internal.EnumLiteMap internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public TimepointType findValueByNumber(int number) { + return TimepointType.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + + public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { + return getDescriptor(); + } + + public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { + return com.google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest.getDescriptor() + .getEnumTypes() + .get(0); + } + + private static final TimepointType[] VALUES = values(); + + public static TimepointType valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private TimepointType(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest.TimepointType) + } + public static final int INPUT_FIELD_NUMBER = 1; private com.google.cloud.texttospeech.v1beta1.SynthesisInput input_; /** @@ -315,6 +483,122 @@ public com.google.cloud.texttospeech.v1beta1.AudioConfigOrBuilder getAudioConfig return getAudioConfig(); } + public static final int ENABLE_TIME_POINTING_FIELD_NUMBER = 4; + private java.util.List enableTimePointing_; + private static final com.google.protobuf.Internal.ListAdapter.Converter< + java.lang.Integer, + com.google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest.TimepointType> + enableTimePointing_converter_ = + new com.google.protobuf.Internal.ListAdapter.Converter< + java.lang.Integer, + com.google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest.TimepointType>() { + public com.google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest.TimepointType + convert(java.lang.Integer from) { + @SuppressWarnings("deprecation") + com.google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest.TimepointType result = + com.google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest.TimepointType + .valueOf(from); + return result == null + ? com.google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest.TimepointType + .UNRECOGNIZED + : result; + } + }; + /** + * + * + *
+   * Whether and what timepoints should be returned in the response.
+   * 
+ * + * + * repeated .google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest.TimepointType enable_time_pointing = 4; + * + * + * @return A list containing the enableTimePointing. + */ + @java.lang.Override + public java.util.List + getEnableTimePointingList() { + return new com.google.protobuf.Internal.ListAdapter< + java.lang.Integer, + com.google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest.TimepointType>( + enableTimePointing_, enableTimePointing_converter_); + } + /** + * + * + *
+   * Whether and what timepoints should be returned in the response.
+   * 
+ * + * + * repeated .google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest.TimepointType enable_time_pointing = 4; + * + * + * @return The count of enableTimePointing. + */ + @java.lang.Override + public int getEnableTimePointingCount() { + return enableTimePointing_.size(); + } + /** + * + * + *
+   * Whether and what timepoints should be returned in the response.
+   * 
+ * + * + * repeated .google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest.TimepointType enable_time_pointing = 4; + * + * + * @param index The index of the element to return. + * @return The enableTimePointing at the given index. + */ + @java.lang.Override + public com.google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest.TimepointType + getEnableTimePointing(int index) { + return enableTimePointing_converter_.convert(enableTimePointing_.get(index)); + } + /** + * + * + *
+   * Whether and what timepoints should be returned in the response.
+   * 
+ * + * + * repeated .google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest.TimepointType enable_time_pointing = 4; + * + * + * @return A list containing the enum numeric values on the wire for enableTimePointing. + */ + @java.lang.Override + public java.util.List getEnableTimePointingValueList() { + return enableTimePointing_; + } + /** + * + * + *
+   * Whether and what timepoints should be returned in the response.
+   * 
+ * + * + * repeated .google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest.TimepointType enable_time_pointing = 4; + * + * + * @param index The index of the value to return. + * @return The enum numeric value on the wire of enableTimePointing at the given index. + */ + @java.lang.Override + public int getEnableTimePointingValue(int index) { + return enableTimePointing_.get(index); + } + + private int enableTimePointingMemoizedSerializedSize; + private byte memoizedIsInitialized = -1; @java.lang.Override @@ -329,6 +613,7 @@ public final boolean isInitialized() { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + getSerializedSize(); if (input_ != null) { output.writeMessage(1, getInput()); } @@ -338,6 +623,13 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io if (audioConfig_ != null) { output.writeMessage(3, getAudioConfig()); } + if (getEnableTimePointingList().size() > 0) { + output.writeUInt32NoTag(34); + output.writeUInt32NoTag(enableTimePointingMemoizedSerializedSize); + } + for (int i = 0; i < enableTimePointing_.size(); i++) { + output.writeEnumNoTag(enableTimePointing_.get(i)); + } unknownFields.writeTo(output); } @@ -356,6 +648,19 @@ public int getSerializedSize() { if (audioConfig_ != null) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getAudioConfig()); } + { + int dataSize = 0; + for (int i = 0; i < enableTimePointing_.size(); i++) { + dataSize += + com.google.protobuf.CodedOutputStream.computeEnumSizeNoTag(enableTimePointing_.get(i)); + } + size += dataSize; + if (!getEnableTimePointingList().isEmpty()) { + size += 1; + size += com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(dataSize); + } + enableTimePointingMemoizedSerializedSize = dataSize; + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -384,6 +689,7 @@ public boolean equals(final java.lang.Object obj) { if (hasAudioConfig()) { if (!getAudioConfig().equals(other.getAudioConfig())) return false; } + if (!enableTimePointing_.equals(other.enableTimePointing_)) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -407,6 +713,10 @@ public int hashCode() { hash = (37 * hash) + AUDIO_CONFIG_FIELD_NUMBER; hash = (53 * hash) + getAudioConfig().hashCode(); } + if (getEnableTimePointingCount() > 0) { + hash = (37 * hash) + ENABLE_TIME_POINTING_FIELD_NUMBER; + hash = (53 * hash) + enableTimePointing_.hashCode(); + } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -571,6 +881,8 @@ public Builder clear() { audioConfig_ = null; audioConfigBuilder_ = null; } + enableTimePointing_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); return this; } @@ -599,6 +911,7 @@ public com.google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest build() { public com.google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest buildPartial() { com.google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest result = new com.google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest(this); + int from_bitField0_ = bitField0_; if (inputBuilder_ == null) { result.input_ = input_; } else { @@ -614,6 +927,11 @@ public com.google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest buildPartia } else { result.audioConfig_ = audioConfigBuilder_.build(); } + if (((bitField0_ & 0x00000001) != 0)) { + enableTimePointing_ = java.util.Collections.unmodifiableList(enableTimePointing_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.enableTimePointing_ = enableTimePointing_; onBuilt(); return result; } @@ -674,6 +992,16 @@ public Builder mergeFrom(com.google.cloud.texttospeech.v1beta1.SynthesizeSpeechR if (other.hasAudioConfig()) { mergeAudioConfig(other.getAudioConfig()); } + if (!other.enableTimePointing_.isEmpty()) { + if (enableTimePointing_.isEmpty()) { + enableTimePointing_ = other.enableTimePointing_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureEnableTimePointingIsMutable(); + enableTimePointing_.addAll(other.enableTimePointing_); + } + onChanged(); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -705,6 +1033,8 @@ public Builder mergeFrom( return this; } + private int bitField0_; + private com.google.cloud.texttospeech.v1beta1.SynthesisInput input_; private com.google.protobuf.SingleFieldBuilderV3< com.google.cloud.texttospeech.v1beta1.SynthesisInput, @@ -1317,6 +1647,263 @@ public com.google.cloud.texttospeech.v1beta1.AudioConfigOrBuilder getAudioConfig return audioConfigBuilder_; } + private java.util.List enableTimePointing_ = + java.util.Collections.emptyList(); + + private void ensureEnableTimePointingIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + enableTimePointing_ = new java.util.ArrayList(enableTimePointing_); + bitField0_ |= 0x00000001; + } + } + /** + * + * + *
+     * Whether and what timepoints should be returned in the response.
+     * 
+ * + * + * repeated .google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest.TimepointType enable_time_pointing = 4; + * + * + * @return A list containing the enableTimePointing. + */ + public java.util.List< + com.google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest.TimepointType> + getEnableTimePointingList() { + return new com.google.protobuf.Internal.ListAdapter< + java.lang.Integer, + com.google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest.TimepointType>( + enableTimePointing_, enableTimePointing_converter_); + } + /** + * + * + *
+     * Whether and what timepoints should be returned in the response.
+     * 
+ * + * + * repeated .google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest.TimepointType enable_time_pointing = 4; + * + * + * @return The count of enableTimePointing. + */ + public int getEnableTimePointingCount() { + return enableTimePointing_.size(); + } + /** + * + * + *
+     * Whether and what timepoints should be returned in the response.
+     * 
+ * + * + * repeated .google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest.TimepointType enable_time_pointing = 4; + * + * + * @param index The index of the element to return. + * @return The enableTimePointing at the given index. + */ + public com.google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest.TimepointType + getEnableTimePointing(int index) { + return enableTimePointing_converter_.convert(enableTimePointing_.get(index)); + } + /** + * + * + *
+     * Whether and what timepoints should be returned in the response.
+     * 
+ * + * + * repeated .google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest.TimepointType enable_time_pointing = 4; + * + * + * @param index The index to set the value at. + * @param value The enableTimePointing to set. + * @return This builder for chaining. + */ + public Builder setEnableTimePointing( + int index, + com.google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest.TimepointType value) { + if (value == null) { + throw new NullPointerException(); + } + ensureEnableTimePointingIsMutable(); + enableTimePointing_.set(index, value.getNumber()); + onChanged(); + return this; + } + /** + * + * + *
+     * Whether and what timepoints should be returned in the response.
+     * 
+ * + * + * repeated .google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest.TimepointType enable_time_pointing = 4; + * + * + * @param value The enableTimePointing to add. + * @return This builder for chaining. + */ + public Builder addEnableTimePointing( + com.google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest.TimepointType value) { + if (value == null) { + throw new NullPointerException(); + } + ensureEnableTimePointingIsMutable(); + enableTimePointing_.add(value.getNumber()); + onChanged(); + return this; + } + /** + * + * + *
+     * Whether and what timepoints should be returned in the response.
+     * 
+ * + * + * repeated .google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest.TimepointType enable_time_pointing = 4; + * + * + * @param values The enableTimePointing to add. + * @return This builder for chaining. + */ + public Builder addAllEnableTimePointing( + java.lang.Iterable< + ? extends + com.google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest.TimepointType> + values) { + ensureEnableTimePointingIsMutable(); + for (com.google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest.TimepointType value : + values) { + enableTimePointing_.add(value.getNumber()); + } + onChanged(); + return this; + } + /** + * + * + *
+     * Whether and what timepoints should be returned in the response.
+     * 
+ * + * + * repeated .google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest.TimepointType enable_time_pointing = 4; + * + * + * @return This builder for chaining. + */ + public Builder clearEnableTimePointing() { + enableTimePointing_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + * + * + *
+     * Whether and what timepoints should be returned in the response.
+     * 
+ * + * + * repeated .google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest.TimepointType enable_time_pointing = 4; + * + * + * @return A list containing the enum numeric values on the wire for enableTimePointing. + */ + public java.util.List getEnableTimePointingValueList() { + return java.util.Collections.unmodifiableList(enableTimePointing_); + } + /** + * + * + *
+     * Whether and what timepoints should be returned in the response.
+     * 
+ * + * + * repeated .google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest.TimepointType enable_time_pointing = 4; + * + * + * @param index The index of the value to return. + * @return The enum numeric value on the wire of enableTimePointing at the given index. + */ + public int getEnableTimePointingValue(int index) { + return enableTimePointing_.get(index); + } + /** + * + * + *
+     * Whether and what timepoints should be returned in the response.
+     * 
+ * + * + * repeated .google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest.TimepointType enable_time_pointing = 4; + * + * + * @param index The index of the value to return. + * @return The enum numeric value on the wire of enableTimePointing at the given index. + * @return This builder for chaining. + */ + public Builder setEnableTimePointingValue(int index, int value) { + ensureEnableTimePointingIsMutable(); + enableTimePointing_.set(index, value); + onChanged(); + return this; + } + /** + * + * + *
+     * Whether and what timepoints should be returned in the response.
+     * 
+ * + * + * repeated .google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest.TimepointType enable_time_pointing = 4; + * + * + * @param value The enum numeric value on the wire for enableTimePointing to add. + * @return This builder for chaining. + */ + public Builder addEnableTimePointingValue(int value) { + ensureEnableTimePointingIsMutable(); + enableTimePointing_.add(value); + onChanged(); + return this; + } + /** + * + * + *
+     * Whether and what timepoints should be returned in the response.
+     * 
+ * + * + * repeated .google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest.TimepointType enable_time_pointing = 4; + * + * + * @param values The enum numeric values on the wire for enableTimePointing to add. + * @return This builder for chaining. + */ + public Builder addAllEnableTimePointingValue(java.lang.Iterable values) { + ensureEnableTimePointingIsMutable(); + for (int value : values) { + enableTimePointing_.add(value); + } + onChanged(); + return this; + } + @java.lang.Override public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); diff --git a/proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/SynthesizeSpeechRequestOrBuilder.java b/proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/SynthesizeSpeechRequestOrBuilder.java index 53dc3aec..44a860bc 100644 --- a/proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/SynthesizeSpeechRequestOrBuilder.java +++ b/proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/SynthesizeSpeechRequestOrBuilder.java @@ -145,4 +145,79 @@ public interface SynthesizeSpeechRequestOrBuilder * */ com.google.cloud.texttospeech.v1beta1.AudioConfigOrBuilder getAudioConfigOrBuilder(); + + /** + * + * + *
+   * Whether and what timepoints should be returned in the response.
+   * 
+ * + * + * repeated .google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest.TimepointType enable_time_pointing = 4; + * + * + * @return A list containing the enableTimePointing. + */ + java.util.List + getEnableTimePointingList(); + /** + * + * + *
+   * Whether and what timepoints should be returned in the response.
+   * 
+ * + * + * repeated .google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest.TimepointType enable_time_pointing = 4; + * + * + * @return The count of enableTimePointing. + */ + int getEnableTimePointingCount(); + /** + * + * + *
+   * Whether and what timepoints should be returned in the response.
+   * 
+ * + * + * repeated .google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest.TimepointType enable_time_pointing = 4; + * + * + * @param index The index of the element to return. + * @return The enableTimePointing at the given index. + */ + com.google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest.TimepointType getEnableTimePointing( + int index); + /** + * + * + *
+   * Whether and what timepoints should be returned in the response.
+   * 
+ * + * + * repeated .google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest.TimepointType enable_time_pointing = 4; + * + * + * @return A list containing the enum numeric values on the wire for enableTimePointing. + */ + java.util.List getEnableTimePointingValueList(); + /** + * + * + *
+   * Whether and what timepoints should be returned in the response.
+   * 
+ * + * + * repeated .google.cloud.texttospeech.v1beta1.SynthesizeSpeechRequest.TimepointType enable_time_pointing = 4; + * + * + * @param index The index of the value to return. + * @return The enum numeric value on the wire of enableTimePointing at the given index. + */ + int getEnableTimePointingValue(int index); } diff --git a/proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/SynthesizeSpeechResponse.java b/proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/SynthesizeSpeechResponse.java index 3dd650e7..53b971b9 100644 --- a/proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/SynthesizeSpeechResponse.java +++ b/proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/SynthesizeSpeechResponse.java @@ -39,6 +39,7 @@ private SynthesizeSpeechResponse(com.google.protobuf.GeneratedMessageV3.Builder< private SynthesizeSpeechResponse() { audioContent_ = com.google.protobuf.ByteString.EMPTY; + timepoints_ = java.util.Collections.emptyList(); } @java.lang.Override @@ -60,6 +61,7 @@ private SynthesizeSpeechResponse( if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } + int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -73,6 +75,35 @@ private SynthesizeSpeechResponse( case 10: { audioContent_ = input.readBytes(); + break; + } + case 18: + { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + timepoints_ = + new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + timepoints_.add( + input.readMessage( + com.google.cloud.texttospeech.v1beta1.Timepoint.parser(), extensionRegistry)); + break; + } + case 34: + { + com.google.cloud.texttospeech.v1beta1.AudioConfig.Builder subBuilder = null; + if (audioConfig_ != null) { + subBuilder = audioConfig_.toBuilder(); + } + audioConfig_ = + input.readMessage( + com.google.cloud.texttospeech.v1beta1.AudioConfig.parser(), + extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(audioConfig_); + audioConfig_ = subBuilder.buildPartial(); + } + break; } default: @@ -89,6 +120,9 @@ private SynthesizeSpeechResponse( } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + timepoints_ = java.util.Collections.unmodifiableList(timepoints_); + } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } @@ -131,6 +165,129 @@ public com.google.protobuf.ByteString getAudioContent() { return audioContent_; } + public static final int TIMEPOINTS_FIELD_NUMBER = 2; + private java.util.List timepoints_; + /** + * + * + *
+   * A link between a position in the original request input and a corresponding
+   * time in the output audio. It's only supported via `<mark>` of SSML input.
+   * 
+ * + * repeated .google.cloud.texttospeech.v1beta1.Timepoint timepoints = 2; + */ + @java.lang.Override + public java.util.List getTimepointsList() { + return timepoints_; + } + /** + * + * + *
+   * A link between a position in the original request input and a corresponding
+   * time in the output audio. It's only supported via `<mark>` of SSML input.
+   * 
+ * + * repeated .google.cloud.texttospeech.v1beta1.Timepoint timepoints = 2; + */ + @java.lang.Override + public java.util.List + getTimepointsOrBuilderList() { + return timepoints_; + } + /** + * + * + *
+   * A link between a position in the original request input and a corresponding
+   * time in the output audio. It's only supported via `<mark>` of SSML input.
+   * 
+ * + * repeated .google.cloud.texttospeech.v1beta1.Timepoint timepoints = 2; + */ + @java.lang.Override + public int getTimepointsCount() { + return timepoints_.size(); + } + /** + * + * + *
+   * A link between a position in the original request input and a corresponding
+   * time in the output audio. It's only supported via `<mark>` of SSML input.
+   * 
+ * + * repeated .google.cloud.texttospeech.v1beta1.Timepoint timepoints = 2; + */ + @java.lang.Override + public com.google.cloud.texttospeech.v1beta1.Timepoint getTimepoints(int index) { + return timepoints_.get(index); + } + /** + * + * + *
+   * A link between a position in the original request input and a corresponding
+   * time in the output audio. It's only supported via `<mark>` of SSML input.
+   * 
+ * + * repeated .google.cloud.texttospeech.v1beta1.Timepoint timepoints = 2; + */ + @java.lang.Override + public com.google.cloud.texttospeech.v1beta1.TimepointOrBuilder getTimepointsOrBuilder( + int index) { + return timepoints_.get(index); + } + + public static final int AUDIO_CONFIG_FIELD_NUMBER = 4; + private com.google.cloud.texttospeech.v1beta1.AudioConfig audioConfig_; + /** + * + * + *
+   * The audio metadata of `audio_content`.
+   * 
+ * + * .google.cloud.texttospeech.v1beta1.AudioConfig audio_config = 4; + * + * @return Whether the audioConfig field is set. + */ + @java.lang.Override + public boolean hasAudioConfig() { + return audioConfig_ != null; + } + /** + * + * + *
+   * The audio metadata of `audio_content`.
+   * 
+ * + * .google.cloud.texttospeech.v1beta1.AudioConfig audio_config = 4; + * + * @return The audioConfig. + */ + @java.lang.Override + public com.google.cloud.texttospeech.v1beta1.AudioConfig getAudioConfig() { + return audioConfig_ == null + ? com.google.cloud.texttospeech.v1beta1.AudioConfig.getDefaultInstance() + : audioConfig_; + } + /** + * + * + *
+   * The audio metadata of `audio_content`.
+   * 
+ * + * .google.cloud.texttospeech.v1beta1.AudioConfig audio_config = 4; + */ + @java.lang.Override + public com.google.cloud.texttospeech.v1beta1.AudioConfigOrBuilder getAudioConfigOrBuilder() { + return getAudioConfig(); + } + private byte memoizedIsInitialized = -1; @java.lang.Override @@ -148,6 +305,12 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io if (!audioContent_.isEmpty()) { output.writeBytes(1, audioContent_); } + for (int i = 0; i < timepoints_.size(); i++) { + output.writeMessage(2, timepoints_.get(i)); + } + if (audioConfig_ != null) { + output.writeMessage(4, getAudioConfig()); + } unknownFields.writeTo(output); } @@ -160,6 +323,12 @@ public int getSerializedSize() { if (!audioContent_.isEmpty()) { size += com.google.protobuf.CodedOutputStream.computeBytesSize(1, audioContent_); } + for (int i = 0; i < timepoints_.size(); i++) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, timepoints_.get(i)); + } + if (audioConfig_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, getAudioConfig()); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -177,6 +346,11 @@ public boolean equals(final java.lang.Object obj) { (com.google.cloud.texttospeech.v1beta1.SynthesizeSpeechResponse) obj; if (!getAudioContent().equals(other.getAudioContent())) return false; + if (!getTimepointsList().equals(other.getTimepointsList())) return false; + if (hasAudioConfig() != other.hasAudioConfig()) return false; + if (hasAudioConfig()) { + if (!getAudioConfig().equals(other.getAudioConfig())) return false; + } if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -190,6 +364,14 @@ public int hashCode() { hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + AUDIO_CONTENT_FIELD_NUMBER; hash = (53 * hash) + getAudioContent().hashCode(); + if (getTimepointsCount() > 0) { + hash = (37 * hash) + TIMEPOINTS_FIELD_NUMBER; + hash = (53 * hash) + getTimepointsList().hashCode(); + } + if (hasAudioConfig()) { + hash = (37 * hash) + AUDIO_CONFIG_FIELD_NUMBER; + hash = (53 * hash) + getAudioConfig().hashCode(); + } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -330,7 +512,9 @@ private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { } private void maybeForceBuilderInitialization() { - if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {} + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) { + getTimepointsFieldBuilder(); + } } @java.lang.Override @@ -338,6 +522,18 @@ public Builder clear() { super.clear(); audioContent_ = com.google.protobuf.ByteString.EMPTY; + if (timepointsBuilder_ == null) { + timepoints_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + } else { + timepointsBuilder_.clear(); + } + if (audioConfigBuilder_ == null) { + audioConfig_ = null; + } else { + audioConfig_ = null; + audioConfigBuilder_ = null; + } return this; } @@ -366,7 +562,22 @@ public com.google.cloud.texttospeech.v1beta1.SynthesizeSpeechResponse build() { public com.google.cloud.texttospeech.v1beta1.SynthesizeSpeechResponse buildPartial() { com.google.cloud.texttospeech.v1beta1.SynthesizeSpeechResponse result = new com.google.cloud.texttospeech.v1beta1.SynthesizeSpeechResponse(this); + int from_bitField0_ = bitField0_; result.audioContent_ = audioContent_; + if (timepointsBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + timepoints_ = java.util.Collections.unmodifiableList(timepoints_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.timepoints_ = timepoints_; + } else { + result.timepoints_ = timepointsBuilder_.build(); + } + if (audioConfigBuilder_ == null) { + result.audioConfig_ = audioConfig_; + } else { + result.audioConfig_ = audioConfigBuilder_.build(); + } onBuilt(); return result; } @@ -421,6 +632,36 @@ public Builder mergeFrom(com.google.cloud.texttospeech.v1beta1.SynthesizeSpeechR if (other.getAudioContent() != com.google.protobuf.ByteString.EMPTY) { setAudioContent(other.getAudioContent()); } + if (timepointsBuilder_ == null) { + if (!other.timepoints_.isEmpty()) { + if (timepoints_.isEmpty()) { + timepoints_ = other.timepoints_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureTimepointsIsMutable(); + timepoints_.addAll(other.timepoints_); + } + onChanged(); + } + } else { + if (!other.timepoints_.isEmpty()) { + if (timepointsBuilder_.isEmpty()) { + timepointsBuilder_.dispose(); + timepointsBuilder_ = null; + timepoints_ = other.timepoints_; + bitField0_ = (bitField0_ & ~0x00000001); + timepointsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders + ? getTimepointsFieldBuilder() + : null; + } else { + timepointsBuilder_.addAllMessages(other.timepoints_); + } + } + } + if (other.hasAudioConfig()) { + mergeAudioConfig(other.getAudioConfig()); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -452,6 +693,8 @@ public Builder mergeFrom( return this; } + private int bitField0_; + private com.google.protobuf.ByteString audioContent_ = com.google.protobuf.ByteString.EMPTY; /** * @@ -519,6 +762,562 @@ public Builder clearAudioContent() { return this; } + private java.util.List timepoints_ = + java.util.Collections.emptyList(); + + private void ensureTimepointsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + timepoints_ = + new java.util.ArrayList(timepoints_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + com.google.cloud.texttospeech.v1beta1.Timepoint, + com.google.cloud.texttospeech.v1beta1.Timepoint.Builder, + com.google.cloud.texttospeech.v1beta1.TimepointOrBuilder> + timepointsBuilder_; + + /** + * + * + *
+     * A link between a position in the original request input and a corresponding
+     * time in the output audio. It's only supported via `<mark>` of SSML input.
+     * 
+ * + * repeated .google.cloud.texttospeech.v1beta1.Timepoint timepoints = 2; + */ + public java.util.List getTimepointsList() { + if (timepointsBuilder_ == null) { + return java.util.Collections.unmodifiableList(timepoints_); + } else { + return timepointsBuilder_.getMessageList(); + } + } + /** + * + * + *
+     * A link between a position in the original request input and a corresponding
+     * time in the output audio. It's only supported via `<mark>` of SSML input.
+     * 
+ * + * repeated .google.cloud.texttospeech.v1beta1.Timepoint timepoints = 2; + */ + public int getTimepointsCount() { + if (timepointsBuilder_ == null) { + return timepoints_.size(); + } else { + return timepointsBuilder_.getCount(); + } + } + /** + * + * + *
+     * A link between a position in the original request input and a corresponding
+     * time in the output audio. It's only supported via `<mark>` of SSML input.
+     * 
+ * + * repeated .google.cloud.texttospeech.v1beta1.Timepoint timepoints = 2; + */ + public com.google.cloud.texttospeech.v1beta1.Timepoint getTimepoints(int index) { + if (timepointsBuilder_ == null) { + return timepoints_.get(index); + } else { + return timepointsBuilder_.getMessage(index); + } + } + /** + * + * + *
+     * A link between a position in the original request input and a corresponding
+     * time in the output audio. It's only supported via `<mark>` of SSML input.
+     * 
+ * + * repeated .google.cloud.texttospeech.v1beta1.Timepoint timepoints = 2; + */ + public Builder setTimepoints(int index, com.google.cloud.texttospeech.v1beta1.Timepoint value) { + if (timepointsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureTimepointsIsMutable(); + timepoints_.set(index, value); + onChanged(); + } else { + timepointsBuilder_.setMessage(index, value); + } + return this; + } + /** + * + * + *
+     * A link between a position in the original request input and a corresponding
+     * time in the output audio. It's only supported via `<mark>` of SSML input.
+     * 
+ * + * repeated .google.cloud.texttospeech.v1beta1.Timepoint timepoints = 2; + */ + public Builder setTimepoints( + int index, com.google.cloud.texttospeech.v1beta1.Timepoint.Builder builderForValue) { + if (timepointsBuilder_ == null) { + ensureTimepointsIsMutable(); + timepoints_.set(index, builderForValue.build()); + onChanged(); + } else { + timepointsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * + * + *
+     * A link between a position in the original request input and a corresponding
+     * time in the output audio. It's only supported via `<mark>` of SSML input.
+     * 
+ * + * repeated .google.cloud.texttospeech.v1beta1.Timepoint timepoints = 2; + */ + public Builder addTimepoints(com.google.cloud.texttospeech.v1beta1.Timepoint value) { + if (timepointsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureTimepointsIsMutable(); + timepoints_.add(value); + onChanged(); + } else { + timepointsBuilder_.addMessage(value); + } + return this; + } + /** + * + * + *
+     * A link between a position in the original request input and a corresponding
+     * time in the output audio. It's only supported via `<mark>` of SSML input.
+     * 
+ * + * repeated .google.cloud.texttospeech.v1beta1.Timepoint timepoints = 2; + */ + public Builder addTimepoints(int index, com.google.cloud.texttospeech.v1beta1.Timepoint value) { + if (timepointsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureTimepointsIsMutable(); + timepoints_.add(index, value); + onChanged(); + } else { + timepointsBuilder_.addMessage(index, value); + } + return this; + } + /** + * + * + *
+     * A link between a position in the original request input and a corresponding
+     * time in the output audio. It's only supported via `<mark>` of SSML input.
+     * 
+ * + * repeated .google.cloud.texttospeech.v1beta1.Timepoint timepoints = 2; + */ + public Builder addTimepoints( + com.google.cloud.texttospeech.v1beta1.Timepoint.Builder builderForValue) { + if (timepointsBuilder_ == null) { + ensureTimepointsIsMutable(); + timepoints_.add(builderForValue.build()); + onChanged(); + } else { + timepointsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * + * + *
+     * A link between a position in the original request input and a corresponding
+     * time in the output audio. It's only supported via `<mark>` of SSML input.
+     * 
+ * + * repeated .google.cloud.texttospeech.v1beta1.Timepoint timepoints = 2; + */ + public Builder addTimepoints( + int index, com.google.cloud.texttospeech.v1beta1.Timepoint.Builder builderForValue) { + if (timepointsBuilder_ == null) { + ensureTimepointsIsMutable(); + timepoints_.add(index, builderForValue.build()); + onChanged(); + } else { + timepointsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * + * + *
+     * A link between a position in the original request input and a corresponding
+     * time in the output audio. It's only supported via `<mark>` of SSML input.
+     * 
+ * + * repeated .google.cloud.texttospeech.v1beta1.Timepoint timepoints = 2; + */ + public Builder addAllTimepoints( + java.lang.Iterable values) { + if (timepointsBuilder_ == null) { + ensureTimepointsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, timepoints_); + onChanged(); + } else { + timepointsBuilder_.addAllMessages(values); + } + return this; + } + /** + * + * + *
+     * A link between a position in the original request input and a corresponding
+     * time in the output audio. It's only supported via `<mark>` of SSML input.
+     * 
+ * + * repeated .google.cloud.texttospeech.v1beta1.Timepoint timepoints = 2; + */ + public Builder clearTimepoints() { + if (timepointsBuilder_ == null) { + timepoints_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + timepointsBuilder_.clear(); + } + return this; + } + /** + * + * + *
+     * A link between a position in the original request input and a corresponding
+     * time in the output audio. It's only supported via `<mark>` of SSML input.
+     * 
+ * + * repeated .google.cloud.texttospeech.v1beta1.Timepoint timepoints = 2; + */ + public Builder removeTimepoints(int index) { + if (timepointsBuilder_ == null) { + ensureTimepointsIsMutable(); + timepoints_.remove(index); + onChanged(); + } else { + timepointsBuilder_.remove(index); + } + return this; + } + /** + * + * + *
+     * A link between a position in the original request input and a corresponding
+     * time in the output audio. It's only supported via `<mark>` of SSML input.
+     * 
+ * + * repeated .google.cloud.texttospeech.v1beta1.Timepoint timepoints = 2; + */ + public com.google.cloud.texttospeech.v1beta1.Timepoint.Builder getTimepointsBuilder(int index) { + return getTimepointsFieldBuilder().getBuilder(index); + } + /** + * + * + *
+     * A link between a position in the original request input and a corresponding
+     * time in the output audio. It's only supported via `<mark>` of SSML input.
+     * 
+ * + * repeated .google.cloud.texttospeech.v1beta1.Timepoint timepoints = 2; + */ + public com.google.cloud.texttospeech.v1beta1.TimepointOrBuilder getTimepointsOrBuilder( + int index) { + if (timepointsBuilder_ == null) { + return timepoints_.get(index); + } else { + return timepointsBuilder_.getMessageOrBuilder(index); + } + } + /** + * + * + *
+     * A link between a position in the original request input and a corresponding
+     * time in the output audio. It's only supported via `<mark>` of SSML input.
+     * 
+ * + * repeated .google.cloud.texttospeech.v1beta1.Timepoint timepoints = 2; + */ + public java.util.List + getTimepointsOrBuilderList() { + if (timepointsBuilder_ != null) { + return timepointsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(timepoints_); + } + } + /** + * + * + *
+     * A link between a position in the original request input and a corresponding
+     * time in the output audio. It's only supported via `<mark>` of SSML input.
+     * 
+ * + * repeated .google.cloud.texttospeech.v1beta1.Timepoint timepoints = 2; + */ + public com.google.cloud.texttospeech.v1beta1.Timepoint.Builder addTimepointsBuilder() { + return getTimepointsFieldBuilder() + .addBuilder(com.google.cloud.texttospeech.v1beta1.Timepoint.getDefaultInstance()); + } + /** + * + * + *
+     * A link between a position in the original request input and a corresponding
+     * time in the output audio. It's only supported via `<mark>` of SSML input.
+     * 
+ * + * repeated .google.cloud.texttospeech.v1beta1.Timepoint timepoints = 2; + */ + public com.google.cloud.texttospeech.v1beta1.Timepoint.Builder addTimepointsBuilder(int index) { + return getTimepointsFieldBuilder() + .addBuilder(index, com.google.cloud.texttospeech.v1beta1.Timepoint.getDefaultInstance()); + } + /** + * + * + *
+     * A link between a position in the original request input and a corresponding
+     * time in the output audio. It's only supported via `<mark>` of SSML input.
+     * 
+ * + * repeated .google.cloud.texttospeech.v1beta1.Timepoint timepoints = 2; + */ + public java.util.List + getTimepointsBuilderList() { + return getTimepointsFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + com.google.cloud.texttospeech.v1beta1.Timepoint, + com.google.cloud.texttospeech.v1beta1.Timepoint.Builder, + com.google.cloud.texttospeech.v1beta1.TimepointOrBuilder> + getTimepointsFieldBuilder() { + if (timepointsBuilder_ == null) { + timepointsBuilder_ = + new com.google.protobuf.RepeatedFieldBuilderV3< + com.google.cloud.texttospeech.v1beta1.Timepoint, + com.google.cloud.texttospeech.v1beta1.Timepoint.Builder, + com.google.cloud.texttospeech.v1beta1.TimepointOrBuilder>( + timepoints_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); + timepoints_ = null; + } + return timepointsBuilder_; + } + + private com.google.cloud.texttospeech.v1beta1.AudioConfig audioConfig_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.cloud.texttospeech.v1beta1.AudioConfig, + com.google.cloud.texttospeech.v1beta1.AudioConfig.Builder, + com.google.cloud.texttospeech.v1beta1.AudioConfigOrBuilder> + audioConfigBuilder_; + /** + * + * + *
+     * The audio metadata of `audio_content`.
+     * 
+ * + * .google.cloud.texttospeech.v1beta1.AudioConfig audio_config = 4; + * + * @return Whether the audioConfig field is set. + */ + public boolean hasAudioConfig() { + return audioConfigBuilder_ != null || audioConfig_ != null; + } + /** + * + * + *
+     * The audio metadata of `audio_content`.
+     * 
+ * + * .google.cloud.texttospeech.v1beta1.AudioConfig audio_config = 4; + * + * @return The audioConfig. + */ + public com.google.cloud.texttospeech.v1beta1.AudioConfig getAudioConfig() { + if (audioConfigBuilder_ == null) { + return audioConfig_ == null + ? com.google.cloud.texttospeech.v1beta1.AudioConfig.getDefaultInstance() + : audioConfig_; + } else { + return audioConfigBuilder_.getMessage(); + } + } + /** + * + * + *
+     * The audio metadata of `audio_content`.
+     * 
+ * + * .google.cloud.texttospeech.v1beta1.AudioConfig audio_config = 4; + */ + public Builder setAudioConfig(com.google.cloud.texttospeech.v1beta1.AudioConfig value) { + if (audioConfigBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + audioConfig_ = value; + onChanged(); + } else { + audioConfigBuilder_.setMessage(value); + } + + return this; + } + /** + * + * + *
+     * The audio metadata of `audio_content`.
+     * 
+ * + * .google.cloud.texttospeech.v1beta1.AudioConfig audio_config = 4; + */ + public Builder setAudioConfig( + com.google.cloud.texttospeech.v1beta1.AudioConfig.Builder builderForValue) { + if (audioConfigBuilder_ == null) { + audioConfig_ = builderForValue.build(); + onChanged(); + } else { + audioConfigBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * + * + *
+     * The audio metadata of `audio_content`.
+     * 
+ * + * .google.cloud.texttospeech.v1beta1.AudioConfig audio_config = 4; + */ + public Builder mergeAudioConfig(com.google.cloud.texttospeech.v1beta1.AudioConfig value) { + if (audioConfigBuilder_ == null) { + if (audioConfig_ != null) { + audioConfig_ = + com.google.cloud.texttospeech.v1beta1.AudioConfig.newBuilder(audioConfig_) + .mergeFrom(value) + .buildPartial(); + } else { + audioConfig_ = value; + } + onChanged(); + } else { + audioConfigBuilder_.mergeFrom(value); + } + + return this; + } + /** + * + * + *
+     * The audio metadata of `audio_content`.
+     * 
+ * + * .google.cloud.texttospeech.v1beta1.AudioConfig audio_config = 4; + */ + public Builder clearAudioConfig() { + if (audioConfigBuilder_ == null) { + audioConfig_ = null; + onChanged(); + } else { + audioConfig_ = null; + audioConfigBuilder_ = null; + } + + return this; + } + /** + * + * + *
+     * The audio metadata of `audio_content`.
+     * 
+ * + * .google.cloud.texttospeech.v1beta1.AudioConfig audio_config = 4; + */ + public com.google.cloud.texttospeech.v1beta1.AudioConfig.Builder getAudioConfigBuilder() { + + onChanged(); + return getAudioConfigFieldBuilder().getBuilder(); + } + /** + * + * + *
+     * The audio metadata of `audio_content`.
+     * 
+ * + * .google.cloud.texttospeech.v1beta1.AudioConfig audio_config = 4; + */ + public com.google.cloud.texttospeech.v1beta1.AudioConfigOrBuilder getAudioConfigOrBuilder() { + if (audioConfigBuilder_ != null) { + return audioConfigBuilder_.getMessageOrBuilder(); + } else { + return audioConfig_ == null + ? com.google.cloud.texttospeech.v1beta1.AudioConfig.getDefaultInstance() + : audioConfig_; + } + } + /** + * + * + *
+     * The audio metadata of `audio_content`.
+     * 
+ * + * .google.cloud.texttospeech.v1beta1.AudioConfig audio_config = 4; + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.cloud.texttospeech.v1beta1.AudioConfig, + com.google.cloud.texttospeech.v1beta1.AudioConfig.Builder, + com.google.cloud.texttospeech.v1beta1.AudioConfigOrBuilder> + getAudioConfigFieldBuilder() { + if (audioConfigBuilder_ == null) { + audioConfigBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.cloud.texttospeech.v1beta1.AudioConfig, + com.google.cloud.texttospeech.v1beta1.AudioConfig.Builder, + com.google.cloud.texttospeech.v1beta1.AudioConfigOrBuilder>( + getAudioConfig(), getParentForChildren(), isClean()); + audioConfig_ = null; + } + return audioConfigBuilder_; + } + @java.lang.Override public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); diff --git a/proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/SynthesizeSpeechResponseOrBuilder.java b/proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/SynthesizeSpeechResponseOrBuilder.java index 3fae36e8..56e9988a 100644 --- a/proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/SynthesizeSpeechResponseOrBuilder.java +++ b/proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/SynthesizeSpeechResponseOrBuilder.java @@ -39,4 +39,96 @@ public interface SynthesizeSpeechResponseOrBuilder * @return The audioContent. */ com.google.protobuf.ByteString getAudioContent(); + + /** + * + * + *
+   * A link between a position in the original request input and a corresponding
+   * time in the output audio. It's only supported via `<mark>` of SSML input.
+   * 
+ * + * repeated .google.cloud.texttospeech.v1beta1.Timepoint timepoints = 2; + */ + java.util.List getTimepointsList(); + /** + * + * + *
+   * A link between a position in the original request input and a corresponding
+   * time in the output audio. It's only supported via `<mark>` of SSML input.
+   * 
+ * + * repeated .google.cloud.texttospeech.v1beta1.Timepoint timepoints = 2; + */ + com.google.cloud.texttospeech.v1beta1.Timepoint getTimepoints(int index); + /** + * + * + *
+   * A link between a position in the original request input and a corresponding
+   * time in the output audio. It's only supported via `<mark>` of SSML input.
+   * 
+ * + * repeated .google.cloud.texttospeech.v1beta1.Timepoint timepoints = 2; + */ + int getTimepointsCount(); + /** + * + * + *
+   * A link between a position in the original request input and a corresponding
+   * time in the output audio. It's only supported via `<mark>` of SSML input.
+   * 
+ * + * repeated .google.cloud.texttospeech.v1beta1.Timepoint timepoints = 2; + */ + java.util.List + getTimepointsOrBuilderList(); + /** + * + * + *
+   * A link between a position in the original request input and a corresponding
+   * time in the output audio. It's only supported via `<mark>` of SSML input.
+   * 
+ * + * repeated .google.cloud.texttospeech.v1beta1.Timepoint timepoints = 2; + */ + com.google.cloud.texttospeech.v1beta1.TimepointOrBuilder getTimepointsOrBuilder(int index); + + /** + * + * + *
+   * The audio metadata of `audio_content`.
+   * 
+ * + * .google.cloud.texttospeech.v1beta1.AudioConfig audio_config = 4; + * + * @return Whether the audioConfig field is set. + */ + boolean hasAudioConfig(); + /** + * + * + *
+   * The audio metadata of `audio_content`.
+   * 
+ * + * .google.cloud.texttospeech.v1beta1.AudioConfig audio_config = 4; + * + * @return The audioConfig. + */ + com.google.cloud.texttospeech.v1beta1.AudioConfig getAudioConfig(); + /** + * + * + *
+   * The audio metadata of `audio_content`.
+   * 
+ * + * .google.cloud.texttospeech.v1beta1.AudioConfig audio_config = 4; + */ + com.google.cloud.texttospeech.v1beta1.AudioConfigOrBuilder getAudioConfigOrBuilder(); } diff --git a/proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/TextToSpeechProto.java b/proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/TextToSpeechProto.java index c50b75c9..9f6217be 100644 --- a/proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/TextToSpeechProto.java +++ b/proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/TextToSpeechProto.java @@ -59,6 +59,10 @@ public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry r internal_static_google_cloud_texttospeech_v1beta1_SynthesizeSpeechResponse_descriptor; static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_google_cloud_texttospeech_v1beta1_SynthesizeSpeechResponse_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_texttospeech_v1beta1_Timepoint_descriptor; + static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_google_cloud_texttospeech_v1beta1_Timepoint_fieldAccessorTable; public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { return descriptor; @@ -79,49 +83,58 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "guage_codes\030\001 \003(\t\022\014\n\004name\030\002 \001(\t\022G\n\013ssml_" + "gender\030\003 \001(\01622.google.cloud.texttospeech" + ".v1beta1.SsmlVoiceGender\022!\n\031natural_samp" - + "le_rate_hertz\030\004 \001(\005\"\370\001\n\027SynthesizeSpeech" + + "le_rate_hertz\030\004 \001(\005\"\240\003\n\027SynthesizeSpeech" + "Request\022E\n\005input\030\001 \001(\01321.google.cloud.te" + "xttospeech.v1beta1.SynthesisInputB\003\340A\002\022K" + "\n\005voice\030\002 \001(\01327.google.cloud.texttospeec" + "h.v1beta1.VoiceSelectionParamsB\003\340A\002\022I\n\014a" + "udio_config\030\003 \001(\0132..google.cloud.texttos" - + "peech.v1beta1.AudioConfigB\003\340A\002\"@\n\016Synthe" - + "sisInput\022\016\n\004text\030\001 \001(\tH\000\022\016\n\004ssml\030\002 \001(\tH\000" - + "B\016\n\014input_source\"\211\001\n\024VoiceSelectionParam" - + "s\022\032\n\rlanguage_code\030\001 \001(\tB\003\340A\002\022\014\n\004name\030\002 " - + "\001(\t\022G\n\013ssml_gender\030\003 \001(\01622.google.cloud." - + "texttospeech.v1beta1.SsmlVoiceGender\"\366\001\n" - + "\013AudioConfig\022M\n\016audio_encoding\030\001 \001(\01620.g" - + "oogle.cloud.texttospeech.v1beta1.AudioEn" - + "codingB\003\340A\002\022\035\n\rspeaking_rate\030\002 \001(\001B\006\340A\004\340" - + "A\001\022\025\n\005pitch\030\003 \001(\001B\006\340A\004\340A\001\022\036\n\016volume_gain" - + "_db\030\004 \001(\001B\006\340A\004\340A\001\022\036\n\021sample_rate_hertz\030\005" - + " \001(\005B\003\340A\001\022\"\n\022effects_profile_id\030\006 \003(\tB\006\340" - + "A\004\340A\001\"1\n\030SynthesizeSpeechResponse\022\025\n\raud" - + "io_content\030\001 \001(\014*W\n\017SsmlVoiceGender\022!\n\035S" - + "SML_VOICE_GENDER_UNSPECIFIED\020\000\022\010\n\004MALE\020\001" - + "\022\n\n\006FEMALE\020\002\022\013\n\007NEUTRAL\020\003*T\n\rAudioEncodi" - + "ng\022\036\n\032AUDIO_ENCODING_UNSPECIFIED\020\000\022\014\n\010LI" - + "NEAR16\020\001\022\007\n\003MP3\020\002\022\014\n\010OGG_OPUS\020\0032\322\003\n\014Text" - + "ToSpeech\022\242\001\n\nListVoices\0224.google.cloud.t" - + "exttospeech.v1beta1.ListVoicesRequest\0325." - + "google.cloud.texttospeech.v1beta1.ListVo" - + "icesResponse\"\'\202\323\344\223\002\021\022\017/v1beta1/voices\332A\r" - + "language_code\022\313\001\n\020SynthesizeSpeech\022:.goo" - + "gle.cloud.texttospeech.v1beta1.Synthesiz" - + "eSpeechRequest\032;.google.cloud.texttospee" - + "ch.v1beta1.SynthesizeSpeechResponse\">\202\323\344" - + "\223\002\035\"\030/v1beta1/text:synthesize:\001*\332A\030input" - + ",voice,audio_config\032O\312A\033texttospeech.goo" - + "gleapis.com\322A.https://www.googleapis.com" - + "/auth/cloud-platformB\375\001\n%com.google.clou" - + "d.texttospeech.v1beta1B\021TextToSpeechProt" - + "oP\001ZMgoogle.golang.org/genproto/googleap" - + "is/cloud/texttospeech/v1beta1;texttospee" - + "ch\370\001\001\252\002!Google.Cloud.TextToSpeech.V1beta" - + "1\312\002!Google\\Cloud\\TextToSpeech\\V1beta1\352\002$" - + "Google::Cloud::TextToSpeech::V1beta1b\006pr" - + "oto3" + + "peech.v1beta1.AudioConfigB\003\340A\002\022f\n\024enable" + + "_time_pointing\030\004 \003(\0162H.google.cloud.text" + + "tospeech.v1beta1.SynthesizeSpeechRequest" + + ".TimepointType\">\n\rTimepointType\022\036\n\032TIMEP" + + "OINT_TYPE_UNSPECIFIED\020\000\022\r\n\tSSML_MARK\020\001\"@" + + "\n\016SynthesisInput\022\016\n\004text\030\001 \001(\tH\000\022\016\n\004ssml" + + "\030\002 \001(\tH\000B\016\n\014input_source\"\211\001\n\024VoiceSelect" + + "ionParams\022\032\n\rlanguage_code\030\001 \001(\tB\003\340A\002\022\014\n" + + "\004name\030\002 \001(\t\022G\n\013ssml_gender\030\003 \001(\01622.googl" + + "e.cloud.texttospeech.v1beta1.SsmlVoiceGe" + + "nder\"\366\001\n\013AudioConfig\022M\n\016audio_encoding\030\001" + + " \001(\01620.google.cloud.texttospeech.v1beta1" + + ".AudioEncodingB\003\340A\002\022\035\n\rspeaking_rate\030\002 \001" + + "(\001B\006\340A\004\340A\001\022\025\n\005pitch\030\003 \001(\001B\006\340A\004\340A\001\022\036\n\016vol" + + "ume_gain_db\030\004 \001(\001B\006\340A\004\340A\001\022\036\n\021sample_rate" + + "_hertz\030\005 \001(\005B\003\340A\001\022\"\n\022effects_profile_id\030" + + "\006 \003(\tB\006\340A\004\340A\001\"\271\001\n\030SynthesizeSpeechRespon" + + "se\022\025\n\raudio_content\030\001 \001(\014\022@\n\ntimepoints\030" + + "\002 \003(\0132,.google.cloud.texttospeech.v1beta" + + "1.Timepoint\022D\n\014audio_config\030\004 \001(\0132..goog" + + "le.cloud.texttospeech.v1beta1.AudioConfi" + + "g\"4\n\tTimepoint\022\021\n\tmark_name\030\004 \001(\t\022\024\n\014tim" + + "e_seconds\030\003 \001(\001*W\n\017SsmlVoiceGender\022!\n\035SS" + + "ML_VOICE_GENDER_UNSPECIFIED\020\000\022\010\n\004MALE\020\001\022" + + "\n\n\006FEMALE\020\002\022\013\n\007NEUTRAL\020\003*p\n\rAudioEncodin" + + "g\022\036\n\032AUDIO_ENCODING_UNSPECIFIED\020\000\022\014\n\010LIN" + + "EAR16\020\001\022\007\n\003MP3\020\002\022\017\n\013MP3_64_KBPS\020\004\022\014\n\010OGG" + + "_OPUS\020\003\022\t\n\005MULAW\020\0052\322\003\n\014TextToSpeech\022\242\001\n\n" + + "ListVoices\0224.google.cloud.texttospeech.v" + + "1beta1.ListVoicesRequest\0325.google.cloud." + + "texttospeech.v1beta1.ListVoicesResponse\"" + + "\'\202\323\344\223\002\021\022\017/v1beta1/voices\332A\rlanguage_code" + + "\022\313\001\n\020SynthesizeSpeech\022:.google.cloud.tex" + + "ttospeech.v1beta1.SynthesizeSpeechReques" + + "t\032;.google.cloud.texttospeech.v1beta1.Sy" + + "nthesizeSpeechResponse\">\202\323\344\223\002\035\"\030/v1beta1" + + "/text:synthesize:\001*\332A\030input,voice,audio_" + + "config\032O\312A\033texttospeech.googleapis.com\322A" + + ".https://www.googleapis.com/auth/cloud-p" + + "latformB\375\001\n%com.google.cloud.texttospeec" + + "h.v1beta1B\021TextToSpeechProtoP\001ZMgoogle.g" + + "olang.org/genproto/googleapis/cloud/text" + + "tospeech/v1beta1;texttospeech\370\001\001\252\002!Googl" + + "e.Cloud.TextToSpeech.V1beta1\312\002!Google\\Cl" + + "oud\\TextToSpeech\\V1beta1\352\002$Google::Cloud" + + "::TextToSpeech::V1beta1b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( @@ -161,7 +174,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_cloud_texttospeech_v1beta1_SynthesizeSpeechRequest_descriptor, new java.lang.String[] { - "Input", "Voice", "AudioConfig", + "Input", "Voice", "AudioConfig", "EnableTimePointing", }); internal_static_google_cloud_texttospeech_v1beta1_SynthesisInput_descriptor = getDescriptor().getMessageTypes().get(4); @@ -198,7 +211,15 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_cloud_texttospeech_v1beta1_SynthesizeSpeechResponse_descriptor, new java.lang.String[] { - "AudioContent", + "AudioContent", "Timepoints", "AudioConfig", + }); + internal_static_google_cloud_texttospeech_v1beta1_Timepoint_descriptor = + getDescriptor().getMessageTypes().get(8); + internal_static_google_cloud_texttospeech_v1beta1_Timepoint_fieldAccessorTable = + new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_google_cloud_texttospeech_v1beta1_Timepoint_descriptor, + new java.lang.String[] { + "MarkName", "TimeSeconds", }); com.google.protobuf.ExtensionRegistry registry = com.google.protobuf.ExtensionRegistry.newInstance(); diff --git a/proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/Timepoint.java b/proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/Timepoint.java new file mode 100644 index 00000000..54d5c937 --- /dev/null +++ b/proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/Timepoint.java @@ -0,0 +1,731 @@ +/* + * Copyright 2020 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/cloud/texttospeech/v1beta1/cloud_tts.proto + +package com.google.cloud.texttospeech.v1beta1; + +/** + * + * + *
+ * This contains a mapping between a certain point in the input text and a
+ * corresponding time in the output audio.
+ * 
+ * + * Protobuf type {@code google.cloud.texttospeech.v1beta1.Timepoint} + */ +public final class Timepoint extends com.google.protobuf.GeneratedMessageV3 + implements + // @@protoc_insertion_point(message_implements:google.cloud.texttospeech.v1beta1.Timepoint) + TimepointOrBuilder { + private static final long serialVersionUID = 0L; + // Use Timepoint.newBuilder() to construct. + private Timepoint(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private Timepoint() { + markName_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new Timepoint(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private Timepoint( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 25: + { + timeSeconds_ = input.readDouble(); + break; + } + case 34: + { + java.lang.String s = input.readStringRequireUtf8(); + + markName_ = s; + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.texttospeech.v1beta1.TextToSpeechProto + .internal_static_google_cloud_texttospeech_v1beta1_Timepoint_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.texttospeech.v1beta1.TextToSpeechProto + .internal_static_google_cloud_texttospeech_v1beta1_Timepoint_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.texttospeech.v1beta1.Timepoint.class, + com.google.cloud.texttospeech.v1beta1.Timepoint.Builder.class); + } + + public static final int MARK_NAME_FIELD_NUMBER = 4; + private volatile java.lang.Object markName_; + /** + * + * + *
+   * Timepoint name as received from the client within `<mark>` tag.
+   * 
+ * + * string mark_name = 4; + * + * @return The markName. + */ + @java.lang.Override + public java.lang.String getMarkName() { + java.lang.Object ref = markName_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + markName_ = s; + return s; + } + } + /** + * + * + *
+   * Timepoint name as received from the client within `<mark>` tag.
+   * 
+ * + * string mark_name = 4; + * + * @return The bytes for markName. + */ + @java.lang.Override + public com.google.protobuf.ByteString getMarkNameBytes() { + java.lang.Object ref = markName_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + markName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int TIME_SECONDS_FIELD_NUMBER = 3; + private double timeSeconds_; + /** + * + * + *
+   * Time offset in seconds from the start of the synthesized audio.
+   * 
+ * + * double time_seconds = 3; + * + * @return The timeSeconds. + */ + @java.lang.Override + public double getTimeSeconds() { + return timeSeconds_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (timeSeconds_ != 0D) { + output.writeDouble(3, timeSeconds_); + } + if (!getMarkNameBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 4, markName_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (timeSeconds_ != 0D) { + size += com.google.protobuf.CodedOutputStream.computeDoubleSize(3, timeSeconds_); + } + if (!getMarkNameBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, markName_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.texttospeech.v1beta1.Timepoint)) { + return super.equals(obj); + } + com.google.cloud.texttospeech.v1beta1.Timepoint other = + (com.google.cloud.texttospeech.v1beta1.Timepoint) obj; + + if (!getMarkName().equals(other.getMarkName())) return false; + if (java.lang.Double.doubleToLongBits(getTimeSeconds()) + != java.lang.Double.doubleToLongBits(other.getTimeSeconds())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + MARK_NAME_FIELD_NUMBER; + hash = (53 * hash) + getMarkName().hashCode(); + hash = (37 * hash) + TIME_SECONDS_FIELD_NUMBER; + hash = + (53 * hash) + + com.google.protobuf.Internal.hashLong( + java.lang.Double.doubleToLongBits(getTimeSeconds())); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.texttospeech.v1beta1.Timepoint parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.texttospeech.v1beta1.Timepoint parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.texttospeech.v1beta1.Timepoint parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.texttospeech.v1beta1.Timepoint parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.texttospeech.v1beta1.Timepoint parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.texttospeech.v1beta1.Timepoint parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.texttospeech.v1beta1.Timepoint parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.texttospeech.v1beta1.Timepoint parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.texttospeech.v1beta1.Timepoint parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.texttospeech.v1beta1.Timepoint parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.texttospeech.v1beta1.Timepoint parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.texttospeech.v1beta1.Timepoint parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(com.google.cloud.texttospeech.v1beta1.Timepoint prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * + * + *
+   * This contains a mapping between a certain point in the input text and a
+   * corresponding time in the output audio.
+   * 
+ * + * Protobuf type {@code google.cloud.texttospeech.v1beta1.Timepoint} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.texttospeech.v1beta1.Timepoint) + com.google.cloud.texttospeech.v1beta1.TimepointOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.texttospeech.v1beta1.TextToSpeechProto + .internal_static_google_cloud_texttospeech_v1beta1_Timepoint_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.texttospeech.v1beta1.TextToSpeechProto + .internal_static_google_cloud_texttospeech_v1beta1_Timepoint_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.texttospeech.v1beta1.Timepoint.class, + com.google.cloud.texttospeech.v1beta1.Timepoint.Builder.class); + } + + // Construct using com.google.cloud.texttospeech.v1beta1.Timepoint.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {} + } + + @java.lang.Override + public Builder clear() { + super.clear(); + markName_ = ""; + + timeSeconds_ = 0D; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.texttospeech.v1beta1.TextToSpeechProto + .internal_static_google_cloud_texttospeech_v1beta1_Timepoint_descriptor; + } + + @java.lang.Override + public com.google.cloud.texttospeech.v1beta1.Timepoint getDefaultInstanceForType() { + return com.google.cloud.texttospeech.v1beta1.Timepoint.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.texttospeech.v1beta1.Timepoint build() { + com.google.cloud.texttospeech.v1beta1.Timepoint result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.texttospeech.v1beta1.Timepoint buildPartial() { + com.google.cloud.texttospeech.v1beta1.Timepoint result = + new com.google.cloud.texttospeech.v1beta1.Timepoint(this); + result.markName_ = markName_; + result.timeSeconds_ = timeSeconds_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.texttospeech.v1beta1.Timepoint) { + return mergeFrom((com.google.cloud.texttospeech.v1beta1.Timepoint) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.texttospeech.v1beta1.Timepoint other) { + if (other == com.google.cloud.texttospeech.v1beta1.Timepoint.getDefaultInstance()) + return this; + if (!other.getMarkName().isEmpty()) { + markName_ = other.markName_; + onChanged(); + } + if (other.getTimeSeconds() != 0D) { + setTimeSeconds(other.getTimeSeconds()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + com.google.cloud.texttospeech.v1beta1.Timepoint parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (com.google.cloud.texttospeech.v1beta1.Timepoint) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private java.lang.Object markName_ = ""; + /** + * + * + *
+     * Timepoint name as received from the client within `<mark>` tag.
+     * 
+ * + * string mark_name = 4; + * + * @return The markName. + */ + public java.lang.String getMarkName() { + java.lang.Object ref = markName_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + markName_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
+     * Timepoint name as received from the client within `<mark>` tag.
+     * 
+ * + * string mark_name = 4; + * + * @return The bytes for markName. + */ + public com.google.protobuf.ByteString getMarkNameBytes() { + java.lang.Object ref = markName_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + markName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
+     * Timepoint name as received from the client within `<mark>` tag.
+     * 
+ * + * string mark_name = 4; + * + * @param value The markName to set. + * @return This builder for chaining. + */ + public Builder setMarkName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + markName_ = value; + onChanged(); + return this; + } + /** + * + * + *
+     * Timepoint name as received from the client within `<mark>` tag.
+     * 
+ * + * string mark_name = 4; + * + * @return This builder for chaining. + */ + public Builder clearMarkName() { + + markName_ = getDefaultInstance().getMarkName(); + onChanged(); + return this; + } + /** + * + * + *
+     * Timepoint name as received from the client within `<mark>` tag.
+     * 
+ * + * string mark_name = 4; + * + * @param value The bytes for markName to set. + * @return This builder for chaining. + */ + public Builder setMarkNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + markName_ = value; + onChanged(); + return this; + } + + private double timeSeconds_; + /** + * + * + *
+     * Time offset in seconds from the start of the synthesized audio.
+     * 
+ * + * double time_seconds = 3; + * + * @return The timeSeconds. + */ + @java.lang.Override + public double getTimeSeconds() { + return timeSeconds_; + } + /** + * + * + *
+     * Time offset in seconds from the start of the synthesized audio.
+     * 
+ * + * double time_seconds = 3; + * + * @param value The timeSeconds to set. + * @return This builder for chaining. + */ + public Builder setTimeSeconds(double value) { + + timeSeconds_ = value; + onChanged(); + return this; + } + /** + * + * + *
+     * Time offset in seconds from the start of the synthesized audio.
+     * 
+ * + * double time_seconds = 3; + * + * @return This builder for chaining. + */ + public Builder clearTimeSeconds() { + + timeSeconds_ = 0D; + onChanged(); + return this; + } + + @java.lang.Override + public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:google.cloud.texttospeech.v1beta1.Timepoint) + } + + // @@protoc_insertion_point(class_scope:google.cloud.texttospeech.v1beta1.Timepoint) + private static final com.google.cloud.texttospeech.v1beta1.Timepoint DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.texttospeech.v1beta1.Timepoint(); + } + + public static com.google.cloud.texttospeech.v1beta1.Timepoint getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public Timepoint parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new Timepoint(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.texttospeech.v1beta1.Timepoint getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/TimepointOrBuilder.java b/proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/TimepointOrBuilder.java new file mode 100644 index 00000000..cb356b5c --- /dev/null +++ b/proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/TimepointOrBuilder.java @@ -0,0 +1,63 @@ +/* + * Copyright 2020 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/cloud/texttospeech/v1beta1/cloud_tts.proto + +package com.google.cloud.texttospeech.v1beta1; + +public interface TimepointOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.texttospeech.v1beta1.Timepoint) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Timepoint name as received from the client within `<mark>` tag.
+   * 
+ * + * string mark_name = 4; + * + * @return The markName. + */ + java.lang.String getMarkName(); + /** + * + * + *
+   * Timepoint name as received from the client within `<mark>` tag.
+   * 
+ * + * string mark_name = 4; + * + * @return The bytes for markName. + */ + com.google.protobuf.ByteString getMarkNameBytes(); + + /** + * + * + *
+   * Time offset in seconds from the start of the synthesized audio.
+   * 
+ * + * double time_seconds = 3; + * + * @return The timeSeconds. + */ + double getTimeSeconds(); +} diff --git a/proto-google-cloud-texttospeech-v1beta1/src/main/proto/google/cloud/texttospeech/v1beta1/cloud_tts.proto b/proto-google-cloud-texttospeech-v1beta1/src/main/proto/google/cloud/texttospeech/v1beta1/cloud_tts.proto index f50a7fbd..15fbe9c7 100644 --- a/proto-google-cloud-texttospeech-v1beta1/src/main/proto/google/cloud/texttospeech/v1beta1/cloud_tts.proto +++ b/proto-google-cloud-texttospeech-v1beta1/src/main/proto/google/cloud/texttospeech/v1beta1/cloud_tts.proto @@ -11,7 +11,6 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -// syntax = "proto3"; @@ -83,7 +82,7 @@ enum SsmlVoiceGender { // A female voice. FEMALE = 2; - // A gender-neutral voice. + // A gender-neutral voice. This voice is not yet supported. NEUTRAL = 3; } @@ -100,11 +99,18 @@ enum AudioEncoding { // MP3 audio at 32kbps. MP3 = 2; + // MP3 at 64kbps. + MP3_64_KBPS = 4; + // Opus encoded audio wrapped in an ogg container. The result will be a // file which can be played natively on Android, and in browsers (at least // Chrome and Firefox). The quality of the encoding is considerably higher // than MP3 while using approximately the same bitrate. OGG_OPUS = 3; + + // 8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law. + // Audio content returned as MULAW also contains a WAV header. + MULAW = 5; } // The message returned to the client by the `ListVoices` method. @@ -132,6 +138,15 @@ message Voice { // The top-level message sent by the client for the `SynthesizeSpeech` method. message SynthesizeSpeechRequest { + // The type of timepoint information that is returned in the response. + enum TimepointType { + // Not specified. No timepoint information will be returned. + TIMEPOINT_TYPE_UNSPECIFIED = 0; + + // Timepoint information of `` tags in SSML input will be returned. + SSML_MARK = 1; + } + // Required. The Synthesizer requires either plain text or SSML as input. SynthesisInput input = 1 [(google.api.field_behavior) = REQUIRED]; @@ -140,6 +155,9 @@ message SynthesizeSpeechRequest { // Required. The configuration of the synthesized audio. AudioConfig audio_config = 3 [(google.api.field_behavior) = REQUIRED]; + + // Whether and what timepoints should be returned in the response. + repeated TimepointType enable_time_pointing = 4; } // Contains text input to be synthesized. Either `text` or `ssml` must be @@ -251,4 +269,21 @@ message SynthesizeSpeechResponse { // with all bytes fields, protobuffers use a pure binary representation, // whereas JSON representations use base64. bytes audio_content = 1; + + // A link between a position in the original request input and a corresponding + // time in the output audio. It's only supported via `` of SSML input. + repeated Timepoint timepoints = 2; + + // The audio metadata of `audio_content`. + AudioConfig audio_config = 4; +} + +// This contains a mapping between a certain point in the input text and a +// corresponding time in the output audio. +message Timepoint { + // Timepoint name as received from the client within `` tag. + string mark_name = 4; + + // Time offset in seconds from the start of the synthesized audio. + double time_seconds = 3; } diff --git a/synth.metadata b/synth.metadata index a812539d..1dbce370 100644 --- a/synth.metadata +++ b/synth.metadata @@ -4,23 +4,23 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/java-texttospeech.git", - "sha": "61e37fe920c110ec954b50af862cda43246af05b" + "sha": "ed42248e64bcf9c248b07236c39b18bb72f60a8d" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "bccd840c699996dc3356b537c883a4a09791fdd3", - "internalRef": "317110345" + "sha": "a94df49e8f208649f2f5cb39a84668c6a3434ce8", + "internalRef": "323424211" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "bccd840c699996dc3356b537c883a4a09791fdd3", - "internalRef": "317110345" + "sha": "a94df49e8f208649f2f5cb39a84668c6a3434ce8", + "internalRef": "323424211" } }, { @@ -50,5 +50,146 @@ "generator": "bazel" } } + ], + "generatedFiles": [ + ".github/CODEOWNERS", + ".github/ISSUE_TEMPLATE/bug_report.md", + ".github/ISSUE_TEMPLATE/feature_request.md", + ".github/ISSUE_TEMPLATE/support_request.md", + ".github/PULL_REQUEST_TEMPLATE.md", + ".github/release-please.yml", + ".github/trusted-contribution.yml", + ".github/workflows/ci.yaml", + ".kokoro/build.bat", + ".kokoro/build.sh", + ".kokoro/coerce_logs.sh", + ".kokoro/common.cfg", + ".kokoro/common.sh", + ".kokoro/continuous/common.cfg", + ".kokoro/continuous/dependencies.cfg", + ".kokoro/continuous/integration.cfg", + ".kokoro/continuous/java11.cfg", + ".kokoro/continuous/java7.cfg", + ".kokoro/continuous/java8-osx.cfg", + ".kokoro/continuous/java8-win.cfg", + ".kokoro/continuous/java8.cfg", + ".kokoro/continuous/lint.cfg", + ".kokoro/continuous/propose_release.cfg", + ".kokoro/continuous/samples.cfg", + ".kokoro/dependencies.sh", + ".kokoro/linkage-monitor.sh", + ".kokoro/nightly/common.cfg", + ".kokoro/nightly/dependencies.cfg", + ".kokoro/nightly/integration.cfg", + ".kokoro/nightly/java11.cfg", + ".kokoro/nightly/java7.cfg", + ".kokoro/nightly/java8-osx.cfg", + ".kokoro/nightly/java8-win.cfg", + ".kokoro/nightly/java8.cfg", + ".kokoro/nightly/lint.cfg", + ".kokoro/nightly/samples.cfg", + ".kokoro/populate-secrets.sh", + ".kokoro/presubmit/clirr.cfg", + ".kokoro/presubmit/common.cfg", + ".kokoro/presubmit/dependencies.cfg", + ".kokoro/presubmit/integration.cfg", + ".kokoro/presubmit/java11.cfg", + ".kokoro/presubmit/java7.cfg", + ".kokoro/presubmit/java8-osx.cfg", + ".kokoro/presubmit/java8-win.cfg", + ".kokoro/presubmit/java8.cfg", + ".kokoro/presubmit/linkage-monitor.cfg", + ".kokoro/presubmit/lint.cfg", + ".kokoro/presubmit/samples.cfg", + ".kokoro/release/bump_snapshot.cfg", + ".kokoro/release/common.cfg", + ".kokoro/release/common.sh", + ".kokoro/release/drop.cfg", + ".kokoro/release/drop.sh", + ".kokoro/release/promote.cfg", + ".kokoro/release/promote.sh", + ".kokoro/release/publish_javadoc.cfg", + ".kokoro/release/publish_javadoc.sh", + ".kokoro/release/snapshot.cfg", + ".kokoro/release/snapshot.sh", + ".kokoro/release/stage.cfg", + ".kokoro/release/stage.sh", + ".kokoro/trampoline.sh", + "CODE_OF_CONDUCT.md", + "CONTRIBUTING.md", + "LICENSE", + "README.md", + "codecov.yaml", + "google-cloud-texttospeech/src/main/java/com/google/cloud/texttospeech/v1/TextToSpeechClient.java", + "google-cloud-texttospeech/src/main/java/com/google/cloud/texttospeech/v1/TextToSpeechSettings.java", + "google-cloud-texttospeech/src/main/java/com/google/cloud/texttospeech/v1/package-info.java", + "google-cloud-texttospeech/src/main/java/com/google/cloud/texttospeech/v1/stub/GrpcTextToSpeechCallableFactory.java", + "google-cloud-texttospeech/src/main/java/com/google/cloud/texttospeech/v1/stub/GrpcTextToSpeechStub.java", + "google-cloud-texttospeech/src/main/java/com/google/cloud/texttospeech/v1/stub/TextToSpeechStub.java", + "google-cloud-texttospeech/src/main/java/com/google/cloud/texttospeech/v1/stub/TextToSpeechStubSettings.java", + "google-cloud-texttospeech/src/main/java/com/google/cloud/texttospeech/v1beta1/TextToSpeechClient.java", + "google-cloud-texttospeech/src/main/java/com/google/cloud/texttospeech/v1beta1/TextToSpeechSettings.java", + "google-cloud-texttospeech/src/main/java/com/google/cloud/texttospeech/v1beta1/package-info.java", + "google-cloud-texttospeech/src/main/java/com/google/cloud/texttospeech/v1beta1/stub/GrpcTextToSpeechCallableFactory.java", + "google-cloud-texttospeech/src/main/java/com/google/cloud/texttospeech/v1beta1/stub/GrpcTextToSpeechStub.java", + "google-cloud-texttospeech/src/main/java/com/google/cloud/texttospeech/v1beta1/stub/TextToSpeechStub.java", + "google-cloud-texttospeech/src/main/java/com/google/cloud/texttospeech/v1beta1/stub/TextToSpeechStubSettings.java", + "google-cloud-texttospeech/src/test/java/com/google/cloud/texttospeech/v1/MockTextToSpeech.java", + "google-cloud-texttospeech/src/test/java/com/google/cloud/texttospeech/v1/MockTextToSpeechImpl.java", + "google-cloud-texttospeech/src/test/java/com/google/cloud/texttospeech/v1/TextToSpeechClientTest.java", + "google-cloud-texttospeech/src/test/java/com/google/cloud/texttospeech/v1beta1/MockTextToSpeech.java", + "google-cloud-texttospeech/src/test/java/com/google/cloud/texttospeech/v1beta1/MockTextToSpeechImpl.java", + "google-cloud-texttospeech/src/test/java/com/google/cloud/texttospeech/v1beta1/TextToSpeechClientTest.java", + "grpc-google-cloud-texttospeech-v1/src/main/java/com/google/cloud/texttospeech/v1/TextToSpeechGrpc.java", + "grpc-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/TextToSpeechGrpc.java", + "java.header", + "license-checks.xml", + "proto-google-cloud-texttospeech-v1/src/main/java/com/google/cloud/texttospeech/v1/AudioConfig.java", + "proto-google-cloud-texttospeech-v1/src/main/java/com/google/cloud/texttospeech/v1/AudioConfigOrBuilder.java", + "proto-google-cloud-texttospeech-v1/src/main/java/com/google/cloud/texttospeech/v1/AudioEncoding.java", + "proto-google-cloud-texttospeech-v1/src/main/java/com/google/cloud/texttospeech/v1/ListVoicesRequest.java", + "proto-google-cloud-texttospeech-v1/src/main/java/com/google/cloud/texttospeech/v1/ListVoicesRequestOrBuilder.java", + "proto-google-cloud-texttospeech-v1/src/main/java/com/google/cloud/texttospeech/v1/ListVoicesResponse.java", + "proto-google-cloud-texttospeech-v1/src/main/java/com/google/cloud/texttospeech/v1/ListVoicesResponseOrBuilder.java", + "proto-google-cloud-texttospeech-v1/src/main/java/com/google/cloud/texttospeech/v1/SsmlVoiceGender.java", + "proto-google-cloud-texttospeech-v1/src/main/java/com/google/cloud/texttospeech/v1/SynthesisInput.java", + "proto-google-cloud-texttospeech-v1/src/main/java/com/google/cloud/texttospeech/v1/SynthesisInputOrBuilder.java", + "proto-google-cloud-texttospeech-v1/src/main/java/com/google/cloud/texttospeech/v1/SynthesizeSpeechRequest.java", + "proto-google-cloud-texttospeech-v1/src/main/java/com/google/cloud/texttospeech/v1/SynthesizeSpeechRequestOrBuilder.java", + "proto-google-cloud-texttospeech-v1/src/main/java/com/google/cloud/texttospeech/v1/SynthesizeSpeechResponse.java", + "proto-google-cloud-texttospeech-v1/src/main/java/com/google/cloud/texttospeech/v1/SynthesizeSpeechResponseOrBuilder.java", + "proto-google-cloud-texttospeech-v1/src/main/java/com/google/cloud/texttospeech/v1/TextToSpeechProto.java", + "proto-google-cloud-texttospeech-v1/src/main/java/com/google/cloud/texttospeech/v1/Voice.java", + "proto-google-cloud-texttospeech-v1/src/main/java/com/google/cloud/texttospeech/v1/VoiceOrBuilder.java", + "proto-google-cloud-texttospeech-v1/src/main/java/com/google/cloud/texttospeech/v1/VoiceSelectionParams.java", + "proto-google-cloud-texttospeech-v1/src/main/java/com/google/cloud/texttospeech/v1/VoiceSelectionParamsOrBuilder.java", + "proto-google-cloud-texttospeech-v1/src/main/proto/google/cloud/texttospeech/v1/cloud_tts.proto", + "proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/AudioConfig.java", + "proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/AudioConfigOrBuilder.java", + "proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/AudioEncoding.java", + "proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/ListVoicesRequest.java", + "proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/ListVoicesRequestOrBuilder.java", + "proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/ListVoicesResponse.java", + "proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/ListVoicesResponseOrBuilder.java", + "proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/SsmlVoiceGender.java", + "proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/SynthesisInput.java", + "proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/SynthesisInputOrBuilder.java", + "proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/SynthesizeSpeechRequest.java", + "proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/SynthesizeSpeechRequestOrBuilder.java", + "proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/SynthesizeSpeechResponse.java", + "proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/SynthesizeSpeechResponseOrBuilder.java", + "proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/TextToSpeechProto.java", + "proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/Timepoint.java", + "proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/TimepointOrBuilder.java", + "proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/Voice.java", + "proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/VoiceOrBuilder.java", + "proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/VoiceSelectionParams.java", + "proto-google-cloud-texttospeech-v1beta1/src/main/java/com/google/cloud/texttospeech/v1beta1/VoiceSelectionParamsOrBuilder.java", + "proto-google-cloud-texttospeech-v1beta1/src/main/proto/google/cloud/texttospeech/v1beta1/cloud_tts.proto", + "renovate.json", + "samples/install-without-bom/pom.xml", + "samples/pom.xml", + "samples/snapshot/pom.xml", + "samples/snippets/pom.xml" ] } \ No newline at end of file