Usando el elemento <audio> para la reproducción de audio en bruto

Estoy trabajando en un pequeño proyecto que descifra (usando openpgp.js) y decodifica un archivo de audio del lado del servidor utilizando la API de audio web. El archivo descifrado llega al cliente como audio en bruto. Actualmente puedo reproducir archivos de audio usandosource.start(0) pero no parece haber una forma fácil de descargar el audio a una GUI que permita a los usuarios hacer cosas como ajustar el volumen y buscar a través del audio.

tengo unAudioContext Objeto que ha sido descifrado y protegido concreateBufferSource

function playSound(decodedAudio) {
  var source = context.createBufferSource();
  source.buffer = decodedAudio;
  source.connect(context.destination);
  source.start(0);
}

Debido a que se está recibiendo audio en bruto, no puedo usar simplemente algo comoaudio.src = ... con un elemento de audio. O tal vez estoy pasando por alto algo obvio?
¿Hay alguna manera de que este audio decodificado dentro de la API de audio de Internet se reproduzca de manera agradable con un destino?<audio> ¿elemento?

El flujo ideal se vería algo así como ...
1) El usuario hace clic para activar la reproducción de un clip de audio
2) El audio se descifra del servidor y se envía al cliente como un audio sin formato
3) El audio es decodificado y reproducible, se puede buscar ... etc.

Posibles soluciones que me encantaría pensar en
- Debido a que los archivos de audio pueden variar de 1 minuto a 60 minutos, escriba el audio en un archivo utilizando la API del sistema de archivos y luego use una<audio> elemento para la reproducción actual
- Escribir mi propio sistema de control para hacer una pausa, fregado y volumen encima de la API de audio web

Respuestas a la pregunta(1)

Su respuesta a la pregunta