マイクからの音声入力をリアルタイムで検出しようとしています。
私はすでに入力を受け取り、FFTアルゴリズムを実行し、結果をdBで示しています。周波数領域、時間領域、スペクトログラムがあります。
基本周波数を取得するにはどうすればよいですか?基本周波数を取得した場合、周波数が特定の値の間にある場合、私たちが話しているのは音声であると指定できますか?私がすでに持っているものでこれを行う他の方法はありますか?
事前にTks
音声の範囲内(たとえば、400〜10K hz)のスペクトログラムの最高峰を取ります。それはあなたに基本周波数を与えるはずです。
または、頻度のヒストグラムを統合する必要がある場合があります。これは、かなり高い周波数と広いスペクトルを持つ歯擦音(「s」の音)と摩擦音(「f」と「th」の音)で始まる、またはそれらを含む単語がある場合があるためです。母音以外の何かで始まったので、スピーチの始まりを見逃したくありません。
もう一つの要因は、声以外に何を拾うかです。バックグラウンドノイズがたくさんありますか?どんな種類?ない場合は、音が存在するだけで十分です。たとえば、音楽がある場合は、まったく別の課題があります。音声と他の音を区別しようとしている場合は、ニューラルネットワークアプローチを試してみたくなるでしょう。そのレベルの複雑さが必要になる可能性があります。