Sayback
Demo guide
Open the app

The two-minute demonstration

Klang "Build on Pianissimo", Stockholm, Friday 23 October 2026. Hacking 08:15-09:30, demos from 09:30.

One sentence

Sayback checks a short spoken change before it becomes a job instruction: real Swedish speech recognition on the CPU, replayable speech evidence, and an explicit human confirmation of the final meaning.

Tagline

Hear the change. Confirm the handoff.

Before the demo (5 minutes, do this at 08:15)

  1. Plug in power. Close other heavy apps. Start the server: double-click run_windows.bat in the repository folder. The browser opens http://127.0.0.1:8765/.
  2. Wait for the status pill (top right) to turn green: "Recognizer ready". On the laptop this takes roughly 10-30 s after the window opens (the model is about 630 MB).
  3. Press Large text for the big screen. Set the browser zoom so the four cards are readable from the back of the room.
  4. Test the microphone once: Record, say "test ett två tre", Stop, Transcribe. Allow the microphone permission when the browser asks. If the room is loud, use the upload path with a clip recorded on the phone.
  5. Load the backup example once (button "Backup example (synthetic)") so it is cached, then press Clear audio and review.

Preparation at the venue

  1. 08:00-08:15: arrive, hear the organiser's instructions, and confirm the demo format. Use the event's actual rules if anything differs from this guide.
  2. 08:15-08:35: complete the five-minute setup above, then ask a Swedish speaker to record the fictional note. Test the physical microphone and the room's sound. Keep that short clip as a backup if the speaker agrees.
  3. 08:35-09:00: try a fresh note with a correction, then one with two separate tasks. Verify that you can keep both tasks using “Other value I heard” rather than treating the last mention as automatically correct.
  4. 09:00-09:15: rehearse the two-minute flow twice, check the projector, and keep the labelled synthetic backup ready.
  5. 09:15-09:30: stop adding features. Check battery/power, microphone and model readiness. Leave the app on its start screen.
  6. From 09:30: follow the organiser's demo order. If your slot is shorter, show the change, replay it, confirm it, and show the final instruction.

The run (about two minutes)

  1. Record or play the note. Press Record with microphone, read the fictional delivery note, press Stop.
    "Hej Sara. Leveransen är på torsdag, förlåt, fredag. Ta åtta lådor, nej, arton lådor. Lämna inte varorna utanför. Ring innan du kommer." Delivery Friday (not Thursday), eighteen boxes (not eight), do not leave the goods outside, call before arrival.
    Ask the audience: "Which delivery instruction should the team follow?" On the local version, add: "This audio is being processed on this laptop." On a hosted version, say it is sent to the Sayback server.
  2. Transcribe. Press Transcribe this audio. Point at the actual elapsed time: "This is Pianissimo running now, not a saved transcript." A 16-second synthetic clip took 2.07 seconds in one Windows browser run; timing varies. Do not promise a one-second result.
  3. Show the evidence. The unedited transcript appears. Click torsdag, then fredag: the audio replays around each word. "These positions are the model's own token estimates, not an alignment. The transcript is never edited; it is evidence."
  4. Draw attention to the three moments. Day: "torsdag ... fredag" with the cue "förlåt" between them. Quantity: "åtta lådor ... 18 lådor" with "nej" between them; note that the recognizer wrote the digits 18 for "arton". Negation: "Lämna inte varorna utanför" highlighted in red. "The highlights are simple word rules. They are not confidence scores and they can miss things. They do not decide which value wins."
  5. Resolve it as a human. In the review card: replay, choose fredag, Confirm. Choose 18 lådor, Confirm. Keep "Lämna inte varorna utanför", Confirm. Confirm the name Sara. Press Insert summary from confirmed fields, tidy the wording, tick the acknowledgement.
  6. Export. Download the text (or JSON). Read one line from it: the final text, the confirmed values with their audio positions, the original transcript, the model revision. "Nothing was sent, booked or paid. The export is the handoff."
  7. Invite a Swedish attendee. Press Clear audio and review, hand over the microphone for a fresh 10-second note. If the recognizer gets something wrong, show it: that is exactly what the review step is for. If it fails outright, the error message says why (too short, silent, model busy); show it honestly.

A short pitch to practise

"A voice note can change a delivery twice: Thursday becomes Friday, eight boxes becomes eighteen. Sayback makes those changes visible, lets you replay what was actually said, and asks a person to confirm the instruction before it becomes a handoff. Pianissimo recognises the Swedish speech on this laptop. The human decides what the team should do."

After the demo, ask: "Do you receive voice instructions at work? Tell me about the last time one was unclear." Use their example to learn whether this solves a real problem. This is a prototype hypothesis, not a validated business.

If something breaks

Status pill is red: model missing

Run python scripts\download_model.py in the repo (needs internet) and restart run_windows.bat.

Status pill stays "Loading"

First load on a cold disk can take up to a minute. Watch the server window for errors. If it says out of memory, close other applications.

Microphone blocked

Use the browser's address-bar permission icon, or record on a phone and use Upload audio file (any format the browser can decode).

Recognizer busy / 503

The server handles one clip at a time. Wait a few seconds and press Transcribe again.

Everything else

Press Backup example (synthetic). It is clearly labelled as a precomputed result on text-to-speech audio. Say so out loud. Then press Transcribe this audio live to show the live path on the same clip.

Recording stops by itself

Clips are limited to 30 seconds (and about 1 MB of PCM). Keep the note short.

Things to say, and not to say

Keyboard

Tab moves through every control, including each transcript word (Enter replays it) and each candidate's Replay button. Radio options respond to the arrow keys. Focus is always visible.

Privacy on stage

Local demo (127.0.0.1): audio stays on the laptop and is processed in memory there. Hosted demo: the browser uploads the clip to the Sayback server for processing in memory. The app does not save recordings or log transcript text. The browser keeps the clip until you press Clear or close the tab. Check the app's Privacy line before describing the setup to your audience.