开源MIDI项目

主页 | 新闻 | 论坛 | 文件 | 常见问题 | 链接 | 贡献者 | 作者

Japanese | English | Chinese


MIDI数据作成/编辑库“MIDIData库”(DLL)

MIDIData库是自由且开源的MIDI数据作成/编辑库。这个库有把MIDI数据作成的函数,世界树序列文件(*.skj)读取・保存,旧Cakewalk序列文件(*.wrk)读取,Cherry序列文件(*.chy)读取・保存,标准MIDI文件(*.mid)读取・保存,MIDICSV文件(*.csv)读取・保存,洛奇MML文件(*.mmml)读取的功能。这也有把MIDI轨道作成・追加・变更・删除的函数,把MIDI事件作成・追加・变更・删除的函数。

时刻格式对应于TPQN格式的(分辨率1到32767),和SMPTE格式的(24, 25, 29.97, 30Frames/秒)(分辨率1到255)。这也可以转换时刻格式。轨道格式对应于格式0/1/2。这也有标题・著作权・备考・间开时刻・结束时刻等的获得・设定的函数。

这有从时刻码到毫秒或从毫秒到时刻码的变换函数。即使MIDI数据有多个拍速度事件,因为内部计算用以64位,才变换误差是1毫秒内。

/* 使用示例:创建只四分音符的“C”有的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); /* 插入中央C(Key=60 Vel=100) */
	MIDITrack_InsertEndofTrack (pMIDITrack, 120); /* 插入轨道结束 */
	MIDIData_SaveAsSMF (pMIDIData, _T("Test1.mid")); /* 保存为标准MIDI文件(*.mid) */
	MIDIData_Delete (pMIDIData); /* 删除MIDI对象 */
	pMIDIData = NULL;
	return 1;
}
对应OS 文件名 发布日 容量
Windows 7 / 8.1 / 10 / 11 MIDIDataLib8.0.zip 2024/01/21 3.34MB
Windows 7 / 8.1 / 10 / 11 MIDIDataLib7.2.zip 2022/11/06 1.76MB
Windows 7 / 8.1 / 10 / 11 MIDIDataLib7.1.zip 2021/09/26 1.76MB
Windows 7 / 8.1 / 10 / 11 MIDIDataLib7.0.zip 2021/08/15 1.75MB
Windows XP / Vista / 7 / 8.1 / 10 MIDIDataLib4.1.zip 2020/11/29 1.59MB
Windows XP / Vista / 7 / 8.1 / 10 MIDIDataLib4.0.zip 2020/01/05 1.59MB
Windows XP / Vista / 7 / 8.1 / 10 MIDIDataLib3.9.zip 2019/11/17 1.59MB
Windows XP / Vista / 7 / 8.1 / 10 MIDIDataLib3.8.zip 2019/05/19 1.59MB
Windows XP / Vista / 7 / 8.1 / 10 MIDIDataLib3.7.zip 2019/01/03 1.57MB
Windows XP / Vista / 7 / 8.1 / 10 MIDIDataLib3.6.zip 2018/04/15 1.70MB
Windows XP / Vista / 7 / 8.1 / 10 MIDIDataLib3.5.zip 2017/12/17 640KB
Windows XP / Vista / 7 / 8.1 / 10 MIDIDataLib3.4.zip 2016/05/08 636KB
Windows XP / Vista / 7 / 8.1 / 10 MIDIDataLib3.3.zip 2016/04/17 636KB
Windows XP / Vista / 7 / 8.1 MIDIDataLib3.2.zip 2015/05/04 636KB
Windows XP / Vista / 7 / 8.1 MIDIDataLib3.1.zip 2014/05/25 600KB
Windows XP / Vista / 7 / 8.1 MIDIDataLib3.0.zip 2014/04/29 576KB
Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIDataLib2.9.zip 2013/11/10 416KB
Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIDataLib2.8.zip 2013/05/05 492KB
Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIDataLib2.7.zip 2012/09/30 492KB
Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIDataLib2.6.zip 2012/02/19 492KB
Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIDataLib2.5.zip 2012/02/10 416KB
Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIDataLib2.4.zip 2012/01/10 416KB
Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIDataLib2.3.zip 2010/07/30 415KB
Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIDataLib2.2.zip 2010/02/28 396KB
Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIDataLib2.1.zip 2009/12/13 396KB
Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIDataLib2.0.zip 2009/07/14 396KB
Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIDataLib1.9.zip 2009/04/07 340KB
Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIDataLib1.8.zip 2009/01/17 396KB
Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIDataLib1.7.zip 2008/12/27 384KB
Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIDataLib1.6.zip 2008/12/20 384KB
Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIDataLib1.5.zip 2008/12/13 384KB
Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIDataLib1.4.zip 2008/11/03 320KB
Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIDataLib1.3.zip 2008/10/07 288KB
Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIDataLib1.2.zip 2008/09/20 288KB
Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIDataLib1.1.zip 2008/08/16 288KB
Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIDataLib1.0.zip 2008/07/26 285KB
Windows 95 / 98 / ME / 2000 / XP / Vista / 7 MIDIDataLib0.9.zip 2008/03/31 268KB


(C)2000-2024 kuzu All rights reserved.