25

私は 15 本のオーディオ テープを持っていますが、そのうちの 1 本には祖母と私が話している古い録音が含まれていると思います。適切な場所をすばやく見つけようとしても、うまくいきませんでした。それを見つけるために 20 時間もテープを聞きたくない。この場所は、いずれかのテープの先頭ではない可能性があります。ほとんどのコンテンツは 3 つのカテゴリに分類されるようです。長さの長い順に、サイレンス、スピーチ ラジオ、音楽です。

すべてのテープをデジタル形式に変換してから、もう一度録音を探す予定です。明らかな方法は、私が他のことをしている間、それらすべてをバックグラウンドで再生することです。それは私にとってあまりにも単純すぎるので、洗練度と有用性が増す順に、私が見つけることを可能にするオープンソースライブラリまたは他のコードはありますか?

  1. 非サイレント領域
  2. 人間の声を含む領域
  3. 私自身のスピーチ (および私の祖母のスピーチ) を含む地域

私の好みは、Python、Java、または C です。

私はその分野について何も知らないので、失敗した答え、検索用語に関するヒントをいただければ幸いです。

これに 20 時間以上を簡単に費やすことができることを理解しています。

4

8 に答える 8

5

pyAudioAnalysisを試して、次のことを行うこともできます。

  1. 沈黙の除去:

from pyAudioAnalysis import audioBasicIO as aIO from pyAudioAnalysis import audioSegmentation as aS [Fs, x] = aIO.readAudioFile("data/recording1.wav") segments = aS.silenceRemoval(x, Fs, 0.020, 0.020, smoothWindow = 1.0, Weight = 0.3, plot = True)

segments非無音セグメントのエンドポイントが含まれています。

  1. 分類: 音声と音楽の識別: pyAudioAnalysisには事前トレーニング済みの分類子も含まれており、これを使用して未知のセグメントを音声または音楽に分類できます。
于 2015-04-22T16:31:11.837 に答える
5

最善の選択肢は、音声認識または話者識別 (音声認識ではない) を行うオープン ソース モジュールを見つけることです。話者識別は特定の話者を識別するために使用されますが、音声認識は音声をテキストに変換します。オープン ソースの話者識別パッケージが存在する可能性があります。SourceForge.net などで「話者識別」または「音声と生体認証」を検索してみてください。私は自分で使用したことがないので、何もお勧めできません。

何も見つからないが、独自のものを作成することに興味がある場合は、一般的な言語用のオープン ソース FFT ライブラリがたくさんあります。テクニックは次のようになります。

  • あなたが普通に話している様子と、あなたのおばあさんが普通に話している様子をデジタル形式で記録し、バックグラウンド ノイズをできるだけ少なくします。
    • ターゲット録音のオーディオの 1 秒ごとの FFT を取得します。
    • 作成した FFT プロファイルの配列から、ノイズである可能性が最も高いため、特定の平均エネルギーしきい値を下回るものを除外します。
    • フィルタリングされていない FFT スナップショットを平均化して、マスター FFT プロファイルを構築します。
    • 次に、デジタル化されたターゲット オーディオ (20 時間分) に対して上記の FFT サンプリング手法を繰り返します。
    • FFT スナップショット インデックスがマスター FFT プロファイルと類似しているターゲット オーディオ ファイル内の領域にフラグを立てて、あなたと祖母が話しているようにします。誤検知が多すぎないように、類似性の設定をいじる必要があります。また、FFT 周波数ビンの比較を、エネルギーを持つマスター FFT プロファイル内の周波数ビンのみに制限する必要がある場合があることに注意してください。そうしないと、あなたとおばあさんが話しているターゲット オーディオに重大なバックグラウンド ノイズが含まれていると、類似度関数が機能しなくなります。
    • 手動検査のために時間指標のリストを作成する

このプロジェクトを完了するのにかかる時間は、録音を手動で聞く 20 時間を簡単に超える可能性があることに注意してください。しかし、20 時間のオーディオをすりつぶすよりもはるかに楽しいものであり、作成したソフトウェアを将来再び使用することができます。

もちろん、オーディオがプライバシーの観点から機密でない場合は、オーディオ オーディション タスクを Amazon のメカニカル タークなどに外注することができます。

于 2011-04-22T18:40:11.030 に答える
3

Java に精通している場合は、minim を介してオーディオ ファイルをフィードし、いくつかの FFT スペクトルを計算してみることができます。無音は、サンプルの振幅の最小レベルを定義することによって検出できます (ノイズを排除するため)。音楽からスピーチを分離するために、タイム ウィンドウの FFT スペクトルを使用できます。音声では、フォルマントと呼ばれるいくつかの非常に異なる周波数帯域が使用されます (特に母音の場合)。音楽は、周波数スペクトル間でより均等に分散されます。

おそらく、音声ブロックと音楽ブロックを 100% 分離することはできませんが、ファイルにタグを付けて、興味深い部分だけを聞くだけで十分です。

http://code.compartmental.net/tools/minim/

http://en.wikipedia.org/wiki/Formant

于 2011-04-22T18:39:30.000 に答える
2

以前、Windows 音声認識の使用に関するブログ記事を書きました。C# でオーディオ ファイルをテキストに変換する基本的なチュートリアルがあります。ここでチェックアウトできます。

于 2011-04-22T18:42:20.870 に答える
2

2 つのアイデア:

  • CMUSphinxなどの「音声認識」フィールドを調べます。
  • Audacityには、便利な「無音を切り詰める」ツールがあります。
于 2011-04-22T18:25:35.670 に答える
-2

audacity + トラックをスペクトログラム (logf) として表示 + 目を訓練して (!) 音声を認識します。タイム スケールと FFT ウィンドウを調整する必要があります。

于 2013-02-18T20:13:58.557 に答える