Advertisement
Guest User

Untitled

a guest
May 23rd, 2019
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.65 KB | None | 0 0
  1. function [Data, F] = read_data()
  2.  
  3. trainingFactor = 0.8;
  4.  
  5. Data{1} = glob('EO3274/PattRecClasses2/Data/Bach/*.wav');
  6. Data{2} = glob('EO3274/PattRecClasses2/Data/Du_gamla_du_fria/*.wav');
  7. Data{3} = glob('EO3274/PattRecClasses2/Data/Happy_Birthday/*.wav');
  8. Data{4} = glob('EO3274/PattRecClasses2/Data/Happy_Birthday_minor/*.wav');
  9. Data{5} = glob('EO3274/PattRecClasses2/Data/La_Marseillaise/*.wav');
  10. Data{6} = glob('EO3274/PattRecClasses2/Data/Levels/*.wav');
  11. Data{7} = glob('EO3274/PattRecClasses2/Data/Maamme/*.wav');
  12. Data{8} = glob('EO3274/PattRecClasses2/Data/The_Entertainer/*.wav');
  13.  
  14. % Bach = glob('Data\Bach\*.wav')
  15. % Du_gamla_du_fria = glob('Data\Du_gamla_du_fria\*.wav')
  16. % Happy_Birthday = glob('Data\Happy_Birthday\*.wav')
  17. % Happy_Birthday_minor = glob('Data\Happy_Birthday_minor\*.wav')
  18. % La_Marseillaise = glob('Data\La_Marseillaise\*.wav')
  19. % Levels = glob('Data\Levels\*.wav')
  20. % Maamme = glob('Data\Maamme\*.wav')
  21. % The_Entertainer = glob('Data\The_Entertainer\*.wav')
  22.  
  23. mels = size(Data)
  24.  
  25. for i = 1:mels(2)
  26. counter = 1;
  27. testCount = 1;
  28. a = size(Data{i});
  29. n_recordings = a(1);
  30. forTraining = randperm(n_recordings,n_recordings*trainingFactor);
  31. for j=1:n_recordings
  32. if ismember(j,forTraining)
  33. trainingData{i}{counter} = Data{i}{j};
  34. counter = counter + 1;
  35. else
  36. testData{i}{testCount} = Data{i}{j}
  37. end
  38. end
  39.  
  40. end
  41.  
  42. F(1) = Data{1}(1);
  43. F(2) = Data{2}(1);
  44. F(3) = Data{3}(1);
  45. F(4) = Data{4}(1);
  46. F(5) = Data{5}(1);
  47. F(6) = Data{6}(1);
  48. F(7) = Data{7}(1);
  49. F(8) = Data{8}(1);
  50.  
  51. testData
  52. Data = trainingData
  53.  
  54. % Load melodies
  55. %melodies = dir('EO3274/PattRecClasses2/Data');
  56. %melodies = melodies(~ismember({melodies.name}, {'.', '..'}));
  57. %fz_train = [];
  58. %fz_test = [];
  59. %counter = 1;
  60. %mel_train = cell(8,15); % Training data, each row represents data from a separate class
  61. %trainingFactor = 0.8; %Assign trainingFactor % of data of each class to training set, rest to test set
  62.  
  63. % Something is buggy here... Works on the third try though!
  64. %for k = 1:length(melodies)
  65. % currentDir = strcat(melodies(k).folder,'/',melodies(k).name);
  66. % cd(currentDir);
  67. % files = dir('*.wav');
  68. % forTraining = randperm(length(files),length(files)*trainingFactor);
  69. % for j=1:length(files)
  70. % [mel,fz] = audioread(files(j).name);
  71. % if ismember(j,forTraining)
  72. % mel_train{k,j} = mel;
  73. % fz_train = [fz_train fz];
  74. % else
  75. % mel_test{counter} = mel;
  76. % fz_test = [fz_test fz];
  77. % counter = counter + 1;
  78. % end
  79. % end
  80. % cd ..
  81. %end
  82. %cd ..
  83.  
  84. %Data = mel_train;
  85. %F = mel_test;
  86.  
  87. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement