Views
No views yet

| Runtime | TheStage Apple SDK (Qwen3TTSPipeline) |
| Sample rate | 24 000 Hz mono |
| Default voice | b_ref |
| HF engines | TheStageAI/Qwen3-TTS-12Hz-0.6B-Base |
start_model detects the MTP / talker layout and routes to Qwen3TTSPipeline automatically (vs NeuTTS).| Property | Value |
|---|---|
| Hardware | Apple Silicon Mac, or physical iPhone / iPad |
| macOS | 15.0+ |
| iOS | 18.0+ |
| Xcode | 16.0+ |
| Swift | 6.0+ |
| Flutter (optional) | 3.24+ |
Simulator is not supported — run on real Apple Silicon hardware.
try await TheStageAI.shared.initialize(apiToken: "th_…")await TheStageFlutterSDK.initialize(api_token: 'th_…');initialize (once per app process when reachable). Inference runs fully on-device. Offline initialize fails — reconnect and call initialize again.https://github.com/TheStageAI/AppleSDK.git, and add the TheStageSDK product. Or in Package.swift:1.package(
2 url: "https://github.com/TheStageAI/AppleSDK.git",
3 exact: Version(1, 1, 0)
4)1# pubspec.yaml
2dependencies:
3 thestage_apple_sdk:
4 git:
5 url: https://github.com/TheStageAI/AppleSDK.git
6 path: plugin/thestage_apple_sdk
7 ref: 1.1.01import TheStageSDK
2
3try await TheStageAI.shared.initialize(apiToken: "th_…")
4
5let tts = try await Qwen3TTSPipeline(
6 engines_path: "TheStageAI/Qwen3-TTS-12Hz-0.6B-Base",
7 voice_id: "b_ref"
8)
9
10let result = tts.infer(text: "Hello, world!")
11// result.samples: [Float] @ 24 kHz monoopen_streamer() → drain output concurrently → send(...) → stop_stream().1await TheStageFlutterSDK.start_model(
2 model_name: 'tts',
3 engines_path: 'TheStageAI/Qwen3-TTS-12Hz-0.6B-Base',
4 config: {'voice_id': 'b_ref'},
5);
6
7final result = await TheStageFlutterSDK.infer(
8 model_name: 'tts',
9 input_json: {'text': 'Hello, world!'},
10);temperature=0.9, top_k=50); override via TTSGenerationConfig / JSON config.| Metric | Value |
|---|---|
| Batch rtf | 1.76 |
| Stream rtfx | 2.18 |
| TTFA (s) | 0.30 |
| Process mem (MB) | ~423 |