Support scaling the duration of a pause in TTS. (#1820)

This commit is contained in:
Fangjun Kuang
2025-02-08 12:47:26 +08:00
committed by GitHub
parent d38cb81014
commit 69f489f0cd
24 changed files with 171 additions and 19 deletions

View File

@@ -180,6 +180,9 @@ final class SherpaOnnxOfflineTtsConfig extends Struct {
external int maxNumSenetences;
external Pointer<Utf8> ruleFars;
@Float()
external double silenceScale;
}
final class SherpaOnnxGeneratedAudio extends Struct {

View File

@@ -114,17 +114,19 @@ class OfflineTtsConfig {
this.ruleFsts = '',
this.maxNumSenetences = 1,
this.ruleFars = '',
this.silenceScale = 0.2,
});
@override
String toString() {
return 'OfflineTtsConfig(model: $model, ruleFsts: $ruleFsts, maxNumSenetences: $maxNumSenetences, ruleFars: $ruleFars)';
return 'OfflineTtsConfig(model: $model, ruleFsts: $ruleFsts, maxNumSenetences: $maxNumSenetences, ruleFars: $ruleFars, silenceScale: $silenceScale)';
}
final OfflineTtsModelConfig model;
final String ruleFsts;
final int maxNumSenetences;
final String ruleFars;
final double silenceScale;
}
class GeneratedAudio {
@@ -180,6 +182,7 @@ class OfflineTts {
c.ref.ruleFsts = config.ruleFsts.toNativeUtf8();
c.ref.maxNumSenetences = config.maxNumSenetences;
c.ref.ruleFars = config.ruleFars.toNativeUtf8();
c.ref.silenceScale = config.silenceScale;
final ptr = SherpaOnnxBindings.createOfflineTts?.call(c) ?? nullptr;