wren applies all/every commands itself, answers temperatures, reads aliases and number words; tts says units and clock times
wren's model answers "turn off all lights" with one call, and at 0.98 a
living room light switched on. The node now applies such a command to every
wired target of the kind. Number words become digits ("in five minutes"
lost its delay), aliases put the house's words and known mishearings in the
model's, and sensors.temperature is answered from <area>_temperature or
outdoor. tts writes out units and clock times before speaking.
This commit is contained in:
@@ -354,6 +354,7 @@ reports a missing dependency.
|
||||
| `presence` | `str` | the area the user is in; anything else reads as away |
|
||||
| `outdoor` | `float` or `int` | °C; 20 without it, clamped to −5…30 |
|
||||
| `dark` | `bool` | without it, dark before 07:00 and from 18:00 |
|
||||
| `<area>_temperature` | `float` or `int` | °C, read when the command asks how warm the area is |
|
||||
|
||||
The outputs are `actions`, a list of records, `reply`, `unhandled`, and any
|
||||
number of **targets**. A
|
||||
@@ -391,6 +392,7 @@ reads.
|
||||
|---|---|---|
|
||||
| `apply` | `false` | write to the targets; off, the node only reports |
|
||||
| `min_confidence` | `0.93` | below this nothing is written |
|
||||
| `aliases` | empty | the house's own words, or words the recogniser hears wrong, in the model's: `{"traverse": "living room light", "page too": "patio"}` |
|
||||
|
||||
Each record in `actions` contains `message`, `value`, `applied`, `delay_s`,
|
||||
`call`, and `confidence`. Unwired calls have an empty `message` and are not
|
||||
@@ -412,7 +414,22 @@ is reported but not applied, and goes on to `unhandled`. So is a call on an
|
||||
area the command does not name, unless it is the user's area or, with no area
|
||||
named, the living room: "switch on the appliances" is a word the model never
|
||||
learned, and it lands on whichever light it was shown. The command is read
|
||||
in lower case without sentence marks, as the model was trained.
|
||||
in lower case without sentence marks and with number words as digits ("in
|
||||
five minutes" as "in 5 minutes"), as the model was trained. `aliases` are
|
||||
applied before, whole words in any case, and `unhandled` carries the prompt
|
||||
with them.
|
||||
|
||||
A command for all of a kind, such as "turn off all lights", "switch every
|
||||
light on in 5 minutes" or "everything off in the office", is not the
|
||||
model's. The node applies it to every wired target of that kind, within the
|
||||
areas it names, and replies "All lights off." or "Lights off in the
|
||||
office.". A question ("are all lights off") or an exception ("all but the
|
||||
kitchen") goes to the model as any other command.
|
||||
|
||||
A question for an area's temperature ("how warm is it in the kitchen") is
|
||||
answered from its `<area>_temperature` input, or from `outdoor` for an area
|
||||
outside, as "It's 8 degrees outside.". Without a reading it goes on to
|
||||
`unhandled`.
|
||||
|
||||
!!! note "What the current model cannot do"
|
||||
|
||||
@@ -519,7 +536,11 @@ such as one that sends whole clips.
|
||||
| `voice` | `af_heart` | one of Kokoro's voices, such as `bm_george` |
|
||||
|
||||
Each sentence is one call to `{url}/v1/audio/speech` and published as soon as
|
||||
it is spoken. Calls to one server share a connection, which Speech to text opens
|
||||
it is spoken. Units after a number and clock times are written out first,
|
||||
since a speech model reads them letter by letter: "22 °C" is said "22
|
||||
degrees", "3.4 kWh" "3.4 kilowatt hours" and "07:30" "7 30". How a word
|
||||
itself is pronounced is the server's: `parrot serve --lexicon` gives words
|
||||
their phonemes. Calls to one server share a connection, which Speech to text opens
|
||||
when an utterance starts, so a reply's first sentence does not wait for one. A sentence spoken before in the same voice is reused rather than
|
||||
spoken again, for the last 256 sentences. A reference carries `"append": true`
|
||||
while the sentences before it are still playing, which queues it on a panel's
|
||||
|
||||
Reference in New Issue
Block a user