ローカル音声サービス — デプロイガイド

GitHub でソースを見る
プリセット

Deploy Speech Service

Deploy a streaming speech recognition (ASR) and voice synthesis (TTS) service on your edge device — Jetson Orin, RK3576, RK3588, or a Pi 5.

What you'll get:

  • Real-time streaming speech recognition (WebSocket)
  • Low-latency voice synthesis (HTTP streaming + batch)
  • Multiple language modes: Chinese+English, English-only, or 52-language Qwen3
  • HTTP + WebSocket API on port 8621

Requirements: SSH access to device · Internet to pull Docker image and download models

1

Deploy Speech Service

Deploy the speech service to your edge device. Models auto-download on first start.

デプロイ方法

Deploy over SSH to a Jetson Orin. Runs on the GPU, supports multiple languages and voice cloning. Needs at least 7.5 GB of free disk.

配線
  1. Connect your Jetson to the network
  2. Enter the Jetson's IP address and SSH credentials
  3. Choose a voice profile from the dropdown
  4. Click Deploy — the system will pull the image and start the service
入力が必要な項目(SenseCraft Solution アプリで入力)
  • Device IP*
  • SSH Username*既定値 recomputer
  • SSH Password*
既定値のある残り 4 項目
  • Voice Profile既定値 jetson-zh-en
    5 件の選択肢
    • · Chinese + English (Paraformer ASR + Matcha TTS, fast)
    • · Multilingual HighPerf (Qwen3 ASR+TTS, 52 languages, Orin Nano)
    • · Multilingual HighPerf NX (Qwen3 ASR+TTS, 52 languages, Orin NX)
    • · Qwen3 ASR + Matcha TTS (multilingual ASR, fast TTS, Orin Nano)
    • · Qwen3 ASR + Matcha TTS NX (multilingual ASR, fast TTS, Orin NX)
  • Language Mode既定値 en
    2 件の選択肢
    • · Chinese + English (Matcha TTS + Paraformer ASR)
    • · English Only (Kokoro TTS + Zipformer ASR)
  • TTS Speaker ID既定値 0

    zh_en mode: 0-9, en mode: 0-10 (default 8 = bf_isabella)

  • TTS Speed既定値 0.85

    0.5 = slow, 1.0 = normal, 1.5 = fast

トラブルシューティング
IssueSolution
SSH connection failedVerify IP and credentials. Try ssh username@ip from your computer
Image pull slowThe image is ~2 GB compressed. Ensure stable internet on the device
Service not startingCheck logs: ssh user@ip "cd openvoicestream && docker compose logs"
Health check failsFirst startup takes ~40 seconds for model warmup. Wait and retry
Out of memoryEnsure Jetson has 8GB+ RAM and no other GPU tasks running
NVIDIA runtime missingInstall: sudo apt install nvidia-container-toolkit && sudo systemctl restart docker
デプロイ後

Service is running at http://<device-ip>:8621. Quick test:

curl http://<device-ip>:8621/health
# Expected: {"asr": true, "tts": true, "streaming_asr": true}

curl -X POST http://<device-ip>:8621/tts \
  -H "Content-Type: application/json" \
  -d '{"text": "Hello, I am your voice assistant.", "sid": 0}' \
  --output test.wav
2

Voice Demo

Try the deployed speech service directly from this page. Enter the device IP address, then use the panels below to test speech recognition and voice synthesis.

Speech Recognition (ASR)

Press and hold the Record button to speak. Your speech will be recognized in real-time and the transcribed text will appear on screen.

Text to Speech (TTS)

Type any text and click Generate to hear it spoken.

トラブルシューティング
IssueSolution
Microphone not workingAllow microphone access when prompted by your browser
ASR shows no resultsVerify the service is running: curl http://<ip>:8621/health
TTS playback silentCheck browser audio is not muted. Try a shorter text first
デプロイ後

Congratulations! Your local voice service is running.

Quick Verification

  1. Open http://<device-ip>:8621/health in your browser — all fields should show true
  2. Test voice synthesis with the curl command above
  3. Connect your application to the API endpoints

API Reference

EndpointMethodDescription
/healthGETService health check
/asr/streamWebSocketReal-time streaming speech recognition
/ttsPOSTText-to-speech (returns WAV)
/tts/streamPOSTStreaming text-to-speech (returns raw PCM)
/asrPOSTOffline speech recognition (upload WAV file)

Next Steps

  • Connect your LLM to complete the voice assistant pipeline: ASR → LLM → TTS
  • Adjust voice profile from the Devices page after deployment
  • OpenVoiceStream GitHub