Skip to content

Commit 45b9790

Browse files
DevDesai444sanchitmonga22
authored andcommitted
Extract Flutter TTS configuration into a dedicated model file
1 parent f44c8dc commit 45b9790

4 files changed

Lines changed: 45 additions & 45 deletions

File tree

sdk/runanywhere-flutter/packages/runanywhere/lib/features/tts/system_tts_service.dart

Lines changed: 1 addition & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -8,48 +8,7 @@ import 'dart:async';
88
import 'dart:typed_data';
99

1010
import 'package:flutter_tts/flutter_tts.dart';
11-
import 'package:runanywhere/core/protocols/component/component_configuration.dart';
12-
import 'package:runanywhere/foundation/error_types/sdk_error.dart';
13-
14-
/// Configuration for TTS synthesis
15-
class TTSConfiguration implements ComponentConfiguration {
16-
final String voice;
17-
final String language;
18-
final double speakingRate;
19-
final double pitch;
20-
final double volume;
21-
final String audioFormat;
22-
23-
const TTSConfiguration({
24-
this.voice = 'system',
25-
this.language = 'en-US',
26-
this.speakingRate = 0.5,
27-
this.pitch = 1.0,
28-
this.volume = 1.0,
29-
this.audioFormat = 'pcm',
30-
});
31-
32-
@override
33-
void validate() {
34-
if (!speakingRate.isFinite || speakingRate < 0.5 || speakingRate > 2.0) {
35-
throw SDKError.validationFailed(
36-
'Speaking rate must be between 0.5 and 2.0',
37-
);
38-
}
39-
40-
if (!pitch.isFinite || pitch < 0.5 || pitch > 2.0) {
41-
throw SDKError.validationFailed(
42-
'Pitch must be between 0.5 and 2.0',
43-
);
44-
}
45-
46-
if (!volume.isFinite || volume < 0.0 || volume > 1.0) {
47-
throw SDKError.validationFailed(
48-
'Volume must be between 0.0 and 1.0',
49-
);
50-
}
51-
}
52-
}
11+
import 'package:runanywhere/features/tts/tts_configuration.dart';
5312

5413
/// Input for TTS synthesis
5514
class TTSSynthesisInput {
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
import 'package:runanywhere/core/protocols/component/component_configuration.dart';
2+
import 'package:runanywhere/foundation/error_types/sdk_error.dart';
3+
4+
/// Configuration for TTS synthesis.
5+
class TTSConfiguration implements ComponentConfiguration {
6+
final String voice;
7+
final String language;
8+
final double speakingRate;
9+
final double pitch;
10+
final double volume;
11+
final String audioFormat;
12+
13+
const TTSConfiguration({
14+
this.voice = 'system',
15+
this.language = 'en-US',
16+
this.speakingRate = 0.5,
17+
this.pitch = 1.0,
18+
this.volume = 1.0,
19+
this.audioFormat = 'pcm',
20+
});
21+
22+
@override
23+
void validate() {
24+
if (!speakingRate.isFinite || speakingRate < 0.5 || speakingRate > 2.0) {
25+
throw SDKError.validationFailed(
26+
'Speaking rate must be between 0.5 and 2.0',
27+
);
28+
}
29+
30+
if (!pitch.isFinite || pitch < 0.5 || pitch > 2.0) {
31+
throw SDKError.validationFailed(
32+
'Pitch must be between 0.5 and 2.0',
33+
);
34+
}
35+
36+
if (!volume.isFinite || volume < 0.0 || volume > 1.0) {
37+
throw SDKError.validationFailed(
38+
'Volume must be between 0.0 and 1.0',
39+
);
40+
}
41+
}
42+
}

sdk/runanywhere-flutter/packages/runanywhere/lib/native/dart_bridge_tts.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@ import 'dart:isolate';
99
import 'dart:typed_data';
1010

1111
import 'package:ffi/ffi.dart';
12-
import 'package:runanywhere/features/tts/system_tts_service.dart'
13-
show TTSConfiguration;
12+
import 'package:runanywhere/features/tts/tts_configuration.dart';
1413
import 'package:runanywhere/foundation/logging/sdk_logger.dart';
1514
import 'package:runanywhere/native/ffi_types.dart';
1615
import 'package:runanywhere/native/platform_loader.dart';

sdk/runanywhere-flutter/packages/runanywhere/lib/runanywhere.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ export 'core/types/storage_types.dart';
1414
export 'data/network/network.dart';
1515
export 'features/llm/llm_configuration.dart';
1616
export 'features/stt/stt_configuration.dart';
17-
export 'features/tts/system_tts_service.dart' show TTSConfiguration;
17+
export 'features/tts/tts_configuration.dart';
1818
export 'features/vad/vad_configuration.dart';
1919
export 'foundation/configuration/sdk_constants.dart';
2020
export 'foundation/error_types/sdk_error.dart';

0 commit comments

Comments
 (0)