文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发VB利用VB6.0实现五线谱作曲工具
精品推荐
特别推荐
·VB表格控件总览与例程分析
·用VB6.0制作画图板
·VB打造超酷个性化菜单(六)
·MSHFlexGrid 控件的应用
·Visual Basic 控件简介
·利用硬盘序列号计算软件注册码
·计算机等级考试二级VB常用算法:排序
·用diskid.dll和disk32.dll获得硬盘序列号
·VB6中使用Winsock穿越各种代理的实现
·在VFP、VB应用程序中激活鼠标功能
·vb基础(打印问题)
·想用就用,VB基础代码
·运用多媒体WAV文件格式二三例
·VB基础学习:编码规范
·VB实现程序的隐形
·使用.NET Framework从VB6中访问事件日志
·怎样把VC++代码转换成VB代码
·如何用VB程序来播放WAV文件
·VB 实用函数集
·用VB制作RM压缩软件
热点TOP10
·VB+Access设计图书管理系统
·DataGrid 控件的使用
·VB设计有语音报时和报警功能的闹钟
·窗体控件大小随窗体大小变化而变化
·Visual Basic 控件简介
·VB中使用DirectX库的简明教程
·串口通讯及其在VB平台下的实现
·用VB跟我学做记事本(很简单哟)
·VB API函数介绍--绘图函数
·用VB6.0制作画图板
·Visual Basic CommonDialog 控件的使用
·VB中使用EXCEL输出
·编写电话拨号程序时一点小技巧
·用VB.net2008编写数据查询窗体
·VB表格控件总览与例程分析
·用VB6.0设计一个打字练习软件
·用diskid.dll和disk32.dll获得硬盘序列号
·VB编程之路-如何让界面美化
·VB经典:操作.ini文件的通用类源代码
·用VB播放Avi、Wave、midi文件

利用VB6.0实现五线谱作曲工具

日期:2007年5月1日 作者: 查看:[大字体 中字体 小字体]


摘 要 针对数字化音乐教学的需要,提出了基于VB环境开发五线谱作曲工具的可行性,并对其中技术原理、关键问题给出了具体的解决方法,实现了一个基本的可视化作曲工具,对一般音乐教育工作者具有很好的启发性。

  关键词 数字化音乐;五线谱;音乐软件

  目前在数字化音乐教学过程中需要用到许多编辑软件和作曲软件。许多音乐教育工作者对如何开发自己的数字音乐工具很感兴趣,而一般的计算机类书刊对此类问题探讨和介绍的比较少,本文试图从这一领域做些原理性的研究工作,以供音乐教育工作者和其他相关爱好者发挥、扩展,起到抛砖引玉的作用。因此本文以业余程序员最熟悉的开发工具VB为平台,开发设计了一个基本的五线谱编辑工具,并实现了数字音乐的合成、播放、保存和读写。

  可视化图形界面的设计

  首先在VB环境中建立一个新的窗体并保存,然后在窗体中建立菜单和工具条,为简便起见,工具条用Option控件组来实现(需要把风格设为Graphical模式),并把事先做好的图标加载到控件上。图1是五线谱作曲工具的主界面,其中Picture1控件作为可视化编辑工具的客户操作区,Picture2控件中所加载的位图包含了作曲过程中需要的基本音符,在操作过程中通过位图提取的方式来获得相应的音符,然后插入到所需的位置。

  利用VB6.0实现五线谱作曲工具(图一)

  图1 VB环境中的设计界面

  五线谱作曲功能的实现

  在工具条上的五个Option控件构成一个控件组,根据Option控件本身的特性,其中一个选中时其它的自动设为非选择项,因此操作起来很方便。当选中其中的一个音符图标后,自动触发相应的事件。事件处理代码如下:

Private Sub Option1_Click(Index As Integer)
 Picture1.SetFocus ‘ 焦点集中到客户区
 Yinfu = Index ‘ 获得音符序号
End Sub

  其中整型数Yinfu是一个全局变量,通过控件组中的索引Index可以知道哪个音符按钮被选中。为了记录作曲过程中的操作,定义一个二维数组Music用来存放数据,光标点取在Picture1客户区中的坐标经过圆整后作为数组的行、列序号,数组元素记录所选的音符。整个处理过程放在Picture1控件的MouseDown事件中进行,代码如下:

Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
 Dim LineY&, ColoumX&
 LineY& = Round((Y - 13) / 5) ‘行圆整
 ColoumX& = Round((X - 30) / 16) ‘列圆整
 If Not (ColoumX& > 0 And LineY& > 0) Then
  Exit Sub
 End If
 If Music(LineY&, ColoumX& + HScroll1.Value) = 0 Then
  Music(LineY&, ColoumX&
  + HScroll1.Value) = Selection ‘ 记录音符
 End If
 DisplayNotes ‘在客户区显示当前音符
End Sub
  当程序运行时,首先通过主窗体的Form Load事件在Picture1的客户区绘出五线谱的五条平行的水平线,作曲者便可以根据不同的音高在相应位置插入音符。插入音符的过程是通过上面的DisplayNotes函数来实现的,利用Windows系统的API(应用程序接口)函数Bitblt所具有的内存数据传送的功能将Picture2中位图的一部分提取出来并按照一定的变换后插入到Picture1的客户区制定位置,主要代码如下:

Select Case ID
 Case 1
  BitBlt Picture1.hdc, X& - 7, Y& - 18, 20, 30, Picture2.hdc, 66, 0, SRCAND
 Case 2
  BitBlt Picture1.hdc, X& - 5, Y& - 18, 20, 30, Picture2.hdc, 0, 0, SRCAND
  …
  利用VB6.0实现五线谱作曲工具(图二)

  图2 五线谱作曲工具的运行效果进入讨论组讨论。
[1] [2] 下一页 




上一篇:用diskid.dll和disk32.dll获得硬盘序列号

下一篇:在Visual Basic中使用WinSock控件

利用VB6.0实现五线谱作曲工具 相关文章:
·如何实现局域网打印机共享
·3GP手机视频转换工具WinAVI
·TCP/IP编程实现远程文件传输
·Visual C++ 实现数字化图像的分割
·大量Windows Vista 边栏小工具下载
·101款精典黑客小工具
·ASP.NET购物车的实现及结算处理
·APE变成高品质MP3音乐 转换工具介绍
·一个Struts实现分页,增删改查,Tiles,国际化的DEMO
·利用腾讯漏洞取回QQ密码
利用VB6.0实现五线谱作曲工具 相关软件:
·U盘超级工具大全
·灵豚课件制作工具——课件精灵v1.0 beta
·电脑装机、系统维护工具盘 2003版
·王牌超级工具箱V13.5
·Cooolsoft MP3 Sound Cutter (音频截取工具) V1.41 绿色版
·QQ强制聊天工具V3.12 无敌加强版
·豪杰超级视频转换工具V2.0
·TCP-IP详解卷2:实现
·Flash 影片提取工具V1.0
·破解工具大礼包 2006

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.net
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.net All Rights Reserved. 鄂ICP备05000083号Powered by:viphot