首页产品库评测行情新闻|手机数码笔记本台式机DIY硬件数字家庭数码相机办公外设|软件下载游戏开发|社区

更多

数码相机
MP4
LCD
机箱
音箱

软件资讯设计 工具 系统 开发 安全 办公 陶吧 IT教育 Vista频道 | 下载中心酷我音乐盒 腾讯QQ
天极网 > 开发频道>利用VB6.0实现五线谱作曲工具

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

2006-12-31 09:49作者:王蓓蓓 王燕出处:计算机与信息技术责任编辑:方舟

  曲谱的保存和读取

  在可视化编辑工具中所作的曲目应当能够保存为数据文件。保存和读取的操作是通过通用对话框CommonDialog来实现的,设计程序界面时在窗体上加载一个通用对话框控件。当点取程序菜单上的“保存”时,弹出文件保存对话框,然后设置文件路径对音乐数据进行保存,其代码如下:

CommonDialog1.FileName = App.Path & "\*.txt"
CommonDialog1.ShowOpen ‘显示保存对话框
If CommonDialog1.FileName = App.Path & "\*.txt" Then Exit Sub
 Me.MousePointer = 11
 For LineY& = 1 To 40
  OutputS = "Tone" & LeadingZeros$(LineY&, 2) & ": "
  For ColoumX = 1 To 150
   A = Chr(Music(LineY&, ColoumX) + Asc("0"))
   OutputS = OutputS & A ‘写入文件
  Next ColoumX
  Whole$ = Whole$ & OutputS & vbCrLf
  Next LineY
  Open CommonDialog1.FileName For Output As #1
  Print #1, Whole$
  Close #1 ‘关闭文件

  文件的读取过程与保存过程类似,只要通过Input语句将文件中的数据加载到二维数组Music中去就可以了。

  曲谱的合成与播放

  曲谱的合成是通过Windows自带的多媒体API函数来实现的,这些API函数在winmm.dll文件中,因此需要把该文件引用到程序中。该动态链接库中包含了多个数字音乐(Midi)输入、输出、合成等方面的库函数。在对曲谱进行Midi合成播放时,首先将二维数组Music中的数据转化为数字音频信号,然后通过计算机的声卡播放出来,其中的关键代码如下:

For LineY& = 1 To 30
 If Music(LineY&, X) <> 0 And Not ISAgainFlag Then
  midimsg = &H90 + ((46 + LineY&) * &H100) + (volume * &H10000) + TempChannel ‘定义音高
  midiOutShortMsg hmidi, midimsg ‘输出音频
 End If
Next LineY

  结束语

  本文介绍了一种利用VB环境实现五线谱作曲的可视化编辑工具,目的在于探讨数字音乐技术的基本原理。从功能上说这还是一个原型系统,在此基础上还可进一步扩展功能,如多行编辑、音色选择、乐器选择等。

  查看关于 VB 的全部文档         教程:Visual Basic菜鸟入门经典实例   我有问题 

关注此文的读者还看过:

返回开发频道首页

共2页。 上一页12

软件频道最新更新

热点推荐

IT嘉年华

编辑推荐

软件下载

热门
推荐

网友关注

软件
资料
游戏

装机推荐

文章排行

本周
本月
最新更新
天极服务|关于我们|About us|网站律师|RSS订阅|友情合作|加入我们|天极动态|网站地图|意见反馈|MSN/QQ上看天极
Copyright (C) 1999-2012 Yesky.com, All Rights Reserved 版权所有 天极网络