音声認識コード

また
、 音声認識..作業イムどのようにiのLPC係数のユークリッド距離を適用できますか?

 
誰でもMatlabではベクトル量子化コードの助けができますか?

 
私は
、 音声認識コードをMATLABを用いて実装している
、 これを使用して、iはデバイスのワイヤレス設定を使用して有効にすることができます。
このコードを効果的にMFFCテクニックとVQテクニックを使用して実装されます。
しかし
、 むしろして単語音声認識文字認識では
、 最大accurecyことができます。私の目的は
、 デバイスでこれまで唯一の無線のセットアップを使用しての距離に位置を制御するとは、iを達成した。

 
barlee_85書き込み:

やあ、

このプロジェクトは、簡単にMathWorks社のMATLABを使用して行うことができますが、Ŭ ..行うには、次の手順に従うことができます#まず、彼のLPC係数トンを抽出し、テキストに依存しない、またはテキストependent演説を形成します。

#電車ニューラルネットワークは、抽出された係数を使用して、神経ネットワークを2層(分)して聞かせ

場合には、no層の上を行くŬ上の身分証明書の他の精度がより結果を得るために複雑になる

までŬゼロにエラーが発生するレイヤーのいくつかの重み係数を使用する#

#これは訓練されたネットワークは、音声を確認するために使用することができます場合、上記のプロセスとトンは明らかではない、これは試している

http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=8802&objectType=file

とzipファイルを解凍
 
やあ、
このプロジェクトは
、 簡単にMathWorks社のMATLABを使用して行うことができますが、Ŭ ..行うには
、 次の手順に従うことができます

#まず、彼のLPC係数トンを抽出し
、 テキストに依存しない
、 またはテキストependent演説を形成します。
#電車ニューラルネットワークは
、 抽出された係数を使用して、神経ネットワークを2層(分)して聞かせ
場合には、no層の上を行くŬ上の身分証明書の他の精度がより結果を得るために複雑になる
までŬゼロにエラーが発生するレイヤーのいくつかの重み係数を使用する#
#これは訓練されたネットワークは
、 音声を確認するために使用することができます

場合
、 上記のプロセスとトンは明らかではない、これは試している
http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=8802&objectType=file
とzipファイルを解凍

 
ちょっとyagneshreva、

そのエラーは
、 変数がウルMathWorks社のMATLABのタイプの一致ではない関数の最後の値を代入しています。そう確信している変数ウルあなたの実際のプログラムに割り当てるには、1つの関数で使用するのと同じです。

よろしく、

ラケッシュ

 
こんにちは!
私はいくつかに役立つプロジェクトに関して必要がある。私たちのプロジェクトの目標は4 words.weの音声認識を実装することです私たちはかなりどのようなアプローチはうまくいくと混同。我々の共同関係をプラスのLPCテクニックを使用しているが
、 無駄だった...我々の成功率が非常に高い.....されていません
親切にコードに加えて
、 それにいくつかのアプローチを私たちガイド.....私gratefulllだろう.......ひどく4ウルヘルプ待っている...
見越して..........ファティマŬ感謝追加4分後:私は4つの単語....の認識との助けを必要と

 
誰かがこのプロジェクトについてどんな考えを持つ?????plz助け

<img src=¥"http://www.edaboard.com/images/smiles/icon_sad.gif¥" alt=¥"悲しい¥" border=¥"0¥" />
 
ファティマAJMAL書き込み:

誰かがこのプロジェクトについてどんな考えを持つ?????
plz助け
<img src=¥"http://www.edaboard.com/images/smiles/icon_sad.gif¥" alt=¥"悲しい¥" border=¥"0¥" />
 
ちょっと....

一方
、 プログラムを実行するるsuree'だってイムすべてのエラーのgettinはありません。それは素晴らしいshowinです。

プラザやり直し....にチェックと同様の方法私はuにそれを与えたウル場合
、 いくつかの他のプログラムiのエラーがわからないかもしれないが、usin。当社のMATLAB 7でやった...

 
owhh ..されているのmatlab7 ..
現在はまだ6 .. MathWorks社のMATLABを使用してイム
ok..i / MathWorks社のMATLAB 7を使用しようとする北韓

 
rakesh_vnitの音声認識コードでは、私はいくつかの場所で、私が"彼らに置き換えスマイリーだ

<img src=¥"http://www.edaboard.com/images/smiles/icon_smile.gif¥" alt=¥"笑み¥" border=¥"0¥" />

"その後も、MATLABは
、 左にある式"のようなエラーを与えている割り当てのための有効なターゲットではない"[/引用] [/ GVideo] [/ユーチューブ]追加1分後:rakesh_vnitの音声認識コードでは、私はいくつかの場所で、私が"彼らに置き換えスマイリーだ

<img src=¥"http://www.edaboard.com/images/smiles/icon_smile.gif¥" alt=¥"笑み¥" border=¥"0¥" />

その後も、MATLABは
、 左にある式"のようなエラーを与えている割り当てのための有効なターゲット"ではない。追加2分後:rakesh_vnitの音声認識コードでは、私はいくつかの場所で、私は"によってそれらを置き換え:と)"スマイリー得た。その後も、MATLABは
、 左にある式"のようなエラーを与えている割り当てのための有効なターゲット"ではない。

 
親愛なるラケッシュ...

コードから..いくつかのエラー":

未定義のコマンド/関数'信号'。

???エラー:ファイル:金:¥¥ MATLABの¥¥仕事¥¥ vpsplit.m行:209列:1
関数の定義は
、 プロンプトまたはスクリプト内では許可されていません。

 
ちょっとpayate ....

私sendin UAのMATLABコードの出力は
、 ベクトル量子化出力されます。私dontかどうかは
、 このÑÑを行うための方法をppl知っている。私は良いアイデアは体長約している。

thecodeこの....のようになる
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%音声認識
信号=('çオープン:¥¥ MATLAB7 ¥¥仕事¥¥ testsound.wav');

%信号の表¥現(または)信号処理
トン=長さ(signal.data)/ signal.fs;
掲載=トン* 8000;
私= 1:掲載
論文=私* signal.fs/8000;
論文= uint16型(j)の;
×(1)= signal.data(j)の;
終わり

本館= 0;
k = 0の;
一方本館"=(トン- 0.03)
t2に=本館0.03;
s1 =本館* 8000;
s2を= t2に* 8000;
s1の場合== 0
s1 = 1;
終わり

私= 1:s2の- s1
exx = uint16型(s1 Iを- 1);
気温(1)= ×(exx);
終わり
リットル= lpcは(12)気温;
はK = [キロリットル]
本館=本館0.01;
終わり

%ベクトル量子化
[℃、p、のdh] = vqsplit(カ、128);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
この関数は、rこれで使用されるEBをlpcの(線形予¥測codinているが内蔵MathWorks社のMATLABコード....とvqsplitです();ユーザは私がこの記事に添付ファイルとして含まれる関数が定義されます。

プログラムは、i doin午前
、 このようなものです...

信号が30msのフレームの部分に分割され
、 各10msの、すなわち
、 各フレームの間にギャップを取られるため12日の線形予¥測符号度、uは
、 対応するフレーム間で20msのoverlappinの必要があります。今は
、 このuは予¥測coeffを与える。各representinは
、 実際の信号の1フレームの信号を、12の値とした。
ので、ここでそれ自体は
、 データの圧縮がたくさんですuと。

今より我々のベクトル量子化(VQ)を使用し
、 それを圧縮する。ここにiを使用する(実際に)カ-するVQアルゴリズムを意味誰かからのコードを得た。こののようにŬ 1つのベクトルを入力として
、 すべてのフレームは、LPC coeffを与え、そこにいくつかの指定なしに量子化されます。値dependin iの重心値/ p値にした。

出力をここで必要な図書館ウルされているベクトル/ pをされ

信号processin usin統計的信号processin音声認識の基礎"から"ラビナーで行くknowin体長約します。私dontの電子本を持ってこれが
、 私はこの私
、 この....とこれに沿ってsendin時に用紙が

この役立つことを願っu. ..掲載

ラケッシュ

 
残念ここvpsplit(); fucntionは...

関数[メートル、p、DistHist] =(Xの、L)はvqsplit
%ベクトル量子化:k - MeansアルゴリズムSpliting法とトレーニング
%は、コードブックサイズの他の権限基地2例えば、256、512、ETC車載よりの検査
各itteration後に
、 マットファイル(CBTEMP.MAT)を%(保存出力になり、それ
%あまりにもあなたの仕事を失うことなく(Ctrl Cキー)を破ることができるが遅い起こっている
%これまでのところ)。
%[メートル、P、のdh] = VQSPLIT(Xの、L)は

%以上
%[M_New、P、のdh] = VQSPLIT(XのM_Old)この場合、M_Oldコードブックされて
%のデータ上でXの再登録

%入力:
%Xの:うちの行列の各列のデータベクトルである
。%Lの:コードブックのサイズは2の(できれば電源16,32 256、1024など)(決して
%他の値のテスト!

%出力:
%Mは:クラスタの重心として
、 コードブック
%Pを:重量は
、 各クラスタのベクトルで割った値の数の合計
ベクトルの%数
%のdh:合計高句麗史歪曲は、ベクトルの全体を含む
各itterationの%歪

%方法:
%平均ベクトルの2つに分割されます。モデルは
、 これら2つのベクトルに訓練されて
%までの歪みをはるかに変化しない場合は、これら2つのとに分割されて
%など。までのクラスタのdisired数に達している。
%アルゴリズム:
%1。平均して下さい
%2。スプリットはそれぞれ2つに重心
%3。割り当てる各データの重心に
%4。重心を探す
%5。計算総距離
%6。場合は
、 距離が大きく変化していない
%のL2後藤ステップ2より小さい場合
、 重心の数です
%他の後藤7
%他の(距離substantialy)後藤ステップ3に変更して
%7。場合は
、 重心の数がLより大きい
最も人口のOR(最高の歪み)を使用して重心を破棄%
%後藤3
%8。計算差異とクラスタの重みを必要に応じて
%9。終わり

%Esfandiar Zavarehei、ブルネル大学
%05 - 2006

電子=. 01;%Xの---"配置[Xe * XとX メール* Xの] Splitingの割合
eRed = 0.75;各spliting後
、 分割サイズの削減%レート、電子、。つまり
、 電子=電子* eRed;
DT =. 005;%歪みの改善のしきい値を終了し
、 再度spliting前に
DTRed = 0.75;各spliting後に改善しきい値、Dtに出力の減少%レート
MinPop = 0.10;%、各クラスタの人口は
、 割り当て量のうち少なくとも10%になる必要がありますさ(N / LC)を
%そうでない場合は
、 コードワードは
、 別の符号語に置き換えられます


開発=サイズ(Xの、1);%外形寸法図
Ñ =サイズ(Xの、2);データポイントの%数
isFirstRound = 1;%最初Itteration Spliting後

numel(通常L)== 1の場合
メートル%ベクトルの平均(Xの、2);平均=
CB = [M *は(1 オ)M *は(1 -メール)];%スプリット2つのベクトルに
その他の
CB = L通常;%場合は
、 コードブック機能¥するだけで電車に渡されます
通常L =サイズ(CBの2);
メール=メール*(eRed ^(はlog2(通常L)))を修正します。
DT = DT *(DTRed ^(はlog2(通常L)))を修正します。
終わり

液晶=サイズ(CBの2);コードブックの%現在のサイズ

イーター= 0;
スプリット= 0;
IsThereABestCB = 0;
maxIterInEachSize = 20;それぞれで%訓練itterationsの最大数
%コードブックのサイズ(コードブックのサイズは1から始まる
%と増加
、 その後)
EachSizeIterCounter = 0;
中1
%までの距離の計算
[minIndx、dstは] = VQIndex(XのCB)を、%、各データへのベクトルに最も近いワード検索

ClusterD = 0(1、LC)を;
人口= 0(1、LC)を;
LowPop = [];
%(各クラスタの)を意味するの重心を探す
私= 1:液晶
工業== i)から(minIndxを見つける=;
場合の長さ(工業)"MinPop * Nに/秒LC%の場合
、 クラスタは非常に低人口だけでそれを覚えて
LowPop = [LowPop私];
その他の
転換社債(:、i)から(Xの平均=(:、工業)、2);
人口(1)=長さ(工業);
ClusterD(1)=合計(dstの(工業));
終わり
終わり
もし〜内のisEmpty(LowPop)
[気温MaxInd] = maxn(人口、長さ(LowPop));
転換社債(:LowPop)=転換社債(:MaxInd)*(1 電子);%の高い人口の符号語の分割で低人口ワード置換
転換社債(:MaxInd)=転換社債(:MaxInd)*(1 - e)を;

%再列車
[minIndx、dstは] = VQIndex(Xの、CBの);

ClusterD = 0(1、LC)を;
人口= 0(1、LC)を;

私= 1:液晶
工業== i)から(minIndxを見つける=;
もし〜内のisEmpty(工業)
転換社債(:、i)から(Xの平均=(:、工業)、2);
人口(1)=長さ(工業);
ClusterD(1)=合計(dstの(工業));
他の%がない場合はベクトルを閉じるこのコードワードのための十¥分なされると、ランダムなベクトルに置き換える
転換社債(:、1)= Xの(:、(ランド* N)の1)を修正します。
disp('ランダムなベクトルを符号語として割り当てられていた。')
isFirstRound = 1;%、少なくとも別の繰り返しが必要です
終わり
終わり
終わり
イーター=イーター 1;
場合は
、 分割(いけない終了後)isFirstRound%最初itteration
TotalDist =合計(ClusterD(〜(ClusterD)))isnan;
DistHist(イーター)= TotalDist;
PrevTotalDist = TotalDist;
isFirstRound = 0;
その他の
TotalDist =合計(ClusterD(〜(ClusterD)))isnan;
DistHist(イーター)= TotalDist;
PercentageImprovement =((PrevTotalDist - TotalDist)/ PrevTotalDist);
場合PercentageImprovement"= DT%改善実質的な
PrevTotalDist = TotalDist;%割引歪み
、 この繰り返しと継続訓練
isFirstRound = 0;
他%改善しない実質的な(彩度)
EachSizeIterCounter = 0;
もし液晶"=通常L%十¥分なコードワード?
もしワードのl ==液晶%正確な数
disp(TotalDist)
壊す
他の%一度に1つのコードワードを殺す
[気温、工業] =分(人口);%の低人口のワードを排除
日債銀=ゼロ(エ、のLC - 1);
日債銀=転換社債(:setxor(1:液晶、工業(1)));
CB =日債銀;
液晶=のLC - 1;
isFirstRound = 1;
終わり
十¥分ではありませんワードの場合他の%はまだありませんし、さらに分割
CB = CB *(1 オ)CB *(1 - e)を];
電子= * eRed電子;%の分割サイズを削減
DT = DT * DTRed;%改善しきい値の低減
液晶=サイズ(CBの2);
isFirstRound = 1;
分割=分割 1;
IsThereABestCB = 0;%として
、 我々だけでは
、 このコードブックを分割するが、このサイズでは最高のコードブックは
、 まだ
disp(LC)を
終わり
終わり
終わり
もし〜IsThereABestCB
BestCB = CB;
BestD = TotalDist;
IsThereABestCB = 1;
他の%がある場合は、CB、チェック最善を参照する場合は
、 現在の1つは
、 より優れている
場合TotalDist"BestD
BestCB = CB;
BestD = TotalDist;
終わり
終わり
EachSizeIterCounter = EachSizeIterCounter 1;
場合EachSizeIterCounter"maxIterInEachSize%の場合
、 このサイズでも多くのitterations、このサイズは訓練を中止
EachSizeIterCounter = 0;
CB = BestCB;%は
、 これまで最高のコードブックを選択
IsThereABestCB = 0;
もし液晶"=通常L%十¥分なコードワード?
もしワードのl ==液晶%正確な数
disp(TotalDist)
壊す
他の%一度に1つのコードワードを殺す
[気温、工業] =分(人口);
日債銀=ゼロ(エ、のLC - 1);
日債銀=転換社債(:setxor(1:液晶、工業(1)));
CB =日債銀;
液晶=のLC - 1;
isFirstRound = 1;
終わり
他%スプリット
CB = CB *(1 オ)CB *(1 - e)を];
電子= * eRed電子;%の分割サイズを削減
DT = DT * DTRed;%改善しきい値の低減
液晶=サイズ(CBの2);
isFirstRound = 1;
分割=分割 1;
IsThereABestCB = 0;
disp(LC)を
終わり
終わり
disp(TotalDist)
p =人口/ム;
DistHist CBTemp CB pリストへ
終わり
メートル= CB;

p =人口/ム;

disp(['イテレーション='num2str(イーター)])
disp(['スプリット='num2str(スプリット)])

機能¥も[v、私] = maxn(Xのn)を
%[Vの、私] = MAXN(Xの、N)の
%ベクトルのみ適用されます!
%この関数は
、 それぞれのインデックスを持つベクトルのXは、N値と最大値を返します。
%のVは
、 最大値を持つベクトルである、と私は
、 インデックスの行列は、
%つまり
、 インデックスは
、 ベクトルXは、N値と最大値に対応する

場合narginは"2
も[v、私] =最大(x)は、%だけが
、 最初の最大値(デフォルトはN = 1)
その他の
Ñ =分(長さ(x)を、n)は;
も[v、私] =並べ替え(x)の;
Vの=シャープ(終了:-1:エンドn 1個);
私は(エンド=:-1:エンドn 1個);
終わり

関数[私は、夏時間] = VQIndex(XのCB)の
%距離関数
CBのワードは%を返すXでのベクトルの最も近い索引
%言い換えれば:
%私は
、 ベクトルです。私の長さはXの列の数に等しい
私の%各要素は
、 最も近い符号語のインデックスはCBの(列)のことです
のX%coresponding列

通常L =サイズ(CBの2);
Ñ =サイズ(Xの、2);
LNThreshold = 64 * 10000;

場合
、 通常L * Nに"LNThreshold
開発=ゼロ(通常L、N)の;
私= 1:通常L
開発(私は、

<img src=¥"http://www.edaboard.com/images/smiles/icon_smile.gif¥" alt=¥"笑み¥" border=¥"0¥" />

=合計((repmat(転換社債(:、1)、1、N)を- X)を^ 2,1);
終わり
[私は夏時間] =分(営);
その他の
私= 0(1、N)の;
夏時間=私;
私= 1:なし
開発=合計((repmat(Xの(:、1)、1、L)は、CB)を^ 2,1);
[(1)I(私)夏時間] =分(営);
終わり
終わり

関数[私は、地区] = VQLSFSpectralIndex(Xの、CBの、W)は
あなたのワードLSFの係数%、あなたの代わりにVQINDEXこの関数を使用することができます
%この音声符号化のためです
%私= VQLSFSPECTRALINDEX(Xの、CBの、W)は
それぞれにコードブックの%を計算LSFの係数の最寄りのセットCB
そのLPスペクトルの距離を計算することによりXの%列。
%私は
、 最も近い符号語のインデックスは、X LSFの係数の設定されて
%(各列の係数のセット)CBは
、 コードブックは、Wはされ
れていない場合%重みベクトルは、ものを(256,1)に等しいとみなされます
%Esfandiar Zavarehei
%9 - 10月- 05

場合narginは"3
通常L = 256;
幅=もの(通常L、1);
その他の
isscalar(幅の場合)
通常L =幅;
幅=もの(通常L、1);
elseif isvector(幅)
幅=幅(

<img src=¥"http://www.edaboard.com/images/smiles/icon_smile.gif¥" alt=¥"笑み¥" border=¥"0¥" />

;
通常L =長さ(幅);
その他の
エラー('無効な入力引数幅のいずれかのベクトルまたはスケーラする必要があります!')
終わり
終わり

Nxは=サイズ(Xの、2);
日債銀=サイズ(CBの2);

AXの= lsf2lpc(X)は;
ACBが= lsf2lpc(CB)の;開発=ゼロ(NCBを、1);

ワット= linspace(0、π、通常L 1);
ワット=ワット(1:エンド- 1);
Ñ =サイズ(AXの、2)-1;
WFZ = 0の(N 1、L)は;
IMAGUNIT = sqrt(-1);
k = 0のため:なし
WFZ(カ1、

<img src=¥"http://www.edaboard.com/images/smiles/icon_smile.gif¥" alt=¥"笑み¥" border=¥"0¥" />

= ¥ 10,630(IMAGUNIT * kは*ワット);
終わり

SCB =ゼロ(通常L、日債銀);
私= 1:日債銀
SCB(:、1)=(1./abs(ACBが(私は、

<img src=¥"http://www.edaboard.com/images/smiles/icon_smile.gif¥" alt=¥"笑み¥" border=¥"0¥" />

* WFZ));
終わり

私= 0(1、NXは);
区= 0(1、NXは);
論文= 1:NXの
Sxの=(1./abs(テルム(論文、

<img src=¥"http://www.edaboard.com/images/smiles/icon_smile.gif¥" alt=¥"笑み¥" border=¥"0¥" />

* WFZ))';
私= 1:日債銀
開発(1)= sqrt(合計(((Sxの- SCB(:、1))^ 2).*幅));
終わり
[地区(j)の、私は(j)の] =分(営);
終わり

 
ちょっとpayate ....
私は申¥し訳なく思ってアルゴリズムウルusin ....私は実際に私はそれが全く分からないワットすることができます分からない体長約している。もしu私私は米国を支援する....試みるかもしれない... ...ベクトルのワットの種類のようなuに少し説明することができます認識システムには、nワットウルはアルゴリズムしたい....です

よろしく、
ラケッシュ

 
ちょっとラケッシュ..

実際にこのMathWorks社のMATLABコードでは
、 認識されていない... ...これだけではスペクトログラムを作成し
、 このことから
、 信号..のFFTを見つけ、私たち...しかし
、 いくつかのベクトルを見つけることができる私don.tは
、 ベクトルで理解する...
私はすでに
、 使用しようとするÑÑバックプロパゲーションコード..のベクトルが
、 それを使用していない...

もしu私の音声認識は私...またはuかについての考えている
、 すべてのサンプルや例では
、 上が...
本当にウルの助けが必要イム...追加1分後:ちょっとラケッシュ..

実際にこのMathWorks社のMATLABコードでは
、 認識されていない... ...これだけではスペクトログラムを作成し
、 このことから
、 信号..のFFTを見つけ、私たち...しかし
、 いくつかのベクトルを見つけることができる私don.tは
、 ベクトルで理解する...
私はすでに
、 使用しようとするÑÑバックプロパゲーションコード..のベクトルが
、 それを使用していない...

もしu私の音声認識は私...またはuかについての考えている
、 すべてのサンプルや例では
、 上が...
本当にウルの助けが必要イム...

 
親愛なるラケッシュ..

uは、..イムではなく..ベクトルを取得する私dontを行う方法を知って私に役立つことができる...

これが私のコード..がUにチェックしてくださいすることができます:関数matlab_tools()

%関数matlab_tools
%=====================

%いくつかの基本的なツール/ MathWorks社のMATLABからの機能¥は重要です
音声処理用%。%グラフィカルな初期化を
%-----------------------

図(1);
セット(GCFは、'位置'、[150 150 500 500])%デフォルト以外ビガーウィンドウ%の読み取りは*. wav信号
%-------------------

[XののFS] = wavread('one.wav');

%再生信号
%---------------

サウンド(Xの、fs)は;%Preepmhasisフィルタ
%------------------

%これは一般的には演説の中で認識可能¥なプリエンファシスフィルタを使用する
%タスク。これは単純な身長パスフィルタです。1つのエフェクトので
、 それが削除されます
信号から%バイアス。
%の場合は
、 信号にプリエンファシスフィルタの後に聞くと、音が聞こえます
それが異なるように聞こえる%。
が存在する場合の違いは%を表¥示するには
、 プリエンファシスフィルタをコメントアウトすることができます
オシログラムで%。

precoeff = -0.9;
Xの= [×(1)*(1 precoeff); ×(2:エンド) precoeff * ×(1:エンド- 1)];

オシログラムプロット%
%--------------------

(x)は
、 ディスプレイだけをプロット%基本的に入力することが可能¥です
信号の%オシログラム。このケースでは、x軸上の単位
%のサンプルになります。これも単位があることが好ましいです
秒単位で%x軸。したがって、plot関数で呼び出されます
。%2つの引数:
%第一引数:サンプリング時間を含む配列を
サンプリングfrequcency以来、%'が
、 サンプリング周期1/fsですFsを'、。
%2つのサンプル間の時間すなわち1/fsです。
%第2引数:対応する関数の値を含む配列を

サブプロット(3,1,1);
プロット([0:長さ(x)を-1] / fsには、X);
xlim([0 0.7]);
xlabel('時間');スペクトログラムプロット%
%--------------------

音声の短期的な分析perfromに%これは
、 簡単な方法
%信号。スペクトログラム機能¥specgram(x)を呼び出すことができます。
%その後
、 時間領域と周波数軸のスケーリングを第2またはヘルツていないのです。
関数秒ているいくつかのより多くの引数/ヘルツでは%単位としては
%より柔軟性:
%第一引数:時間の信号ドメイン
%第2引数:高速フーリエ変換ポイント数(同じウィンドウのサイズなど)を選択することができます
%第三引数:サンプリング周波数
%4引数:ウィンドウのサイズ
%第五引数:ウィンドウのシフト

%のスペクトログラムは
、 ウィンドウの最初のバージョンサイズはかなり大きい。
周波数ドメインで%したがってresultionは、解像度が高い
タイムドメイン内の%は低くなります。

サブプロット(3,1,2);
winSize = 300;
winShift = 100;
specgram(XのwinSize、fsを、winShift)winSize;

2番目のバージョンを今すぐに%私たちが多くの周波数を気にしない
%の分解能¥以上もの時間でより高い分解能¥がドメインの場合
%Terefore winow -サイズを小さく選択されます。

サブプロット(3,1,3);
winSize = 100;
winShift = 50;
specgram(XのwinSize、fsを、winShift)winSize;%のFFT
%---

%今は1つのフレーム(だけ)のためのspecgramの機能¥がない高速フーリエ変換を行います。

図(2);
セット(GCFは、'位置'、[150 150 500 500])%デフォルト以外ビガーウィンドウ

winSize = 300;

これは
、 高速フーリエ変換して% -選択してタイムスライスをプロットする。

イグゼクス= ×(1001:1000 winSize);

% -プロットタイムドメイン

サブプロット(3,1,1);
プロット([0:winSize - 1] / fsにはxx);

%多くの場合、FFTは
、 信号を直接は実行されていない
%信号例えば
、 ハミングウィンドウで
、 ウィンドウです。これは
、%フレームの境界で不連続を削除することになる
%高い周波数成分をご紹介します。

サブプロット(3,1,2);
勝利(winSize)/ 0.54ハミング=;
イグゼクス優勝=イグゼクス.*;
プロット([0:winSize - 1] / fsにはxx);

サブプロット(3,1,3);

%FFTをしないと
、 周波数ドメインでは
、 フレームをプロット。
%frequceny解像度fsであり、/ winSize。
0までのサンプリング周波数fsから%このプロットは、frequcency。

Xの= ABS樹脂(高速フーリエ変換(イグゼクス));
プロット([0:winSize - 1] * Fsを/)× winSize;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 5

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
独立成分分析"の%実証コード:チュートリアル入門"
%合弁石、MITのプレス、2004年9月。
%著作権:2005、合弁石、心理学科、シェフィールド大学、シェフィールド、イングランド。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%基本的なベルSejnowski ICAのアルゴリズム2音声信号を示した。
各パラメータの%デフォルト値は[で与えられる]ブラケット。

%[0]を設定する1の信号を聞くこと。
= 0聞き、%1に設定する場合
、 オーディオしている。

%[1]を設定する乱数シードです。
シード= 9;ランド('seed'については、種子);)('種子'、種子randn;

元の信号と信号の混合物の%[2]メートル=数です。
M = 2を;
%[1e4]信号あたりのデータポイントのN =行数。
Ñ = 1e4;

%負荷データは、それぞれのM = 2の列を別のソ¥ース信号が含まれます。
%各列は、N行(信号の値)があります。

%負荷標準MathWorks社のMATLABの音は、MATLABの(からdatafunディレクトリ)
%団結し
、 各ソ¥ースの分散を設定します。
負荷1、s1 = ×(1:N)の; s1 =(s1)とs1/std;
負荷1; s2の= ×(1:N)の; s2を=(s2)をs2/std;

ベクトルに%を組み合わせるソ¥ース変数s
掲載= [S1、S2対応];

%を新しい混合行列である。
= randn(オス、M)を;

%音声信号を聞く...
%[10000]言論のFsをサンプルレート。
Fsを= 10000;
場合soundsc(秒(:、1)、Fs)は、soundsc(秒(:、2)、Fs)は、エンド聞く;

各ソ¥ース信号の%プロットヒストグラム-
%は
、 各ソ¥ースのPDFを近似します。
図(3)、(秒(:、1)、50); drawnow履歴;
図(4);(履歴秒(:、2)、50); drawnow;

%確認メートル
、 縦メートルのソ¥ース信号sからmixures
X =任意*掲載;

%の混合信号の信号を聞く...
場合soundsc(×(:、1)、Fs)は、soundsc(×(:、2)、Fs)は、エンド聞く;

%初期化単位行列に行列W unmixing。
幅=目(メートル、M)を;

%を初期化するにはy、推定ソ¥ース信号。
ン= Xの*幅;

初期相関の間に%を印刷
%をそれぞれ推定ソ¥ースyと
、 すべてのソ¥ース信号sを
研究= corrcoef([イース]);
fprintfソ¥ース('初期の相関関係を抽出した信号を¥¥ Nの');
rinitial = ABS樹脂(研究(オス 1:2 *メートル、1:L)その他)

maxiter = 100;%[100]反復の最大数。
エータ= 1;%[0.25]グラデーションの上昇ステップサイズです。

%関数と勾配の大きさの値を格納する配列1!を確認します。
1!=ゼロ(maxiter、1);
はGs =ゼロ(maxiter、1);

時間は%開始勾配の上昇...
ITERの= 1:maxiter
%を取得推定ソ¥ース信号を、yに
ン= Xの*幅; Wのコルで%重量VECの
%を取得推定最大エントロピー信号ン=累積分布関数(y)です。
ン= tanh(y)の;
%関数の値h.して下さい
=合計(ABS樹脂(det(幅))) ログは%時間(利益(EPS 1-ンログ(

<img src=¥"http://www.edaboard.com/images/smiles/icon_smile.gif¥" alt=¥"笑み¥" border=¥"0¥" />

^ 2))/ム;
detW = ABS樹脂((幅))det;
時間=((1 / N)を*合計(和(Y)の) 0.5(detW))ログ*;
%時間@グラデーションの行列の検索/ W_ji @ ...
グラム= inv(W'が) - (2 / N)を* x'を* Yを;
%アップデートW hは増加する...
幅=水 エータ*グラム;
%レコードhと勾配の大きさ... ...
1!(ITER)では=時間;はGs(ITER)では=ノルム(グラム(

<img src=¥"http://www.edaboard.com/images/smiles/icon_smile.gif¥" alt=¥"笑み¥" border=¥"0¥" />

);
エンド;

最適化中にhと勾配の大きさの%プロットに変更します。
図(3);(hs)が、タイトル('関数の値をプロット-エントロピー');
xlabel('反復');(の'h(Y)の')ylabelの;
図(4);(ジーエス);タイトル('マグニチュードプロットエントロピー勾配');
xlabel('反復');(')グラデーションマグニチュード'ylabelの;

最終的な相関関係を%印刷...
研究= corrcoef([イース]);
fprintfソ¥ースおよび抽出された信号間の('ファイナル相関... ¥¥ Ñ');
rfinal = ABS樹脂(研究(オス 1:2 *メートル、1:L)その他)

%抽出された信号を聞く...
場合soundsc(Ý(:、1)、Fs)は、soundsc(Ý(:、2)、Fs)は、エンド聞く;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%

 
それを見てはいけません....それを書く... ...それをしようとして...??
とはい...グーグル.... Uはなるが...そこにネット上では...

 

Welcome to EDABoard.com

Sponsor

Back
Top