私の週末のプロジェクトの1つは、信号処理の深海に連れて行ってくれました。いくつかの強力な数学を必要とするすべてのコードプロジェクトと同様に、理論的な根拠がないにも関わらず、解決策に手を加えたいと思っていますが、この場合は何もありません。つまり、テレビ番組中にライブの視聴者が笑うタイミングを正確に把握しようとしています。
私は笑いを検出するための機械学習アプローチを読むのにかなりの時間を費やしましたが、それは個々の笑いを検出することと関係があることに気付きました。一度に笑う200人は、音響特性が大きく異なります。私の直感では、ニューラルネットワークよりもはるかに粗雑な手法で区別できるはずです。私は完全に間違っているかもしれません!問題についての考えをいただければ幸いです。
これまでに試したことは次のとおりです。最近のサタデーナイトライブのエピソードから5分の抜粋を2秒のクリップに切り取りました。次に、これらの「笑い」または「笑いなし」とラベルを付けました。LibrosaのMFCC機能抽出ツールを使用して、データに対してK-Meansクラスタリングを実行しました。2つのクラスターがラベルに非常にきれいにマッピングされました。しかし、より長いファイルを反復処理しようとしたとき、予測には意味がありませんでした。
これから試すこと:これらの笑いのクリップを作成することについて、より正確になります。ブラインドスプリットアンドソートを行うのではなく、手動で抽出して、ダイアログが信号を汚染しないようにします。次に、それらを1/4秒のクリップに分割し、これらのMFCCを計算し、それらを使用してSVMをトレーニングします。
この時点での私の質問:
これは理にかなっていますか?
ここで統計が役立ちますか?私はAudacityのスペクトログラムビューモードでスクロールしてきましたが、笑いが発生する場所をかなりはっきりと見ることができます。対数パワースペクトログラムでは、スピーチは非常に特徴的な「溝」のように見えます。対照的に、笑いは、ほぼ正規分布のように、周波数の広いスペクトルを非常に均等にカバーします。拍手で表されるより限定された頻度のセットによって、拍手と笑いを視覚的に区別することさえ可能です。これにより、標準偏差を考えることができます。コルモゴロフ–スミルノフ検定と呼ばれるものがありますが、ここで役立つかもしれません。 (上の画像では、45%のところでオレンジ色の壁がヒットしているように笑い声を見ることができます。)
線形スペクトログラムは、笑いが低周波数でよりエネルギッシュであり、高周波数に向かってフェードアウトすることを示しているようです-これはピンクノイズとしての資格があることを意味しますか?もしそうなら、それは問題の足がかりになりますか?
専門用語を誤用した場合は謝罪します。この用語についてはウィキペディアにかなり載っていますが、ごちゃごちゃになったとしても驚かないでしょう。