Behind the Scenes

Well, the menu won’t work properly without at least one post in the category, so I’d best stick something useful here.

Currently, the Spin Doctor code only works with the B3000N, as recent badge software releases are slightly more tolerant to “bad datagrams” from the server than older variants. As for what that code can do, it’s very advanced! It can:

  • Respond to the badge’s initial ping and make it send an ACK.
  • Crash the badge.
  • Force the badge into an “updater mode” that fails to connect to the update server.
  • Turn the badge off.

As you can see, it’s highly advanced and has close feature-parity with the OEM Voice Server. It’s naturally not ready to be made public. But, for a little more information –

The current generation of the code is written in NodeJS, following the traditional model of “scripted boilerplate, handing off to more comprehensive native code for difficult math”. The voice server is very rudimentary, but the model is currently based around a command and control thread which integrates user management, which will hand off to separate threads for RTP and audio conversion, inferencing and interpretation.

There is also a goal to try and write the badge control protocol into it’s own API – I’m hoping the badge isn’t completely tightly coupled to the genie model – and that calls and conferences could be instantiated by the server without a speech-to-text concept ever being applied. This could allow for other use-cases outside of the “Picard to Riker” default.

Leave a Reply

Your email address will not be published. Required fields are marked *