Mercurial > hg > audio-degradation-toolbox
comparison demo_degradationUnits.m @ 28:76f45f5c9afd DoP tip
- added units
* adaptiveEqualizer
* applyMfccMeanAdaption
- added corresponding data files for presets
- modified applyImpulseReponse to use the estimated average group delay to adjust
the output audio and keep the timestamps as is (was vice versa before)
- added new units demos, incl one for applyLowpass
author | SebastianEwert |
---|---|
date | Tue, 21 Jan 2014 18:08:28 +0000 |
parents | 48e065a17454 |
children |
comparison
equal
deleted
inserted
replaced
27:5ab87a0152e7 | 28:76f45f5c9afd |
---|---|
70 figure; imagesc(t,f,log10(abs(s)+1),[0 maxValueRangeVis(k)]); axis xy; colormap(hot); ylim([0,8000]); colorbar; print('-dpng', fullfile(pathOutputDemo,sprintf('Unit_01_addNoise_file%d.png',k))) | 70 figure; imagesc(t,f,log10(abs(s)+1),[0 maxValueRangeVis(k)]); axis xy; colormap(hot); ylim([0,8000]); colorbar; print('-dpng', fullfile(pathOutputDemo,sprintf('Unit_01_addNoise_file%d.png',k))) |
71 end | 71 end |
72 end | 72 end |
73 | 73 |
74 %% | 74 %% |
75 for k=1:length(filenames) | |
76 [f_audio,samplingFreq]=wavread(filenames{k}); | |
77 | |
78 parameter.snrRatio = 10; % in dB | |
79 parameter.loadInternalSound = 1; | |
80 parameter.internalSound = 'PubEnvironment1'; | |
81 f_audio_out = degradationUnit_addSound(f_audio, samplingFreq, [], parameter); | |
82 | |
83 wavwrite(f_audio_out,samplingFreq,16,fullfile(pathOutputDemo,sprintf('Unit_02_addSound_file%d.wav',k))); | |
84 if createSpectrograms | |
85 [s,f,t] = spectrogram(f_audio_out,hamming(round(samplingFreq*0.093)),round(samplingFreq*0.093/2),[],samplingFreq); | |
86 figure; imagesc(t,f,log10(abs(s)+1),[0 maxValueRangeVis(k)]); axis xy; colormap(hot); ylim([0,8000]); colorbar; print('-dpng', fullfile(pathOutputDemo,sprintf('Unit_02_addSound_file%d.png',k))) | |
87 end | |
88 end; | |
89 | |
90 %% | |
91 for k=1:length(filenames) | |
92 [f_audio,samplingFreq]=wavread(filenames{k}); | |
93 | |
94 parameter.dsFrequency = 4000; | |
95 f_audio_out = degradationUnit_applyAliasing(f_audio, samplingFreq, [], parameter); | |
96 | |
97 wavwrite(f_audio_out,samplingFreq,16,fullfile(pathOutputDemo,sprintf('Unit_03_applyAliasing_file%d.wav',k))); | |
98 if createSpectrograms | |
99 [s,f,t] = spectrogram(f_audio_out,hamming(round(samplingFreq*0.093)),round(samplingFreq*0.093/2),[],samplingFreq); | |
100 figure; imagesc(t,f,log10(abs(s)+1),[0 maxValueRangeVis(k)]); axis xy; colormap(hot); ylim([0,8000]); colorbar; print('-dpng', fullfile(pathOutputDemo,sprintf('Unit_03_applyAliasing_file%d.png',k))) | |
101 end | |
102 end; | |
103 | |
104 %% | |
105 for k=1:length(filenames) | |
106 [f_audio,samplingFreq]=wavread(filenames{k}); | |
107 | |
108 parameter.percentOfSamples = 10; % signal is scaled so that n% of samples clip | |
109 f_audio_out = degradationUnit_applyClippingAlternative(f_audio, samplingFreq, [], parameter); | |
110 | |
111 wavwrite(f_audio_out,samplingFreq,16,fullfile(pathOutputDemo,sprintf('Unit_04_applyClipping_file%d.wav',k))); | |
112 if createSpectrograms | |
113 [s,f,t] = spectrogram(f_audio_out,hamming(round(samplingFreq*0.093)),round(samplingFreq*0.093/2),[],samplingFreq); | |
114 figure; imagesc(t,f,log10(abs(s)+1),[0 maxValueRangeVis(k)]); axis xy; colormap(hot); ylim([0,8000]); colorbar; print('-dpng', fullfile(pathOutputDemo,sprintf('Unit_04_applyClipping_file%d.png',k))) | |
115 end | |
116 end; | |
117 %% | |
118 for k=1:length(filenames) | |
119 [f_audio,samplingFreq]=wavread(filenames{k}); | |
120 | |
121 parameter.compressorSlope = 0.9; | |
122 parameter.normalizeOutputAudio = 1; | |
123 f_audio_out = degradationUnit_applyDynamicRangeCompression(f_audio, samplingFreq, [], parameter); | |
124 | |
125 wavwrite(f_audio_out,samplingFreq,16,fullfile(pathOutputDemo,sprintf('Unit_05_applyDynamicRangeCompression_file%d.wav',k))); | |
126 if createSpectrograms | |
127 [s,f,t] = spectrogram(f_audio_out,hamming(round(samplingFreq*0.093)),round(samplingFreq*0.093/2),[],samplingFreq); | |
128 figure; imagesc(t,f,log10(abs(s)+1),[0 maxValueRangeVis(k)]); axis xy; colormap(hot); ylim([0,8000]); colorbar; print('-dpng', fullfile(pathOutputDemo,sprintf('Unit_05_applyDynamicRangeCompression_file%d.png',k))) | |
129 end | |
130 end; | |
131 | |
132 %% | |
133 for k=1:length(filenames) | |
134 [f_audio,samplingFreq]=wavread(filenames{k}); | |
135 | |
136 parameter.nApplications = 5; | |
137 f_audio_out = degradationUnit_applyHarmonicDistortion(f_audio, samplingFreq, [], parameter); | |
138 | |
139 wavwrite(f_audio_out,samplingFreq,16,fullfile(pathOutputDemo,sprintf('Unit_06_applyHarmonicDistortion_file%d.wav',k))); | |
140 if createSpectrograms | |
141 [s,f,t] = spectrogram(f_audio_out,hamming(round(samplingFreq*0.093)),round(samplingFreq*0.093/2),[],samplingFreq); | |
142 figure; imagesc(t,f,log10(abs(s)+1),[0 maxValueRangeVis(k)]); axis xy; colormap(hot); ylim([0,8000]); colorbar; print('-dpng', fullfile(pathOutputDemo,sprintf('Unit_06_applyHarmonicDistortion_file%d.png',k))) | |
143 end | |
144 end; | |
145 | |
146 %% | |
147 for k=1:length(filenames) | |
148 [f_audio,samplingFreq]=wavread(filenames{k}); | |
149 | |
150 parameter.LameOptions = '--preset cbr 32'; | |
151 f_audio_out = degradationUnit_applyMp3Compression(f_audio, samplingFreq, [], parameter); | |
152 | |
153 wavwrite(f_audio_out,samplingFreq,16,fullfile(pathOutputDemo,sprintf('Unit_07_applyMp3Compression_file%d.wav',k))); | |
154 if createSpectrograms | |
155 [s,f,t] = spectrogram(f_audio_out,hamming(round(samplingFreq*0.093)),round(samplingFreq*0.093/2),[],samplingFreq); | |
156 figure; imagesc(t,f,log10(abs(s)+1),[0 maxValueRangeVis(k)]); axis xy; colormap(hot); ylim([0,8000]); colorbar; print('-dpng', fullfile(pathOutputDemo,sprintf('Unit_07_applyMp3Compression_file%d.png',k))) | |
157 end | |
158 end; | |
159 | |
160 %% | |
161 for k=1:length(filenames) | |
162 [f_audio,samplingFreq]=wavread(filenames{k}); | |
163 | |
164 parameter.changeInPercent = +5; | |
165 f_audio_out = degradationUnit_applySpeedup(f_audio, samplingFreq, [], parameter); | |
166 | |
167 | |
168 wavwrite(f_audio_out,samplingFreq,16,fullfile(pathOutputDemo,sprintf('Unit_08_applySpeedup_file%d.wav',k))); | |
169 if createSpectrograms | |
170 [s,f,t] = spectrogram(f_audio_out,hamming(round(samplingFreq*0.093)),round(samplingFreq*0.093/2),[],samplingFreq); | |
171 figure; imagesc(t,f,log10(abs(s)+1),[0 maxValueRangeVis(k)]); axis xy; colormap(hot); ylim([0,8000]); colorbar; print('-dpng', fullfile(pathOutputDemo,sprintf('Unit_08_applySpeedup_file%d.png',k))) | |
172 end | |
173 end; | |
174 | |
175 %% | |
176 for k=1:length(filenames) | |
177 [f_audio,samplingFreq]=wavread(filenames{k}); | |
178 | |
179 parameter.intensityOfChange = 3; | |
180 parameter.frequencyOfChange = 0.5; | |
181 f_audio_out = degradationUnit_applyWowResampling(f_audio, samplingFreq, [], parameter); | |
182 | |
183 wavwrite(f_audio_out,samplingFreq,16,fullfile(pathOutputDemo,sprintf('Unit_09_applyWowResampling_file%d.wav',k))); | |
184 if createSpectrograms | |
185 [s,f,t] = spectrogram(f_audio_out,hamming(round(samplingFreq*0.093)),round(samplingFreq*0.093/2),[],samplingFreq); | |
186 figure; imagesc(t,f,log10(abs(s)+1),[0 maxValueRangeVis(k)]); axis xy; colormap(hot); ylim([0,8000]); colorbar; print('-dpng', fullfile(pathOutputDemo,sprintf('Unit_09_applyWowResampling_file%d.png',k))) | |
187 end | |
188 end; | |
189 | |
190 %% | |
191 for k=1:length(filenames) | |
192 [f_audio,samplingFreq]=wavread(filenames{k}); | |
193 | |
194 parameter.stopFrequency = 1000; | |
195 f_audio_out = degradationUnit_applyHighpassFilter(f_audio, samplingFreq, [], parameter); | |
196 | |
197 wavwrite(f_audio_out,samplingFreq,16,fullfile(pathOutputDemo,sprintf('Unit_10_applyHighpassFilter_file%d.wav',k))); | |
198 if createSpectrograms | |
199 [s,f,t] = spectrogram(f_audio_out,hamming(round(samplingFreq*0.093)),round(samplingFreq*0.093/2),[],samplingFreq); | |
200 figure; imagesc(t,f,log10(abs(s)+1),[0 maxValueRangeVis(k)]); axis xy; colormap(hot); ylim([0,8000]); colorbar; print('-dpng', fullfile(pathOutputDemo,sprintf('Unit_10_applyHighpassFilter_file%d.png',k))) | |
201 end | |
202 end; | |
203 | |
204 | |
205 %% | |
206 % Some degradations delay the input signal. If some timepositions are given | 75 % Some degradations delay the input signal. If some timepositions are given |
207 % via timepositions_beforeDegr, the corresponding positions will be returned | 76 % via timepositions_beforeDegr, the corresponding positions will be returned |
208 % in timepositions_afterDegr. | 77 % in timepositions_afterDegr. |
209 timepositions_beforeDegr = [2, 3]; | 78 timepositions_beforeDegr = [2, 3]; |
210 | 79 |
221 % time positions and audio can also be processed at the same time: | 90 % time positions and audio can also be processed at the same time: |
222 [f_audio_out,timepositions_afterDegr] = degradationUnit_applyImpulseResponse(f_audio, samplingFreq, timepositions_beforeDegr, parameter); | 91 [f_audio_out,timepositions_afterDegr] = degradationUnit_applyImpulseResponse(f_audio, samplingFreq, timepositions_beforeDegr, parameter); |
223 fprintf('degradation_applyFirFilter: adjusting time positions\n'); | 92 fprintf('degradation_applyFirFilter: adjusting time positions\n'); |
224 for m=1:length(timepositions_afterDegr) fprintf('%g -> %g\n',timepositions_beforeDegr(m),timepositions_afterDegr(m)); end | 93 for m=1:length(timepositions_afterDegr) fprintf('%g -> %g\n',timepositions_beforeDegr(m),timepositions_afterDegr(m)); end |
225 | 94 |
226 wavwrite(f_audio_out,samplingFreq,16,fullfile(pathOutputDemo,sprintf('Unit_11_applyImpulseResponse_file%d.wav',k))); | 95 wavwrite(f_audio_out,samplingFreq,16,fullfile(pathOutputDemo,sprintf('Unit_02_applyImpulseResponse_file%d.wav',k))); |
227 if createSpectrograms | 96 if createSpectrograms |
228 [s,f,t] = spectrogram(f_audio_out,hamming(round(samplingFreq*0.093)),round(samplingFreq*0.093/2),[],samplingFreq); | 97 [s,f,t] = spectrogram(f_audio_out,hamming(round(samplingFreq*0.093)),round(samplingFreq*0.093/2),[],samplingFreq); |
229 figure; imagesc(t,f,log10(abs(s)+1),[0 maxValueRangeVis(k)]); axis xy; colormap(hot); ylim([0,8000]); colorbar; print('-dpng', fullfile(pathOutputDemo,sprintf('Unit_11_applyImpulseResponse_file%d.png',k))) | 98 figure; imagesc(t,f,log10(abs(s)+1),[0 maxValueRangeVis(k)]); axis xy; colormap(hot); ylim([0,8000]); colorbar; print('-dpng', fullfile(pathOutputDemo,sprintf('Unit_02_applyImpulseResponse_file%d.png',k))) |
230 end | 99 end |
231 end; | 100 end; |
232 | 101 |
102 %% | |
103 for k=1:length(filenames) | |
104 [f_audio,samplingFreq]=wavread(filenames{k}); | |
105 | |
106 parameter.snrRatio = 10; % in dB | |
107 parameter.loadInternalSound = 1; | |
108 parameter.internalSound = 'PubEnvironment1'; | |
109 f_audio_out = degradationUnit_addSound(f_audio, samplingFreq, [], parameter); | |
110 | |
111 wavwrite(f_audio_out,samplingFreq,16,fullfile(pathOutputDemo,sprintf('Unit_03_addSound_file%d.wav',k))); | |
112 if createSpectrograms | |
113 [s,f,t] = spectrogram(f_audio_out,hamming(round(samplingFreq*0.093)),round(samplingFreq*0.093/2),[],samplingFreq); | |
114 figure; imagesc(t,f,log10(abs(s)+1),[0 maxValueRangeVis(k)]); axis xy; colormap(hot); ylim([0,8000]); colorbar; print('-dpng', fullfile(pathOutputDemo,sprintf('Unit_03_addSound_file%d.png',k))) | |
115 end | |
116 end; | |
117 | |
118 %% | |
119 for k=1:length(filenames) | |
120 [f_audio,samplingFreq]=wavread(filenames{k}); | |
121 | |
122 parameter.dsFrequency = 4000; | |
123 f_audio_out = degradationUnit_applyAliasing(f_audio, samplingFreq, [], parameter); | |
124 | |
125 wavwrite(f_audio_out,samplingFreq,16,fullfile(pathOutputDemo,sprintf('Unit_04_applyAliasing_file%d.wav',k))); | |
126 if createSpectrograms | |
127 [s,f,t] = spectrogram(f_audio_out,hamming(round(samplingFreq*0.093)),round(samplingFreq*0.093/2),[],samplingFreq); | |
128 figure; imagesc(t,f,log10(abs(s)+1),[0 maxValueRangeVis(k)]); axis xy; colormap(hot); ylim([0,8000]); colorbar; print('-dpng', fullfile(pathOutputDemo,sprintf('Unit_04_applyAliasing_file%d.png',k))) | |
129 end | |
130 end; | |
131 | |
132 %% | |
133 for k=1:length(filenames) | |
134 [f_audio,samplingFreq]=wavread(filenames{k}); | |
135 | |
136 parameter.percentOfSamples = 10; % signal is scaled so that n% of samples clip | |
137 f_audio_out = degradationUnit_applyClippingAlternative(f_audio, samplingFreq, [], parameter); | |
138 | |
139 wavwrite(f_audio_out,samplingFreq,16,fullfile(pathOutputDemo,sprintf('Unit_05_applyClipping_file%d.wav',k))); | |
140 if createSpectrograms | |
141 [s,f,t] = spectrogram(f_audio_out,hamming(round(samplingFreq*0.093)),round(samplingFreq*0.093/2),[],samplingFreq); | |
142 figure; imagesc(t,f,log10(abs(s)+1),[0 maxValueRangeVis(k)]); axis xy; colormap(hot); ylim([0,8000]); colorbar; print('-dpng', fullfile(pathOutputDemo,sprintf('Unit_05_applyClipping_file%d.png',k))) | |
143 end | |
144 end; | |
145 %% | |
146 for k=1:length(filenames) | |
147 [f_audio,samplingFreq]=wavread(filenames{k}); | |
148 | |
149 parameter.compressorSlope = 0.9; | |
150 parameter.normalizeOutputAudio = 1; | |
151 f_audio_out = degradationUnit_applyDynamicRangeCompression(f_audio, samplingFreq, [], parameter); | |
152 | |
153 wavwrite(f_audio_out,samplingFreq,16,fullfile(pathOutputDemo,sprintf('Unit_06_applyDynamicRangeCompression_file%d.wav',k))); | |
154 if createSpectrograms | |
155 [s,f,t] = spectrogram(f_audio_out,hamming(round(samplingFreq*0.093)),round(samplingFreq*0.093/2),[],samplingFreq); | |
156 figure; imagesc(t,f,log10(abs(s)+1),[0 maxValueRangeVis(k)]); axis xy; colormap(hot); ylim([0,8000]); colorbar; print('-dpng', fullfile(pathOutputDemo,sprintf('Unit_06_applyDynamicRangeCompression_file%d.png',k))) | |
157 end | |
158 end; | |
159 | |
160 %% | |
161 for k=1:length(filenames) | |
162 [f_audio,samplingFreq]=wavread(filenames{k}); | |
163 | |
164 parameter.nApplications = 5; | |
165 f_audio_out = degradationUnit_applyHarmonicDistortion(f_audio, samplingFreq, [], parameter); | |
166 | |
167 wavwrite(f_audio_out,samplingFreq,16,fullfile(pathOutputDemo,sprintf('Unit_07_applyHarmonicDistortion_file%d.wav',k))); | |
168 if createSpectrograms | |
169 [s,f,t] = spectrogram(f_audio_out,hamming(round(samplingFreq*0.093)),round(samplingFreq*0.093/2),[],samplingFreq); | |
170 figure; imagesc(t,f,log10(abs(s)+1),[0 maxValueRangeVis(k)]); axis xy; colormap(hot); ylim([0,8000]); colorbar; print('-dpng', fullfile(pathOutputDemo,sprintf('Unit_07_applyHarmonicDistortion_file%d.png',k))) | |
171 end | |
172 end; | |
173 | |
174 %% | |
175 for k=1:length(filenames) | |
176 [f_audio,samplingFreq]=wavread(filenames{k}); | |
177 | |
178 parameter.LameOptions = '--preset cbr 32'; | |
179 f_audio_out = degradationUnit_applyMp3Compression(f_audio, samplingFreq, [], parameter); | |
180 | |
181 wavwrite(f_audio_out,samplingFreq,16,fullfile(pathOutputDemo,sprintf('Unit_08_applyMp3Compression_file%d.wav',k))); | |
182 if createSpectrograms | |
183 [s,f,t] = spectrogram(f_audio_out,hamming(round(samplingFreq*0.093)),round(samplingFreq*0.093/2),[],samplingFreq); | |
184 figure; imagesc(t,f,log10(abs(s)+1),[0 maxValueRangeVis(k)]); axis xy; colormap(hot); ylim([0,8000]); colorbar; print('-dpng', fullfile(pathOutputDemo,sprintf('Unit_08_applyMp3Compression_file%d.png',k))) | |
185 end | |
186 end; | |
187 | |
188 %% | |
189 for k=1:length(filenames) | |
190 [f_audio,samplingFreq]=wavread(filenames{k}); | |
191 | |
192 parameter.changeInPercent = +5; | |
193 f_audio_out = degradationUnit_applySpeedup(f_audio, samplingFreq, [], parameter); | |
194 | |
195 | |
196 wavwrite(f_audio_out,samplingFreq,16,fullfile(pathOutputDemo,sprintf('Unit_09_applySpeedup_file%d.wav',k))); | |
197 if createSpectrograms | |
198 [s,f,t] = spectrogram(f_audio_out,hamming(round(samplingFreq*0.093)),round(samplingFreq*0.093/2),[],samplingFreq); | |
199 figure; imagesc(t,f,log10(abs(s)+1),[0 maxValueRangeVis(k)]); axis xy; colormap(hot); ylim([0,8000]); colorbar; print('-dpng', fullfile(pathOutputDemo,sprintf('Unit_09_applySpeedup_file%d.png',k))) | |
200 end | |
201 end; | |
202 | |
203 %% | |
204 for k=1:length(filenames) | |
205 [f_audio,samplingFreq]=wavread(filenames{k}); | |
206 | |
207 parameter.intensityOfChange = 3; | |
208 parameter.frequencyOfChange = 0.5; | |
209 f_audio_out = degradationUnit_applyWowResampling(f_audio, samplingFreq, [], parameter); | |
210 | |
211 wavwrite(f_audio_out,samplingFreq,16,fullfile(pathOutputDemo,sprintf('Unit_10_applyWowResampling_file%d.wav',k))); | |
212 if createSpectrograms | |
213 [s,f,t] = spectrogram(f_audio_out,hamming(round(samplingFreq*0.093)),round(samplingFreq*0.093/2),[],samplingFreq); | |
214 figure; imagesc(t,f,log10(abs(s)+1),[0 maxValueRangeVis(k)]); axis xy; colormap(hot); ylim([0,8000]); colorbar; print('-dpng', fullfile(pathOutputDemo,sprintf('Unit_10_applyWowResampling_file%d.png',k))) | |
215 end | |
216 end; | |
217 | |
218 %% | |
219 for k=1:length(filenames) | |
220 [f_audio,samplingFreq]=wavread(filenames{k}); | |
221 | |
222 parameter.stopFrequency = 1000; | |
223 f_audio_out = degradationUnit_applyHighpassFilter(f_audio, samplingFreq, [], parameter); | |
224 | |
225 wavwrite(f_audio_out,samplingFreq,16,fullfile(pathOutputDemo,sprintf('Unit_11_applyHighpassFilter_file%d.wav',k))); | |
226 if createSpectrograms | |
227 [s,f,t] = spectrogram(f_audio_out,hamming(round(samplingFreq*0.093)),round(samplingFreq*0.093/2),[],samplingFreq); | |
228 figure; imagesc(t,f,log10(abs(s)+1),[0 maxValueRangeVis(k)]); axis xy; colormap(hot); ylim([0,8000]); colorbar; print('-dpng', fullfile(pathOutputDemo,sprintf('Unit_11_applyHighpassFilter_file%d.png',k))) | |
229 end | |
230 end; | |
231 | |
232 %% | |
233 for k=1:length(filenames) | |
234 [f_audio,samplingFreq]=wavread(filenames{k}); | |
235 | |
236 parameter.stopFrequency = 1000; | |
237 f_audio_out = degradationUnit_applyLowpassFilter(f_audio, samplingFreq, [], parameter); | |
238 | |
239 wavwrite(f_audio_out,samplingFreq,16,fullfile(pathOutputDemo,sprintf('Unit_12_applyLowpassFilter_file%d.wav',k))); | |
240 if createSpectrograms | |
241 [s,f,t] = spectrogram(f_audio_out,hamming(round(samplingFreq*0.093)),round(samplingFreq*0.093/2),[],samplingFreq); | |
242 figure; imagesc(t,f,log10(abs(s)+1),[0 maxValueRangeVis(k)]); axis xy; colormap(hot); ylim([0,8000]); colorbar; print('-dpng', fullfile(pathOutputDemo,sprintf('Unit_12_applyLowpassFilter_file%d.png',k))) | |
243 end | |
244 end; | |
245 | |
246 | |
247 %% | |
248 for k=1:length(filenames) | |
249 [f_audio,samplingFreq]=wavread(filenames{k}); | |
250 | |
251 % There are four ways to specify the destination mean spectrum: 1. by | |
252 % loading example files provided with the toolbox, 2. by using specific | |
253 % noise "color" profiles, 3. by providing the destination mean spectrum | |
254 % using the parameter destMagFreqResp, 4. by providing audio data from | |
255 % which the destination mean spectrum is computed. | |
256 parameter.loadInternalMagFreqResp = 1; | |
257 parameter.internalMagFreqResp = 'Beethoven_Appasionata_Rwc'; | |
258 f_audio_out = degradationUnit_adaptiveEqualizer(f_audio, samplingFreq, [], parameter); | |
259 | |
260 wavwrite(f_audio_out,samplingFreq,16,fullfile(pathOutputDemo,sprintf('Unit_13_adaptiveEqualizer_file%d.wav',k))); | |
261 if createSpectrograms | |
262 [s,f,t] = spectrogram(f_audio_out,hamming(round(samplingFreq*0.093)),round(samplingFreq*0.093/2),[],samplingFreq); | |
263 figure; imagesc(t,f,log10(abs(s)+1),[0 maxValueRangeVis(k)]); axis xy; colormap(hot); ylim([0,8000]); colorbar; print('-dpng', fullfile(pathOutputDemo,sprintf('Unit_13_adaptiveEqualizer_file%d.png',k))) | |
264 end | |
265 end; | |
266 | |
267 %% | |
268 if 1 | |
269 for k=1:length(filenames) | |
270 [f_audio,samplingFreq]=wavread(filenames{k}); | |
271 | |
272 [parameter.audioDataForDestMfcc,parameter.audioDataForDestMfcc_sf]=wavread('testdata/RWC_P009m_drum.wav'); | |
273 | |
274 % After this unit, the mean MFCC vector of f_audio_out is almost identical to | |
275 % the one of RWC_P009m_drum.wav | |
276 parameter.visualizations = createSpectrograms; | |
277 f_audio_out = degradationUnit_applyMfccMeanAdaption(f_audio, samplingFreq, [], parameter); | |
278 | |
279 wavwrite(f_audio_out,samplingFreq,16,fullfile(pathOutputDemo,sprintf('Unit_14_applyMfccMeanAdaption_file%d.wav',k))); | |
280 if createSpectrograms | |
281 [s,f,t] = spectrogram(f_audio_out,hamming(round(samplingFreq*0.093)),round(samplingFreq*0.093/2),[],samplingFreq); | |
282 figure; imagesc(t,f,log10(abs(s)+1),[0 maxValueRangeVis(k)]); axis xy; colormap(hot); ylim([0,8000]); colorbar; print('-dpng', fullfile(pathOutputDemo,sprintf('Unit_14_applyMfccMeanAdaption_file%d.png',k))) | |
283 end | |
284 end | |
285 end | |
286 | |
287 | |
288 |