曲の一部を検出する


9

うまくいけば、これはあまり主観的ではありません...

音楽スタイルに関係なく、曲のさまざまな「部分」を検出するための取り組みの方向性を探しています。どこを見ればよいかわかりませんが、他のStackOverflowサイトの力を信頼しているので、ここにいる誰かが方向性を示すのに役立つと思いました。

基本的に、連続する繰り返しパターンをグループ化し、それらを「パーツ」と呼ぶことで、曲のさまざまなパーツを検出できます。それはそれほど難しいことではないかもしれません-わずかな変動があっても、コンピューターは信号の繰り返しを検出するのにかなり優れています。

しかし、「パート」がオーバーラップするのは、ほとんどの音楽でそうであるように難しいです。

どのような音楽がこのようなシステムに最も適しているかを言うのは難しいです。ほとんどのクラシックスタイルの交響曲は、処理が最も簡単だと思います。

この分野で研究を探す場所についてのアイデアはありますか?


スニペットの録音から曲を認識するためのiPhoneアプリがあると思います。そして、このアプリについて説明した記事があったと思います。リンクがなくて申し訳ありませんが、それから始めます。
mpiktas

1
@mpiktas:あなたはおそらくSoundHoundShazamなどのアプリを参照しているでしょう。Shazamの動作に関するホワイトペーパーがありますが詳細についてはあまり詳しく説明していません。それがOPに必要なものかどうかはわかりませんが、それは良い出発点になるかもしれません。
nico

良い、(白い紙の上に、私は信じて、ベース)ジャーンの短いブログ記事について、あなたも試すことができますlaplacian.wordpress.com/2009/01/10/how-shazam-works
raegtin

回答:


6

私は信号処理の専門家ではありませんが、音楽理論についてはかなり知っています。それどころか、クラシック音楽はおそらく単純な数学的方法で分析するのが最も難しい音楽の1つでしょう。ポップミュージックやテクノミュージックなど、よりシンプルで反復的なものから始めるのが一番です。ポップはしばしばあなたの目標の単純化したバージョンに役立つかもしれない詩合唱詩...などのフォーマットを持っています。

データにフーリエ変換を使用して、データを最も顕著な構成周波数に分解してみてください。おそらく、異なるサブセクション間で階層的になっています。特に、データの「部分」をグループ化する方法に基づいて、さまざまなものを探すことができます。

  1. あなたのポップミュージックで最も遅い振動は、おそらく詩と合唱の間のシフトと詩へのシフトです(たぶん0.75振動/分?)。

  2. 次に、コード進行、つまり曲の各小節の間で、より高い周波数の振動が見つかる場合があります(おそらく1分あたり約6振動?)。

  3. 次に高い周波数は、メジャー内のバー(おそらく1分あたり約24振動?)であり、ポップ/フォークミュージックで頻繁に歌詞のストラミングパターンとシンコペーションが繰り返されます。

  4. 細かいところまで行きます。次に、音楽の各小節内で繰り返されるビートとリズムを見つけます。これらの1つを選択して分離すると(おそらく毎分148オシレーション/ビート?)、バスドラムのキック、カウベルのヒット、または同様の順序で何かが発生する可能性があります。

  5. ビートとトーンの中間のどこかに、エレキギターでのスピード/スイープピッキングや速いボーカルラッピングリズムなど、音楽の急速なスタイル要素を見つけることがあるかもしれません。(私はこれらがどれほど速いかもしれないかわかりませんが、私はどこかで毎分1000ビート以上のオーダーだと思います)。

  6. 最後に、速く、そしておそらく最も複雑なのは、トーンと音色の要素です。「ミドルA」のノートは440 Hz、つまりSECONDあたり440振動に標準化されていることを知っています。どのような楽器が使われているか、音質や音色に基づいて区別するためのテクニックがあると私は確信しています。人間のボーカルを検出するためのかなり良いアルゴリズムさえあります。しかし、私が言ったように、私は信号処理の専門家ではありません。


6

音楽は通常、MPEG7ディスクリプターを使用して記述されます。MFCCのようないくつかの追加の要素がムービングウィンドウアプローチによって作成されたピースのチャンクで計算されます(つまり、いくつかのウィンドウサイズとホップがあり、ウィンドウをサウンドの先頭に配置して開始し、ウィンドウ上の記述子、次にホップで移動し、最後に到達するまで繰り返します。
このようにして、ピースはテーブルに変換されます。あなたの場合、それはチャンクにいくつかのクラスタリングを適用して、それらの「部分」を検出するために使用できます。


これはもっと似ています!良い技術的な答え。
機械

5

このトピックについては、さまざまな視点からのさまざまな方法と多くの文献があります。ここでは、検索の開始点となる可能性のあるいくつかのハイライトを示します。

あなたのバックグラウンドが数学や計算よりも音楽的である場合、David Copeの作品に興味を持つ可能性があります。彼の出版された作品のほとんどはクラシック音楽の分析に焦点を当てていますが、彼はもっと一般的な組換えと呼ばれるプライベートベンチャーを持っています。彼の作品の多くは言語タイプモデルとして音楽を使用していますが、少なくとも彼の最近の作品のいくつかは、アプローチのような音楽のゲノム全体にさらにシフトしていると思います。彼はオンライン利用できる多くのソフトウェアを持っていますが、それは一般にLispで書かれており、一部はLinuxまたは一般的なlispを実行できる場所ならどこでも動作するはずですが、さまざまなバージョンのApple OSでしか実行できません。

一般に信号と音楽の分析は、機械学習で非常に人気のある問題です。クリストファー・ビショップのテキスト「パターン認識パターン認識と機械学習のためのニューラルネットワーク」には、開始時の優れた報道があります。ここでは、音楽分類部を持っていますが、著者はビショップのテキストや他のいくつかの情報源の少なくとも一方で引用していることを、特徴抽出に良好なカバレッジを持って修士論文の一例です。彼はまた、トピックに関するより最近の論文のためにいくつかの情報源を推薦します。

より数学的または統計的である本(少なくとも内容によってではなくても著者によって):

私はビショップと機械学習の計算の観点について述べたので、ハスティによる最新の統計学習の要素(無料の法的ダウンロードで入手可能)を一目見ることを勧めない限り、話の半分しか伝えていません。、Tibshirani、Friedman。このテキストにオーディオ処理の例があったことは覚えていませんが、カバーされているいくつかの方法をこの問題に適応させることができます。

検討する価値のあるもう1つのテキストは、Jan BeranのStatistics in Musicologyです。これは、特に音楽作品を分析するための多数の統計ツールを提供し、多数の参照も持っています。

繰り返しになりますが、他にも多くの情報源があります。これの多くは、あなたのバックグラウンドが何であるか、そしてあなたが最も快適である問題へのどのアプローチに依存します。うまくいけば、少なくともこのいくつかは、答えを探すための少しのガイドになります。背景、問題の詳細、またはこの投稿への返信で質問する場合は、私またはここにいる他の多くの人が、より具体的な情報を案内してくれると思います。がんばって!


4

良い答えではありませんが、研究を探すための2つの場所は次のとおりです。

International Society for Music Information Retrievalには、このトピックに関する大量の論文が掲載されており、その情報量は驚くべきものです。www.ismir.net

&Echo Nest(同様のことを行うAPIを備えたスタートアップ)echonest.com

更新:彼らはまた、いくつかのオープンソースのフィンガープリントコードをリリースしました。 http://echoprint.me/


0

同様の問題に興味がありました。これが解決策です。スケーププロットと呼ばれるのはそれほど古い科学的提案ではありません。詳細については、この記事を参照してください(見栄えが良いです)。

さらに、音楽には統計学の同様のアプリケーションがたくさんあるので、著者のウェブサイトにもアクセスすることをお勧めします。他の類似のソースを検索するときは、類似の領域を含む「Music Information Retrieval」という用語を使用することをお勧めします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.