曲を分析する音楽アプリケーションをプログラミングする方法を学びたいと思います。セルフラーニングミュージックメーカーをプログラミングする
私はこれをどのように使い始めることができ、音波を分析するためのライブラリはありますか?
私はC、C++、Java、Python、アセンブリ、およびPerlを知っています。
関連質問:あなたはMIDI形式を見て開始するようなことがありAlgorithm for music imitation
曲を分析する音楽アプリケーションをプログラミングする方法を学びたいと思います。セルフラーニングミュージックメーカーをプログラミングする
私はこれをどのように使い始めることができ、音波を分析するためのライブラリはありますか?
私はC、C++、Java、Python、アセンブリ、およびPerlを知っています。
関連質問:あなたはMIDI形式を見て開始するようなことがありAlgorithm for music imitation
コンピュータによる音楽の構成と分析は、巨大な分野です。このタイプの作業には、基本的に2つの領域が重複しています。
多くの多くのlibraries, toolsとこれらの問題のさまざまな部分を助けることができる特殊化programming languagesが存在します。音楽関連のリストprograms and libraries for Pythonです。利用可能な技術はたくさんあります。あなたは、あなたのために仕事の正しさを行う何かを見つけることができるはずです。可能であれば、他の答えが示唆しているように、Fourier Transformsのような非常に低レベルの周波数分析ツールで「音楽パーサー」を再実装することは、非常に困難でほとんど確実に不要です。
さらに詳しいアドバイスや具体的な質問がある場合は、International Society for Music Information Retrievalにメーリングリストがあります。
は、それが圧縮されたフォーマットに比べてリーズナブルなシンプルだし、あなたはそれにいくつかの素晴らしいものを生成することができます。
本当にやりたいことに依存します。
音波を分析するには、ある種のフーリエ変換(fft)が必要です。そのため、その曲を周波数と時間の経過とともにどのように変えることができます。 numpyでfftをサポートしていますが、私はそれを使用していないので、何か良いかどうかはわかりません。しかし、それは始めるのに最適な場所です。
その後、周波数とパターンに関する何らかの統計分析を行う必要があります。次に、私が何を話しているのか、もう手がかりがありません。
しかし、クールなものですが、それを行ってください!
Lennartが言及したFFTを過ぎると、ノート間の間隔と集約パターンを分析するためのマルコフチェーンが必要になる場合があります。
これは一種の踏み台ですが、マルコフチェーンはこれまで、新しいメロディを生成するために使用できるさまざまな曲からメロディの統計モデルを作成するために使用されてきました。マルコフ連鎖は、書かれた英語の文章と同じことをすることができます。どのように見えるのかを見るために、メガフチェーンでは、マルコフ連鎖がどのように統計的にその入力のように見えるマングル化された出力を生成するのか見ることができます(メガハルの場合、英語の文のように見えます)
マッシュアップトップ100、そして次の大きなヒットを爆発させるマルコフチェーンジェネレータを持っている。
一方、ソングを人気にするのは音楽そのものの品質ではない可能性を考慮する必要があります。それとも、マーケティングと組み合わせた音楽問題の質です。
ええ、あなたはこのようなヒットを決してしません。そのためにはフックがフックである理由を理解する必要があり、フックがそれほど異なる可能性があるため、歌の統計分析はそれを助長するものではありません。しかしそれはまだ楽しいプロジェクトです。 –
Echo Nest remix APIは、Pythonで音楽を分析して操作するためのものです。ここにいくつかの例があります:Where's the powとここに:You make me quantized miss lizzie。ここに面白いチュートリアルがあります:An overview of the Echo Nest API
ありがとう! もう1つ質問があります。あなたのために音楽を転記するプログラムを書くことは可能でしょうか? – Mylo
それはかなり難しいです。私はYann LeCunとMuseAmiがそれについて取り組んでいることを知っています。http://www.nytimes.com/2010/08/21/arts/music/21taub.html – Frank