typecast-ruby 0.1.5 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/typecast/client.rb +12 -0
- data/lib/typecast/models.rb +21 -0
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f65c6725ca10d449b9ba688231a8ad96a7042197efe9fdba188b84a55fa1d232
|
|
4
|
+
data.tar.gz: 9995e18d6b6364c9e9906216d643759ab0570b0867228cb49951a0e7259ccb2e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e724bac05758d13d390cb1865eb522c57b55cdd6ae976d778d28643b06db35f390e3151040a4f611138977a13d6f07448ec35f39cb86f13ce7376915b2820c50
|
|
7
|
+
data.tar.gz: 75001ca132eed41352314a431fc34d184f5d3f8c931f3cbce6b5809ca9f90214da108c6f97c7bf48d048744a325ee15783c2bc9d75faef053a74c3fcf93c0dc2
|
data/lib/typecast/client.rb
CHANGED
|
@@ -91,6 +91,18 @@ module Typecast
|
|
|
91
91
|
voices.first
|
|
92
92
|
end
|
|
93
93
|
|
|
94
|
+
# Recommends voices from a text description.
|
|
95
|
+
#
|
|
96
|
+
# Results only include voice_id, voice_name, and score. Use get_voice_v2 or
|
|
97
|
+
# get_voices_v2 to fetch detailed voice metadata for returned voice IDs.
|
|
98
|
+
def recommend_voices(query, count: 5)
|
|
99
|
+
raise ArgumentError, "count must be between 1 and 10" unless (1..10).cover?(count)
|
|
100
|
+
|
|
101
|
+
JSON.parse(request_json(:get, "/v1/voices/recommendations", nil, { query: query, count: count }).body).map do |item|
|
|
102
|
+
Models::RecommendedVoice.from_h(item)
|
|
103
|
+
end
|
|
104
|
+
end
|
|
105
|
+
|
|
94
106
|
def clone_voice(audio:, filename:, name:, model:)
|
|
95
107
|
validate_clone_inputs(audio, name)
|
|
96
108
|
response = request_multipart("/v1/voices/clone", audio: audio, filename: filename, fields: { name: name, model: model })
|
data/lib/typecast/models.rb
CHANGED
|
@@ -179,6 +179,27 @@ module Typecast
|
|
|
179
179
|
end
|
|
180
180
|
end
|
|
181
181
|
|
|
182
|
+
class RecommendedVoice
|
|
183
|
+
attr_reader :voice_id, :voice_name, :score
|
|
184
|
+
|
|
185
|
+
# Recommendation results only include the matched voice ID, voice name,
|
|
186
|
+
# and similarity score. Use get_voice_v2 or get_voices_v2 to fetch
|
|
187
|
+
# detailed voice metadata for a returned voice_id.
|
|
188
|
+
def self.from_h(hash)
|
|
189
|
+
new(
|
|
190
|
+
voice_id: hash.fetch("voice_id", ""),
|
|
191
|
+
voice_name: hash.fetch("voice_name", ""),
|
|
192
|
+
score: hash.fetch("score", 0).to_f
|
|
193
|
+
)
|
|
194
|
+
end
|
|
195
|
+
|
|
196
|
+
def initialize(voice_id:, voice_name:, score:)
|
|
197
|
+
@voice_id = voice_id
|
|
198
|
+
@voice_name = voice_name
|
|
199
|
+
@score = score
|
|
200
|
+
end
|
|
201
|
+
end
|
|
202
|
+
|
|
182
203
|
class VoicesV2Filter
|
|
183
204
|
attr_reader :model, :gender, :age, :use_cases
|
|
184
205
|
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: typecast-ruby
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.6
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Neosapience
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-07-02 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: minitest
|