問題タブ [midi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
27819 参照

c++ - USB MIDI デバイスから MIDI 信号を読み取るための C/C++ ライブラリ

MIDI デバイスから入力を受け取る C/C++ プログラムを作成したいと考えています。

MIDI デバイスは、USB コネクタを使用して PC に接続します。

USB ポートを介して MIDI デバイスから MIDI 信号を読み取るために使用できる (C/C++ で実装された) ライブラリを探しています。

MIDI データを取得したら、それを操作できて満足しています。キャプチャ用のコードを実装する必要はありません。

Windows XP で Bloodshed Dev-C++ IDE を使用してコードを作成する予定です。

0 投票する
11 に答える
34840 参照

c# - C#を使用してMIDIサウンドを再生するための最良の方法

MFC元々 C++で使用して.NET作成された古いメトロノームアプリケーションを、を使用して作成するように再構築しようとしていC#ます。私が直面している問題の1つは、メトロノームの「クリック」を表すために使用されるMIDIファイルの再生です。

.NETでのプレイに関する記事をオンラインでいくつか見つけましたMIDIが、それらのほとんどは、誰かがまとめて利用できるようにしたカスタムライブラリに依存しているようです。私はこれらを使用することを嫌いではありませんが、これがどのように行われているのかを自分で理解したいと思います

それで、私は何かが欠けていますか?それとも、.NETアプリケーション内でMIDIを使用するのは難しいですか?

0 投票する
3 に答える
887 参照

midi - MIDIファイル内にコントロールチェンジコマンドを埋め込む方法

新しい言語を学ぶために簡単なゲームを作っています。ゲーム用の音楽を集めている途中で、トラックの流れを制御できるように MIDI 形式を使用したいと考えています (つまり、一度だけ再生され、その後再生されないイントロダクションが必要です)。曲がループします。)

既存の MIDI ファイルを変更して、コントロール チェンジ信号をシンセサイザーに送信できるようにする方法に関する情報を見つけるのに苦労しています。誰もこれを経験したことがありますか?


元の質問をもっと明確にするべきだったと思います。音楽の再生を処理する既存のゲーム エンジンを使用しています。私はシンセサイザーを制御できないため、このコントロール チェンジの値は MIDI ファイル自体に直接埋め込む必要があるという印象を受けました。マニュアルから:

MIDI ファイルは、DirectMusic シンセサイザーを介して再生されます。BGM MIDI ファイルにコントロールチェンジ値 111 が含まれている場合、その値は、曲の最後に達した後に繰り返しを開始する位置として認識されます。

プログラミングでできればいいのに。ここで求めているのは、既に持っている MIDI ファイルを変更できる何らかのエディタだと思います。

0 投票する
2 に答える
786 参照

midi - DirectMusic で単音を再生する

開発中のアプリケーションで、MIDI 再生に DirectMusic を使用しています。DirectMusic を使用して個々の音符を再生できるかどうかを知っている人はいますか? 現在、「曲」全体を表すメモリ内データ構造を MIDI バッファに変換し、DirectMusic を介して再生しています。MIDI バッファを生成し、ロードして再生することなく、個々のノートを再生できるようにしたいと考えています。このようなことは DirectMusic でも可能ですか?

DirectMusic の世界に足を踏み入れるのはこれが初めてなので、その機能についてあまり知られていないことを願っています...

0 投票する
8 に答える
1060 参照

algorithm - 音楽演奏中のメタ構成

数週間前、私のピアノの先生と私は、メタ作曲音楽ソフトウェアについて互いに意見を交換していました。アイデアはこれでした:

たくさんの楽器から MIDI 入力を受け取り、出力をスピーカーとライトにプッシュするシステムがあります。このシステムで実行されているソフトウェアは、取得した MIDI データを分析し、作曲者が設定したトリガーに基づいて、使用するサウンドを決定します (F7 コードを 2 秒以内に 3 回演奏すると、ハープシコードのサウンドからピアノのサウンドに切り替わります)。 )、ペダル、または音楽の実際のリアルタイム分析。同様の方法で、楽器のパフォーマンスとサウンドに基づいてライトを制御します。ミュージシャンは、希望するものを漠然と指定するだけで済みます。残りは、演奏のリアルタイム分析によって行われます。その場で手続き的に生成された音楽は、ミュージシャンと一緒に演奏することもできます。基本的に、ソフトウェアはパフォーマーと一緒に演奏し、一方が他方をガイドします。

私は即興ジャズの大ファンです。他の芸術形式に欠けている即興の特徴の 1 つは、その一時性です。絵画は描かれてから 10 年後、1000 年後に鑑賞することができますが、音楽 (特に即興音楽) は創作物であるためパフォーマンスが重要です。私が説明したソフトウェアは、まったく同じ曲を演奏すると毎回まったく異なるショーになるため、それと同様に、パフォーマンスに多大な追加をもたらすと思います.

それでは、質問です。

私はクレイジーですか?

これらの一部またはすべてを実行するソフトウェアはまだ存在しますか? 私はいくつかの調査を行いましたが、何も見つかりませんでした。このシステムの鍵は、パフォーマンス中に実行されることです。

私がこのようなものを書いたとしたら、Python などのスクリプト言語は、私が必要とする計算を実行するのに十分高速でしょうか? おそらく、かなり高速なシステムで実行され、Intel がリリースし続けている 2^n コア プロセッサを利用することができます。

楽器やライトなどとのインターフェースに関する経験やアドバイスを教えてください。

アイデアや提案はありますか?冷酷で厳しい批判?

これを読んでくれてありがとう、そしてあらゆるアドバイスをありがとう!(そして、タグの冗談で申し訳ありません、私は抵抗できませんでした。)

0 投票する
2 に答える
1723 参照

midi - Alesis QS MIDI Sysex データ変換

私の目的は、Alesis シンセサイザーから送信されたバイト コードのストリームを人間が読める形式に変換することです。「プログラム ダンプ」を取得して、パッチ名を構成する 10 文字の文字列を読み取れるようにする必要があります。

シンセから「プログラム ダンプ」を受信するために、MIDI-OX 経由で次のコマンドをシンセに送信しました。

プログラム 73 のダンプを送るように要求しました。

私はこれを受け取りました:

MIDI-OX は、408 バイトを受信したと教えてくれました。

これは仕様と一致します:

「1 つのプログラム ダンプに対して送信されるデータ バイト数は 400 で、これは 350 バイトのプログラム データに相当します。ヘッダーを含めると、プログラム ダンプで送信されるバイトの総数は 408 です。プログラム ダンプ内の各パラメータの位置が示されています。次のセクションで。」

「プログラム ダンプ」は、次の値で構成されている必要があります。

つまり、データは「00 60」で始まり、「07 F7」で終わる必要があります。

これで、この 400 バイトを、このプログラムの「350 バイトのパックされたパラメータ データ」に変換できるはずです。「番組データフォーマット」に従い、10桁の番組名をパックデータ内のどこかに配置する必要があります。パッチ 73 は「BlowDeTune」または「PanBristle」と呼ばれますが、0 から始まるか 1 から始まるかは完全にはわかりません。

では、変換を行うにはどうすればよいでしょうか。仕様のページ 1 に伝送フォーマットが記載されていますが、解凍方法がわかりません。

誰でも助けることができますか?

Alesis QS MIDI Sysex 仕様は次のとおりです。

http://www.midiworld.com/quadrasynth/qs_swlib/qs678r.pdf

MIDI-OX は次の場所にあります。

http://www.midiox.com/

0 投票する
3 に答える
1638 参照

c# - .Net 内での Midi 実装

C# Winforms で MIDI ベースのアプリケーションを作成するためのガイダンスや推奨事項はありますか? 私は最近、完全な MIDI 実装を備えた新しいエフェクト ペダルを購入しました (または、そう信じさせられます) が、メーカーは、ライブラリアン/パッチ編集アプリケーションをリリースしないことに適していると判断しました。

キーボードを別の MIDI デバイスに接続する以外に、MIDI の経験は事実上ありませんが、それほど難しくはありませんよね? ;-)

前もって感謝します。

0 投票する
4 に答える
8593 参照

java - サウンドを生成しない単純な Java MIDI の例

この単純なコードは、私がテストに使用したいくつかのマシンで音を出していません。私は Eclipse 内からコードを実行していますが、コマンド ラインを使用しても無駄でした。

シーケンサーを取得し、シーケンスに MIDI イベントを追加し、シーケンスを再生することでサウンドを正常に取得できますが、シーケンサーがサポートしていないリアルタイムの音楽効果を実行しようとしています。

何か案は?

解決策を編集:問題は、デフォルトでは JRE にサウンドバンクが付属していないことです (興味深いことに、シーケンサーを使用すると機能しましたが、シンセサイザーを使用すると機能しませんでした)。ありがとう、thejmc !

この問題を解決するために、java.sun.com からサウンドバンクをダウンロードし、(WinXP では) C:\Program Files\jre1.6.0_07\lib\audio に配置しました (オーディオ フォルダを作成する必要がありました)。

0 投票する
4 に答える
8607 参照

iphone - iPhone用MIDIプレーヤー/シンセサイザーライブラリ

iPhone アプリケーションに組み込むことができる無料/安価な MIDI プレーヤー/シンセサイザー ライブラリがあるかどうか、誰か知りませんか?

私が理解しているように、iPhone は MIDI 再生をネイティブでサポートしていません。

この制限を回避するために、自分で再生する .caf サウンド サンプルのバンクを作成しましたが、実装を改善し、可能であれば MIDI を使用したいと考えています。

アドバイスをいただければ幸いです。

0 投票する
7 に答える
25250 参照

python - Python 用のシンプルなクロスプラットフォーム MIDI ライブラリ

MIDI サウンドを作成する小さなアプリを作成したいと考えています。プログラミングでサウンドを扱ったことがないので、基本的で適切なドキュメントがあるものから始めたいと思います。私はPythonに最も慣れていて、最初は自分を圧倒したくないので、Pythonを使い続けたいと思っています。

私の時間は、Windows と Ubuntu の間で約 50/50 に分割されているため、両方のプラットフォームで「うまく機能する」ものは本当に役に立ちます。

助言がありますか?