>MIDIファイルを作成する(Delphi)MIDIファイルを作成するサンプルプログラムですが、今回はMIDIファイルフォーマットの解説や64種類の鍵盤、128種類の楽器、和音(音を重ねる)、テンポ、音の強さ、休符、実際の楽譜からMIDIデータの作成、ドラム/ベースなどのリズムマップ音の利用などと内容が充実しています。Delphiがなくても実行ファイルを付属しているのでテストをする事が出来ます。サンプルの画面サンプルプログラムはDemo1とDemo2の2画面となります。電子楽器の演奏情報をやり取りするための世界共通のデジタルインターフェイスの規格です。現在のMIDIファイルというと一般的にSMFファイルのことをMIDIファイルと呼びます。File)のフォーマット^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^<最初に>SMFファイルはバイナリ形式ファイルなので理解するには「バイナリエディタ」があると非常に解かりやすいと思います。<全体の構造>SMFファイルは「ヘッダチャンク」と「トラックチャンク」に分類されます。トラックチャンクには実際の演奏データとそれに付随する情報が格納されます。トラックチャンクは複数存在する場合があります。「デモ2」プログラムではそのサンプルプログラムです。---余り使われません。このSMFに含まれるトラックチャンクの数を表します。このサンプルでは後者を使っています。前者の方を質問されても私にはわかりませんのでご了承下さい。※Delphiの構造体にすると下記のようになります。※Delphiの構造体にすると下記のようになります。データセクションでは時間情報を付加したイベントが順番に格納されます。SMFでは「MIDIイベント」「SysExイベント」「メタイベント」の3種類のイベントがあります。メタイベントは16進の「FF」から始まります。これはあまり気にしなくてもいいイベントです。(本当は使用したほうが良い(?)かもしれませんがサンプルでは使っていません)※これ以外にもイベントは沢山あります。詳しく知りたい方は書籍などをご覧下さい。通常はこれだけで十分でがその他のソフトで作成されたMIDIファイルを読み込む場合は全てのイベントを知っていないと読み込むのは難しいです。(^^;※バイトオーダーがインテルオーダー(順番逆転)の場合があるので注意して下さい。※リズム音はチャンネルナンバーが10番目になります。※リズム音はチャンネルナンバーが10番目になります。※ここでは最低限必要と思われるものしか記述していません。このサンプルのリストボックスを参照して下さい。そのまま順番にはいっています。・end;//著作権情報とソフトウェア情報を変更したい場合はこの配列及び値を変更して下さい。//GetMem(動的メモリ)を使用して保存した方が高速です。バイト)注意事項このサンプルは約15年前に作成した「いにしえ」の産物です。(3)このブログについてオープンソースGitHubで複数のオープンソースを公開。Webアプリこのブログのマスターが作成した無料ツールです。(オープンソース)ブラウザで8/16/24/32bitの相互変換。Webの逆アセンブラブラウザでEXE/DLLファイルを逆アセンブルする※その他にも「プチラボ」でアプリを多数公開しています。3Dゲームこのブログのマスターが作成した無料ゲームです。短時間で遊べるファンタジーのオンラインRPG風ほのぼの癒し系のスマホアプリ※その他は「@ゲーム」で公開しています。※インストール不要でそのまま遊べます。スマートフォンこのブログのマスターが作成した無料アプリです。お主の画像減色お手軽にカメラの写真や画像を「高品質に減色」するお主は誰だ。(女性向け)ロボットこのブログのマスターが作成したロボットです。