M
mosol2005
Guest
안녕하세요 매일 한. 내 가난한 english.i 'm에 유감 formant 감지'의 LPC 방법 '을
통해 작동합니다.
내가 뭔가를 찾은
것 어렵지만, 누구도 그것의 algorithm.please.it'necessrary.also
난 할 수 없어 설명 it.can 이해 실행
탐지 방법을
통해 Formants의 LPC
의 LPC
% 이름
% spLpc - 선형 예측 코딩 (1 - 유한 관찰
단계% 소세지 필터 예측)
% SYNOPSIS
% [전자는 P] = spLpc (엑스, 때 fs, ncoef, 쇼)
% 설명
% 구하는의 LPC 계수 (아칸소 모델)
% 입력
% x 크기 Nx1 (벡터)는 신호가 포함되어있습니다
% 때 fs (스칼라) 샘플링 주파수
% [ncoef] (스칼라) 계수의 수를.기본값을 사용합니다
% ncoef = 2 때 fs / 1000;
엄지손가락의 규칙으로
20 %.
% 출력
어떤 크기의 LPC 계수 ncoefx1 중 % (벡터)이 포함되어있습니다
% P () 편차 예측 오류의 (전력) 스칼라
% 전자 신호가 포함되어있는 잔여 오류 크기 Nx1 (벡터)
% AUTHOR
% Naotoshi 서재응, 2008년 4월
% 사용
% lpc.m (신호 처리 도구)
함수 [전자는 P] = spLpc (엑스, 때 fs, ncoef)
만약 ~ 존재 ( 'ncoef', 'var') | | IsEmpty (ncoef)
ncoef = 2 인간 연설 라운드 (때 fs / 1000); 엄지손가락의 % 규칙
끝
[는 P] =의 LPC (x를 ncoef);
만약 nargout> 2,
est_x = 필터 ([0 - (2 : 끝)], 1, x)를; % 예상 신호
전자 = x - est_x; % 잔여 신호
끝
엔드를 [x, 때 fs] = wavread ( 'bee.wav');
a = spLpc (엑스, 때 fs, [], '음모'); Formants 감지
% 이름
% spFormantsLpc -의 LPC Formants 추정 방법을 통해
% SYNOPSIS
% [F] = spFormantsLpc (, 때 fs)
% 설명
% 견적 formants 주파수
% 입력
크기 ncoefx1 중 % (벡터)는의 LPC 계수가 포함되어있습니다
원래 신호의
20 %.사용 spLpc.m
% 때 fs (스칼라) 원래 신호의 샘플링 주파수
% 출력
% F 크기 ncoefx1 (벡터)는 formants이 포함되어있습니다
% AUTHOR
% Naotoshi 서재응, 2008년 4월
% 참고
% spLpc.m
함수 [F] = spFormantsLpc (, 때 fs)
연구 = 뿌리는 (a);
연구 = 연구 ((R)은> 0.01) 심상;
F = 정렬 (atan2 (심상 (R)은, 진짜 (R)을) * 때 fs / (2 * 파이));
endFormants 현황 단기 - 타임 프레임
% 이름
% spFormantsTrackLpc : Formants 추적의 LPC 방법을 통해
% SYNOPSIS
% [F, T는 '] = spFormantsTrackLpc (엑스, 때 fs, ncoef,
% frame_length, 쇼) 창을 frame_overlap
% 설명
% Formants 추적의 LPC 방법을
통해% 입력
% x 크기 Nx1 (벡터).
% 때 fs (스칼라) Hz에서에서 샘플링 속도.
% [ncoef] (스칼라)의 LPC 계수의 번호를
사용% 추정.ncoef = 2 때 fs / 1000의 기본입니다.
% [frame_length]
% (마이크로)으로 두 번째에있는 각 프레임의 길이는 스칼라.
%의 기본 30ms이다.
% [frame_overlap]
% (마이크로)으로 두 번째에있는 각 프레임 중복의 길이 스칼라.
%의 기본 frame_length이다 / 2.
% [창]
같은 rectwin % (문자열)은 윈도우 기능, hamming.
%가 지정되지 않은 경우, hamming에 상응
% [공연] (부울) 음모 또는없습니다.기본값은 0입니다.
% 출력
% F (벡터) formants (의 FM = F ((T는 == 0.01))을
찾아% T는 (벡터) formant 번
% AUTHOR
% Naotoshi 서재응, 2006년 4월
함수 [F, T는 '] = spFormantsTrackLpc (엑스, 때 fs, ncoef, frame_length, 쇼) 창을 frame_overlap
% % 초기화
N = 길이 (x)를;
만약 ~ 존재 ( 'frame_length,'var ') | | IsEmpty () frame_length
= 30 frame_length;
끝
만약 ~ 존재 ( 'frame_overlap,'var ') | | IsEmpty (frame_overlap)
= 20 frame_overlap;
끝
만약 ~ 존재 ( '창', 'var') | | IsEmpty (창)
창 = 'hamming;
끝
만약 ~ 존재 ( '쇼', 'var') | | IsEmpty (공연)
쇼 = 0;
끝
만약 ~ 존재 ( 'ncoef', 'var')
ncoef = [];
끝
nsample = 라운드 (frame_length * 때 fs / 1000); % 포인트 변환이 MS
= 라운드 noverlap () * 때 fs / 1000 frame_overlap; % 포인트 변환이 MS
창 = 평가 (sprintf ( '% (nsample)', 창)); % 예를 들어,
(nfft) hamming s
pos = 1; 마 = 1;
F = []; % formants
T는 = []; % 시간 프레임 (들)
중반 = 라운드 (nsample / 2);
동안 (pos nsample <= N)을
프레임 = x (pos : pos nsample - 1);
프레임 = 프레임 - (프레임) 뜻;
a = spLpc (프레임, 때 fs, ncoef);
의 FM = spFormantsLpc (, 때 fs);
난 = 1 : 길이 (의 FM)
F = [F의 FM은 (i)]; formants의
% 번호는 각 프레임에
대해 동일하지 않습니다
T는 = [T는 (pos 중순) / 때 fs];
끝
pos = pos (nsample -) noverlap;
마 = 마 1;
끝
만약 보여
% 줄거리 파형
마 = (0가 : N - 1) / 때 fs;
subplot (2,1,1);
줄거리 (마, x)를;
전설 ( '웨이브폼');
xlabel ( '시간 (들)');
ylabel ( 'Amplitude');
xlim ([(1) 마 (끝)]) T는;
% 줄거리 formants 추적
subplot (2,1,2);
줄거리 (T는로, F, '.');
을 보류;
전설 ( 'Formants');
xlabel ( '시간 (들)');
ylabel ( '주파수 (Hz)');
xlim ([(1) 마 (끝)]) T는;
엔드를 [x, 때 fs] = wavread ( 'bee.wav');
[F, T는 '] = spFormantsTrackLpc (엑스, 때 fs, [], 30, 20', 'hamming,'음모 ');
통해 작동합니다.
내가 뭔가를 찾은
것 어렵지만, 누구도 그것의 algorithm.please.it'necessrary.also
난 할 수 없어 설명 it.can 이해 실행
탐지 방법을
통해 Formants의 LPC
의 LPC
% 이름
% spLpc - 선형 예측 코딩 (1 - 유한 관찰
단계% 소세지 필터 예측)
% SYNOPSIS
% [전자는 P] = spLpc (엑스, 때 fs, ncoef, 쇼)
% 설명
% 구하는의 LPC 계수 (아칸소 모델)
% 입력
% x 크기 Nx1 (벡터)는 신호가 포함되어있습니다
% 때 fs (스칼라) 샘플링 주파수
% [ncoef] (스칼라) 계수의 수를.기본값을 사용합니다
% ncoef = 2 때 fs / 1000;
엄지손가락의 규칙으로
20 %.
% 출력
어떤 크기의 LPC 계수 ncoefx1 중 % (벡터)이 포함되어있습니다
% P () 편차 예측 오류의 (전력) 스칼라
% 전자 신호가 포함되어있는 잔여 오류 크기 Nx1 (벡터)
% AUTHOR
% Naotoshi 서재응, 2008년 4월
% 사용
% lpc.m (신호 처리 도구)
함수 [전자는 P] = spLpc (엑스, 때 fs, ncoef)
만약 ~ 존재 ( 'ncoef', 'var') | | IsEmpty (ncoef)
ncoef = 2 인간 연설 라운드 (때 fs / 1000); 엄지손가락의 % 규칙
끝
[는 P] =의 LPC (x를 ncoef);
만약 nargout> 2,
est_x = 필터 ([0 - (2 : 끝)], 1, x)를; % 예상 신호
전자 = x - est_x; % 잔여 신호
끝
엔드를 [x, 때 fs] = wavread ( 'bee.wav');
a = spLpc (엑스, 때 fs, [], '음모'); Formants 감지
% 이름
% spFormantsLpc -의 LPC Formants 추정 방법을 통해
% SYNOPSIS
% [F] = spFormantsLpc (, 때 fs)
% 설명
% 견적 formants 주파수
% 입력
크기 ncoefx1 중 % (벡터)는의 LPC 계수가 포함되어있습니다
원래 신호의
20 %.사용 spLpc.m
% 때 fs (스칼라) 원래 신호의 샘플링 주파수
% 출력
% F 크기 ncoefx1 (벡터)는 formants이 포함되어있습니다
% AUTHOR
% Naotoshi 서재응, 2008년 4월
% 참고
% spLpc.m
함수 [F] = spFormantsLpc (, 때 fs)
연구 = 뿌리는 (a);
연구 = 연구 ((R)은> 0.01) 심상;
F = 정렬 (atan2 (심상 (R)은, 진짜 (R)을) * 때 fs / (2 * 파이));
endFormants 현황 단기 - 타임 프레임
% 이름
% spFormantsTrackLpc : Formants 추적의 LPC 방법을 통해
% SYNOPSIS
% [F, T는 '] = spFormantsTrackLpc (엑스, 때 fs, ncoef,
% frame_length, 쇼) 창을 frame_overlap
% 설명
% Formants 추적의 LPC 방법을
통해% 입력
% x 크기 Nx1 (벡터).
% 때 fs (스칼라) Hz에서에서 샘플링 속도.
% [ncoef] (스칼라)의 LPC 계수의 번호를
사용% 추정.ncoef = 2 때 fs / 1000의 기본입니다.
% [frame_length]
% (마이크로)으로 두 번째에있는 각 프레임의 길이는 스칼라.
%의 기본 30ms이다.
% [frame_overlap]
% (마이크로)으로 두 번째에있는 각 프레임 중복의 길이 스칼라.
%의 기본 frame_length이다 / 2.
% [창]
같은 rectwin % (문자열)은 윈도우 기능, hamming.
%가 지정되지 않은 경우, hamming에 상응
% [공연] (부울) 음모 또는없습니다.기본값은 0입니다.
% 출력
% F (벡터) formants (의 FM = F ((T는 == 0.01))을
찾아% T는 (벡터) formant 번
% AUTHOR
% Naotoshi 서재응, 2006년 4월
함수 [F, T는 '] = spFormantsTrackLpc (엑스, 때 fs, ncoef, frame_length, 쇼) 창을 frame_overlap
% % 초기화
N = 길이 (x)를;
만약 ~ 존재 ( 'frame_length,'var ') | | IsEmpty () frame_length
= 30 frame_length;
끝
만약 ~ 존재 ( 'frame_overlap,'var ') | | IsEmpty (frame_overlap)
= 20 frame_overlap;
끝
만약 ~ 존재 ( '창', 'var') | | IsEmpty (창)
창 = 'hamming;
끝
만약 ~ 존재 ( '쇼', 'var') | | IsEmpty (공연)
쇼 = 0;
끝
만약 ~ 존재 ( 'ncoef', 'var')
ncoef = [];
끝
nsample = 라운드 (frame_length * 때 fs / 1000); % 포인트 변환이 MS
= 라운드 noverlap () * 때 fs / 1000 frame_overlap; % 포인트 변환이 MS
창 = 평가 (sprintf ( '% (nsample)', 창)); % 예를 들어,
(nfft) hamming s
pos = 1; 마 = 1;
F = []; % formants
T는 = []; % 시간 프레임 (들)
중반 = 라운드 (nsample / 2);
동안 (pos nsample <= N)을
프레임 = x (pos : pos nsample - 1);
프레임 = 프레임 - (프레임) 뜻;
a = spLpc (프레임, 때 fs, ncoef);
의 FM = spFormantsLpc (, 때 fs);
난 = 1 : 길이 (의 FM)
F = [F의 FM은 (i)]; formants의
% 번호는 각 프레임에
대해 동일하지 않습니다
T는 = [T는 (pos 중순) / 때 fs];
끝
pos = pos (nsample -) noverlap;
마 = 마 1;
끝
만약 보여
% 줄거리 파형
마 = (0가 : N - 1) / 때 fs;
subplot (2,1,1);
줄거리 (마, x)를;
전설 ( '웨이브폼');
xlabel ( '시간 (들)');
ylabel ( 'Amplitude');
xlim ([(1) 마 (끝)]) T는;
% 줄거리 formants 추적
subplot (2,1,2);
줄거리 (T는로, F, '.');
을 보류;
전설 ( 'Formants');
xlabel ( '시간 (들)');
ylabel ( '주파수 (Hz)');
xlim ([(1) 마 (끝)]) T는;
엔드를 [x, 때 fs] = wavread ( 'bee.wav');
[F, T는 '] = spFormantsTrackLpc (엑스, 때 fs, [], 30, 20', 'hamming,'음모 ');