Design

Overview #

Interfaces #

  • Provider = Server = receives requests, sends events
  • Consumer = Client = sends request, receives events

Websocket - mic control #

  • Provider : STT
  • Consumer : Production

Only required as first start, if device not available then default device is used.

Record Start Device Request
{
    "request":{
        "id":543154,
        "cmd":"start",
        "device":"USB Mic 3"
    }
}
Further start,stop do not require the device
Record Start Request
{
    "request":{
        "id":543154,
        "cmd":"start"
    }
}

In the response, the full request including the id shall be kept.

Record Start Response
{
    "request":{
        "id":543154,
        "cmd":"start"
    },
    "response":"done"
}

Websocket - Text sentence #

  • Provider : STT
  • Consumer : TTS

Text sentence Event
{
    "event":{
        "sentence":"Please, select a bright guitar instrument."
    }
}
Text word Event
{
    "event":{
            "word":"Up"
        }
}

Websocket - Text Descriptor #

  • Provider : TTS
  • Consumer : SG
Text Descriptor
{
}

Post - Audio samples #

  • Client : SG
  • Server : Prod
  • Audio sample duration : 1 ~ 3 sec ?
  • Frequency : 1 every 5 ~ 10 sec ?
  • Parallel : yes

MiDi Files #

  • Provided on disk offline

Shared doc #