利用VB6.0实现五线谱作曲工具_VB.net_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

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

作者:黑客防线网安VB教程基地 来源:黑客防线网安VB教程基地 浏览次数:0

本篇关键词:工具实现利用音符
黑客防线网安网讯: 摘 要  针对数字化音乐教学的需要,提出了基于VB环境开发五线谱作曲工具的可行性,并对其中技术原理、关键问题给出了具体的解决方法,实现了一个基本的可视化作曲工具,对一般音乐教育工...

 摘 要
  针对数字化音乐教学的需要提出了基于VB环境开发五线谱作曲工具的可行性并对其中技术原理、关键问题给出了具体的解决方法,实现了一个基本的可视化作曲工具,对一般音乐教育工作者具有很好的启发性
  关键词
  数字化音乐;五线谱;音乐软件
  目前在数字化音乐教学过程中需要用到许多编辑软件和作曲软件许多音乐教育工作者对如何开发自己的数字音乐工具很感兴趣,而一般的计算机类书刊对此类问题探讨和介绍的比较少,本文试图从这一领域做些原理性的研究工作,以供音乐教育工作者和其他相关爱好者发挥、扩展,起到抛砖引玉的作用。因此本文以业余程序员最熟悉的开发工具VB为平台,开发设计了一个基本的五线谱编辑工具,并实现了数字音乐的合成、播放、保存和读写。
  可视化图形界面的设计
  首先在VB环境中建立一个新的窗体并保存,然后在窗体中建立菜单和工具条,为简便起见,工具条用Option控件组来实现(需要把风格设为 Graphical模式),并把事先做好的图标加载到控件上。图1是五线谱作曲工具的主界面,其中Picture1控件作为可视化编辑工具的客户操作区, Picture2控件中所加载的位图包含了作曲过程中需要的基本音符,在操作过程中通过位图提取的方式来获得相应的音符,然后插入到所需的位置。
  

图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
  …
  

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-14978-1.html
网站维护教程更新时间:2012-04-03 01:17:20  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer