Far Fieldsマイク(マイクアレイ)-スマートコラムで目立たないヒーロー

この記事では、長年の情熱-遠方界のマイク(マイクアレイ)-マイクアレイの研究と作業についてお話したいと思います。


この記事は、ボイスアシスタントを構築するのが好きな人にとって興味深いものであり、エンジニアリングを芸術と見なし、Q( これはBondから )の役割を試してみたい人にいくつかの質問に答えます。 私の謙虚な話です。チュートリアルに厳密に従って作成されたスマートアシスタントコラムが、ノイズがまったくない場合にのみうまく機能する理由を理解するのに役立つことを願っています。 そして彼らがどこにいるのか、例えばキッチンでとても悪い。


何年も前、私はプログラミングに興味を持つようになりました。賢い先生が自分で書いたゲームだけをプレイできるようになったからこそ、コードを書き始めました。 それはその年に87だったので、それはヤマハMSXでした。 このテーマでは、最初のスタートアップもありました。 すべては厳密に知恵に従っています:「あなたの好みのために仕事を選んでください、そして、あなたはあなたの人生で1日働く必要はありません」(孔子)。


そして何年も経ちましたが、私はまだコードを書いています。 趣味のコードでも-よく、ローラースケートを除いて、脳を温め、「マタンを忘れない」これは、Far Fieldsマイク(マイクアレイ)で動作します。 教師は私と一緒に時間を過ごしました。


それは何ですか、どこに適用されますか


音声を聞く音声アシスタントには、通常、マイクの配列があります。 ビデオ会議システムでそれらを見つけます。 集団コミュニケーションでは、会話の最大の関心はスピーチに向けられます。コミュニケーションの際にスピーカーを常に見ているわけではありませんが、マイクやヘッドセットに直接話すことは制約で不便です。


携帯電話の製造元であるクライアントを尊重するほとんどすべての人が、2つ以上のマイクを使って作品を作ります(そう、マイクはこれらの穴の上、下、後ろにあります)。 たとえば、iPhone 3G / 3GSでは彼が唯一であり、第4世代のiPhoneには2つあり、第5世代にはすでに3つのマイクがありました。 一般的に、これはマイクの配列でもあります。 そして、これらすべてが音の聞き取りやすさを向上させます。


しかし、音声アシスタントに戻りましょう


聴力範囲を広げる方法は?


「大きな耳が必要」


簡単なアイデア:近くのマイクを聞くために1つのマイクだけで十分な場合、遠くから聞くには、フェネックキツネの耳のような、より高価なマイクと反射板を使用する必要があります。



(ウィキペディア)




実際、これは毛皮で覆われたスイートの一部ではなく、ハンターとスカウトにとって深刻なデバイスです。



同じ、共鳴管のみ



生息地で。


https://forum.guns.ruから取得



200mmから1.5mまでのミラーの直径


(この詳細はhttp://elektronicspy.narod.ru/next.htmlを参照してください


「さらにマイクが必要」


それとも、安価なマイクをたくさん入れると、量が品質になり、すべてがうまくいくでしょうか? Zerghrashはマイクのみを使用しています。


奇妙なことですが、実際には機能します。 多くのマタンで本当ですが、それは動作します。 これについては、次のセクションで説明します。


そして、美しい角なしでさらに聞くことを学ぶ方法は?



ホーンシステムの問題の1つは、焦点が合っているものをはっきりと聞くことができることです。 ただし、別の方向から何かを聞く必要がある場合は、「耳でフェイント」を行い、システムを別の方向に物理的にリダイレクトする必要があります。


また、マイクマトリックスを備えたシステムの信号対雑音比については、従来のマイクよりも優れています。


マイクのアレイとその最も近い親であるPAR(フェーズドアレイアンテナ)では、何も回す必要はありません。 詳細については、ビームフォーミングのセクションをご覧ください。 見やすい:



焦点の合っていないマイク(左の写真)は、必要なものだけでなく、あらゆる方向からのすべての音を記録します。


素晴らしい範囲はどこから来たのですか? 右の写真では、マイクは1つのソースのみを注意深く聴いています。 焦点を合わせるかのように、ノイズの可能性のあるソースからの混乱ではなく、選択したソースのみから信号を受信します。純粋な信号は、洗練されたノイズ低減技術を使用せずに単純に増幅されます。 マウスピースに少し似ていますが、マットなトラクションです。


ノイズリダクションの何が問題になっていますか?


複雑なノイズリダクションを適用する場合、多くの欠点があります-つまり、信号の一部が消え、信号の一部とともに音が変化することを意味し、耳ではノイズリダクションと判読不能の結果として音の特徴的な色のように見えます。 この判読不能性は、対話者からこれらのシューという音を聞きたいロシア語話者に見えます。 さて、さらに-ノイズリダクションの結果として、聞き手は会話者と彼をつなぐ識別信号(呼吸、スニッフィング、および生のスピーチに伴うその他のノイズ)を聞きません。 これはいくつかの問題を引き起こします。なぜなら、口語的なスピーチではこれがすべて聞かれ、あなたに対する対話者の状態と態度を評価するのに役立つからです。 私たちが声を聞きながらそれらが存在しない(ノイズ)と、不快な感覚が生じ、知覚、理解、識別のレベルが低下します。 さて、音声アシスタントがあなたの話を聞くと、ノイズリダクションはキーフレーズとその後の発話の両方を認識するのを難しくします。 確かに、ライフハックがあります-使用するノイズリダクションからの歪みを考慮して記録されたサンプルで認識エンジンをトレーニングする必要があります。


カクテルパーティーの問題という言葉に精通している人は、コーヒーやカクテルを飲みに行って、野外実験を行うことができます。



動作するmatanについて簡単に説明します。


DOA推定(音源への方向の決定)およびビームフォーミング


DOA(方向の決定、および可能であればソースへのローカリゼーション):
トピックは非常に広範囲であるため、簡単に説明します。これは、IDEの優先テーマに応じて、ホワイト、グレー、またはダークマジックとマタンを使用して行われます。 メイン DOAを頻繁に再生する方法は、マイクのペア(通常は直径が反対)間の相関関係などを分析することです。
ライフハック:研究のためには、マイクを円形に配置したアレイを選択することをお勧めします。 利点は、コード間でペアを取り、ソースへの方位角(方向)が異なる場合、マイク間の距離が異なるペア(最大直径、マイク間の最小)から統計を簡単に収集できることです。


ビーム形成-最も簡単で理解しやすい方法は-delay&sum(DASおよびFDAS)-遅延と合計に基づくビーム形成です。


ビジュアルの場合:



http://www.labbookpages.co.uk/audio/beamforming/delaySum.htmlから取得


ライフハック:異なる波長を忘れずに、各周波数について位相差tnを計算します


おおよその放射パターンは次のようになります



詳細および数式付き


マタンの喫煙方法を忘れていない人は、JIO-RLS(Joint Iterative Subspace Adaptive Reduced-Rank Minimum Squares)に参加できます。 勾配降下に非常によく似ています。



つまり、従来の方法では、マトリックスマイクに匹敵する品質を達成することは困難です。 方向の定義をソースに適用すると、その結果、必要なソースのみが聞こえ、ノイズやメディアの残響が除去されます(可聴性が低い場合でも)(ハース効果)。


音声アシスタント-内部の様子


したがって、経験豊富な音声アシスタントの音声処理スキームは次のようになります。



マイクの配列からの信号は、音源へのビームを形成するデバイスに送られ(ビームフォーミング)、干渉を除去します。 次に、この光線の音を認識し始めます。通常は、デバイスのリソースを高品質に認識するには不十分で、ほとんどの場合、信号はクラウドに送られて認識されます(Microsoft、Google、Amazonが選択します)。


気配りのある読者は気づくでしょう:そして、説明のある写真には、約束のように、「Not」という言葉のある種の正方形があり、すぐに認識されないのはなぜですか?



なぜこの余分な正方形がダイアグラムに描かれるのでしょうか?


そして、あなたは常にすべてのノイズ源からインターネットに信号をブロードキャストしているため 聞いている リソースの認識は十分ではありません。 したがって、私たちは彼らが間違いなく私たちからそれを望んでいることに気づいたときにのみ認識し始めます-そして、彼らは特別な呪文を言いました-Google、SiriまたはAlex、または彼らは私をコルタンと呼びました。 また、Notifierの単語分類子はほとんどの場合ニューロンであり、デバイスで直接動作します。 分類器の構築には多くの興味深いことがありますが、今日はそれについてではありません。


実際、図は次のようになります。



(私の落書き)


異なる信号源で複数の光線を形成することができますが、それぞれに特別な単語を探しています。 しかし、さらに正しい言葉を言った人を処理します。


次のステップは、クラウドでの認識であり、インターネットで繰り返し取り上げられています。多くのチュートリアルがあります。


この休日のマタナに参加するにはどうすればいいですか


開発ボードを購入する最も簡単な方法。 既存の開発ボードの概要:最も完全なものの1つ- 参照


初心者に最も優しい:


https://www.seeedstudio.com/ReSpeaker-4-Mic-Array-for-Raspberry-Pi-p-2941.html


https://www.seeedstudio.com/ReSpeaker-Mic-Array-v2-0-p-3053.html


XMOS XVF-3000に基づいています。


自分で適用します


好きなように作られた-オープンインターフェイスのFPGAは、マトリックスのマイクを制御し、SDAを介して通信します。


Android ThingsとMic Arrayを横断する私の偉業:


確かにこのボードには多くの例がありますが(Voice)、Thingsで使用するのは便利です。


物事の議論:


柔軟で強力なツールを構築できます。



たとえば、私は使用します:



そして、何らかの埋め込みでコードを移植/書き直さなければならない場合、Javaコードでこれを行う方が簡単です。


残念ながら、Thingsのボードの作成者からの例は少し機能していなかったので、私は自分でデモプロジェクトを作成しました (当然ですが、できます)。


要するに、そこにあるもの-マイクをすばやくポーリングするすべての黒魔術、C ++でFFTを実行し、Javaで視覚化、分析、ネットワーク相互作用を行います。


今後の開発計画


計画とインスピレーションの源泉: ODAS



だから私は同じことを、モノだけでグリッチなしでやりたい。



私の計画はこの(自分の)リポジトリに基づいています


そして思い出させる


「補足または批判するものがある場合は、コメントでそれについて書くことをheしないでください。なぜなら、1人の頭は2人よりも悪く、2人は3人よりも悪く、n-1はnよりも悪いからです」



Source: https://habr.com/ru/post/J431144/


All Articles