电子乐谱结构设想电子乐谱结构设想
树型结构:
谱表(可以有多个五线谱(一行谱构成)
五线谱(staff)----声部(考虑到多声部情况)----小节----符号基类
Staffl类成员(声道数、声道号(0 代表虚拟声道)) 虚拟声道类(多声部公共小节号,小节)(考虑到五线谱不同声部的小节号相同的小节具有的许多属性都是一致的)
声道类成员考虑:1虚拟声部(保存多声部中(小节号相同)的公共小节信息)
2 小节数
3
小节类(小节线 谱号,调号,拍号, 音符链表)
符号基类(单音符note,和弦chord,音符组not...
电子乐谱结构设想
树型结构:
谱表(可以有多个五线谱(一行谱构成)
五线谱(staff)----声部(考虑到多声部情况)----小节----符号基类
Staffl类成员(声道数、声道号(0 代表虚拟声道)) 虚拟声道类(多声部公共小节号,小节)(考虑到五线谱不同声部的小节号相同的小节具有的许多属性都是一致的)
声道类成员考虑:1虚拟声部(保存多声部中(小节号相同)的公共小节信息)
2 小节数
3
小节类(小节线 谱号,调号,拍号, 音符链表)
符号基类(单音符note,和弦chord,音符组noteblock,休止符(rest),延音符(tie))
单音符类(音符的时长,音高,强弱)
谱表(尺寸,上边界 左边界,五线谱链表)
五线谱表(尺寸,上边界,左边界,声部链表)
………………五线谱数据结构……………………… typedef struct stave{ int top, left;// 上、左边界
int width,height; //尺寸
VOICEPART * voiceparts; // 五线谱声部链表 } STAVE
………………声部数据结构………………………. typedef struct voicepart{ int top, left; //上、左边界
int width,height; //尺寸
MEASURE * measures; // 小节链表
} VOICEPART
………………小节数据结构…………………………. typedef struct measure{ PEDIGREE *pedigrees;// 谱号链表
SIGATURE * signatures;// 调号链表
BAT *bats;// 拍号链表
CHORD *chords;// 音符链表
BARLINE * barlines; // 小节线
} MEASURE;
…………………….谱号数据结构………………………. typedef struct pedigree{
PEDIGREE_TPYE type; //谱号类型
int left, right; //中心坐标位置
} PEDIGREE;
………………………调号数据结构……………………. typedef struct signature{ SIGNATURE_TYPE type; //调号类型
int leftx, rightx; //中心位置坐标
} SIGNATURE;
…………………………拍号数据结构…………………….. typedef struct bat{ int top, bottom; //拍号的上、下数字
int posx, posy // 中心位置坐标
} BAT
…………………………..小节线数据结构……………………. typedef struct batline BARTLINE_TPYE //小节线的类型
int posx, posy // 小节线的中心位置
} BATLINE;
…………………………..音符数据结构……………………….. typedef struct chord{ BOOL virtualstem;// 标示音符有无符干
BOOL stemup;// 记录符干的方向
int naugdots;// 记录附点数
int nflags;// 记录符尾个数
int startx, starty, length; //起点位置和长度
Note *notes
}CHORD;
…………………………符头对象数据结构……………………..
typedef struct note{
NOTE_TYPE type;// 记录符头形状(空心或实心)和休止符类型
int pos;// 记录符头的谱线位置
ACCID_TYPE type;// 记录变音记号类型;升音、降音和还原记号
int nflags;// 记录符尾个数
int dis; //记录音记号位置
Note *notes
} NOTE;
Typedef NOTES //符头队列
本文档为【电子乐谱结构设想】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。