3

MIDI ファイルでいくつかの簡単なタスクを実行するために使用できるオープン ソース ライブラリについて知りたいです。

  1. 一度に 1 つの音符 (和音) でファイルを読み取る。
  2. 特定の楽器を抽出して、新しいファイルに個別に再エンコードします。
  3. 「カスタマイズ可能な」スコアを作成できるようにします。つまり、ライブラリを使用して midi から楽譜を作成する方法を変更できるはずです。これには、Lilypond または Musixtex とのやり取りが必要になると思います。

アプリをクロスプラットフォームにするのが面倒でなければ、私は特に好きな言語を持っていません。他のアドバイスも大歓迎です。すでに多くのコードを書いているときよりも、今学んでおいたほうがよいでしょう。これまでのところ、MuseScore の (C++) ソース コードを掘り下げようと試みてきましたが、ほとんどのファイルには GUI コードが浸透しているようで、関連ファイルを見つけるのは簡単でしたが、必要なものだけを抽出するのは困難です (私は現時点ではコマンド ライン アプリケーションのみを対象としていますが、インターフェイスについては後で説明します)。

何か案は?

ありがとう!

4

2 に答える 2

2

まだプロジェクトに取り組んでいて、言語に問題がない場合は、MIDI ファイルをノート、コード、インストゥルメントなどのオブジェクトに解析し、スコアを操作できるPython のクロスプラットフォームmusic21を試すことができます。 R/T を MIDI に戻したり、Lilypond に出力したりします。それまでの間、MIDI 要素をオブジェクトとして扱い、操作するチャンスがあります。)

MIDI ファイル内のすべての楽器の音を台無しにして再生し、そこから lilypond.pdf を作成するサンプル コード:

 import music21
 mf = music21.converter.parse('pathToMidiFile.mid')
 for x in mf.recurse():
     if 'Instrument' in x.classes:
         x.midiProgram = (x.midiProgram * 2) % 128
 mf.show('midi')
 mf.show('lily.pdf')

それが役立つことを願っています。

于 2012-10-04T21:47:41.723 に答える
2

まあ、私は始めたばかりですが、これは(Python で) 有望に思えます。

于 2010-03-09T13:19:55.340 に答える