EXPERIMENT 01 - NOISE CONDITIONS STRATEGIES
Contents
clear all close all out_path = '~/yamaha/recordings/experiments/experiment01/noises/'; %out_path = '../../recordings/experiments/experiment01/noises/';
Spectrogram of Voice Recording
Male Voice - Japanese
[y_male,fs,nbits]=wavread('~/yamaha/scripts/documentation/tokyo_adj_SP_J68_07dir_male_excerpt.wav'); figure spectrogram(y_male,2^9,[],2^11,fs,'yaxis'); title('Spectrogram, Male Japaneese voice, source in the corridor, Tokyo Office') V = axis; axis([V(1:2) 0 2000]); %set(gca,'YScale','log'); %[S_male,F_male,T_male,P_male] = spectrogram(y_male,2^10,[],2^11,fs,'yaxis');
Female Voice - English
[y_female,fs,nbits]=wavread('~/yamaha/scripts/documentation/tokyo_simulated_adj_2people_e_female_excerpt.wav'); figure spectrogram(y_female,2^9,[],2^11,fs,'yaxis'); title('Spectrogram, Female English voice, source in the corridor, Simulated Tokyo Office') V = axis; axis([V(1:2) 0 2000]); %set(gca,'YScale','log'); %[S_female,F_female,T_female,P_female] = spectrogram(y_female,2^10,[],2^11,fs,'yaxis');
Remarks on the Spectrum
Almost all the Energy is concentrated bellow 600~700 Hz. This stands for both the male and female voice. The rest seems to be filtered out by the wall. The lowest region (where the pitch information is located) has the following spectral information:
- Male voice: three close bands at around 150, 350, and 550 Hz.
- Female voice: three close bands at around 250, 450, and 650 Hz. This last band is weaker than the other two, with a small rythm.
FM Bands for in Experiment 1
In order two compromise the spectral information of Male and Female voice the three bands used in this experiment will be at 200, 350, 500 Hz.
fs = 4000; %Hz dur = 15; %seconds fc1=200; fc2=350; fc3=500; fc_v = [fc1 fc2 fc3]; %Hz % Note on the amplitude selection: % This set of amplitudes is selected in order to get a psychoacoustical % balance between the three bands. It was done subjectivly, not using any % table, so this is PENDING. amp_v = [1 0.5 0.25];
Modulation Cases
For this experiment, 3 modulation rates are selected, 2, 5 and 7 Hz. The idea is to span the frequency range from 2 to 7 Hz. Basically, all the combination of these 3 rates are used for each center frequency.
fm_v1 = [0 0 0]; %Hz fm_v2 = [2 5 7]; %Hz fm_v3 = [2 7 5]; %Hz fm_v4 = [5 2 7]; %Hz fm_v5 = [5 7 2]; %Hz fm_v6 = [7 2 5]; %Hz fm_v7 = [7 5 2]; %Hz
Modulation Amplitude
The modulation amplitude in this first expermiment is selected to be propostional to the modulation rate (fm). The motivation behind this choice is to minimize the anoyance effect. When the modulation rate is low, higher amplitudes are more noticed and anoying.
%Factor to obtain modulation amplitudes from Modulation Frequencies.
amp_factor = 0.01;
1) Case 1 (no modulation)
disp('Case 1') fm_v = fm_v1; fm_amp_v = 0*fc_v; noise = fmbands(fs,dur,fc_v,fm_v,fm_amp_v,amp_v); noise44100 = resample(noise,44100,fs,40); wavwrite(noise44100,44100,[out_path 'noise_01.wav'])
Case 1
http://ccrma.stanford.edu/~jcaceres/yamaha/documentation/sounds/experiment01/noises/noise_01.wav
2) Case 2
disp('Case 2') fm_v = fm_v2; fm_amp_v = (amp_factor*fm_v) .* fc_v; noise = fmbands(fs,dur,fc_v,fm_v,fm_amp_v,amp_v); noise44100 = resample(noise,44100,fs,40); wavwrite(noise44100,44100,[out_path 'noise_02.wav'])
Case 2
http://ccrma.stanford.edu/~jcaceres/yamaha/documentation/sounds/experiment01/noises/noise_02.wav
3) Case 3
disp('Case 3') fm_v = fm_v3; fm_amp_v = (amp_factor*fm_v) .* fc_v; noise = fmbands(fs,dur,fc_v,fm_v,fm_amp_v,amp_v); noise44100 = resample(noise,44100,fs,40); wavwrite(noise44100,44100,[out_path 'noise_03.wav'])
Case 3
http://ccrma.stanford.edu/~jcaceres/yamaha/documentation/sounds/experiment01/noises/noise_03.wav
4) Case 4
disp('Case 4') fm_v = fm_v4; fm_amp_v = (amp_factor*fm_v) .* fc_v; noise = fmbands(fs,dur,fc_v,fm_v,fm_amp_v,amp_v); noise44100 = resample(noise,44100,fs,40); wavwrite(noise44100,44100,[out_path 'noise_04.wav'])
Case 4
http://ccrma.stanford.edu/~jcaceres/yamaha/documentation/sounds/experiment01/noises/noise_04.wav
5) Case 5
disp('Case 5') fm_v = fm_v5; fm_amp_v = (amp_factor*fm_v) .* fc_v; noise = fmbands(fs,dur,fc_v,fm_v,fm_amp_v,amp_v); noise44100 = resample(noise,44100,fs,40); wavwrite(noise44100,44100,[out_path 'noise_05.wav'])
Case 5
http://ccrma.stanford.edu/~jcaceres/yamaha/documentation/sounds/experiment01/noises/noise_05.wav
6) Case 6
disp('Case 6') fm_v = fm_v6; fm_amp_v = (amp_factor*fm_v) .* fc_v; noise = fmbands(fs,dur,fc_v,fm_v,fm_amp_v,amp_v); noise44100 = resample(noise,44100,fs,40); wavwrite(noise44100,44100,[out_path 'noise_06.wav'])
Case 6
http://ccrma.stanford.edu/~jcaceres/yamaha/documentation/sounds/experiment01/noises/noise_06.wav
7) Case 7
disp('Case 7') fm_v = fm_v7; fm_amp_v = (amp_factor*fm_v) .* fc_v; noise = fmbands(fs,dur,fc_v,fm_v,fm_amp_v,amp_v); noise44100 = resample(noise,44100,fs,40); wavwrite(noise44100,44100,[out_path 'noise_07.wav'])
Case 7
http://ccrma.stanford.edu/~jcaceres/yamaha/documentation/sounds/experiment01/noises/noise_07.wav