(271.56 kB)
Download file

Precedence Effect: Listening experiment - Matlab script and Excel spreadsheet to play audio.

Download (271.56 kB)
posted on 13.06.2022, 10:47 by Philippa DemontePhilippa Demonte

A zip file containing a Matlab script and an associated Excel spreadsheet used for automated audio playback in a psychoacoustics listening experiment. 

The speech-in-noise test was conducted over a four-loudspeaker array in the Listening Room at the University of Salford in March 2020 towards the PhD thesis by P.Demonte (2022).


This research is investigating different ways in which object-based approaches can improve speech intelligibility for broadcast audio.

This particular listening experiment was a baseline study for future applications to media device orchestration (MDO), the creation of ad-hoc loudspeaker arrays using commonly-found devices in the home. 

The aim was to determine whether speech intelligibility can be significantly improved by augmenting a 2-loudspeaker (stereo) array with an additional speech-only loudspeaker (aux), and applying a delay to the aux loudspeaker to instigate the psychoacoustic phenomenon of the precedence effect. A further aim was to determine whether any positive effects of binaural unmasking observed are due to the binaural masking level difference (BMLD) or to the so-called better ear effect (BEE). Note though that equalisation (EQ) was applied to the speech signal from the aux loudspeaker to negate differences in comb filtering effects at the listener position for a two- versus three loudspeaker array.


The Matlab script features extensive comments about:

* the technical set-up of this particular listening experiment, including the equipment and input files that were used,

* and about the command lines in the script itself,

such that others may either replicate** the listening experiment, or adapt the Matlab script for use in other speech-in-noise-type listening experiments.

**Note that the listening experiment cannot be exactly replicated, even in the same listening space with the exact same equipment, due to temperature and humidity fluctuations on any given day.

The Matlab script first asks the user to enter a participant ID, then uses the 'Playlist', 'Narrator', and 'Music' pages of the accompanying Excel spreadsheet to determine which audio files to play on each of the four loudspeakers at any given time, including silence.

The playback format of the listening experiment is:

1) Narrator announces the trial number, e.g. "Number one."

2) Loudspeakers L1 and R1 simultaneously play a spoken sentence and background noise; loudspeakers C2 and R2 either play speech or are muted.

3) Participant is then given a set time of 12 seconds in which to write down the sentence (containing five target words) as they heard and understood it. Matlab script plays a mute .wav file during this time, i.e. silence.

4) The script then automatically proceeds to the next trial.

5) After each block of 20 trials, the script plays a 30 second excerpt of relaxing piano music to give the participant some respite before the next section.

6) The script automatically ends after a total of 120 trials.


The following Salford Figshare collection also contains the audio files that were used with this Matlab script and Excel spreadsheet for the experiment in March 2020, with the exception of the music excerpt:

'Utilising the Precedence Effect with an Object-Based Approach to Audio to Improve Speech Intelligibility'. 


For further information, contact: