mid2note.m
来自「自动语音识别源码对非特定人的孤立词语音识别算法 进行研究。考虑到语音识别技术在」· M 代码 · 共 29 行
M
29 行
function note = mid2note(mid, timeStep)
% mid2note: Mid to note transformation
% Usage: note = mid2note(mid, timeStep)
% mid = [semitone1, semitone2, ...] at time unit of timeStep
% (Default value of timeStep is 1/16 second.)
% note = [semitone1, time1, semitone2, time2, ...] with time
% unit of 1/64 second
% Roger Jang, 20001209
if nargin<2
timeStep = 1/16;
end
prev = mid(1);
time = 1;
note = [];
for i=2:length(mid),
if mid(i)==prev,
time = time+1;
else
note = [note, prev, time];
prev = mid(i);
time = 1;
end
end
note = [note, prev, time];
note(2:2:end) = note(2:2:end)*timeStep*64;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?