From 0234ee4c222df51b5dd2154a9e5aeba5023a7c28 Mon Sep 17 00:00:00 2001 From: HX <> Date: Mon, 13 May 2024 17:26:21 +0800 Subject: [PATCH] update --- Sources/OpenAI/Public/Models/AudioSpeechQuery.swift | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/Sources/OpenAI/Public/Models/AudioSpeechQuery.swift b/Sources/OpenAI/Public/Models/AudioSpeechQuery.swift index e8d4382e..79e15a25 100644 --- a/Sources/OpenAI/Public/Models/AudioSpeechQuery.swift +++ b/Sources/OpenAI/Public/Models/AudioSpeechQuery.swift @@ -37,7 +37,6 @@ public struct AudioSpeechQuery: Codable { case aac case flac } - /// The text to generate audio for. The maximum length is 4096 characters. public let input: String /// One of the available TTS models: tts-1 or tts-1-hd @@ -50,7 +49,7 @@ public struct AudioSpeechQuery: Codable { public let responseFormat: AudioSpeechResponseFormat? /// The speed of the generated audio. Select a value from **0.25** to **4.0**. **1.0** is the default. /// Defaults to 1 - public let speed: String? + public let speed: Double? public enum CodingKeys: String, CodingKey { case model @@ -60,7 +59,7 @@ public struct AudioSpeechQuery: Codable { case speed } - public init(model: Model, input: String, voice: AudioSpeechVoice, responseFormat: AudioSpeechResponseFormat = .mp3, speed: Double?) { + public init(model: Model, input: String, voice: AudioSpeechVoice, responseFormat: AudioSpeechResponseFormat = .mp3, speed: Double = 1.0) { self.model = AudioSpeechQuery.validateSpeechModel(model) self.speed = AudioSpeechQuery.normalizeSpeechSpeed(speed) self.input = input @@ -89,13 +88,13 @@ public extension AudioSpeechQuery { case min = 0.25 } - static func normalizeSpeechSpeed(_ inputSpeed: Double?) -> String { - guard let inputSpeed else { return "\(Self.Speed.normal.rawValue)" } + static func normalizeSpeechSpeed(_ inputSpeed: Double?) -> Double { + guard let inputSpeed = inputSpeed else { return Self.Speed.normal.rawValue } let isSpeedOutOfBounds = inputSpeed <= Self.Speed.min.rawValue || Self.Speed.max.rawValue <= inputSpeed guard !isSpeedOutOfBounds else { print("[AudioSpeech] Speed value must be between 0.25 and 4.0. Setting value to closest valid.") - return inputSpeed < Self.Speed.min.rawValue ? "\(Self.Speed.min.rawValue)" : "\(Self.Speed.max.rawValue)" + return inputSpeed < Self.Speed.min.rawValue ? Self.Speed.min.rawValue : Self.Speed.max.rawValue } - return "\(inputSpeed)" + return inputSpeed } }