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

📄 display_zoom.m

📁 这是一个用于语音信号处理的工具箱
💻 M
字号:
%Callback function for the zoom button  
%To zoom a segment of speech, click the left mouse button on the  beginning and end points
%To zoom out, click the left and right mouse buttons in any order(but not together)
%To exit the zooming function, click the right mouse button twice, slowly
%
%Modified by D. G. Childers, October 15, 1997
%



global BACK_COLOR TEXT_COLOR LINE_COLOR;	

   BACK_COLOR=[1 1 1]; %white
	TEXT_COLOR=[0 0 0]; %black
   LINE_COLOR=[0 0 1]; %blue
   
if exist('signal1') == 1
   LEFT_L=[LEFT_1];
   LEFT=min(LEFT_L);
   RIGHT_R=[RIGHT_1];
   RIGHT=max(RIGHT_R);
end
if exist('signal2') == 1
   LEFT_L=[LEFT_1 LEFT_2];
   LEFT=min(LEFT_L);
   RIGHT_R=[RIGHT_1 RIGHT_2];
   RIGHT=max(RIGHT_R);
end
if exist('signal3') == 1
   LEFT_L=[LEFT_1 LEFT_2 LEFT_3];
   LEFT=min(LEFT_L);
   RIGHT_R=[RIGHT_1 RIGHT_2 RIGHT_3];
   RIGHT=max(RIGHT_R);
end
if exist('signal4') == 1
   LEFT_L=[LEFT_1 LEFT_2 LEFT_3 LEFT_4];
   LEFT=min(LEFT_L);
   RIGHT_R=[RIGHT_1 RIGHT_2 RIGHT_3 RIGHT_4];
   RIGHT=max(RIGHT_R);
end

   
   %LEFT=LEFT_1;
   %RIGHT=RIGHT_1;
   
axis=LEFT:RIGHT;
AXIS = axis;
button = [1 1];
while button(1)~=3 | button(2)~=3
   [xx,yy,button] = ginput(2);
   xx=round(xx);
   if button(1)== 1 & button(2) ==1
      LEFT1(zoom_level) = LEFT;
      RIGHT1(zoom_level) = RIGHT;
      zoom_level = zoom_level + 1;
      if (xx(2)>xx(1))
         LEFT = round(xx(1));
         RIGHT = round(xx(2));
      else
         LEFT = round(xx(2));
         RIGHT = round(xx(1));
      end
      axis1 = LEFT:RIGHT;
      if exist('signal1') == 1
      axes(ax1);
      plot(axis1,signal1(LEFT:RIGHT),'color',LINE_COLOR);
      title('Speech signal 1');
      end
      if exist('signal2') == 1
      axes(ax2);
      plot(axis1,signal2(LEFT:RIGHT),'color',LINE_COLOR);
      title('Speech signal 2');
      end
      if exist('signal3') == 1
      axes(ax3);
      plot(axis1,signal3(LEFT:RIGHT),'color',LINE_COLOR);
      title('Speech signal 3');
      end
      if exist('signal4') == 1
      axes(ax4);
      plot(axis1,signal4(LEFT:RIGHT),'color',LINE_COLOR);
      title('Speech signal 4');
      end            
      elseif (button(1)==1 & button(2) ==3)|(button(1) == 3 & button(2) ==1)
      zoom_level = zoom_level -1;
      if zoom_level <=0
         zoom_level = 1;
      end;
      LEFT = LEFT1(zoom_level);
      RIGHT = RIGHT1(zoom_level);
      axis1 = LEFT:RIGHT;
      
     if exist('signal1') == 1
     axes(ax1);
     plot(axis1,signal1(LEFT:RIGHT),'color',LINE_COLOR);
     title('Speech signal 1');
     end
     if exist('signal2') == 1
     axes(ax2);
     plot(axis1,signal2(LEFT:RIGHT),'color',LINE_COLOR);
     title('Speech signal 2');
     end
     if exist('signal3') == 1
     axes(ax3);
     plot(axis1,signal3(LEFT:RIGHT),'color',LINE_COLOR);
     title('Speech signal 3');
     end
     if exist('signal4') == 1
     axes(ax4);
     plot(axis1,signal4(LEFT:RIGHT),'color',LINE_COLOR);
     title('Speech signal 4');
     end


      
   elseif button(1) ==3 & button(2) ==3
      if zoom_level==1
          if exist('signal1') == 1
          axes(ax1);
          plot(signal1,'color',LINE_COLOR);
          title('Speech signal 1');
          end
          if exist('signal2') == 1
          axes(ax2);
          plot(signal2,'color',LINE_COLOR);
          title('Speech signal 2');
          end
          if exist('signal3') == 1
          axes(ax3);
          plot(signal3,'color',LINE_COLOR);
          title('Speech signal 3');
          end
          if exist('signal4') == 1
          axes(ax4);
          plot(signal4,'color',LINE_COLOR);
          title('Speech signal 4');
          end
          LEFT=1;
          LENS=length(signal1);
          RIGHT=LENS;
      end;
      break;
   end
end;
clc;
disp('Exiting the zooming function');
clear xx 

% set the shift-button on
set(shift_right,'Visible','on');
set(shift_left,'Visible','on');

%return;



   
      
      
      
  
      

⌨️ 快捷键说明

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