pitchmrk.m
上传用户:ay_070428
上传日期:2014-12-04
资源大小:11427k
文件大小:2k
源码类别:

语音合成与识别

开发平台:

Matlab

  1. function [y,fs,pmark] = pitchmrk(wavefile,maxPeriod,minPeriod,plotopt)
  2. %PITCHMRK Pitch mark
  3. %   Usage : [y,fs,pmark] = pitchmrk(wavefile,maxPeriod,minPeriod,plotopt)
  4. %   Selfdemo : pitchmrk;
  5. if nargin==0,
  6.    [y, fs, pmark] = selfdemo; return;
  7. end;
  8. if isstr(wavefile),
  9.    % ====== Read wavefile
  10.    [y,fs] = wavread(wavefile);
  11.    y = y-mean(y);
  12.    % ====== Endpoint detection
  13.    legalFrame = epdetect(y,fs);
  14.    if ~isempty(legalFrame),
  15.       y = y(legalFrame.begin:legalFrame.end);
  16.    else
  17.       wavefile
  18.    end;
  19. else
  20.    y = wavefile;
  21.    fs = plotopt;
  22.    plotopt = 0;
  23. end;
  24. % =====