language : Japanese | English

くずの開発室

トップ 絵(ファンタジーRPG) 絵(日常) コピックメイキング ソフトウェア 昔のソフトウェア Visual Studio C / C++ / MFC 備忘録 加速度計 傾斜計 日記


ソフトウェア

下記に紹介するソフトウェアは、別館のおーぷんMIDIぷろじぇくとにて配布しております。取扱説明書(使い方)はzipファイルに同梱されています。インターネット上にウィルス付きのコピーが出回っているらしいので、本家からダウンロードすることをお勧めします。

世界樹

フリーでオープンソースのMIDIシーケンサー・MIDI編集ソフトです。MIDIキーボードやシンセサイザーの演奏をコンピューターに記録できる他、コンピューターで作曲してMIDI音源やシンセサイザーに演奏させることができます。メタイベント・システムエクスクルーシヴイベントを含むあらゆる種類のイベントが編集でき、無制限回のアンドゥ・リドゥに対応するなど、強力なMIDIエディタとしても利用可能です。MIDIチャンネルごとにトラック分けされて同時入力できるリアルタイム入力も好評です。公式サイトはこちらです。フェイシア様がMIDIシーケンサーソフト『世界樹』の概要と使い方を書かれていますので、そちらも参考にしてください。世界樹5.1からは、外部拡張プログラムSAL(世界樹アプリケーション言語)に対応しています。

フリーでオープンソースのMIDIシーケンサソフト『世界樹』のスクリーンショット

このソフトはよくCakewalk3.1の代わりになると言われています。確かに外観や操作性はCakewalk3.1に近いですし、インストゥルメント定義ファイル(*.ins)もCakewalk用のものを使えますし、CAL(Cakewalk Application Language)の代わりにSAL(Sekaiju Application Language)もつけたりできます。

時に、なぜこのソフトの名前は世界樹なのか、それはわたしがRPGの曲を作るために使うのでRPGっぽい名前にしたかったからです。他の候補としては、マナ、ラグナロク、エクスカリバー、クリスタル、ミスリル、オリハルコン、アダマンタイト、飛竜、水晶竜、神竜などなどでしたが、コーディング上、ユニークでかつ短いものということで世界樹となりました。ソースコードには当時ならではのネタコメントがさりげなく埋め込まれており、SetCaptureがマウスキャプターさくら。いい加減消そうと思うのですが、これがいつの時代に作られたものなのか証拠になるので残しています。

ちなみにわたしはFF5の曲が大好きで、大量に耳コピしました。FF5なければ、このソフトは作られなかったことでしょう。わたしの好きなシーンは、ファリスが性別ばれしたとき、みんな戸惑いもなくそれを受け入れたことです。最終的にバッツだけが男というハーレムになるわけですが、ストーリー上そのことを悪く感じさせないまじめな仕上げがすばらしいと思います。

Windows XP / Vista / 7 / 8.1 / 10対応 / Unicode対応 / スタンダードMIDIファイル(*.mid)読み込み・保存対応。

MIDIてすたー

フリーでオープンソースのMIDIコントローラー・キーボードソフトです。MIDI音源やシンセの設定値をいじくり回して音出しテストすることができます。MIDIデータ演奏モニターとしても利用可能です。公式サイトはこちらです。

フリーでオープンソースのMIDIコントローラー・キーボードソフト『MIDIてすたー』のスクリーンショット

Windows XP / Vista / 7 / 8.1 / 10対応 / Unicode対応 / スタンダードMIDIファイル(*.mid)読み込み対応。

自動どらむ

フリーでオープンソースの自動ドラム演奏ソフトです。作曲時の妄想補助や、メトロノーム代わりに使えます。プリセットパターンの他、オリジナルの演奏パターンも登録可能です。公式サイトはこちらです。

フリーでオープンソースの自動ドラム演奏ソフト『自動どらむ』のスクリーンショット

Windows XP / Vista / 7 / 8.1 / 10対応 / Unicode対応 / スタンダードMIDIファイル(*.mid)読み込み対応。

MIDIせれくたー

フリーでオープンソースの、MIDIマッパー出力先選択ソフトです。Windows Vista / 7では、MIDIマッパーが廃止され、内蔵のMicrosoft GS Wavetable Synth (MSGS)でしかMIDIデータを鳴らすことができなくなりましたが、このソフトを使うことにより、Windows Vista / 7でも、Microsoft GS Wavetable Synth (MSGS)以外のMIDI音源を使って、MIDIデータを鳴らすことができます。公式サイトはこちらです。

フリーでオープンソースのMIDIマッパー出力先選択ソフト『MIDIせれくたー』のスクリーンショット

WindowsXP/Vista/7対応 / Unicode対応。

MIDIIOライブラリ(DLL)

フリーでオープンソースの、MIDIメッセージ入出力用ライブラリです。このライブラリは、MIDI入出力デバイスのオープン・クローズ、MIDIメッセージ(システムエクスクルーシブメッセージ・システムリアルタイムメッセージを含む)の送信・受信など、MIDIの入出力を取り扱う上で必要不可欠な関数を提供しています。公式サイトはこちらです。

/* 3秒間だけドの音を再生 */
#include <stdio.h>
#include <tchar.h>
#include <windows.h>
#include <MIDIIO.h>
int _tmain () {
  unsigned char byMIDIMessage1[3] = {0x90, 0x3C, 0x64};  /* NoteOn Ch=0 Key=60 Vel=100 */ 
  unsigned char byMIDIMessage2[3] = {0x90, 0x3C, 0x00};  /* NoteOn Ch=0 Key=60 Vel=0 */ 
  MIDIOut* pMIDIOut = MIDIOut_Open (_T("Microsoft GS Wavetable Synth")); 
  if (pMIDIOut == NULL) {
      _tprintf (_T("MIDI出力デバイスが開けません。"));
    return 0;
  }
  MIDIOut_PutMIDIMessage (pMIDIOut, byMIDIMessage1, 3);/* ドの音を押す */
  Sleep (3000); /* 約3秒待機 */
  MIDIOut_PutMIDIMessage (pMIDIOut, byMIDIMessage2, 3);/* ドの音を離す */
  MIDIOut_Close (pMIDIOut);  /* MIDI出力デバイスを閉じる */ 
  pMIDIOut = NULL;
  return 1;
}

MIDIDataライブラリ(DLL)

フリーでオープンソースの、MIDIデータ作成・編集用ライブラリです。このライブラリは、MIDIデータの作成、スタンダードMIDIファイル(*.mid)入出力(SMFフォーマット0/1/2)、Cherryシーケンスファイル入出力(*.chy)、MIDICSVファイル(*.csv)入出力、MIDIトラックの作成・追加・変更・削除、MIDIイベント(メタイベント・システムエクスクルーシブイベントを含む)の作成・追加・変更・削除など、MIDIデータのあらゆる要素に迅速にアクセスする関数を提供しています。公式サイトはこちらです。

/* 使用例:4分音符の「ド」1音だけのMIDIデータを作成 */
#include <stdio.h>
#include <tchar.h>
#include <MIDIData.h>
int _tmain () {
  MIDITrack* pMIDITrack;
  MIDIData* pMIDIData = MIDIData_Create (MIDIDATA_FORMAT0, 1, MIDIDATA_TPQNBASE, 120); 
  if (pMIDIData == NULL) {
    _tprintf (_T("MIDIDataオブジェクトの生成に失敗しました。\n"));
    return 0;
  }
  pMIDITrack = MIDIData_GetFirstTrack (pMIDIData); /* 最初のトラックを取得 */
  MIDITrack_InsertNote (pMIDITrack, 0, 0, 60, 100, 120); /* ドの音(Key=60 Vel=100)を挿入 */
  MIDITrack_InsertEndofTrack (pMIDITrack, 120); /* エンドオブトラックを挿入 */
  MIDIData_SaveAsSMF (pMIDIData, _T("Test1.mid")); /* スタンダードMIDIファイルに保存 */
  MIDIData_Delete (pMIDIData); /* MIDIデータをメモリ上から削除 */
  pMIDIData = NULL;
  return 1;
}

MIDIClockライブラリ(DLL)

フリーでオープンソースの、MIDIクロック計測用ライブラリです。このライブラリは、MIDIクロックのスタート・ストップ、テンポの取得・設定、経過時刻[ミリ秒]や経過ティック数又は経過フレーム数の取得・設定など、MIDIのタイミングを取り扱う上で必要不可欠な関数を提供しています。公式サイトはこちらです。

/* 3秒間だけ経過時刻[ミリ秒]と経過ティック数[tick]を測定 */
#include <stdio.h>
#include <tchar.h>
#include <windows.h>
#include <MIDIClock.h>
int _tmain () {
  long lMilliSec = 0;
  long lTickCount = 0;
  MIDIClock* pMIDIClock = MIDIClock_Create (MIDICLOCK_MASTERTPQNBASE, 120, 60000000/100);
  if (pMIDIClock == NULL) {
    _tprintf (_T("MIDIクロックの生成に失敗しました。\n"));
    return 0;
  }
  MIDIClock_Start (pMIDIClock);
  while (lMilliSec < 3000) {
    lMilliSec = MIDIClock_GetMillisec (pMIDIClock);
    lTickCount = MIDIClock_GetTickCount (pMIDIClock);
    _tprintf (_T("%6d[ミリ秒]、%6d[tick]\n"), lMilliSec, lTickCount);
    Sleep (10);
  }
  MIDIClock_Stop (pMIDIClock);
  MIDIClock_Delete (pMIDIClock);
  pMIDIClock = NULL;
  return 1;
}

MIDIStatusライブラリ(DLL)

フリーでオープンソースの、MIDI音源の状態保持・参照用ライブラリです。このライブラリは、MIDI音源の各鍵盤の押され具合、コントローラーやプログラムナンバーやピッチベンドなどの状態、マスターボリューム・マスターリバーブ・マスターコーラスなどの状態を記憶する構造体を管理し、いつでも状態を設定・参照することができます。リアルタイムで状態を記録するには、MIDIStatusオブジェクトに対してMIDIメッセージを与えるだけでよいのです。MIDIStatusオブジェクトは、MIDI1.0/GM/GM2/GS/XGで定義されるほとんどのMIDIメッセージ(システムエクスクルーシブ含む)を認識できます。公式サイトはこちらです。

MIDIInstrumentライブラリ(DLL)

フリーでオープンソースの、MIDIインストゥルメント定義の読み込み・編集用ライブラリです。このライブラリは、インストゥルメント定義の生成・ファイル入力(Cakewalk用インストゥルメント定義ファイル(*.ins))、音色名の追加・変更・参照・削除、コントローラー名の追加・変更・参照・削除など、MIDIインストゥルメント定義のあらゆる要素に迅速にアクセスする関数を提供しています。公式サイトはこちらです。


(C)2000-2018くず All rights reserved. 連絡先:ee65051#yahoo$co$jp (#を@に、$を.に変えてください)