annotate aux/finddouble.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 |
b28ffd29e6e1 |
children |
|
rev |
line source |
b@0
|
1 function finddouble(foldername)
|
b@0
|
2 % FINDDOUBLE spots doubles of audio files in the same folder
|
b@0
|
3 %
|
b@0
|
4 % by Brecht De Man at Centre for Digital Music on 15 July 2013
|
b@0
|
5
|
b@2
|
6
|
b@4
|
7 list = dir([foldername '/*.wav']); % find wav file names in folder
|
b@4
|
8
|
b@4
|
9 % remove hidden files from list
|
b@4
|
10 % see http://www.mathworks.co.uk/matlabcentral/newsreader/view_thread/258220
|
b@4
|
11 for k = length(list):-1:1
|
b@4
|
12 fname = list(k).name;
|
b@4
|
13 if fname(1) == '.'
|
b@4
|
14 list(k) = [ ];
|
b@4
|
15 end
|
b@4
|
16 end
|
b@4
|
17
|
b@4
|
18 sums = zeros(length(list)); % number for every file
|
b@2
|
19
|
b@0
|
20 for i = 1:length(list)
|
b@4
|
21 audio = audioread([foldername '/' list(i).name]);
|
b@0
|
22 sums(i) = sum(sum(audio.^2));
|
b@0
|
23 end
|
b@0
|
24
|
b@0
|
25 for i = 1:length(list)
|
b@0
|
26 for j = i+1:length(list)
|
b@0
|
27 if sums(i) == sums(j)
|
b@0
|
28 disp(['ERROR: ' list(i).name ' = ' list(j).name])
|
b@0
|
29 end
|
b@0
|
30 end
|
b@0
|
31 end
|
b@0
|
32
|
b@0
|
33 end
|
b@0
|
34
|
b@0
|
35 % TODO: expand to more folders |