Plugins can intercept raw voice data buffers by registering DSP tags. Once hooked, the platform routes outgoing PCM byte arrays to the socket before hardware processing:

{
  "type": "inject_tag",
  "payload": {
    "tag_name": "diapstash_change"
  }
}

When the pipeline sounds processing triggers, the server dispatches a process_audio event. The plugin must immediately respond with an audio_processed envelope carrying back post-filtered base64 raw data within a 1500ms timeout threshold window limit:

{
  "type": "audio_processed",
  "request_id": "uuid_generated_by_server",
  "payload": {
    "pcm_base64": "5GVsbG8gV29ybGQgTW9kdWxhdGVz..."
  }
}

DSP Callback Registration Parameter Specifications

JSON KeyTypeReal-Time Data Handshake Rules
typestringMust equal 'inject_tag' to create system filters, or 'audio_processed' when returning raw buffer structures to the app server.
request_idstring (UUID)Unique tracking token generated by the server. Must be mirrored back inside your audio_processed payload response to map active streams accurately.
payload.pcm_base64string (Base64)Raw audio content linear PCM format data bytes, serialized as an unconstrained Base64 sequence array.