-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMusicMan2.m
More file actions
46 lines (40 loc) · 1.35 KB
/
MusicMan2.m
File metadata and controls
46 lines (40 loc) · 1.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
function soundVector = MusicMan2(score,time)
if nargin == 1
time = 4;
end
if nargin==0
score = input('Please input the score: ');
time = input('Please input the time: ');
end
[frequencies, times, timelocs] = SongParser(score);
times = [time, times];
freqs = cell(length(times), length(frequencies));
% % timelocs(3)
% timelocs(5)
% timelocs(6)
% frequencies(timelocs(5-1)+3-5:timelocs(5)+1-5)
% frequencies(timelocs(6-1)+3-6:timelocs(6)+1-6)
% frequencies
for ii = 2:length(timelocs)
%freqslength = length(frequencies(timelocs(ii-1):timelocs(ii)-ii+1));
%freqs(ii-1, 1:freqslength) = frequencies(timelocs(ii-1):timelocs(ii)-ii+1);
%freqslength = length(frequencies(timelocs(ii-1)+1:timelocs(ii)-1));
%freqs(ii-1, 1:freqslength) = frequencies(timelocs(ii-1)+1:timelocs(ii)-1);
freqslength = length(frequencies(timelocs(ii-1)+3-ii:timelocs(ii)+1-ii));
freqs(ii-1, 1:freqslength) = frequencies(timelocs(ii-1)+3-ii:timelocs(ii)+1-ii);
if freqslength ~= 0
freqs(ii-1, freqslength+1:length(frequencies)) = {-1};
else
freqs(ii-1,:) = {-1};
end
end
disp(freqs);
for ii = 1:size(freqs,1)
time = times(ii);
for jj = 1:size(freqs,2)
if freqs{ii,jj} > -1
sound(1/4*WaveSong(freqs(ii,jj), time))
end
end
end
%sound(1/4*WaveSong(SongParser(score), time))