[音声認識] matlab Gaussian Mixture Model(GMM)に基づく話者認識[Matlabソースコード574を含む]

1.はじめに

1ガウス混合モデルの概要

ガウス密度関数の推定は、パラメトリックモデルです。ガウス混合モデル(GMM)は、単一のガウス確率密度関数の拡張であり、GMMは任意の形状の密度分布をスムーズに近似できます。ガウス混合モデルには、単一ガウスモデル(SGM)とガウス混合モデル(GMM)の2種類があります。クラスタリングと同様に、ガウス確率密度関数(PDF)のさまざまなパラメーターに従って、各ガウスモデルをカテゴリと見なし、サンプルxを入力し、値をPDFで計算して、しきい値で判断できます。サンプルはガウスモデルに属しています。明らかに、SGMは2つのカテゴリのみの問題の分割に適していますが、GMMは複数のモデルがあるため、より洗練されています。複数のカテゴリの分割に適しており、複雑なオブジェクトモデリングに適用できます。
1.1単一ガウスモデル
ここに画像の説明を挿入します
1.2ガウス混合モデル
ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します
2ガウス混合モデルのパラメーター推定

2.1サンプル分類がわかっているGMM
ここに画像の説明を挿入します
ここに画像の説明を挿入します
ここに画像の説明を挿入します

第二に、ソースコード

function mix=gmm_init(ncentres,data,kiter,covar_type)
%% 输入:
% ncentres:混合模型数目
% train_data:训练数据
% kiter:kmeans的迭代次数
%% 输出:
% mix:gmm的初始参数集合


[dim,data_sz]=size(data');

mix.priors=ones(1,ncentres)./ncentres;
mix.centres=randn(ncentres,dim);
switch covar_type
case 'diag'
  % Store diagonals of covariance matrices as rows in a matrix
  mix.covars=ones(ncentres,dim);
case 'full'
  % Store covariance matrices in a row vector of matrices
  mix.covars=repmat(eye(dim),[1 1 ncentres]);
otherwise
  error(['Unknown covariance type ', mix.covar_type]);  
end


% Arbitrary width used if variance collapses to zero: make it 'large' so
% that centre is responsible for a reasonable number of points.
GMM_WIDTH=1.0;

%kmeans算法
% [mix.centres,options,post]=k_means(mix.centres,data);
[mix.centres,post]=k_means(mix.centres,data,kiter);

% Set priors depending on number of points in each cluster
cluster_sizes = max(sum(post,1),1);  % Make sure that no prior is zero
mix.priors = cluster_sizes/sum(cluster_sizes); % Normalise priors

switch covar_type
case 'diag'
  for j=1:ncentres
   % Pick out data points belonging to this centre
   c=data(find(post(:,j)),:);
   diffs=c-(ones(size(c,1),1)*mix.centres(j,:));
   mix.covars(j,:)=sum((diffs.*diffs),1)/size(c,1);
   % Replace small entries by GMM_WIDTH value
   mix.covars(j,:)=mix.covars(j,:)+GMM_WIDTH.*(mix.covars(j,:)<eps);
  end 
case 'full'
  for j=1:ncentres
   % Pick out data points belonging to this centre
   c=data(find(post(:,j)),:);
   diffs=c-(ones(size(c,1),1)*mix.centres(j,:));
   mix.covars(:,:,j)=(diffs'*diffs)/(size(c,1)+eps);
   % Add GMM_WIDTH*Identity to rank-deficient covariance matrices
   if rank(mix.covars(:,:,j))<dim
	mix.covars(:,:,j)=mix.covars(:,:,j)+GMM_WIDTH.*eye(dim);
   end
  end
otherwise
  error(['Unknown covariance type ', mix.covar_type]);
end

mix.ncentres=ncentres;
mix.covar_type=covar_type;

%=============================================================
function [centres,post]=k_means(centres,data,kiter)

[dim,data_sz]=size(data');
ncentres=size(centres,1); %簇的数目
[ignore,perm]=sort(rand(1,data_sz)); %产生任意顺序的随机数
perm = perm(1:ncentres); %取前ncentres个作为初始簇中心的序号
centres=data(perm,:); %指定初始中心点
id=eye(ncentres); %Matrix to make unit vectors easy to construct
for n=1:kiter
  % Save old centres to check for termination
  old_centres=centres; %存储旧的中心,便于计算终止条件
  
  % Calculate posteriors based on existing centres
  d2=(ones(ncentres,1)*sum((data.^2)',1))'+...
     ones(data_sz,1)* sum((centres.^2)',1)-2.*(data*(centres')); %计算距离
 
  % Assign each point to nearest centre
  [minvals, index]=min(d2', [], 1);
  post=id(index,:);

  num_points = sum(post, 1);
  % Adjust the centres based on new posteriors
  for j = 1:ncentres
    if (num_points(j) > 0)
      centres(j,:) = sum(data(find(post(:,j)),:), 1)/num_points(j);
    end
  end

3、実行中の結果

ここに画像の説明を挿入します

四、備考

完全なコードまたは書き込み追加QQ1564658423過去のレビュー
>>>>>>
[機能の抽出] matlabウェーブレット変換に基づくオーディオ透かしの埋め込みと抽出[Matlabソースコード053を含む]
[音声処理] matlabGUIに基づく音声信号処理[Matlabを含むソースコードの問題290]
[音声取得] matlabGUI音声信号収集に基づく[Matlabソースコード291を含む]
[音声変調] matlabGUI音声振幅変調に基づく[Matlabソースコード292を含む]
[音声合成] matlabGUI音声に基づく合成[Matlabソースコードの問題293を含む]
[音声暗号化] matlabGUIに基づく音声信号の暗号化と復号化[Matlabソースコード295を使用]
[音声拡張] Matlabウェーブレット変換ベースの音声拡張[Matlabソースコード296]
[音声認識] matlabGUI音声ベース周波数認識に基づく[Matlabソースコード294を含む]
[音声拡張] Matlab GUIWienerフィルタリングベースの音声拡張[Matlabソースコード298を含む]
[音声処理] matlabGUI音声信号処理に基づく[Matlabソースコード299を含む]
[信号処理] Matlab音声信号スペクトルアナライザーに基づく[Matlabソースコード325を含む]
[変調信号] matlabGUIに基づくデジタル変調信号シミュレーション[Matlabソースコード336を含む]
[感情認識] matlabBPニューラルに基づく音声感情認識ネットワーク[Matlabソースコード349の​​問題を含む]
[音声ステガノグラフィー] Matlabウェーブレット変換に基づく定量化されたオーディオデジタルウォーターマーキング[Matlabソースコードの問題351を含む]
[特徴抽出] matlabオーディオ透かしの埋め込みと抽出に基づく[Matlabソースコード350期間を含む]
[音声ノイズ除去] matlabローパスと適応フィルターノイズ除去に
基づく[ Matlabソースコード352期間を含む] [感情認識] matlabGUIに基づく音声感情分類認識[Matlabソースコード354期間を含む]
[基本処理] Matlabベースの音声信号前処理[Matlabソースコード364期間を含む]
[音声認識] Matlabフーリエ変換0-9デジタル音声認識[Matlabソースコード384期間を含む]
[音声認識] matlab GUI DTWに基づく0〜9桁の音声認識[Matlabソースコード385を含む]
[音声再生] Matlab GUIMP3設計[Matlabソースコード425を含む]
[音声処理]人間の耳のマスキングに基づく音声強調アルゴリズム効果ノイズ比計算[Matlabソースコード428を含む]
[音声ノイズ除去] matlabスペクトル減算ノイズ除去に基づく[Matlabソースコード429を含む]
[音声認識] matlab駆動運動量項目に基づくBPニューラルネットワーク音声認識[Matlabソースコード430を含む]
[音声ステガノグラフィ] matlabLSB音声隠蔽に基づく[Matlabソースコード431を含む]
[音声認識] matlabの男性と女性の音声認識に基づく[Matlabソースコード452を含む]
[音声処理] matlab音声ノイズの追加とノイズリダクション処理に基づく[MatlabソースコードIssue473を含む]
[音声ノイズ除去] matlab最小二乗(LMS)適応フィルターに基づく[ Matlabソースコード481を含む]
[音声強調] matlabスペクトル減算、最小平均二乗、およびWienerフィルター音声強調に基づく[Matlabを含むソースコード482期間】
[通信] matlab GUIデジタル周波数帯域(ASK、PSK、QAM)変調シミュレーションに
基づく[ Matlabソースコード483を含む] [信号処理] matlabECG信号処理に基づく[Matlabソースコード484を含む]
[音声ブロードキャスト] matlabに基づく音声ブロードキャスト[Matlabソースコード507を含む]
[信号処理] matlabウェーブレット変換EEG信号特徴抽出に
基づく[ Matlabソースコード511を含む] [音声処理] matlab GUIデュアルトーンマルチ周波数(DTMF)信号検出に基づく[含むMatlabソースコード512】
【音声ステガノグラフィー】matlabLSBに基づいて音声信号のデジタル透かしを実現【Matlabソースコード513を含む】
【音声強調】matlab一致フィルターに基づく音声認識【Matlabソースコード514を含む】
【音声処理】 matlabGUI音声に基づく周波数ドメインスペクトログラム分析[Matlabソースコード527を含む]
[音声ノイズ除去] matlab LMSに基づく、RLSアルゴリズム音声ノイズ除去[Matlabソースコード528を含む]
[音声ノイズ除去] matlabLMSスペクトル減算音声ノイズ除去に基づく[含むMatlabソースコードの問題529]
[音声ノイズ除去] matlabソフトしきい値、ハードしきい値、妥協しきい値に基づく音声ノイズ除去[Matlabソースコード530を含む]
[音声認識] matlab特定の人の音声認識識別に基づく[Matlabソースコード534を含む]
[音声ノイズ除去] matlabウェーブレットソフトしきい値に基づく音声ノイズリダクション[Matlabソースコード531を含む]
[音声ノイズ除去] matlabウェーブレットハードしきい値に基づく音声ノイズリダクション[Matlabソースコード532を含む]
[音声認識] matlabMFCCおよびSVM固有に基づく人間の性別認識[Matlabソースコード533を含む]
[音声認識] MFCCに基づくGMM音声認識[Matlabソースコード535を含む]
[音声認識] matlabVQに基づく特定の人の孤立した単語音声認識[Matlabソースコード536を含む]
[音声認識] matlabGUIに基づく音声認識[含むMatlab]ソースコードの問題537]
[取得と読み取り] matlab音声収集と読み取りに基づく[Matlabソースコード538を含む]
[音声編集] matlab音声編集に基づく[Matlabソースコード539を含む]
[音声モデル] matlab音声に基づく信号数学モデル[Matlabソースコード540を含む]
[音声の健全性] matlabの音声強度とラウドネスに基づく[Matlabソースコード541を含む]
[感情認識] matlabK最近傍分類アルゴリズムに基づく音声感情認識[Matlabソースコード542を含む]
[感情認識] matlabサポートベクトルマシン(SVM)に基づく音声感情認識[Matlabソースコード543を含む]
[感情認識]ニューラルネットワークベースの音声感情認識[Matlabソースコード544を含む]
[音源定位]音源定位ベースmatlabの異なる空間スペクトル推定についてアルゴリズムの比較[Matlabソースコード545を含む]
[音源定位]異なる信号対雑音比で信号を受信するmatlabマイクに基づく[Matlabソースコード546を含む]
[音源位置]部屋のインパルス応答に基づくmatlabシングル音源とデュアルマイク[Matlabソースコード547を含む]
[音源定位] Matlab一般化相互相関ベースの音源位置[Matlabソースコード548を含む]
[音源位置] Matlabアレイマニホールドマトリックスベースの信号表示[Matlabソースコード549を含む]
[機能抽出] matlabformant推定に基づく[Matlabソースコード550期間を含む]
[特徴抽出] matlabピッチ周期推定に基づく[Matlabソースコード551を含む]
[特徴抽出] matlab音声エンドポイント検出に基づく[Matlabソースコード552を含む]
[音声コーディング] matlabADPCMコーデックに基づく[Matlabソースコード553を含む]
[音声エンコード] matlabLPCエンコードおよびデコードに基づく[Matlabソースコード期間554を含む]
[音声エンコード] matlabPCMエンコードおよびデコードに基づく[Matlabソースコード期間555を含む]
[音声分析] matlabセプストラム分析およびMFCC係数に基づく計算[Matlabソースコード期間556を含む]
[音声分析] matlab線形予測係数比較に基づく[Matlabソースコード557を含む]
[音声分析] matlab音声短時間周波数ドメイン分析に基づく[Matlabソースコード558を含む]
[音声分析] matlab音声短時間時間領域分析に
基づく[ Matlabソースコード問題559を含む] [音声分析] matlab音声ラインスペクトルペア変換に基づく[Matlabソースコード560を含む]
[音声合成] matlabに基づく信号フレーミングと復元比例オーバーラップと加算[Matlabソースコード561を含む]
[音声合成] matlab線形予測フォーマント検出とピッチパラメーターに
基づく音声合成[ Matlabソースコード562を使用] [音声合成] matlab線形予測係数とピッチパラメーターに基づく[Matlabを使用ソースコード563]
[音声合成] matlab線形予測に基づく係数と予測誤差音声合成[Matlabソースコード564を含む]
[音声合成] Matlabベースの音声信号速度の変更[Matlabソースコード565を含む]
[音声合成] Matlab音声信号ベースのトーン変更[Matlabソースコード566を含む]
[音声合成] matlabオーバーラップ記憶法に基づく信号のフレーミングと復元[Matlabソースコード567を含む]
[音声合成] MATLAB重複加算法に基づく信号のフレーミングと復元[Matlabソースコード568を含む]
[音声のノイズ除去]スペクトル減算音声の改善matlabに基づくノイズ除去[Matlabソースコード569を含む]
[音声ノイズ除去] matlabの基本的なWienerフィルターアルゴリズムに基づく音声ノイズ除去[Matlabソースコード570を含む]
[音声ノイズ除去] matlabスペクトル減算に基づく音声ノイズ除去[Matlabソースコード571を含む]
[音声のノイズ除去] Matlabの以前のSNRに基づくWienerフィルターアルゴリズム[Matlabソースコード572を含む]
[音声認識] MATLAB動的タイムワーピング(DTW)に基づく孤立した単語の音声認識[Matlabソースコード573期間を使用]

おすすめ

転載: blog.csdn.net/TIQCmatlab/article/details/115003436