Skip to content

Commit 66545df

Browse files
authored
Update C#/Swift/Pascal API for PocketTTS' VoiceEmbeddingCacheCapacity. (k2-fsa#3211)
This pull request introduces the VoiceEmbeddingCacheCapacity configuration parameter for PocketTTS across the C#, Pascal, and Swift APIs.
1 parent 66c7225 commit 66545df

3 files changed

Lines changed: 18 additions & 3 deletions

File tree

scripts/dotnet/OfflineTtsPocketModelConfig.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ public OfflineTtsPocketModelConfig()
1717
TextConditioner = "";
1818
VocabJson = "";
1919
TokenScoresJson = "";
20+
VoiceEmbeddingCacheCapacity = 50;
2021
}
2122

2223
[MarshalAs(UnmanagedType.LPStr)]
@@ -39,6 +40,8 @@ public OfflineTtsPocketModelConfig()
3940

4041
[MarshalAs(UnmanagedType.LPStr)]
4142
public string TokenScoresJson;
43+
44+
public int VoiceEmbeddingCacheCapacity;
4245
}
4346
}
4447

sherpa-onnx/pascal-api/sherpa_onnx.pas

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,8 +144,10 @@ TSherpaOnnxOfflineTtsPocketModelConfig = record
144144
TextConditioner: AnsiString;
145145
VocabJson: AnsiString;
146146
TokenScoresJson: AnsiString;
147+
VoiceEmbeddingCacheCapacity: Integer;
147148

148149
function ToString: AnsiString;
150+
class operator Initialize({$IFDEF FPC}var{$ELSE}out{$ENDIF} Dest: TSherpaOnnxOfflineTtsPocketModelConfig);
149151
end;
150152

151153
TSherpaOnnxOfflineTtsModelConfig = record
@@ -1103,6 +1105,7 @@ SherpaOnnxOfflineTtsPocketModelConfig = record
11031105
TextConditioner: PAnsiChar;
11041106
VocabJson: PAnsiChar;
11051107
TokenScoresJson: PAnsiChar;
1108+
VoiceEmbeddingCacheCapacity: cint32;
11061109
end;
11071110

11081111
SherpaOnnxOfflineTtsModelConfig = record
@@ -2638,6 +2641,11 @@ function TSherpaOnnxOfflineTtsZipVoiceModelConfig.ToString: AnsiString;
26382641
Dest.GuidanceScale := 1.0;
26392642
end;
26402643

2644+
class operator TSherpaOnnxOfflineTtsPocketModelConfig.Initialize({$IFDEF FPC}var{$ELSE}out{$ENDIF} Dest: TSherpaOnnxOfflineTtsPocketModelConfig);
2645+
begin
2646+
Dest.VoiceEmbeddingCacheCapacity := 50;
2647+
end;
2648+
26412649
function TSherpaOnnxOfflineTtsPocketModelConfig.ToString: AnsiString;
26422650
begin
26432651
Result := Format('TSherpaOnnxOfflineTtsPocketModelConfig(' +
@@ -2647,10 +2655,11 @@ function TSherpaOnnxOfflineTtsPocketModelConfig.ToString: AnsiString;
26472655
'Decoder := %s, ' +
26482656
'TextConditioner := %s, ' +
26492657
'VocabJson := %s, ' +
2650-
'TokenScoresJson := %s' +
2658+
'TokenScoresJson := %s, ' +
2659+
'VoiceEmbeddingCacheCapacity := %d' +
26512660
')',
26522661
[Self.LmFlow, Self.LmMain, Self.Encoder, Self.Decoder, Self.TextConditioner,
2653-
Self.VocabJson, Self.TokenScoresJson]);
2662+
Self.VocabJson, Self.TokenScoresJson, Self.VoiceEmbeddingCacheCapacity]);
26542663
end;
26552664

26562665
function TSherpaOnnxOfflineTtsModelConfig.ToString: AnsiString;
@@ -2753,6 +2762,7 @@ constructor TSherpaOnnxOfflineTts.Create(Config: TSherpaOnnxOfflineTtsConfig);
27532762
C.Model.Pocket.TextConditioner := PAnsiChar(Config.Model.Pocket.TextConditioner);
27542763
C.Model.Pocket.VocabJson := PAnsiChar(Config.Model.Pocket.VocabJson);
27552764
C.Model.Pocket.TokenScoresJson := PAnsiChar(Config.Model.Pocket.TokenScoresJson);
2765+
C.Model.Pocket.VoiceEmbeddingCacheCapacity := Config.Model.Pocket.VoiceEmbeddingCacheCapacity;
27562766

27572767
C.Model.NumThreads := Config.Model.NumThreads;
27582768
C.Model.Provider := PAnsiChar(Config.Model.Provider);

swift-api-examples/SherpaOnnx.swift

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1035,6 +1035,7 @@ func sherpaOnnxOfflineTtsPocketModelConfig(
10351035
textConditioner: String = "",
10361036
vocabJson: String = "",
10371037
tokenScoresJson: String = "",
1038+
voiceEmbeddingCacheCapacity: Int = 50
10381039
) -> SherpaOnnxOfflineTtsPocketModelConfig {
10391040
return SherpaOnnxOfflineTtsPocketModelConfig(
10401041
lm_flow: toCPointer(lmFlow),
@@ -1043,7 +1044,8 @@ func sherpaOnnxOfflineTtsPocketModelConfig(
10431044
decoder: toCPointer(decoder),
10441045
text_conditioner: toCPointer(textConditioner),
10451046
vocab_json: toCPointer(vocabJson),
1046-
token_scores_json: toCPointer(tokenScoresJson)
1047+
token_scores_json: toCPointer(tokenScoresJson),
1048+
voice_embedding_cache_capacity: Int32(voiceEmbeddingCacheCapacity)
10471049
)
10481050
}
10491051

0 commit comments

Comments
 (0)