나는 스피치의 로컬 맥시마를 찾는 데 사용되는 MATLAB 코드를 가지고있다. 나는 원래의 음성과 로컬 맥시마를 같은 그래프에 그려 냈다. 그러나 로컬 최대 값을 연결하여 음성의 엔벨로프를 동일한 그래프에 표시하기 위해 선형 보간을 수행하려고합니다. 어떻게해야합니까?스피치에서 감지 된 로컬 맥시마를 보간하는 방법은 무엇입니까?
% just some test data
a=randn(1,1000);
peaks = localMaximum(a,[100]);
figure; plot(a); hold on; plot(peaks,a(peaks),'ro');
% values where to interpolate
x = 1:length(a);
% interpolate
v = interp1(peaks,a(peaks),x,'linear');
% visualize
plot(x,v,'g-');
그런데 왜 보간 :
a=wavread('F3.wav');
peaks = localMaximum(a,[100]);
figure; plot(a); hold on; plot(peaks,a(peaks),'ro');
localMaximum가
고마워요 @ 스탄, 대답은 정말로 매우 높이 평가됩니다. 보간의 아이디어는 기사를 읽은 후에옵니다. 사실 나는 봉투를 보여주고 싶다. 내 상황에 맞는 코드가 작동합니다. 그러나 피크를 어떻게 표시 할 수 있습니까? 다음 줄을 추가했지만 오류가 "인덱스 초과 행렬 크기"를 나타냅니다. 나는이 코드를 "plot (peaks, a (peaks), g - '), hold (hold), plot (peaks, a (peaks,'ro '))을 추가한다; – user3471465
Ops 미안, ok @ steffen .. 나는 어디에서 코드가 잘못 추가되었습니다 ... 브래킷입니다 .. 그러나, 정말 감사드립니다. 신의 축복이 있습니다! – user3471465