function varargout = gui(varargin)
gui_singleton = 1;
gui_state = struct('gui_name', mfilename, ...
'gui_singleton', gui_singleton, ...
'gui_openingfcn', @gui_openingfcn, ...
'gui_outputfcn', @gui_outputfcn, ...
'gui_layoutfcn', , ...
'gui_callback', );
if nargin && ischar(varargin)
gui_state.gui_callback = str2func(varargin);
end
if nargout
[varargout] = gui_mainfcn(gui_state, varargin);
else
gui_mainfcn(gui_state, varargin);
endfunction gui_openingfcn(hobject, eventdata, handles, varargin)
handles.output = hobject;
guidata(hobject, handles);
function varargout = gui_outputfcn(hobject, eventdata, handles)
varargout = handles.output;
function pushbutton1_callback(hobject, eventdata, handles)
set(handles.text1,'visible','off');
[filename pathname]=uigetfile(,'¿ªê¼'); %%讀取音訊檔案
str=[pathname filename];
[y,fs]=audioread(str);
l=length(y); %原訊號點數
n=fix(fs*0.015); %幀長
framen=fix(l/n); %幀數
y=y/max(abs(y)); %歸一化 %%
%%%%%%短時能量%%%%%%%%
en=zeros(1,framen);
mn=zeros(1,framen);
for i=1:framen
yn=y(((i-1)*n+1):i*n);
en(i)=sum(yn.*yn);
end%%
%%%%%%濁音提取%%%%%%%%
emax=max(en);
ref=0.08*emax;
for i=1:framen
if(en(i)>ref)
mn(i)=1;
endend%%
%%%%%%基音頻率%%%%%%%%
for i=1:framen
if(mn(i)==1)
yn=y(((i-1)*n+1):i*n);
yn0=yn;
r=relation(yn0,n);
[rmax1,rdot1]=max(r(18:160));
f1(i)=fs/(rdot1+17);
endend %%%%%%某幀取樣點%%%
for i=140:140
if(mn(i)==1)
yn=y(((i-1)*n+1):i*n);
yn0=yn;
r1=relation(yn0,n);
endendaxes(handles.axes1);
plot(y),xlabel('幀數'),ylabel('幅度'),title('原訊號');
axes(handles.axes2);
plot(en),xlabel('幀數'),ylabel('en'),title('短時能量');
axes(handles.axes3);
plot(f1),xlabel('幀數'),ylabel('f'),title('基音頻率');
axes(handles.axes4);
plot(r1),xlabel('幀數'),title('自相關');
%%%%男女聲判斷%%%%
sum1=0;
s=0;
for i=1:framen
if(mn(i)==1)
s=s+1;
sum1=sum1+f1(i);
endendfinal=mean(sum1);
if final>200
set(handles.text2,'string','判斷結果:女聲');
else
set(handles.text2,'string','判斷結果:男聲');
end
function pushbutton2_callback(hobject, eventdata, handles)
close;
自相關函式另外編寫(放在主程式裡執行時間長)
function re=relation(x,n)
for i=0:(n-1)
re(i+1)=0;
for n=1:(n-i)
re(i+1)=re(i+1)+x(n)*x(n+i);
endend
透過IT看人性
在逛lotus中文網的時候看到 dragonws 總結的東西覺得很又用,所以節選過來讓警示一下自己。人總會犯錯的 為什麼在修改程式結構的同時,又向系統新增新的功能時,總是會一波三折?問題就出在這裡。人總是健忘的 人的記憶能力的弱勢在軟體程式設計時往往暴露無遺。剛剛寫完乙個很複雜的function或m...
營銷與人性
亥爾波特討厭做重複的事情,他喜歡創新,喜歡挑戰別人認為 不可能實現的事情 有一次,我們路過一家賓士車的賣場,他看好其中的一款,非常喜歡,然後指著那輛車 詭異 地衝我說 克亞,你看到了嗎?那輛賓士車售價7萬美金,但我準備用5萬美金開回去。我有些吃驚,覺得他簡直是異想天開,因為賓士車是不打折的。我搖搖頭...
人性的弱點
第一篇 與人相處的基本技藝 01 如欲採蜜,勿蹴j蜂房 02 真誠地讚賞他人 03 激發他人的強烈需求 第二篇 平安快樂的要訣 04 保持自我本色 05 改變不良的工作習慣 06 學會放鬆,解除疲勞 07 倦怠導致身體的疲勞 08 活在今天的方格中 09 不要對敵人心存報復 10 不要指望別人感激你...