音訊 延伸學習 Audio Signal Processing and Recognition (音訊處理與辨識) 張智星 (音訊處理與辨識) 張智星 http://neural.cs.nthu.edu.tw/jang/books/audioSignalProcessing/index.asp
音訊:延伸學習 音高追蹤 旋律辨識 濾波器應用與設計 聲學模型
握把式圖形與 GUI 設計 握把式圖形概念 圖形物件階層結構 圖形物件性質存取 MatLab GUI M 檔案 GUIDE 環境
Handle Graphics 概念 握把式圖形(Handle Graphics)概念 每一個圖形元件視為一個物件 Object Object 都有一個獨一無二的握把 Handle
階層結構 圖形物件階層結構(Hierarchy)
階層結構
圖形物件性質存取 以 GUI 介面進行圖形物件的性質存取 MATLAB 5.x MATLAB 6.x MATLAB 7.x 以 命令列 進行圖形物件的性質存取
GUI: MatLab 5.x MATLAB 5.x >> propedit(gcf) gcf 傳回使用中圖形握把,開啟「性質編輯器」(Property Editor)
MatLab 5.x Property Editer 物件瀏覽 性質修改 性質陳列
GUI: MatLab 6.x MATLAB 6.x >>peaks; % 畫出 peaks 3D 圖 >>propedit; % 開啟性質編輯器
MatLab 6.x Property Editer
GUI: MatLab 7.x MATLAB 7.x >>peaks; % 畫出 peaks 3D 圖 >>propedit; % 開啟性質編輯器
MatLab 7.x Property Editer
命令列 以命令列進行圖形物件的性質存取 set 設定某個性質的值 get 取得某個性質的值 findobj 在握把式圖形的階層式結構中,找出所要的物件。 xpsound、travel、lorenz、truss
set t = 0:0.1:4*pi; y = exp(-t/5).*sin(t); h = plot(t, y); % h 為曲線的握把 set(h,'Linewidth',3); % 將曲線寬度改為 3 set(h,'Marker','o'); %將曲線的線標改成小圓圈 set(h,'MarkerSize',20); % 將線標的大小改成 20
get >>get(h,’LineWidth’) %取得曲線寬度 ans =3; >> get(h,'Color') %取得曲線顏色 ans = 0 0 1
findobj >> plot(rand(10,2)); % 畫出兩條曲線 >> h=findobj(0,'type','line') % 找出曲線的握把 h = 1.0051 74.0016 >> set(h,'LineWidth',3); % 經由握把將曲線寬度改為 3
MatLab GUI GUI 的設計 M 檔案 GUIDE 發展環境
M 檔案 M 檔案的GUI 設計 Uicontrol Mouse Events
Uicontrol h = uicontrol; % 產生按鈕 set(h,'String', 'Click!'); cmd ='fprintf(''Fire up!\n'');'; % 定義按鈕被按後的反應指令 set(h,'Callback',cmd); % 設定按鈕的反應指令
UI (User Interface) 控制物件 Uicontrol 產生UI (User Interface) 控制物件 按鈕(Push Button) 滑動棒(Sliding Bar) 圓形按鈕(Radio Button) 框架(Frame) 核計方塊(Check Box) 文字欄位(Edit Box) 列表式選單(List Menu) 下拉式選單(Popup Menu)
Uicontrol close all % 關閉所有圖形視窗 uicontrol('style','push','position',[200 20 80 30]); uicontrol('style','slide','position',[200 70 80 30]); uicontrol('style','radio','position',[200 120 80 30]); uicontrol('style','frame','position',[200 170 80 30]);
Uicontrol uicontrol('style','check','position',[200 220 80 30]); uicontrol('style','edit','position',[200 270 80 30]); uicontrol('style','list','position',[200 320 80 30],… 'string', '1|2|3|4'); uicontrol('style','popup','position',[200 370 80 30],… 'string','one|two|three');
Uicontrol 另外一個較複雜 uicontrol 的例子 Switch Yard Programming
滑鼠事件 (Mouse Events) 滑鼠事件 (Mouse Events) WindowButtonDownFcn:滑鼠按鈕,按下時反應指令 WindowButtonMotionFcn:滑鼠移動時的反應指令 WindowButtonUpFcn:滑鼠按鈕,釋放時的反應指令 Ref. HELP: Callback Properties for Graphics Objects
Mouse Events 一個滑鼠事件 (Mouse Events) 的例子