Under Milk Wood in Headphone Surround Sound

Published: 13 October 2014
  • Chris Pike

    Lead R&D Engineer - Audio
  • Tom Nixon

    Project R&D Engineer
  • Dave Evans

    Technologist

This year we have been running experiments with surround sound streaming in the web browser using HTML5 and MPEG-DASH. We’ve run tests with live orchestral music for Radio 3 and more recently also radio drama for Radio 4, using a 5.1 rendering of our object-based production of Pinocchio.

Now we have added a new feature to the player, headphone surround sound. We are using binaural processing techniques to convert the multichannel surround sound stream to a two channel headphone signal. The aim is to give those listening on headphones the surround sound experience.

You will find the player for both the loudspeaker and headphone surround sound versions of Under Milk Wood on this page.

This week's Saturday Drama on Radio 4 will be the highly-acclaimed 2003 production of Dylan Thomas' Under Milk Wood, in celebration of the centenary of the Welsh writer's birth. This production was mixed in surround sound and at the time a 5.1 stream was made available to our audience. This Saturday we are again streaming the play online in 5-channel surround, this time using our MPEG-DASH player, which works directly in a page on the Radio 4 website. After the broadcast, the play will be available on-demand for 30 days.

The new headphone surround sound feature is possible thanks to a web technology called the Web Audio API. This client-side script API introduces capabilities for audio signal processing in web applications. It has a range of applications, such as music creation and games, or even recreating the sounds of the Radiophonic Workshop. BBC R&D's Matthew Paradis is co-chairing with the W3C's Audio Working Group, which is working on the specification.

To create the headphone surround sound experience, we use the MediaElementAudioSourceNode to grab the multichannel audio signal coming from the HTML5 audio element. We can then process this sound source through a Web Audio node graph. The most important feature of the API for headphone surround is the ConvolverNode interface. This allows a developer to convolve an audio signal with a chosen impulse response. The Web Audio API specification provides a helpful informative section on convolution.

Using binaural impulse responses, measured using a dummy head microphone, the convolution process can be used to create the impression that a sound source is coming from a specific point in space, when listening on headphones. We have measured impulse responses from a surround sound loudspeaker system using a dummy head microphone, these are two-channel measurements describing the transfer function from the sound source to each ear. These measurements are used to process each channel of the surround sound signal and the results are mixed together to form a two-channel signal for headphones. The resulting effect should be that of the original surround sound mix coming from five virtual loudspeakers, outside of the listener's head. The image below shows the signal flow within the Web Audio API to create this effect, it was created using Firefox Web Audio Editor. For more background on binaural techniques, you can read this previous R&D blog post or this BBC News article.

The Web Audio node graph for creating the binaural headphone surround

In this experiment we have made two different binaural processing options available, with impulse responses measured in different acoustic environments. We are also offering a stereo down-mix, where the surround and front-centre channels are added to the front-left and front-right signals to create a two-channel stereo version, as shown in the image below. This is the way that surround sound sources are conventionally processed for listening on headphones (or a stereo loudspeaker system). Since the audio processing is happening in the browser, we can allow users to select their preferred headphone option without needing to provide multiple different streams.

The Web Audio node graph for creating the stereo down-mix

The technique presented here is not the only way to create a headphone surround impression. There are a range of established systems out there for converting surround content to headphones. However using the Web Audio API, we can provide the headphone surround experience without requiring users to install any plug-ins. All that is needed is a modern HTML5-compatible web browser that supports Web Audio and, for the DASH streaming player, W3C Media Source Extensions. Currently the only browser that supports both of these features is Google Chrome, but we expect there to be more compatible browsers in the future.

Previously we carried out a subjective assessment of headphone surround systems and found that across a range of BBC content they did not yet provide a significant improvement over a stereo down-mix. We believe that these techniques can enhance headphone listening for our audiences though, making existing surround sound content available to audience members using headphones, as in this experiment. One interesting factor is that the quality is dependent on the source material, as well as the processing techniques used. The way that this 'play for voices' has been mixed seems particularly suited to this virtual loudspeaker binaural technique, as often voices are routed to a single loudspeaker rather than being panned between them.

It is important to mention that binaural techinques can also be used to go beyond 5-channel surround experiences, they can be used to create true 3D spatial impression with height and also interactive virtual reality experiences such as the one shown at our Commonwealth Games demos. We hope to continue developing our experiments with this technology in the future.

You will find the player for both the loudspeaker and headphone surround sound versions of Under Milk Wood on this page.

There is a survey at the bottom of the page. We would greatly appreciate your feedback on the experience if you have the time to fill it in. You can also use the hashtag #BBCR4UMW on Twitter.

Please take a look at this article by Rupert Brun, Head of Technology for BBC Radio, and our "Frequently Asked Questions" page to help you with the set-up.

Search by Tag:

  • Tagged with BlogBlog

Rebuild Page

The page will automatically reload. You may need to reload again if the build takes longer than expected.

Useful links

Demo mode

Hides preview environment warning banner on preview pages.

Theme toggler

Select a theme and theme mode and click "Load theme" to load in your theme combination.

Theme:
Theme Mode: