diff demo_degradations.m @ 4:053a55a91d20

- pimped the demos - re-added some missing degradation data
author SebastianEwert
date Tue, 20 Aug 2013 16:35:54 +0100
parents 9d682f5e3927
children a4173509bc43
line wrap: on
line diff
--- a/demo_degradations.m	Tue Aug 20 12:31:29 2013 +0100
+++ b/demo_degradations.m	Tue Aug 20 16:35:54 2013 +0100
@@ -4,7 +4,7 @@
 %
 % Centre for Digital Music, Queen Mary University of London.
 % This file copyright 2013 Sebastian Ewert, Matthias Mauch and QMUL.
-%    
+%
 % This program is free software; you can redistribute it and/or
 % modify it under the terms of the GNU General Public License as
 % published by the Free Software Foundation; either version 2 of the
@@ -27,65 +27,104 @@
 pathOutputDemo = 'demoOutput/';
 if ~exist(pathOutputDemo,'dir'), mkdir(pathOutputDemo); end
 
-%%
-filename = 'testdata/p009m_drum.wav';
-[f_audio,samplingFreq]=wavread(filename);
+filenames = {
+    'testdata/RWC_G39.wav';
+    'testdata/RWC_G72.wav';
+    'testdata/RWC_G84.wav';
+    'testdata/RWC_P009m_drum.wav';
+    'testdata/RWC-C08.wav';
+    };
 
-f_audio_out = applyDegradation('liveRecording', f_audio, samplingFreq);
-
-wavwrite(f_audio,samplingFreq,16,fullfile(pathOutputDemo,'audio_degradation01_in.wav'));
-wavwrite(f_audio_out,samplingFreq,16,fullfile(pathOutputDemo,'audio_degradation01_out.wav'));
-
+createSpectrograms = 0;
 
 %%
-filename = 'testdata/p009m_drum.wav';
-[f_audio,samplingFreq]=wavread(filename);
-
-f_audio_out = applyDegradation('strongMp3Compression', f_audio, samplingFreq);
-
-wavwrite(f_audio,samplingFreq,16,fullfile(pathOutputDemo,'audio_degradation02_in.wav'));
-wavwrite(f_audio_out,samplingFreq,16,fullfile(pathOutputDemo,'audio_degradation02_out.wav'));
-
+% just copying original files to the demo folder
+for k=1:length(filenames)
+    copyfile(filenames{k}, fullfile(pathOutputDemo,sprintf('00_Original_file%d.wav',k)))
+    if createSpectrograms
+        [f_audio,samplingFreq]=wavread(filenames{k});
+        [s,f,t] = spectrogram(f_audio,hamming(round(samplingFreq*0.093)),round(samplingFreq*0.093/2),[],samplingFreq);
+        figure; imagesc(t,f,log10(abs(s)+1)); axis xy; colormap(hot); ylim([0,8000]); colorbar; print('-dpng', fullfile(pathOutputDemo,sprintf('00_Original_file%d.png',k)))
+    end
+end
 
 %%
-filename = 'testdata/RWC-C08.wav';
-[f_audio,samplingFreq]=wavread(filename);
-
-f_audio_out = applyDegradation('vinylRecording', f_audio, samplingFreq);
-
-wavwrite(f_audio,samplingFreq,16,fullfile(pathOutputDemo,'audio_degradation03_in.wav'));
-wavwrite(f_audio_out,samplingFreq,16,fullfile(pathOutputDemo,'audio_degradation03_out.wav'));
-
+for k=1:length(filenames)
+    [f_audio,samplingFreq]=wavread(filenames{k});
+    
+    f_audio_out = applyDegradation('liveRecording', f_audio, samplingFreq);
+    
+    wavwrite(f_audio_out,samplingFreq,16,fullfile(pathOutputDemo,sprintf('Degr_01_liveRecording_file%d.wav',k)));
+    if createSpectrograms
+        [s,f,t] = spectrogram(f_audio_out,hamming(round(samplingFreq*0.093)),round(samplingFreq*0.093/2),[],samplingFreq);
+        figure; imagesc(t,f,log10(abs(s)+1)); axis xy; colormap(hot); ylim([0,8000]); colorbar; print('-dpng', fullfile(pathOutputDemo,sprintf('Degr_01_liveRecording_file%d.png',k)))
+    end
+end
 
 %%
-filename = 'testdata/RWC-C08.wav';
-[f_audio,samplingFreq]=wavread(filename);
-
-f_audio_out = applyDegradation('radioBroadcast', f_audio, samplingFreq);
-
-wavwrite(f_audio,samplingFreq,16,fullfile(pathOutputDemo,'audio_degradation04_in.wav'));
-wavwrite(f_audio_out,samplingFreq,16,fullfile(pathOutputDemo,'audio_degradation04_out.wav'));
-
+for k=1:length(filenames)
+    [f_audio,samplingFreq]=wavread(filenames{k});
+    
+    f_audio_out = applyDegradation('strongMp3Compression', f_audio, samplingFreq);
+    
+    wavwrite(f_audio_out,samplingFreq,16,fullfile(pathOutputDemo,sprintf('Degr_02_strongMp3Compression_file%d.wav',k)));
+    if createSpectrograms
+        [s,f,t] = spectrogram(f_audio_out,hamming(round(samplingFreq*0.093)),round(samplingFreq*0.093/2),[],samplingFreq);
+        figure; imagesc(t,f,log10(abs(s)+1)); axis xy; colormap(hot); ylim([0,8000]); colorbar; print('-dpng', fullfile(pathOutputDemo,sprintf('Degr_02_strongMp3Compression_file%d.png',k)))
+    end
+end
 
 %%
-filename = 'testdata/RWC-C08.wav';
-[f_audio,samplingFreq]=wavread(filename);
-
-f_audio_out = applyDegradation('smartPhoneRecording', f_audio, samplingFreq);
-
-wavwrite(f_audio,samplingFreq,16,fullfile(pathOutputDemo,'audio_degradation05_in.wav'));
-wavwrite(f_audio_out,samplingFreq,16,fullfile(pathOutputDemo,'audio_degradation05_out.wav'));
-
+for k=1:length(filenames)
+    [f_audio,samplingFreq]=wavread(filenames{k});
+    
+    f_audio_out = applyDegradation('vinylRecording', f_audio, samplingFreq);
+    
+    wavwrite(f_audio_out,samplingFreq,16,fullfile(pathOutputDemo,sprintf('Degr_03_vinylRecording_file%d.wav',k)));
+    if createSpectrograms
+        [s,f,t] = spectrogram(f_audio_out,hamming(round(samplingFreq*0.093)),round(samplingFreq*0.093/2),[],samplingFreq);
+        figure; imagesc(t,f,log10(abs(s)+1)); axis xy; colormap(hot); ylim([0,8000]); colorbar; print('-dpng', fullfile(pathOutputDemo,sprintf('Degr_03_vinylRecording_file%d.png',k)))
+    end
+end
 
 %%
-filename = 'testdata/RWC-C08.wav';
-[f_audio,samplingFreq]=wavread(filename);
+for k=1:length(filenames)
+    [f_audio,samplingFreq]=wavread(filenames{k});
+    
+    f_audio_out = applyDegradation('radioBroadcast', f_audio, samplingFreq);
+    
+    wavwrite(f_audio_out,samplingFreq,16,fullfile(pathOutputDemo,sprintf('Degr_04_radioBroadcast_file%d.wav',k)));
+    if createSpectrograms
+        [s,f,t] = spectrogram(f_audio_out,hamming(round(samplingFreq*0.093)),round(samplingFreq*0.093/2),[],samplingFreq);
+        figure; imagesc(t,f,log10(abs(s)+1)); axis xy; colormap(hot); ylim([0,8000]); colorbar; print('-dpng', fullfile(pathOutputDemo,sprintf('Degr_04_radioBroadcast_file%d.png',k)))
+    end
+end
 
-f_audio_out = applyDegradation('smartPhonePlayback', f_audio, samplingFreq);
+%%
+for k=1:length(filenames)
+    [f_audio,samplingFreq]=wavread(filenames{k});
+    
+    f_audio_out = applyDegradation('smartPhoneRecording', f_audio, samplingFreq);
+    
+    wavwrite(f_audio_out,samplingFreq,16,fullfile(pathOutputDemo,sprintf('Degr_05_smartPhoneRecording_file%d.wav',k)));
+    if createSpectrograms
+        [s,f,t] = spectrogram(f_audio_out,hamming(round(samplingFreq*0.093)),round(samplingFreq*0.093/2),[],samplingFreq);
+        figure; imagesc(t,f,log10(abs(s)+1)); axis xy; colormap(hot); ylim([0,8000]); colorbar; print('-dpng', fullfile(pathOutputDemo,sprintf('Degr_05_smartPhoneRecording_file%d.png',k)))
+    end
+end
 
-wavwrite(f_audio,samplingFreq,16,fullfile(pathOutputDemo,'audio_degradation06_in.wav'));
-wavwrite(f_audio_out,samplingFreq,16,fullfile(pathOutputDemo,'audio_degradation06_out.wav'));
-
+%%
+for k=1:length(filenames)
+    [f_audio,samplingFreq]=wavread(filenames{k});
+    
+    f_audio_out = applyDegradation('smartPhonePlayback', f_audio, samplingFreq);
+    
+    wavwrite(f_audio_out,samplingFreq,16,fullfile(pathOutputDemo,sprintf('Degr_06_smartPhonePlayback_file%d.wav',k)));
+    if createSpectrograms
+        [s,f,t] = spectrogram(f_audio_out,hamming(round(samplingFreq*0.093)),round(samplingFreq*0.093/2),[],samplingFreq);
+        figure; imagesc(t,f,log10(abs(s)+1)); axis xy; colormap(hot); ylim([0,8000]); colorbar; print('-dpng', fullfile(pathOutputDemo,sprintf('Degr_06_smartPhonePlayback_file%d.png',k)))
+    end
+end
 
 %%
 % Some degradations delay the input signal. If some timepositions are given