annotate aux/removesilent.m @ 9:ee22af6610a3
Sanitised user ID, end message, bug fixes.
author |
Brecht De Man <b.deman@qmul.ac.uk> |
date |
Sun, 30 Nov 2014 21:44:03 +0000 |
parents |
4fd284285159 |
children |
|
rev |
line source |
b@0
|
1 function removesilent(foldername)
|
b@0
|
2 % REMOVESILENT removes audiofiles in folder <foldername> that are silent
|
b@0
|
3 % (compares maximum value against small number)
|
b@0
|
4 %
|
b@0
|
5 % by Brecht De Man at Centre for Digital Music on 15 July 2013
|
b@0
|
6
|
b@0
|
7 MIN = 0.001;
|
b@0
|
8 WARNING = 0.1;
|
b@0
|
9
|
b@0
|
10 list = dir([foldername '/*.wav']);
|
b@0
|
11 for i = 2:length(list)
|
b@0
|
12 [audio,fs] = audioread([foldername '/' list(i-1).name]);
|
b@0
|
13 S = max(max(audio.^2)); % max of squared values over all channels
|
b@0
|
14 if S < MIN % if empty
|
b@0
|
15 delete([foldername '/' list(i-1).name]); % remove this audio file
|
b@0
|
16 fprintf('''%s'' removed (maximum squared value = %f < %f).', list(i-1).name, S, MIN);
|
b@0
|
17 else if S < WARNING
|
b@0
|
18 fprintf('''%s'': maximum squared value = %f < %f.', list(i-1).name, S, WARNING);
|
b@0
|
19 end
|
b@0
|
20 end
|
b@0
|
21 end
|
b@0
|
22
|
b@0
|
23 end |