⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pvplay.m

📁 自动语音识别源码对非特定人的孤立词语音识别算法 进行研究。考虑到语音识别技术在嵌入式系统处理能力较弱、存储空间有限的问 题上进行算法的选择和优化
💻 M
字号:
function pvPlay(pv, timeStep, fs, plotOpt)
% pvPlay: Play a pitch vector (pv)
%	Usage: pvPlay(pv, timeStep, fs)
%
%	For example:
%		pv=[57.661699 58.680365 58.680365 58.680365 58.680365 58.680365 58.680365 58.680365 58.680365 58.680365 59.213095 58.680365 59.213095 59.213095 59.213095 59.213095 59.213095 59.213095 59.213095 58.680365 58.680365 58.163541 60.917323 60.917323 60.917323 60.917323 60.330408 58.680365 57.661699 0.000000 57.173995 58.163541 58.680365 58.680365 58.680365 58.680365 58.680365 58.680365 58.680365 58.680365 58.163541 0.000000 0.000000 57.173995 56.699654 56.699654 57.173995 56.699654 56.699654 56.699654 56.699654 56.699654 57.173995 57.173995 57.173995 56.237965 0.000000 55.788268 0.000000 55.788268 55.788268 56.237965 55.788268 55.788268 55.788268 56.237965 56.237965 56.237965 55.788268 55.349958 54.097918 0.000000 56.237965 57.661699 57.661699 57.661699 57.661699 57.661699 57.661699 57.173995 57.173995 57.173995 57.173995 57.661699 57.173995 57.173995 57.173995 57.661699 58.680365 59.213095 59.213095 59.213095 59.213095 59.213095 59.213095 59.762739 59.762739 59.762739 59.762739 59.213095 59.213095 58.680365 57.661699 55.349958 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 52.930351 53.310858 53.310858 53.699915 53.699915 53.699915 53.699915 53.699915 53.699915 53.310858 52.193545 50.807818 0.000000 57.661699 56.237965 56.237965 56.237965 56.237965 56.237965 56.237965 56.237965 56.237965 56.237965 56.237965 56.237965 56.237965 56.237965 55.788268 56.699654 57.173995 57.173995 57.173995 57.173995 57.173995 57.173995 57.661699 57.661699 57.661699 57.661699 57.661699 57.173995 56.699654 55.788268 54.097918 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 54.097918 54.922471 55.349958 55.788268 56.237965 56.237965 56.237965 56.237965 56.237965 55.788268 54.922471 0.000000 0.000000 0.000000 57.661699 57.661699 57.661699 57.661699 57.173995 57.173995 57.173995 57.173995 57.173995 57.173995 57.173995 57.173995 57.173995 58.163541 58.680365 58.680365 59.213095 59.762739 59.213095 59.213095 59.762739 59.762739 59.762739 59.762739 59.762739 59.762739 59.213095 58.680365 57.173995];
%		timeStep=256/8000;
%		fs=8000;
%		plotOpt=1;
%		pvPlay(pv, timeStep, fs, plotOpt);

%	Roger Jang, 20001209, 20070531

if nargin<1, selfdemo; return; end
if nargin<2, timeStep = 1/16; end
if nargin<3, fs = 8000; end
if nargin<4, plotOpt=0; end

pv = double(pv);
pv(isnan(pv)) = 0;    % Convert NaN to 0
wave=pitch2waveMex(pv, timeStep, fs);
sound(wave, fs);

if plotOpt
	subplot(2,1,1);
	temp=pv;
	temp(temp==0)=nan;
	plot((1:length(temp))*timeStep, temp, (1:length(temp))*timeStep, temp, '.');
	subplot(2,1,2);
	plot((1:length(wave))/fs, wave);
end

% ====== Self demo
function selfdemo
pv=[57.661699 58.680365 58.680365 58.680365 58.680365 58.680365 58.680365 58.680365 58.680365 58.680365 59.213095 58.680365 59.213095 59.213095 59.213095 59.213095 59.213095 59.213095 59.213095 58.680365 58.680365 58.163541 60.917323 60.917323 60.917323 60.917323 60.330408 58.680365 57.661699 0.000000 57.173995 58.163541 58.680365 58.680365 58.680365 58.680365 58.680365 58.680365 58.680365 58.680365 58.163541 0.000000 0.000000 57.173995 56.699654 56.699654 57.173995 56.699654 56.699654 56.699654 56.699654 56.699654 57.173995 57.173995 57.173995 56.237965 0.000000 55.788268 0.000000 55.788268 55.788268 56.237965 55.788268 55.788268 55.788268 56.237965 56.237965 56.237965 55.788268 55.349958 54.097918 0.000000 56.237965 57.661699 57.661699 57.661699 57.661699 57.661699 57.661699 57.173995 57.173995 57.173995 57.173995 57.661699 57.173995 57.173995 57.173995 57.661699 58.680365 59.213095 59.213095 59.213095 59.213095 59.213095 59.213095 59.762739 59.762739 59.762739 59.762739 59.213095 59.213095 58.680365 57.661699 55.349958 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 52.930351 53.310858 53.310858 53.699915 53.699915 53.699915 53.699915 53.699915 53.699915 53.310858 52.193545 50.807818 0.000000 57.661699 56.237965 56.237965 56.237965 56.237965 56.237965 56.237965 56.237965 56.237965 56.237965 56.237965 56.237965 56.237965 56.237965 55.788268 56.699654 57.173995 57.173995 57.173995 57.173995 57.173995 57.173995 57.661699 57.661699 57.661699 57.661699 57.661699 57.173995 56.699654 55.788268 54.097918 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 54.097918 54.922471 55.349958 55.788268 56.237965 56.237965 56.237965 56.237965 56.237965 55.788268 54.922471 0.000000 0.000000 0.000000 57.661699 57.661699 57.661699 57.661699 57.173995 57.173995 57.173995 57.173995 57.173995 57.173995 57.173995 57.173995 57.173995 58.163541 58.680365 58.680365 59.213095 59.762739 59.213095 59.213095 59.762739 59.762739 59.762739 59.762739 59.762739 59.762739 59.213095 58.680365 57.173995];
timeStep=256/8000;
fs=8000;
plotOpt=1;
feval(mfilename, pv, timeStep, fs, plotOpt);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -