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

📄 gui.m

📁 Vioce recognition program
💻 M
字号:
function GUI(action,varargin);if nargin<1,action='InitializeGUI';end;feval(action,varargin{:});return;function InitializeGUI();clf;clear all;close all;global  radio  edit1 edit button1 Sedit Sedit1 radio1 button2 edit_p1_x edit1_p1_y button3 Sedit_p2_x Sedit1_p2_y button4 valnameB=0;name1=0;fid=0;%okresl rozdzielczoscset(0,'Units','pixels');scnsize = get(0,'ScreenSize');pos = [(100) ...(100) ...(1000)...(600)];%Robi okienko glownef1 = figure('Position',pos);set(gcf, ...'resize','off',...'MenuBar','none', ...'NumberTitle','off', ...'Name','Legosz Lukasz   Krzempek Karol           ====---   ROZPOZNAWANIE PLCI NA PODSTAWIE PROBKI GLOSU  ---====', ...'Color',([0.7 0.3 0.3]));%RAMKA (pozycja od lewa)(od dolu)pos_ramka_zapisz=[(10) ...(550) ...980 40];uicontrol('Style','frame',...'Backgroundcolor',[0.6 0.6 0.52],...'Position',pos_ramka_zapisz);%PRZYSCISK WCZYTAJpozycja_WCZYTAJ=[(100) ...(560) ...100 22];callbackStr='GUI(''wczytaj'');';uicontrol('Style','pushbutton',...'String','WCZYTAJ',...'Backgroundcolor',[0.4 0.4 0.52],...'ForegroundColor',[0 0 0], ...'Fontname', 'tahoma', ...'Position',pozycja_WCZYTAJ,...'CallBack',callbackStr);%PRZYSCISK NAGRYWAJpozycja_ANALIZA = [(450) ...(560) ...100 22];callbackStr='GUI(''nagrywaj'');';uicontrol('Style','pushbutton', ...'String','NAGRYWAJ ', ...'Backgroundcolor',[0.4 0.4 0.52],...'ForegroundColor',[0 0 0], ...'Fontname', 'tahoma', ...'Position',pozycja_ANALIZA, ...'CallBack',callbackStr);%PRZYSCISK ZAMKNIJpozycja_ZAMKNIJ = [(800) ...(560) ...100 22];callbackStr='GUI(''zamknij'');';uicontrol('Style','pushbutton', ...'String','ZAMKNIJ', ...'Backgroundcolor',[0.4 0.4 0.52],...'ForegroundColor',[0 0 0], ...'Fontname', 'tahoma', ...'Position',pozycja_ZAMKNIJ, ...'CallBack',callbackStr);%%%%%%%%%%%%FUNKCJE%%%%%%%%%%%%%%%%OBSLUGA PRZYCISKU WCZYTAJfunction wczytaj();global syg pathname fs[syg pathname]=uigetfile('C:\*.wav');%file1=dir(fullfile(pathname,'*.wav'));%file1 = fullfile(pathname,file1);[syg, fs] = wavread(syg); soundsc(syg);rozpoznanie;%%% OBSLUGA PRZYCISKU NAGRAJfunction nagrywaj();global syg fsh1 = helpdlg('Mow do mikrofonu przez 5 sek.','UWAGA!')fs = 11025;syg = wavrecord(5*fs,fs);close(h1);soundsc(syg,fs); rozpoznanie;%%%%OBSLUGA PRZYCISKU ZAMKNIJfunction zamknij();exit;%%% OBSLUGA FUNKCJI ROZPOZNANIEfunction rozpoznanie();global syg fswidmo = abs(fft(syg,1024));				% wyznaczenie widma sygnalu wczytanegoos = linspace(0,fs,1024);				% wybor punktow na osi ( od 0 do fs; 1024 punkty)	%pozycja wykresu 1axes('position',[.04  .5  .93  .35])plot(syg);                                 %wykres w funkcji czasutitle('Wykres sygnalu w funkcji czasu')%pozycja wykresu 2axes('position',[.04  .04  .93  .35])plot(os,widmo);                         % wyrysowanie wykresu widmatitle('Wykres sygnalu w fukcji czestotliwosci')rozmiar=size(syg,1);					% wyznaczenie rozmiaru tablicy 		                                            b = fir1( 64, 400/(fs/2));    				% ustawianie parametrow filtru dolnoprzepustowegosyg = filter(b, 1,  syg );      			% przefiltrowanie wczytanego sygnalu syg = xcorr(syg); 					% funkcja odpowiadajaca za autokorelacjeF=fft(syg);						% szybka transformata fouriera %plot(abs(F))						% wyrysowanie pierwiastka funkcji po autokorelacji oraz po transformacie furiera[Max,pitch] = max(syg(rozmiar+20:1.5*rozmiar));	f = fs/(20+pitch);					% wyznaczenie czestotliwosci tonu krtaniowego if (f<160)    h1 = helpdlg('Jestes facetem!','WYNIK !');else    h1 = helpdlg('Jestes kobieta!','WYNIK!');end

⌨️ 快捷键说明

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