---
title: Sending Generated Audio Through WebRTC
description: If you want to manipulate WebRTC audio streams, or if you want to stream an audio file through WebRTC, this guide is for you.
---

[WebRTC.ventures Blog](https://blog.webrtc.ventures)

# [Sending Generated Audio Through WebRTC](https://blog.webrtc.ventures/2015/09/sending-generated-audio-through-webrtc-as-a-live-feed)

 Written by [ArinSime](https://blog.webrtc.ventures/author/arinsime) | Sep 2, 2015 4:00:00 AM

Did you know you can “fake” an audio stream in WebRTC? This is useful if you want to manipulate audio streams (to add audio effects for example), or if you want to stream an audio file.

In this article I’m going to show you a rudimentary implementation of how it would look like to generate an audio pulse and sending it through WebRTC.

To get started, let us generate the pulse wave which later we’ll be injecting into WebRTC. I’m going to be using a library called [RIFFWAVE.js](http://www.codebase.es/riffwave/) to that effect:

```
function generateTone(tone_frequency){
  var wave = new RIFFWAVE();
  var data = [];
  
  wave.header.sampleRate = 44100; // Set sample rate to 44KHz
  wave.header.numChannels = 1;
  
  for (var i = 0; i < 44100; i++) {
    var t = i/wave.header.sampleRate;
    data[i] = 128+Math.round(127*Math.sin(tone_frequency*t*2*Math.PI));
  }
  
  wave.Make(data);
  
  return wave.dataURI;
}
```

As you can see on our `generateTone` function, we expect to be passed a `tone_frequency`. Then we setup RIFFWAVE as a variable called `wave` and begin injecting integer values, which are generated using the `tone_frequency` value we pass to the function, into a `data` array variable. Once the data is ready we can `Make` the actual audio wave.

Now the truly important line of code I want you to look at is this one:

```
return wave.dataURI;
```

Data URI’s are one of many common languages of the WebRTC paradigm in regards to audio and video.

A Data URI is composed of `data:` protocol prefix, a mime-type, a base-64 string, and will generally look like this:

```
data:audio/wav;base64,UklGRmisAABXQVZFZm...U8Q0pRWWBocHg=
```

([Click here for full data uri](https://blog.webrtc.ventures/2015/09/audio/wav;base64,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))

What we’re really interested in here is the base 64 string within that Data URI, which is essentially an encoded stream of bytes from a Linear PCM encoded audio wave.

We want to decode that base 64 string and feed the bytes to our WebRTC app using a custom `MediaStream`.

The most important component of a `MediaStream` is its buffer. We can easily create a replacement buffer for a `MediaStream` by using the `ArrayBuffer`.

The following function generates and returns an `ArrayBuffer` object from a Data URI:

```
function dataURItoArrayBuffer(dataURI) {
  // convert base64 to raw binary data held in a string
  // doesn't handle URLEncoded DataURIs - see StackOverflow answer #6850276 for code that does this
  var byteString = atob(dataURI.split(',')[1]);

  // write the bytes of the string to an ArrayBuffer
  var ab = new ArrayBuffer(byteString.length);
  var ia = new Uint8Array(ab);
  for (var i = 0; i < byteString.length; i++) {
      ia[i] = byteString.charCodeAt(i);
  }
  
  return ab;
}
```

Ok, we have an ArrayBuffer. Great! Now what?

Well, we need to digest it and generate a MediaStream, and we require a few things for that. First of all, we’re working with audio here, and what better way to handle audio than using an `AudioContext`?

```
window.AudioContext = window.AudioContext || window.webkitAudioContext;
var context = new AudioContext();
```

And what about the `MediaStream` I mentioned previously? Well it just so happens that the `AudioContext` provides a neat little constructor which will generate a `MediaStreamDestination` that just so happens to receive a `BufferSource` and generates a stream out of it.

So we need the `MediaStreamDestination` and a placeholder for the `BufferSource`.

```
var destination = context.createMediaStreamDestination();
var soundSource = null;
```

And here’s the function which brings it all together:

```
function send(){
  // Get audio Data URI
  var data_uri = generateTone(440);
  
  // Get ArrayBuffer object from Data URI
  var array_buffer = dataURItoArrayBuffer(data_uri);
  
  // Tell our AudioContext to begin decoding the audio data
  // from the ArrayBuffer, thus generating a stream
  context.decodeAudioData(array_buffer, function(buffer) {
      // Create the sound source
      if (soundSource !== null){
        soundSource.stop();
        soundSource.disconnect(0);
        soundSource = null;
      }
      
      // We need to regenerate a soundsource so that
      // the stream is restarted
      soundSource = context.createBufferSource();
      
      // Feed the buffer to the sound source
      // and hear the magic happen as we connect
      // the source to the destination
      soundSource.buffer = buffer;
      soundSource.start();
      soundSource.connect(destination);
  });
}
```

Now we have a `destination` variable which is a `MediastreamDestination` object and has a property `stream` which is actually a `MediaStream`!

Here’s where I leave the final implementation up to you. There’s plenty of WebRTC flavors out there and you can roll out your own. But they all have one thing in common. The `getUserMedia` function.

A generic usage of the `getUserMedia` function would look something like this:

```
navigator.getUserMedia = 
        navigator.getUserMedia       ||
        navigator.webkitGetUserMedia ||
        navigator.mozGetUserMedia    ||
        navigator.msGetUserMedia;

navigator.getUserMedia(conf, function(stream) {
  if (!stream) return errorcb(stream);
  
  onready(stream);
  subscribe(stream);
}, function(error) {
  debugcb(error);
  
  return errorcb(error);

});
```

The way we have used this concept in practice is to override the `getUserMedia` function, replacing the above with the folowing:

```
navigator.getUserMedia = function(stream){
  if (!stream) return errorcb(stream);
  
  onready(stream);
  subscribe(stream);
}

getUserMedia(destination.stream);
```

Another way to go about it is to inject your stream through the callback function which is passed to the original `getUserMedia` function.

And there you have it. There’s many useful applications for this sort of stream manipulation. I hope this helps you implement yours.

Happy coding!

[View full post](https://blog.webrtc.ventures/2015/09/sending-generated-audio-through-webrtc-as-a-live-feed)

```json
{
  "@context" : "http://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "ArinSime"
  },
  "dateModified" : "2024-04-03T18:49:26.956Z",
  "datePublished" : "2015-09-02T04:00:00Z",
  "headline" : "Sending Generated Audio Through WebRTC as a Live Feed",
  "image" : {
    "@type" : "ImageObject",
    "height" : 450,
    "url" : "https://45353883.fs1.hubspotusercontent-na1.net/hubfs/45353883/Imported_Blog_Media/webrtc_generated-audio.png",
    "width" : 957
  },
  "mainEntityOfPage" : "https://blog.webrtc.ventures/2015/09/sending-generated-audio-through-webrtc-as-a-live-feed",
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "height" : 60,
      "url" : "/hs/hsstatic/content_shared_assets/static-1.4092/img/default-amp-logo.png",
      "width" : 60
    },
    "name" : "WebRTC.ventures Blog"
  }
}
```