       messageQueue.push(base64ToFloat32AudioData(msg));

        if (!queueProcessing) {
          playAudioData();
        }
      });

      async function playAudioData() {
        queueProcessing = true;

        if (!audioCtx || audioCtx.state === "closed") {
          audioCtx = new AudioContext();
          nextStartTime = audioCtx.currentTime;
        }

        while (messageQueue.length > 0) {
          const audioChunks = messageQueue.shift();

          // Create an AudioBuffer (Assuming 1 chan