10

私の Windows PC には、Fruityloops と Propellerheads Reason ソフトウェア シンセの両方があります。

Visual Basic または Python からこれらを取得してスクリプトを作成する方法はありますか? または、少なくともコードからシンセに Midi メッセージを送信しますか?

更新 : "midi-mapper" (リンク MusiGenesis に感謝) のようなものを使用しようとしてもうまくいかないようです。Reason や FL Studio が標準の GM Midi シンセのように機能するとは思いません。

更新 2 : この質問に興味がある場合は、こちらもご覧ください

4

7 に答える 7

3

どちらのアプリケーションも MIDI をサポートしています。彼らがお互いを見ていないだけです。

アプリケーション間で MIDI 経由でメッセージを送信するには、仮想 MIDI ポートをインストールする必要があります。

自由に利用できるものがいくつかありますが、これは機能します: http://www.midiox.com/zip/MidiYokeSetup.msi

通常の MIDI デバイスであるかのように書き込むことができる仮想 MIDI 出力ポートが得られます。Fruity Loops または Rebirth では、そのポートを入力として選択します。プログラムを接続するために必要な作業はこれだけです。

次のように動作します。

Your Application--> Virtual MIDI Port-->FruityLoops

于 2010-05-15T11:55:02.300 に答える
2

注:この回答は、あなたが尋ねた質問に正確に答えるものではありませんが、あなたが望む結果を達成するかもしれません:)

jVSTWrapper ( http://jvstwrapper.sourceforge.net/ ) を使用して Java で VST プラグインを作成できます。本当に Python を使用したい場合は、Jython を使用して Java にインターフェースし、そのようにすることができます。あるいは、Java または Groovy などの JVM 用の別のスクリプト言語でプラグインを作成することもできます。

于 2008-11-06T04:57:01.043 に答える
2

FL Studio と Reason の両方をデフォルトの MIDI 再生デバイスとして設定できると思います。VB.NET からいずれかに MIDI メッセージを送信するには、midiOutOpen、midiOutShortMsg、および midiOutClose API 呼び出しを PInvoke する必要があります。コード サンプルへのリンクは次のとおりです。

http://www.answers.com/topic/midiout開く

これらは VB6 用ですが、VB.NET に簡単に変換できるはずです。

FL Studio は、FL 用に作成されたプラグイン (または VSTx プラグイン) から「駆動」できることは知っていますが、これらは常に C または C++ で記述されていると思います。

編集: Windows Vista が MIDI マッパーを削除したことを知りました (これにより、FL または Reason をデフォルトの MIDI デバイスとして簡単にセットアップできたはずです)。すばらしい。代替ソリューションで見つけたリンクを次に示します。

http://akkordwechsel.de/15-windows-vista-und-der-midi-mapper/

試してみたところ(ダブルクリックして実行するのは* .CPLファイルです)、動作しているように見えます(ただし、ラップトップで使用できるオプションはGMシンセだけなので、それが選択されるかどうかはわかりませんFL または Reason を選択肢として)。

于 2008-11-06T04:40:03.947 に答える
1

必要なのは、任意の MIDI チャネルに送信できる MIDI イベントのロジックを作成するための VST MIDI スクリプター/スクリプト プラグインです。値を微調整する必要がある VST インストゥルメント/エフェクトの MIDI チャンネルを FL に設定する必要があります。Google for it 周りにいくつかのプラグインがあり、何か役に立つものを見つけたらここで共有してください:)

于 2010-05-15T12:06:08.380 に答える
0

Rewireホストを書くことができます。ただし、ライセンスを取得する必要があります(ライセンスは無料ですが、アプリケーションはプロプライエタリである必要があるため、オープンソースではありません)。

または、MIDIメッセージを介してインターフェイスすることもできます。

最後に、ダミーのオーディオデバイスを実装して、オーディオを必要な場所との間でルーティングしたり、何らかの方法で処理したりできます。これらはすべてかなり難しいと思います。MIDIはおそらく3つの中で最も簡単です(Rewireプロトコルを使用するのがどれほど簡単か難しいかはわかりません)。

于 2008-11-06T13:30:11.570 に答える
0

Frinika というオープンソースの音楽ワークステーションがあり、Javascript でスクリプトを作成できます。(ノートの挿入/削除、ピッチ ホイールなどの MIDI エフェクトの変更) 通常の MIDI ファイルをインポート/エクスポートできるため、Fruity ループやその他のもので動作します。

// Insert New

song.newLane("MyMidiLane", type("Midi"));
lane = song.getLane("MyMidiLane");

part = lane.newPart( time("10.0:000"), time("4.0:000") );

part.insertNote(note("c#3"), time("11.2:000"), time("2:0"), 120 );
part.insertNote(note("f3"), time("11.3:000"), time("1:0"), 100 );
part.insertNote(note("g#3"), time("11.3:000"), time("1:0"), 100 );
part.insertNote(note("b3"), time("11.3:000"), time("0:64"), 100 );
part.removeNote(note("f3"), time("11.3:000"));

part = song.newLane("MyTextLane",
type("Text")).newPart(time("24.0:000"), time("10.0:000"));
part.text = "This is the test text to be inserted.";
part.lane.parts[0].remove(); // remove initially inserted text-part 

メモの読み取り/変更の別の例:

lane = song.getLane("MyMidiLane");
// a lane has a fixed instrument assigned


lane.parts[0].notes[0].duration=64
lane.parts[0].notes[1].duration=32
lane.parts[0].notes[1].startTick=120
// Parts are blocks of notes that you can drag around together in the Frinika GUI.
// They're like patterns in trackers.
for (i in lane.parts[0].notes){
  println("i: "+i+", n: "+noteName(lane.parts[0].notes[i].note));
  println("i: "+i+", dur: "+lane.parts[0].notes[i].duration);
  println("i: "+i+", startT: "+lane.parts[0].notes[i].startTick);
} 

http://frinika.appspot.com/ Java Webstart ランチャーも備えているため、インストールする必要さえありません。

以前は Javadoc ドキュメントもバンドルされていましたが、何らかの理由で最新のダウンロードには含まれていません。Javascriptバインディングが文書化されている場所であるため、残念です。そのため、ソースをブラウズするか、自分で Javadoc をビルドする必要があります。(スクリプトウィンドウからアクセスできるいくつかの組み込みの例があります。最初にそれらをチェックアウトする必要があります。私の最初の例はそこからのものです。)

以下は、Javascript のドキュメントがあるソースファイルです。

frinika Javascript doc/source

しかし、他のオプションもあります。音楽理論と MIDI ファイル処理のための Python ライブラリであるmingusも確認できます。Fluidsynth が必要で、デモ アプリにも GamePython が必要なので、Frinika よりもセットアップが少し複雑です。

PS: Frinika には特定のバグがあります。隣接する音符をドラッグすると、適切な長さに聞こえないものがあるかもしれません。連続する音符を前後に移調する (ピアノ ロール ビューではかなり速い) か、音符を含む部分を前後にドラッグすることで、これを支援できます。Frinika を再起動することも役に立ちますが、それでは時間がかかります。したがって、このバグは保存されたファイルにも MIDI エクスポートにも影響しません。

于 2010-12-14T14:01:38.880 に答える
0

Reason に関しては、クローズド アーキテクチャであるため、多くのことができます。VST プラグイン (または DirectX プラグインなどの他のタイプ) を使用できます。唯一のオプションは、MIDI を使用することです。

Fruity Loops に関しては、スクリプト言語 (VB、Python など) から入力を取得できる VST プラグインを作成できますが、そのようなものを作成するには、Delphi または C++ を使用する必要があります。

または、 Cycling74 製の MAXをチェックしてみてください。これは音楽用の IDE のようなものです ;-) - Python を使用できると確信しています。

于 2008-11-06T09:30:56.823 に答える