Tessera Studio
Build capability graphs. Deploy them across microcontrollers.
Tessera Studio is our build and deployment environment. A graph combines many small models into one behaviour. You say what should happen to the data; it decides which part runs which model, deploys it, distributes the work and reports what each part did.
The machine file
A complete voice interface in one file.
Audio in, a part decides, the answer comes back as speech. The file names no boards and no input format, so it runs unchanged on one part or on five.
{
"name": "hear-and-say",
"blocks": [
{ "id": "in", "block": "Source" },
{ "id": "ear", "block": "Infer", "on": "any",
"params": { "model": "kws-ds-cnn" } },
{ "id": "word", "block": "Reduce",
"params": { "op": "label" } },
{ "id": "mouth", "block": "Speak",
"params": { "template": "I heard, {label}" } },
{ "id": "out", "block": "Sink" }
],
"wires": [ ["in","ear"], ["ear","word"],
["word","mouth"], ["mouth","out"] ]
}
Placement by capability
Blocks declare the parts they can use."on": "any"is a constraint, not an address.Deployment by content
Parts are matched to models by content hash, so the weights running are the weights you shipped.Input from the graph
What a machine accepts, down to tensor shape and encoding, is derived from the models it names.
Blocks
Sixteen blocks, each with one job.
SourcehostAccepts the request and emits the first frame.
EncodeeitherConverts input to the exact format a model takes.
SpliteitherCuts a frame into overlapping windows.
VariantseitherProduces several treatments of one input.
BroadcasteitherSends one frame to every branch.
RouteeitherSends a frame down one branch on a predicate.
InferboardRuns the board's resident model.
GenerateeitherContinues a prompt, by n-gram or by model.
GathereitherWaits for every branch of a fan-out.
ReduceeitherLabel, pool, vote, spatial merge or margin.
MarkoveitherViterbi over a sequence of classifications.
RecallhostRetrieves the passages closest to a question.
SearchboardSearches an index stored on the board.
ReadboardSegments and reads text on the board.
SpeakeitherFormant speech synthesis.
SinkhostTurns the final frames into the response.
The editor
Build, deploy and inspect in one place.
Graphs are edited visually and deployed to whatever parts are connected. Every run reports, per block, where it ran and how long it took. The same operations are available from the command line and the HTTP API.