10

私はこの分野は初めてですが、Java で WAV から MIDI への変換を実行する必要があります。WAV から MIDI への変換に含まれる手順を正確に知る方法はありますか? あなたが必要とするように、私は非常に大まかな考えを持っています。wav ファイルをサンプリングし、フィルタリングし、FFT を使用してスペクトル分析を行い、特徴を抽出してから、抽出した特徴を MIDI に書き込みます。しかし、それをすべて行う方法のように、確かな情報源や論文を見つけることができませんか? どのように、どこから始めるべきかなど、誰かが私に手がかりを与えることができますか? この WAV から MIDI への変換プロセスで使用できるオープン ソース API はありますか?

事前の感謝

4

5 に答える 5

28

想像以上に複雑なプロセスです。

この研究課題は、音楽のトランスクリプションと呼ばれることが多く、音楽の低レベルの表現 (波形など) を MIDI や楽譜などの高レベルの表現に変換する行為です。

ソリューションの洗練度は、入力データの複雑さに依存します。大量の研究論文が、モノフォニック ピアノやドラムのみでの音楽の採譜に取り組んでいます。それらは簡単に採譜できるからです。(比較的)ヴァイオリンの方が難しいです。声はさらに難しい。ヴァイオリン+声楽+ピアノはもっと難しい。交響曲はほとんど不可能です。あなたは絵を手に入れます。

音楽のトランスクリプションの基本要素には、次の重複領域のいずれかが含まれます。

  1. (マルチ)ピッチ推定
  2. 楽器認識、音色モデリング
  3. リズム検出
  4. ノートオンセット/オフセット検出
  5. 形状・構造モデリング

Google Scholar または ISMIR プロシーディングス ( http://www.ismir.net ) で「音楽の編曲」に関する論文を検索してください。上記のサブトピックのいずれかに興味がある場合は、さらに詳しく説明できます。幸運を。

編集: そうは言っても、私たち全員がウェブ上で見つけることができる既存のソリューションがあります. お気軽にお試しください。しかし、そうするときは、批判的な目と耳でそれらを評価してください。文字起こしが失敗する原因となる音声信号の種類は何ですか?

編集 2: ああ、あなたはピアノのためにこれをやっているだけです。わかりました、これは実行可能です。音楽のトランスクリプションは、モノフォニック ピアノをかなりうまくトランスクリプションできるところまで進歩しました。ラフマニノフの協奏曲はまだ問題を引き起こします。

私たちの推奨事項は、最終目標によって異なります。「実行する必要がある... Javaで」と述べています。そのため、どうやってそこにたどり着くかに関係なく、何かを機能させたいだけのように思えます。その場合、私は他の人に100%同意します:存在するものを使用してください。

これは実に興味深い質問です。私が知っているすべての MIR ライブラリは通常、C/C++/Python/Matlab です。しかし、ジャバではありません。EchoNest には Java API がありますが、音符レベルの書き起こしはしていないと思います。http://developer.ehonest.com。(編集:音符レベルのトランスクリプションを行います。返されるデータには、ピッチ、音色、ビート、テイタムなどが含まれます。しかし、ポリフォニーにはまだ問題があることがわかりました。)

ああ、Marsyas は Java ベースです。涼しい。私はそれがただのC ++だと思っていました。http://marsyas.info/おすすめです。MIR の教授である George Tzanetakis によって開発されました。信号レベルの分析を行うため、適切なオプションになるはずです。

これが楽しい学習体験である場合は、Java のサウンド操作ユーティリティを使用して WAV 信号を実験し、何が出力されるかを確認できると思います。

編集: このページでは、MIR ソフトウェアについて私ができるよりも詳しく説明しています: The Tools We Use

Matlab の場合、MIR ツールボックスに興味があるかもしれません

これは一般的なデータセットの素晴らしいページです: MIR データセット

于 2010-01-24T06:57:43.843 に答える
4

これは、信号分析と特徴検出全般に精通しており、自動文字起こしをより具体的に調べたいという意味でない限り、この分野に不慣れな人にとっては非常に大きな仕事です。

WAV から MIDI への変換用の API はありません。Vampは特徴抽出プラグインのフレームワークですが、自動文字起こしを行うには、既存のプラグインのすべての機能を使用する必要があり、さらに、それらのプラグインにはまだ存在しない機能を実装する必要があります。

vamp ダウンロード ページでプラグインの説明を参照してください。理解できない説明は、これを行う場合に調査を開始する必要があるトピックです。

于 2010-01-24T07:38:14.350 に答える
3

このタスクを自動化する必要がない場合(つまり、MP3をアップロードしてMIDIファイルを取り戻すことができるWebサイトの場合)、すでにこれを実行するのに非常に優れているMelodyneのようなツールの使用を検討する必要があります。スティーブが指摘したように、これは達成するのが非常に難しいタスクであり、現時点で存在する最高のアルゴリズムとソリューションでさえ、100%信頼できるわけではありません。

したがって、スタジオ作業を行っているだけで、いくつかの変換を行う必要がある場合は、このタスク用にすでに設計されているツールを使用することで、おそらく少しの時間(および多くの頭痛の種)を節約できます。

于 2010-01-24T10:33:00.057 に答える
1

イルカ、無愛想で申し訳ありませんが、あなたは問題を完全に過小評価しています. 達成したいこと - 演奏中に使用されたすべてのパラメーターを含む完全なピアノ音のトランスクリプションには、長年この分野で働いてきた人々との膨大な量の研究が必要です。信号処理の博士号を取得したグループでさえ、あなたの意図に近づくために多くの労力を費やす必要があります。音楽のトランスクリプションは、中途半端な信頼性でさえ機能するために何十年もの作業を必要としました。これよりもうまく管理できる別の問題を選択することをお勧めします。

于 2010-01-24T14:56:50.297 に答える