Logo
Examples
Overview

Examples

CLI, web, and transport examples for testing ION flows.

1 min read
Examples CLI Web

CLI Example

TCP:

Terminal window
go run examples/cli/ion-client.go --transport=tcp --addr :10300 --duration 3s --out out.pcm

stdio (FIFOs):

Terminal window
mkfifo c2s s2c
go run ./cmd/demo-server --transport=stdio < c2s > s2c &
SERVER_PID=$!
go run examples/cli/ion-client.go --transport=stdio < s2c > c2s
kill $SERVER_PID
rm -f c2s s2c

Web Demo

Start demo server:

Terminal window
go run ./cmd/demo-server --transport=tcp --addr :10300

Start WebSocket proxy:

Terminal window
npm install ws
node examples/web/ws-proxy.js --tcp 127.0.0.1:10300 --ws 10301

Serve web app:

Terminal window
python3 -m http.server 8000 --directory examples/web

Open http://localhost:8000/ and run the flow from Connect to Start/ASR/TTS actions.

Whisper ASR Mode

Terminal window
go run ./cmd/demo-server \
--transport=tcp \
--addr :10300 \
--asr=whisper \
--whisper-cli /path/to/whisper-cli \
--whisper-model /path/to/model.bin \
--whisper-partial-interval 1s \
--whisper-partial-window 6s