SPEECH TRANSLATION STUDIO v0.4

STS Speech Workbench

Speak → live ASR → translation → target-language TTS, in one independent pipeline that can preserve your timbre.

What is STS

STS = Speech-to-Speech. The Boundless Flow STS workbench is an independent simultaneous-interpretation pipeline: you speak in Chinese, and a few seconds later the same voice reads the sentence back in English (or Japanese, Korean…). Use it for stage interpretation, bilingual meetings, draft voiceovers for video.

ℹ️

STS is "stop, then process" — not true streaming. While processing, pressing RightAlt again cancels the job and starts a new recording — perfect for sentence-by-sentence interpretation.

Pipeline overview

Microphone source audio Live STT sensevoice / funasr onnx / whisper LLM Translate OpenAI-compat qwen / deepseek TTS Speak qwen3_tts / voxcpm index_tts2 / volc 1. Record 2. Text 3. Translation 4. Synthesize source audio is fed back to TTS for voice cloning
Four-stage pipeline · dashed line: source audio loops back to TTS for voice cloning

Workbench UI tour

After completing the wizard, click the STS icon in the main panel's top toolbar. The workbench has three accordion sections:

STS workbench config panel
Workbench: realtime STS parameters
STS floating Mini
Floating Mini · record / process / play
REALTIMELive translation
  • Source / Target language
  • STT backend + Translation model + TTS model
  • Per-route model dirs, devices, RPC host/port
  • VoxCPM, Volcengine TTS specific params
MINIFloating Mini
  • Click "Open Floating Mini" to summon the minimal controller
  • Lower previews show subtitle text + translated voice status
  • Workbench only configures; recording/processing happen in Mini
RECIPESMinimal setups
  • Combo A: local STT + OpenAI translate + Volcengine TTS
  • Combo B: local STT + OpenAI translate + Qwen3-TTS / Index-TTS2
  • 5-step verification checklist
HISTORYJob replay
  • Historical jobs (jobId / source → target / duration / status)
  • Export bilingual subtitles as srt / txt
  • Download merged audio as mp3 / wav

Minimal working setups (two recommended)

Combo A · Fastest integration

Goal: first playable interpreted audio in five minutes.

FieldValueNote
STT backendonnx or funasrWhichever local realtime model you have
STT model dirLocal SenseVoice / Fun-ASR-Nano folderSee STT docs
Translation Base URLhttps://api.openai.com/v1Or any OpenAI-compatible endpoint
Translation modelgpt-4o-mini / deepseek-chatSpeed-first
TTS modelvolcengine_ttsNo local download — AppId + Token only
Clone referenceThis recording (auto)No need to pick a separate voice file

Combo B · Voice cloning first

Goal: target-language playback preserves your timbre.

FieldValueNote
STT backendonnx or funasrSame as Combo A
Translation modelAny OpenAI-compatible model
TTS modelqwen3_tts or index_tts2Needs the corresponding model dir
TTS model dirLocal pathSee TTS docs
Clone referenceThis recording + transcript (auto)No need to pick a separate timbre file

Parameter reference (excerpt)

FieldDefaultDescription
sourceLanguagezhauto/zh/en/ja/ko/yue/fr/de/es
targetLanguageenSame enum (no auto)
sttBackendsensevoiceonnx / whisper / sensevoice / funasr
sttChunkIntervalMs20Frame step in ms; smaller = lower latency, higher CPU
translationApiBaseUrlOpenAI-compatible base URL
translationApiKeyTranslation LLM key
translationModelModel name, e.g. gpt-4o-mini / qwen-plus
ttsModelautoauto / qwen3_tts / voxcpm / index_tts2 / vibevoice / volcengine_tts
ttsModelDirLocal TTS model directory
ttsDevicecuda / cpu / mps
ttsRpcHost / ttsRpcPortlocalhost / 17860Local TTS RPC service
ttsVoxcpmRuntimeDirVoxCPM-specific runtime path
ttsVolcengine.*Volcengine TTS AppId / Token / Cluster / VoiceType

Operation sequence

1

Open the floating Mini

STS workbench → "Open Floating Mini". The minimal controller pops at the bottom-center of the screen.

2

Press Right Alt to record

Mini enters "Recording"; the waveform bars animate.

3

Press Right Alt again to stop

Enters "Processing": ASR → translate → voice clone → TTS synthesis.

4

Auto playback

Once synthesized, Mini switches to "Playing", reads the translation, then returns to idle.

5

Press during processing = cancel & re-record

If the sentence felt off, just press the hotkey again — no need to wait for the current job.

Troubleshooting

⚠️

Stuck on "processing"? Verify translation / TTS credentials are filled. Cancel from Mini, then check the "Subtitle text / Translated voice" preview logs in the workbench.

⚠️

Timbre not preserved? Make sure TTS model is one of qwen3_tts / index_tts2 / voxcpm with the local model dir set. volcengine_tts uses VoiceType from the Volcengine console — voice cloning requires creating a custom voice there first.

💡

Want "speak while it translates"? Current STS is the "stop-then-process" model. True streaming interpretation is on the roadmap via LLM-side Realtime APIs (e.g. GPT-Realtime-Translate) as a sub-mode.