diff aux/removesilent.m @ 0:4fd284285159

Adding listening test plus some helpful functions and scripts.
author Brecht <b.deman@qmul.ac.uk>
date Thu, 24 Apr 2014 23:53:31 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/aux/removesilent.m	Thu Apr 24 23:53:31 2014 +0100
@@ -0,0 +1,23 @@
+function removesilent(foldername)
+% REMOVESILENT removes audiofiles in folder <foldername> that are silent
+% (compares maximum value against small number)
+% 
+% by Brecht De Man at Centre for Digital Music on 15 July 2013
+
+MIN = 0.001;
+WARNING = 0.1;
+
+list = dir([foldername '/*.wav']);
+for i = 2:length(list)
+    [audio,fs] = audioread([foldername '/' list(i-1).name]); 
+    S = max(max(audio.^2)); % max of squared values over all channels
+    if S < MIN % if empty
+        delete([foldername '/' list(i-1).name]); % remove this audio file
+        fprintf('''%s'' removed (maximum squared value = %f < %f).', list(i-1).name, S, MIN);
+    else if S < WARNING
+           fprintf('''%s'': maximum squared value = %f < %f.', list(i-1).name, S, WARNING);
+        end
+    end
+end
+
+end
\ No newline at end of file