Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function [Data, F] = read_data()
- trainingFactor = 0.8;
- Data{1} = glob('EO3274/PattRecClasses2/Data/Bach/*.wav');
- Data{2} = glob('EO3274/PattRecClasses2/Data/Du_gamla_du_fria/*.wav');
- Data{3} = glob('EO3274/PattRecClasses2/Data/Happy_Birthday/*.wav');
- Data{4} = glob('EO3274/PattRecClasses2/Data/Happy_Birthday_minor/*.wav');
- Data{5} = glob('EO3274/PattRecClasses2/Data/La_Marseillaise/*.wav');
- Data{6} = glob('EO3274/PattRecClasses2/Data/Levels/*.wav');
- Data{7} = glob('EO3274/PattRecClasses2/Data/Maamme/*.wav');
- Data{8} = glob('EO3274/PattRecClasses2/Data/The_Entertainer/*.wav');
- % Bach = glob('Data\Bach\*.wav')
- % Du_gamla_du_fria = glob('Data\Du_gamla_du_fria\*.wav')
- % Happy_Birthday = glob('Data\Happy_Birthday\*.wav')
- % Happy_Birthday_minor = glob('Data\Happy_Birthday_minor\*.wav')
- % La_Marseillaise = glob('Data\La_Marseillaise\*.wav')
- % Levels = glob('Data\Levels\*.wav')
- % Maamme = glob('Data\Maamme\*.wav')
- % The_Entertainer = glob('Data\The_Entertainer\*.wav')
- mels = size(Data)
- for i = 1:mels(2)
- counter = 1;
- testCount = 1;
- a = size(Data{i});
- n_recordings = a(1);
- forTraining = randperm(n_recordings,n_recordings*trainingFactor);
- for j=1:n_recordings
- if ismember(j,forTraining)
- trainingData{i}{counter} = Data{i}{j};
- counter = counter + 1;
- else
- testData{i}{testCount} = Data{i}{j}
- end
- end
- end
- F(1) = Data{1}(1);
- F(2) = Data{2}(1);
- F(3) = Data{3}(1);
- F(4) = Data{4}(1);
- F(5) = Data{5}(1);
- F(6) = Data{6}(1);
- F(7) = Data{7}(1);
- F(8) = Data{8}(1);
- testData
- Data = trainingData
- % Load melodies
- %melodies = dir('EO3274/PattRecClasses2/Data');
- %melodies = melodies(~ismember({melodies.name}, {'.', '..'}));
- %fz_train = [];
- %fz_test = [];
- %counter = 1;
- %mel_train = cell(8,15); % Training data, each row represents data from a separate class
- %trainingFactor = 0.8; %Assign trainingFactor % of data of each class to training set, rest to test set
- % Something is buggy here... Works on the third try though!
- %for k = 1:length(melodies)
- % currentDir = strcat(melodies(k).folder,'/',melodies(k).name);
- % cd(currentDir);
- % files = dir('*.wav');
- % forTraining = randperm(length(files),length(files)*trainingFactor);
- % for j=1:length(files)
- % [mel,fz] = audioread(files(j).name);
- % if ismember(j,forTraining)
- % mel_train{k,j} = mel;
- % fz_train = [fz_train fz];
- % else
- % mel_test{counter} = mel;
- % fz_test = [fz_test fz];
- % counter = counter + 1;
- % end
- % end
- % cd ..
- %end
- %cd ..
- %Data = mel_train;
- %F = mel_test;
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement