From speech to action · Model and program roles
How does a spoken request become a device action?
Cactus puts Whistle transcription and Needle tool selection in one engine. A weather example that always returns 27°C helps distinguish recognizing a request, producing arguments, executing a function and connecting a device.
Whistle's original release is dated October 2. This reading uses official explanations, pinned model cards and SDK source checked October 12. BitShovel has not installed or run these models or connected a real device.
The example writes in 27°C
The official example gives Needle a weather question about Lagos. It selects get_weather, fills the city and displays 27°C and clear skies. The function writes those values directly into its return statement; it does not contact a weather service. This placeholder illustrates selection and argument filling. Real, current weather depends on the service behind that function. Understanding the request and retrieving the required data are separate outcomes.
Sources and further reading
- Cactus · Pinned Needle 3 model cardOfficial example and model accountThe weather function returns fixed values of 27°C and clear: a tool-selection example, not a live weather service.
Producing a choice and executing the function
The SDK separates these roles. complete returns one model response, potentially containing function names and arguments; an application can display the choice before calling anything. run finds registered functions, supplies arguments, feeds results back and retains execution returns in results. Unknown tools and function errors become feedback too. JSON can therefore be a proposed call. The program performs the action, while developers implement what each function connects to.
Sources and further reading
- Needle SDK · complete and runOfficial pinned source · 3da42610One reply, registered-function execution, result feedback and handling unknown tools or execution errors.
From a spoken request to a light switching off
Whistle adds speech input: its 16.9 MB model transcribes audio on the CPU, then Needle selects a call using tool definitions. The official kitchen-light example returns kitchen, false, the transcript and its language. Both models can share an engine that produces those fields from one audio call. Software must still connect them to a lighting interface and check device state. The JSON shows concrete arguments; the program and device determine whether the light switches off.
Sources and further reading
- Cactus · Original Whistle releaseOfficial account · October 2Transcription, loading both models in one engine, and the original speech-to-tool-call JSON example.
- Whistle · Pinned model cardOfficial model conditions · ca52876016.9 MB, CPU operation, seven supported languages and the shared-engine route; Chinese is absent from the language list.
First check which speech it supports
Whistle currently lists English, German, French, Spanish, Italian, Dutch and Polish, without Chinese. A Mandarin lighting request is therefore not a demonstrated supported input. Names matter too: Needle takes arguments from the transcript, and a misheard room or device can leave a call missing. Keywords can assist recognition. This offers a route for studying local speech input for bounded tasks; assess the resulting service data or device state alongside the transcript and arguments.
Sources and further reading
- Whistle · Pinned model cardOfficial model conditions · ca52876016.9 MB, CPU operation, seven supported languages and the shared-engine route; Chinese is absent from the language list.
- Cactus · Connecting transcripts to toolsOfficial practice guide · October 3Arguments come from transcripts; recognizing names and room words affects later calls, and keywords can guide decoding.