how to create multi-talker babble and filter noise to...

5
How to create multi-talker babble and filter noise to match the LTAS from a given sound Creating multi-talker babble (Modified from Susanne Brouwer): 1) Put all stimuli over all speakers in one directory 2) Normalize these sentences using the normalize_audio.praat script 3) Separate stimuli by subjects into individual directories 4) Randomize and concatenate each sentence set individually in Praat for each speaker using the script concatenate_random.praat (There are more instructions in the script on what to do) 5) Calculate the duration of the first sentence of the talker whose total sentence set duration is the shortest. This ensures that your babble will always contain all talkers. 6) Take this duration and divide it by n, where n is the total number of talkers. This new duration is called your interval duration. For example, let’s say that your target talker’s first sentence is 1525 ms in length and you have 14 talkers. Your interval duration is 1525/14 = 109 ms. 7) Generate silence in Praat that is as long as your interval duration. Go to New > Sound > Create sound from formula… Enter in the name, number of channels, and end time (your interval duration of 109 ms). The formula for silence is simply 0. Example: 8) Stagger this silence by concatenating integer multiples of silence with each talker in order to prevent amplitude modulation. To do this, you will need to determine a preset amount of multiples of silence for each talker. Using your target talker (shortest overall duration) as a baseline 0, you can simply add n-intervals to each talker. Example: 14 talkers Talker 01 (baseline, n = 0): 0 X 109 ms Talker 02 (n = 1): 1 interval X 109 ms Talker 03 (n = 2): 2 intervals X 109 ms …Talker 14 (n =13): 13 intervals X 109 ms

Upload: lamnguyet

Post on 01-May-2018

226 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: How to create multi-talker babble and filter noise to ...groups.linguistics.northwestern.edu/speech_comm_group/documents/... · How to create multi-talker babble and filter noise

How to create multi-talker babble and filter noise to match the LTAS from a given sound Creating multi-talker babble (Modified from Susanne Brouwer):

1) Put all stimuli over all speakers in one directory 2) Normalize these sentences using the normalize_audio.praat script 3) Separate stimuli by subjects into individual directories 4) Randomize and concatenate each sentence set individually in Praat for each speaker using

the script concatenate_random.praat (There are more instructions in the script on what to do)

5) Calculate the duration of the first sentence of the talker whose total sentence set duration is the shortest. This ensures that your babble will always contain all talkers.

6) Take this duration and divide it by n, where n is the total number of talkers. This new duration is called your interval duration. For example, let’s say that your target talker’s first sentence is 1525 ms in length and you have 14 talkers. Your interval duration is 1525/14 = 109 ms.

7) Generate silence in Praat that is as long as your interval duration. Go to New > Sound > Create sound from formula… Enter in the name, number of channels, and end time (your interval duration of 109 ms). The formula for silence is simply 0. Example:

8) Stagger this silence by concatenating integer multiples of silence with each talker in order to prevent amplitude modulation. To do this, you will need to determine a preset amount of multiples of silence for each talker. Using your target talker (shortest overall duration) as a baseline 0, you can simply add n-intervals to each talker. Example: 14 talkers Talker 01 (baseline, n = 0): 0 X 109 ms Talker 02 (n = 1): 1 interval X 109 ms Talker 03 (n = 2): 2 intervals X 109 ms …Talker 14 (n =13): 13 intervals X 109 ms

Page 2: How to create multi-talker babble and filter noise to ...groups.linguistics.northwestern.edu/speech_comm_group/documents/... · How to create multi-talker babble and filter noise

Notice that the number of intervals will always be equal to n-1 talkers. This will prevent the case where Talker 14 receives sentence-length duration of silence, which could cause their sentences to line up with Talker 01’s sentences (14 X 109 ms = 1525 ms).

9) Next, concatenate each silence X interval with each talker’s sentence set by hand. The easiest way to do this is to open up the silence file 13 times and then add backwards. A screen shot has been provided below: Example:

Page 3: How to create multi-talker babble and filter noise to ...groups.linguistics.northwestern.edu/speech_comm_group/documents/... · How to create multi-talker babble and filter noise

10) Save all of these files in a new folder. Then, import them all in Audacity. Be sure to use the command Import and not ‘Open’.

11) Mix the files in Audacity. That is, simply Export the project and Audacity will automatically combine all files. See the example below.

Example:

12) Finally in Praat, trim the duration of the first sentence off the new sound file and anything longer than the total set of sentences produced by your target talker. In this example, they would be 1525 ms and 141 seconds, respectively. A. This ensures that all talkers are represented throughout the babble at any given point.

Hints: -Concatenate recoverably gives you the option to see how files have been combined via a new TextGrid, which Praat creates for you. This option is recommended as it allows you to check for errors, overlaps, etc. -Make sure that your sampling rate, # of channels, etc. for your generated silence is the same as all of your sound files. Praat does not allow the concatenation of two sound files at different measurements with the exception of time and amplitude.

Creating speech-shaped noise using an existing sound file

1) The script gives detailed instructions, so these are more ‘hints’ than procedures. 2) Be sure that only one target file is in your directory file or the script will not function

properly. That is, the script was written so that all you have to do is specify directories for .wav files—the downside is that it cannot target only one based on how it was written.

3) Check that your new noise file is not clipped and that it is indeed speech-shaped instead of broadband noise. The script has commands to prevent these problems.

4) Below you will find some screen shots of what your output files should look like if the script has performed correctly.

Page 4: How to create multi-talker babble and filter noise to ...groups.linguistics.northwestern.edu/speech_comm_group/documents/... · How to create multi-talker babble and filter noise

Examples of successful LTAS to Sound filtering: 1: LTAS of target sound file. In this case, it is the babble created above. 2: Spectrogram and waveform of white noise before filtering 3: Spectrum of white noise before filtering 1: 2: 3:

Page 5: How to create multi-talker babble and filter noise to ...groups.linguistics.northwestern.edu/speech_comm_group/documents/... · How to create multi-talker babble and filter noise

4: Spectrogram and waveform of white noise after filtering 5: Spectrum of white noise after filtering 6: Super-imposed LTAS of white noise after filtering over original sound file LTAS 4: 5: 6: