Files
Supertonic/ios
2026-01-25 18:58:40 +09:00
..
2026-01-25 18:58:40 +09:00
2026-01-25 18:58:40 +09:00

Supertonic iOS Example App

A minimal iOS demo that runs Supertonic 2 (ONNX Runtime) on-device. The app shows:

  • Multiline text input
  • NFE (denoising steps) slider
  • Voice toggle (M/F)
  • Language selector (en, ko, es, pt, fr)
  • Generate & Play buttons
  • RTF display (Elapsed / Audio seconds)

All ONNX models/configs are reused from Supertonic/assets/onnx, and voice style JSON files from Supertonic/assets/voice_styles.

📰 Update News

2026.01.06 - 🎉 Supertonic 2 released with multilingual support! Now supports English (en), Korean (ko), Spanish (es), Portuguese (pt), and French (fr). Demo | Models

2025.12.10 - Added 6 new voice styles (M3, M4, M5, F3, F4, F5). See Voices for details

2025.12.08 - Optimized ONNX models via OnnxSlim now available on Hugging Face Models

Prerequisites

  • macOS 13+, Xcode 15+
  • Swift 5.9+
  • iOS 15+ device (recommended)
  • Homebrew, XcodeGen

Install tools (if needed):

brew install xcodegen

Quick Start (zero-click in Xcode)

  1. Prepare assets next to the iOS target (one-time)
cd ios/ExampleiOSApp
mkdir -p onnx voice_styles
rsync -a ../../assets/onnx/ onnx/
rsync -a ../../assets/voice_styles/ voice_styles/
  1. Generate the Xcode project with XcodeGen
xcodegen generate
open ExampleiOSApp.xcodeproj
  1. Open in Xcode and select your iPhone as the run destination
  • Targets → ExampleiOSApp → Signing & Capabilities: Select your Team
  • iOS Deployment Target: 15.0+
  1. Build & Run on device
  • Type text → adjust NFE/Voice → Tap Generate → Audio plays automatically
  • An RTF line shows like: RTF 0.30x · 3.04s / 10.11s

What's included (generated project)

  • SwiftUI app files: App.swift, ContentView.swift, TTSViewModel.swift, AudioPlayer.swift
  • Runtime wrapper: TTSService.swift (includes TTS inference logic)
  • Resources (local, vendored in ios/ExampleiOSApp/onnx and ios/ExampleiOSApp/voice_styles after step 0)

These references are defined in project.yml and added to the app bundle by XcodeGen.

App Controls

  • Text: Multiline TextEditor
  • NFE: Denoising steps (default 5)
  • Voice: M/F voice style selector
  • Language: Language selector (English, 한국어, Español, Português, Français)
  • Generate: Runs end-to-end synthesis
  • Play/Stop: Controls playback of the last output
  • RTF: Shows Elapsed / Audio seconds for quick performance intuition

Multilingual Support

Supertonic 2 supports multiple languages. Select the appropriate language for your input text:

  • English (en): Default language
  • 한국어 (ko): Korean
  • Español (es): Spanish
  • Português (pt): Portuguese
  • Français (fr): French