タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

midiに関するdenganのブックマーク (4)

  • 詳説MIDI規格:SMF内部構造

    チャンクタイプとデータ長は不変です。フォーマット0の場合、トラック数は1になります。 フォーマットが1、2の場合はトラック数は1以上の任意の値になります。時間単位は通常、 4分音符分の長さのデルタタイムを表します。多くのシーケンサでは384(180h)、 480(1E0h)、960(3C0h)などの値が使われます。 トラックチャンク ヘッダチャンクは常に14バイトで構成されますが、トラックチャンクは実際の演奏データが格納がされるのでデータ長は可変になります。 トラックチャンクの構造は、フォーマット0、1、2すべてで共通で、トラックチャンクを表すチャンクタイプ、データ長のあとに実際の演奏情報が続いていきます。 実際の演奏情報データはトラックイベントと呼ばれ、MIDIイベント、SyeExイベント、メタイベントがあります。 それぞれのイベントには時間を示すデルタタイムが付随

    dengan
    dengan 2012/04/14
  • http://www.omnibase.net/smf/

    http://www.omnibase.net/smf/
    dengan
    dengan 2012/04/14
  • about Standard MIDI format

    SMF (Standard MIDI Files) の構造 更新履歴 v1.03: Feb. 14th, 2005; ピッチベンドの最大値に対応する値を修正。 (0x7FFF → 0x7F7F) (須田さんthanks!!) v1.02: Sep. 13th, 2001; Recommended Practice (RP-019) SMF Device Name and Program Name Meta Events の内容を反映。 要するに、メタイベント FF 08, FF 09の説明を追加。 こんなのがずいぶん前からあったんですね。 これを使うとポート番号を意識せずに32ch使えますよ、ってな話。 (実際にはあんまし使われてないと思いますが・・) v1.01: May 6th, 2001; 最後のサンプルのバイト数記述が間違っていたのを修正

    dengan
    dengan 2012/04/14
  • 初心者のプログラミング体験記 C言語でMIDI(SMF)データを読んでみる!

    MIDIはバイナリデータなので少々扱いが面倒な気がしますが、恐れずにやってみましょう! プログラムはちょっと長くなるので、表示/非表示を選択できるようにしました。 下のボタンを操作して、出したり消したりしてください。(えっ...?) #include <stdio.h> int main(){ // ヘッダチャンク情報を格納する変数群 char header_chunk_type[4]; // チャンクタイプを示す文字列を格納。「MThd」が入るはず。[4byte] int header_chunk_size; // ヘッダチャンクデータのサイズ [4byte] short smf_format; // SMFのフォーマットタイプ(0か1か2) [2byte] short tracks; // トラックチャンク総数 [2byte] short division; // 四分音符あたりの分解

    dengan
    dengan 2012/04/14
  • 1