2

私はポリフォニック音楽のトランスクリプションプロジェクトに取り組んでいます。私はいくつかの論文を読み、同様のタスクを説明する記事を読みました。私は問題領域の多くの側面について非常に混乱しています。誰かが私を助けてくれることを願っています。

これまでのところ、特定のmp3からデコードされたオーディオデータのストリームを取得しました。

私は、発症の検出が転写への第一歩であることを理解しました。。発症の検出に使用できるJavaライブラリはありますか。

次に、私が読んだように、基本周波数の検出もFFTを使用して行われます。

これらのタスクでのFFTの使用法を知りたいです。(私はFFTにあまり精通していません)。発症検出とF0検出のためにFFTを実行することは絶対に必要ですか?そうでない場合、他の方法は何ですか。私が持っているオーディオストリームでFFTを実行できますか、またはこれらのオーディオデータを操作するために実行する必要がある他の操作がありますか?

どうもありがとう。

4

4 に答える 4

6

このフィールドは、マシン リスニングと呼ばれます。

デジタル エンコードされた音楽のポリフォニック トランスクリプションは、マシン リスニングの究極の目標の 1 つです。これは未解決の問題であり、活発な研究が行われている分野です。サブフィールドには次のものがあります。

  • 発症検出
  • ビート抽出(メトリック構造、タイムシグなどの検出)
  • ピッチ検出 (モノフォニック信号では自己相関やその他の方法を使用して可能ですが、複雑なポリフォニック音楽に適用すると未解決の問題になります)
  • キー検出 (キー署名検出)。

プロジェクトの性質によっては、 SuperColliderプログラミング環境を調べると役立つ場合があります。SC は、このようなプロジェクト向けに設計された言語であり、すでに多数のマシン リスニング プラグイン (ugen) と、FFT、オーディオ信号などを処理するための包括的なフレームワークを備えています。

于 2009-02-28T09:50:39.633 に答える
3

ノート開始検出に関するこの質問には、役立つ情報がたくさん含まれています。

これは巨大ですが非常に興味深いプロジェクトに思えます。幸運を祈ります。

于 2009-02-28T08:43:31.480 に答える
3

楽譜作成とは、音(またはオーディオデータ)から楽譜を作成することです。熟練したミュージシャン、特に作曲家はこれを行うことができますが、機械で行うのは非常に困難な作業であり、私の知る限り、これまでほとんど成功していません。主に学術的な実験です.

基本的に、音符を認識するためには、音符の開始位置、終了位置、ピッチを知る必要があります。フーリエ変換は、時間領域 (オーディオ データ) を周波数領域 (ピッチ) に変換する最も基本的な方法です - 原則として。実際には、楽器は多くのハーモニクス (倍音) を生成し、ポリフォニー (多くの F0) が追加されると、混乱します。

オーディオ データの 50 ミリ秒のシーケンシャル スライスのようなものを FFT に供給してみてください。このようにして、各スライスのスペクトルを取得し、各スライスで最も強いピークを検出し、連続するスライス間で何が起こるかからリズムを推測します。

申し訳ありませんが、あまり役に立ちませんでした...しかし、あなたがやろうとしていることは非常に難しいことを真剣に指摘したかっただけです. おそらく、1 音の正弦波のメロディーを検出するなど、もっと単純なことから始めたほうがよいでしょう。幸運を!

于 2009-02-28T08:47:06.510 に答える
0

ポリフォニック音楽のメロディーの基本周波数を検出するには、MELODIA vamp プラグインを試すことができます (非営利目的のみ): http://mtg.upf.edu/technologies/melodia

メロディー抽出アルゴリズムを自分で実装したい場合は、現在の最先端の研究をチェックする必要があります。MIREX メロディー抽出年次評価キャンペーンを開始するのに適した場所かもしれません: http:// www.music-ir.org/mirex/wiki/Audio_Melody_Extraction

それ、または単に「メロディー抽出」をグーグルで検索してください;)

于 2013-01-24T14:16:00.653 に答える