47 lines
1.2 KiB
Mathematica
47 lines
1.2 KiB
Mathematica
|
% Copyright David Rowe 2010
|
||
|
% This program is distributed under the terms of the GNU General Public License
|
||
|
% Version 2
|
||
|
%
|
||
|
% Plots a bunch of information related to LSP quantisation:
|
||
|
% - speech file
|
||
|
% - LSPs before and after quantisation
|
||
|
% - SNR for each frame
|
||
|
%
|
||
|
% Note: there is a 160 sample (two frame delay) from the when a sample
|
||
|
% enters the input buffer until it is at the centre of the analysis window
|
||
|
|
||
|
function pllsp(rawfile,
|
||
|
dumpfile_prefix_lpc_only,
|
||
|
dumpfile_prefix_lsp,
|
||
|
start_f, end_f)
|
||
|
|
||
|
fs=fopen(rawfile,"rb");
|
||
|
s=fread(fs,Inf,"short");
|
||
|
|
||
|
lpc_snr_name = strcat(dumpfile_prefix_lpc_only,"_lpc_snr.txt");
|
||
|
lpc10_snr = load(lpc_snr_name);
|
||
|
lpc_snr_name = strcat(dumpfile_prefix_lsp,"_lpc_snr.txt");
|
||
|
lsp_snr = load(lpc_snr_name);
|
||
|
|
||
|
lsp_name = strcat(dumpfile_prefix_lsp,"_lsp.txt");
|
||
|
lsps = load(lsp_name);
|
||
|
[m,n]=size(lsps);
|
||
|
lsp = lsps(1:2:m,:);
|
||
|
lsp_ = lsps(2:2:m,:);
|
||
|
|
||
|
figure(1);
|
||
|
clf;
|
||
|
subplot(211);
|
||
|
sp = s((start_f-2)*80:(end_f-2)*80);
|
||
|
plot(sp);
|
||
|
|
||
|
subplot(212);
|
||
|
plot(lpc10_snr((start_f+1):end_f)-lsp_snr((start_f+1):end_f));
|
||
|
|
||
|
figure(2);
|
||
|
plot((4000/pi)*lsp((start_f+1):end_f,:));
|
||
|
hold on;
|
||
|
plot((4000/pi)*lsp_((start_f+1):end_f,:),'+-');
|
||
|
hold off;
|
||
|
endfunction
|