用VB做电子琴 暂停播放文件

weixin_39505338 2017-07-13 11:32:24
Private Sub open_Click()
Dim b As String
Dim ch(16) As Integer
Dim Channel As Integer
Dim Temp As String
Dim ChannelNo As Integer
Dim MusicNo As Integer
Dim filename As String
Dim i, j As Long
For j = 1 To 16
For i = 1 To 3000
Delay(j, i) = -1
Next i
Next j
Me.CommonDialog1.ShowOpen
If Me.CommonDialog1.filename = "" Then Exit Sub
filename = Me.CommonDialog1.filename
If Dir(filename) = "" Then
MsgBox "找不到文件"
Exit Sub
End If
Open filename For Input As #1

Do While Not EOF(1)
Input #1, b
If InStr(UCase(b), "CHANNEL") <> 0 Then
Temp = Trim(Mid(b, 9, 10))
ChannelNo = Val(Mid(Temp, 1, InStr(Temp, " ")))
MusicNo = Val(Mid(Temp, InStr(Temp, " "), 10))
Call midi_outshort(&HB0 + ChannelNo, 0, 0)
Call midi_outshort(&HC0 + ChannelNo, MusicNo, 0)

Else
Channel = Val(Mid(b, 14, 2))
ch(Channel) = ch(Channel) + 1
Sound(Channel, ch(Channel)) = Mid(b, 1, 10)
Delay(Channel, ch(Channel)) = Val(Mid(b, 11, 3))
End If
Loop
Close #1
End Sub

Private Sub play_Click()
Dim s As String
Dim i As Integer
Dim j As Integer
Dim k As Integer
'Timer1.Enabled = True
For i = 1 To 16
Playch(i) = 1
PlaySound(i) = Sound(i, 1)
PlayDelay(i) = Delay(i, 1)
For j = 1 To 10
s = Mid(PlaySound(i), j, 1)
If s <> " " And s <> "" Then StartNote NoteFromkey(Asc(s)), i
Next j
Next i
Call PlaySoundTimer

Private Sub PlaySoundTimer()
Dim i As Integer
Dim k As Integer
Dim j As Integer
Dim s As String
flag = True
Do While flag
k = 0
For i = 1 To 16
' k = k + PlayDelay(Playch(i))
k = k + PlayDelay(i)
If k = -16 Then
flag = False
Exit Sub
End If
Next i
For i = 1 To 16
If PlayDelay(i) <> -1 Then
If PlayDelay(i) = 0 Then
'关闭上一组
' StopNote NoteFromKey(Asc(Mid(PlaySound(i), 1, 1))), i
For j = 1 To 10
s = Mid(PlaySound(i), j, 1)
If s <> " " And s <> "" Then StopNote NoteFromkey(Asc(s)), i
Next j
Playch(i) = Playch(i) + 1
PlaySound(i) = Sound(i, Playch(i))
PlayDelay(i) = Delay(i, Playch(i))
'开启下一组
' StartNote NoteFromKey(Asc(Mid(PlaySound(i), 1, 1)))
For j = 1 To 10
s = Mid(PlaySound(i), j, 1)
If s <> " " And s <> "" Then StartNote NoteFromkey(Asc(s)), i
Next j

Else
PlayDelay(i) = PlayDelay(i) - 1
End If
End If
Next i
DoEvents
Sleep (DelayTimer)
DoEvents
Loop
End Sub

Private Sub stop_Click()
Timer1.Enabled = False
flag = False
DoEvents
If flag = False Then
End If
End Sub

要用暂停的命令来停止发声的过程
...全文
683 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
VBAHZ 2017-07-26
  • 打赏
  • 举报
回复
引用 1 楼 Chen8013 的回复:
贴一堆破代码,又不能运行! 也不说清楚具体遇到了什么难题,有个屁用!
呵呵,刚看个开头,就是这个感觉!
无·法 2017-07-16
  • 打赏
  • 举报
回复
告诉你一个好办法,利用vb的缺陷,你要暂停直接弹出个msgbox即可
舉杯邀明月 2017-07-14
  • 打赏
  • 举报
回复
贴一堆破代码,又不能运行! 也不说清楚具体遇到了什么难题,有个屁用!
脆皮大雪糕 2017-07-14
  • 打赏
  • 举报
回复
贴完代码对着屏幕描述了一番问题以后就提交发布了
『软件简介』 "鹤望兰·流 - 电子钢琴" 是由鹤望兰·流开发的用电脑的声卡、键盘、鼠标来模拟电子钢琴的绿色免费软件。本软件能够在电脑上全面模拟电子钢琴的弹奏效果,其界面逼真,操作简单,使用方便。 本软件主要有三个功能:手动弹奏、自动弹奏、录制和回放。您可以自由弹奏乐曲,也可以将曲谱按规则编辑成文件,再用本软件打开文件,让本程序自动为您弹奏,还可以将弹奏过程录制下来,即时回放弹奏过程,或保存为录制乐谱文件(.pianoR 文件),再打开此类文件进行播放,可以让您更好的了解您的弹奏情况改进弹奏技巧。自动弹奏专用的文件格式为——.piano2 文件,您可以方便的把乐曲乐谱翻译成此格式的文件,让本软件自动为您弹奏,您还可以在文件中为乐谱添加歌词,弹奏时可以同步显示歌词。 此外,程序还自带了多个乐谱文件,如: Beyond The Sea(拉梅尔).piano2 C大调卡农.piano2 C大调卡农2.piano2 Endless Love.piano2 Kiss the Rain.piano2 Kiss the Rain2.piano2 《卡农变奏曲》.piano2 《童话》钢琴简谱.piano2 一千零一夜.piano2 不是因为寂寞才想你.piano2 化蝶.piano2 午后的出发-午后的旅行.piano2 卡农-Canon.piano2 后来.piano2 夜的钢琴曲(五).piano2 天空之城完美简单版.piano2 天空之城完美简单版2.piano2 婚礼进行曲.piano2 我心永恒-My Heart Will Go On.piano2 星月神话.piano2 李煜《虞美人》词.piano2 梦中的婚礼.piano2 梦中的婚礼2.piano2 梦醒时分.piano2 欢乐颂.piano2 此情可待-Right Here Waiting.piano2 水边的阿狄丽娜-Ballade for Adeline.piano2 秋日私语-A Comme Amour.piano2 童话.piano2 第一次.piano2 美丽的神话.piano2 致爱丽丝.piano2 荷塘月色.piano2 调试计时器中的信息《卡农变奏曲》.piano2 追梦人.piano2 追梦人(无歌词,带和弦).piano2 雪中情.piano2 她非常小巧,只有一个可执行文件,不需要安装,功能非常强大,界面简洁、美观大方,完全免费,开放源代码。 『主要功能』 1、用电脑的声卡、键盘、鼠标来模拟电子钢琴支持鼠标、键盘操作,操作与声音同步,没有延迟。 2、支持手动弹奏、自动弹奏、录制和回放,支持和弦。 3、支持一百多种不同音色选择。 4、开发了一种专用的文件格式——.piano2 文件(电子钢琴乐谱文件)。 5、编辑乐谱文件,可自动为您弹奏,支持左右手谱子同步弹奏,且弹奏时可以同步显示歌词。 6、自带了多个乐谱文件。 7、完全免费使用,开放源代码。 8、更多,期待您的发现…… 『联系方式』 如果大家有什么好的歌曲请回复到我的空间,我会不定期更新乐谱, 对于支持喜欢本软件和提供歌曲的朋友表示真挚的感谢! 对于提出建议的朋友,我只能说我会尽力的完善和更新软件 谢谢大家。。。。。。。。。谢谢! QQ:252461539 E-Mail:hewanglan34512@163.com 主页:http://hewanglan.ys168.com 『更新历史』 ------------------------------------------------------------------------- 2.0.4 2013-11-06 ------------------------------------------------------------------------- 1、优化代码,修正小问题!(2013-11-06) 2、改用高精度计时器(1毫秒级别的,修正了原计时器控件问题。)播放。 若传入命令行参数设置计时器间隔为1毫秒,左右手谱同步问题已基本解决! 一般自动识别,若是左右手谱,自动设置为1毫秒!(2013-11-06) 3、增加全部命令行参数演示批处理文件。(2013-11-06) 未完成: 3、录制过程也可改用计时器,可记入休止符?! 4、增加自定义键盘按键设置!电脑键盘图片资源已准备好。(工作量似乎不小!) ------------------------------------------------------------------------- 2.0.3 2013-11-04~05 ------------------------------------------------------------------------- 1、优化代码!(2013-11-04) 2、修正暂停播放时手动弹奏无法发声的问题。(2013-11-05) 3、特别注意:播放乐谱采用全新的机制! 左右手谱基本能同步播放了! 正在播放时无法退出程序的问题也解决了。 同步问题,采用高精度计时器(1毫秒级别的)可能会有所改善!(2013-11-05) ------------------------------------------------------------------------- 2.0.2 2013-11-02~ ------------------------------------------------------------------------- 1、修正录制过程中改变乐器(声音)无效的问题!(2013-11-02) 2、左右手谱的一次播放,但是,程序占用系统资源高, 而且,左右手谱子的同步有点问题!左手谱子没有进度条显示,进度条也不能拖动! 通过打开文件对话框打开的谱子,也无法播放左手谱内容!(2013-11-02) ------------------------------------------------------------------------- 2.0.1 2013-10-31, 2013-11-01~02 ------------------------------------------------------------------------- 1、再增加调试信息,播放、录制时显示按键时间。(2013-10-31) 2、添加几个乐谱。(2013-10-31) 3、特别:增加钢琴白键、黑键按下时的颜色设置属性!!!(2013-10-31) 4、支持将钢琴上88个键分成左右手的,左右手的键按下时颜色可分别设置。(2013-11-01) 5、完善录制过程,支持录制过程即时回放!(2013-11-02) 6、左右手谱的一次同步播放?未完成!!! ------------------------------------------------------------------------- 2.0.0 2013-10-29~30 ------------------------------------------------------------------------- 1、优化乐谱弹奏过程(按键弹起)。(2013-10-29) 2、补充对.piano2文件格式的说明。(2013-10-29) 3、尝试改用高精度计时器,想解决左右手谱子同步问题,依然不行! 看来问题在延时函数,不在计时器?!(2013-10-29) 4、增加录制功能,可将手动弹奏过程录制成文件(.pianoR),供下次回放。 注意:录制只考虑键按下弹起之间的时间间隔,中间的停顿不计入录制文件。 录制某些时候可能因按键时间太短,有一些失真(播放时速度很快)。 (2013-10-29~30) ------------------------------------------------------------------------- 1.0.5 2013-10-27~ ------------------------------------------------------------------------- 1、增加调试模式显示信息量(拍子,速度)。(2013-10-27) 2、增加乐谱编辑说明(拍子强弱,和弦)。(2013-10-27) ------------------------------------------------------------------------- 1.0.4 2013-10-24~25 ------------------------------------------------------------------------- 1、修正正在播放时拖入新乐谱文件乐器、曲调可能不正确的问题!(2013-10-24~25) 2、修正暂停标签显示问题!(2013-10-24) 3、增加在窗体其他位置按下鼠标可拖动窗体移动功能。(2013-10-25) 4、增加命令行参数:-Top 让程序在前段显示。(2013-10-25) 5、增加调试模式,可显示一些信息。(2013-10-25) 6、修正进度百分比显示的小问题。(2013-10-25) ------------------------------------------------------------------------- 1.0.3 2013-10-24 ------------------------------------------------------------------------- 1、整理代码,程序改名,恢复命令行参数:/T t 。 正在播放时,无法关闭程序!播放线程问题!!!(2013-10-24) 2、重新用 Timer 控件播放!(2013-10-24) ------------------------------------------------------------------------- 1.0.2 2013-10-23~24 ------------------------------------------------------------------------- 1、不用 Timer 控件播放,改用循环播放!解决左右手谱不同步问题? 还是无法解决,计时误差?!且现在窗体某些动作事件会打断播放?! 正在播放时,无法关闭程序!!!(2013-10-23) 2、修正音符行数问题。(2013-10-23) 3、整理代码,去掉命令行参数:/T t 。(2013-10-23) 4、添加几个乐谱。(2013-10-24) ------------------------------------------------------------------------- 1.0.1 2013-10-21~23 ------------------------------------------------------------------------- 1、添加乐谱编辑说明和几个乐谱。(2013-10-21) 音符强弱定义.txt 后来.piano2 致爱丽丝.piano2 童话.piano2 2、一曲完毕后,自动从头再来。(2013-10-22) 3、打开 .piano2 文件出错(编谱有误),显示错误的行号,行的文字内容, 方便查找改正!(2013-10-22) 4、修正拖动进度条时当前播放时间显示不正确的问题。(2013-10-22) 5、增加命令行参数的处理,为了同时启动多个进程弹奏左右手都有的谱子? 弹奏还是不同步!!!(2013-10-22) 命令行参数: -debug (调试模式) /F ".piano2文件完整路径" /C n /X x /Y y /T t n:频道值,0~15;x,y:窗体左上角坐标(x,y); t:最小时间间隔,毫秒。与其他参数不同,在程序运行中会一直使用此值! 各个参数可以单独出现,顺序不限! 6、修改音符时值计算,支持直接输入多少拍(用(b)表示,b代表多少拍。) 主要用于简谱弧线下的音符相同时,人工计算需要弹多少拍。(2013-10-23) 7、增加进度显示,可显示播放多少行,百分比。(2013-10-23) ------------------------------------------------------------------------- 1.0.0 2013-10-06~2013-10-20 ------------------------------------------------------------------------- 相比 电子钢琴 Ver 1.0.3 钢琴键盘,更加美观,成控件,控件大小布局更方便; 乐谱模型,更加准确,音符时值计算更好,支持几个音同时弹奏(几个键同时按下),每个音符的强弱也能体现; 音调变化,12个大调,变调时,键位更加生动具体; 乐谱编辑说明,更有调理,并附实例。 频道数,变为16个(0~15)。 参考资料:MIDI音乐知识,2个VB MIDI钢琴代码,读取乐谱文件功能源码,虞美人简线对照谱。 附:电脑键盘按键不能改变设置,默认使用 电子钢琴 Ver 1.0.3 的默认按键设置。 乐谱播放控制功能不完善。
『软件简介』 "鹤望兰·流 - 电子钢琴" 是由鹤望兰·流开发的用电脑的声卡、键盘、鼠标来模拟电子钢琴的绿色免费软件。本软件能够在电脑上全面模拟电子钢琴的弹奏效果,其界面逼真,操作简单,使用方便。 本软件主要有三个功能:手动弹奏、自动弹奏、录制和回放。您可以自由弹奏乐曲,也可以将曲谱按规则编辑成文件,再用本软件打开文件,让本程序自动为您弹奏,还可以将弹奏过程录制下来,即时回放弹奏过程,或保存为录制乐谱文件(.pianoR 文件),再打开此类文件进行播放,可以让您更好的了解您的弹奏情况改进弹奏技巧。自动弹奏专用的文件格式为——.piano2 文件,您可以方便的把乐曲乐谱翻译成此格式的文件,让本软件自动为您弹奏,您还可以在文件中为乐谱添加歌词,弹奏时可以同步显示歌词。 此外,程序还自带了多个乐谱文件,如: Beyond The Sea(拉梅尔).piano2 C大调卡农.piano2 C大调卡农2.piano2 Endless Love.piano2 Kiss the Rain.piano2 Kiss the Rain2.piano2 《卡农变奏曲》.piano2 《童话》钢琴简谱.piano2 一千零一夜.piano2 不是因为寂寞才想你.piano2 化蝶.piano2 午后的出发-午后的旅行.piano2 卡农-Canon.piano2 后来.piano2 夜的钢琴曲(五).piano2 天空之城完美简单版.piano2 天空之城完美简单版2.piano2 婚礼进行曲.piano2 我心永恒-My Heart Will Go On.piano2 星月神话.piano2 李煜《虞美人》词.piano2 梦中的婚礼.piano2 梦中的婚礼2.piano2 梦醒时分.piano2 欢乐颂.piano2 此情可待-Right Here Waiting.piano2 水边的阿狄丽娜-Ballade for Adeline.piano2 秋日私语-A Comme Amour.piano2 童话.piano2 第一次.piano2 美丽的神话.piano2 致爱丽丝.piano2 荷塘月色.piano2 调试计时器中的信息《卡农变奏曲》.piano2 追梦人.piano2 追梦人(无歌词,带和弦).piano2 雪中情.piano2 她非常小巧,只有一个可执行文件,不需要安装,功能非常强大,界面简洁、美观大方,完全免费,开放源代码。 『主要功能』 1、用电脑的声卡、键盘、鼠标来模拟电子钢琴支持鼠标、键盘操作,操作与声音同步,没有延迟。 2、支持手动弹奏、自动弹奏、录制和回放,支持和弦。 3、支持一百多种不同音色选择。 4、开发了一种专用的文件格式——.piano2 文件(电子钢琴乐谱文件)。 5、编辑乐谱文件,可自动为您弹奏,支持左右手谱子同步弹奏,且弹奏时可以同步显示歌词。 6、自带了多个乐谱文件。 7、完全免费使用,开放源代码。 8、更多,期待您的发现…… 『联系方式』 如果大家有什么好的歌曲请回复到我的空间,我会不定期更新乐谱, 对于支持喜欢本软件和提供歌曲的朋友表示真挚的感谢! 对于提出建议的朋友,我只能说我会尽力的完善和更新软件 谢谢大家。。。。。。。。。谢谢! QQ:252461539 E-Mail:hewanglan34512@163.com 主页:http://hewanglan.ys168.com 『更新历史』 ------------------------------------------------------------------------- 2.0.5 2013-11-08~12 ------------------------------------------------------------------------- 1、修正暂停时拖动进度条导致后续无法暂停或停止的问题!(2013-11-08) 2、暂停时,增加进度条微调功能,可以一次调节一行!(2013-11-08) 3、增加对黑键上的音符的表示方法。 如:.b2 / .#1;.b2;.#1。它们对应于同一个音。 在编辑乐谱文件时,可以选用任意一个,减少了乐谱编辑的麻烦。 但录制乐谱时,程序只会使用第一个表示方法。(2013-11-08) 4、增加钢琴键盘按键按下、弹起的事件响应。(2013-11-12) ------------------------------------------------------------------------- 2.0.4 2013-11-06 ------------------------------------------------------------------------- 1、优化代码,修正小问题!(2013-11-06) 2、改用高精度计时器(1毫秒级别的,修正了原计时器控件问题。)播放。 若传入命令行参数设置计时器间隔为1毫秒,左右手谱同步问题已基本解决! 一般自动识别,若是左右手谱,自动设置为1毫秒!(2013-11-06) 3、增加全部命令行参数演示批处理文件。(2013-11-06) 未完成: 3、录制过程也可改用计时器,可记入休止符?! 4、增加自定义键盘按键设置!电脑键盘图片资源已准备好。(工作量似乎不小!) ------------------------------------------------------------------------- 2.0.3 2013-11-04~05 ------------------------------------------------------------------------- 1、优化代码!(2013-11-04) 2、修正暂停播放时手动弹奏无法发声的问题。(2013-11-05) 3、特别注意:播放乐谱采用全新的机制! 左右手谱基本能同步播放了! 正在播放时无法退出程序的问题也解决了。 同步问题,采用高精度计时器(1毫秒级别的)可能会有所改善!(2013-11-05) ------------------------------------------------------------------------- 2.0.2 2013-11-02~ ------------------------------------------------------------------------- 1、修正录制过程中改变乐器(声音)无效的问题!(2013-11-02) 2、左右手谱的一次播放,但是,程序占用系统资源高, 而且,左右手谱子的同步有点问题!左手谱子没有进度条显示,进度条也不能拖动! 通过打开文件对话框打开的谱子,也无法播放左手谱内容!(2013-11-02) ------------------------------------------------------------------------- 2.0.1 2013-10-31, 2013-11-01~02 ------------------------------------------------------------------------- 1、再增加调试信息,播放、录制时显示按键时间。(2013-10-31) 2、添加几个乐谱。(2013-10-31) 3、特别:增加钢琴白键、黑键按下时的颜色设置属性!!!(2013-10-31) 4、支持将钢琴上88个键分成左右手的,左右手的键按下时颜色可分别设置。(2013-11-01) 5、完善录制过程,支持录制过程即时回放!(2013-11-02) 6、左右手谱的一次同步播放?未完成!!! ------------------------------------------------------------------------- 2.0.0 2013-10-29~30 ------------------------------------------------------------------------- 1、优化乐谱弹奏过程(按键弹起)。(2013-10-29) 2、补充对.piano2文件格式的说明。(2013-10-29) 3、尝试改用高精度计时器,想解决左右手谱子同步问题,依然不行! 看来问题在延时函数,不在计时器?!(2013-10-29) 4、增加录制功能,可将手动弹奏过程录制成文件(.pianoR),供下次回放。 注意:录制只考虑键按下弹起之间的时间间隔,中间的停顿不计入录制文件。 录制某些时候可能因按键时间太短,有一些失真(播放时速度很快)。 (2013-10-29~30) ------------------------------------------------------------------------- 1.0.5 2013-10-27~ ------------------------------------------------------------------------- 1、增加调试模式显示信息量(拍子,速度)。(2013-10-27) 2、增加乐谱编辑说明(拍子强弱,和弦)。(2013-10-27) ------------------------------------------------------------------------- 1.0.4 2013-10-24~25 ------------------------------------------------------------------------- 1、修正正在播放时拖入新乐谱文件乐器、曲调可能不正确的问题!(2013-10-24~25) 2、修正暂停标签显示问题!(2013-10-24) 3、增加在窗体其他位置按下鼠标可拖动窗体移动功能。(2013-10-25) 4、增加命令行参数:-Top 让程序在前段显示。(2013-10-25) 5、增加调试模式,可显示一些信息。(2013-10-25) 6、修正进度百分比显示的小问题。(2013-10-25) ------------------------------------------------------------------------- 1.0.3 2013-10-24 ------------------------------------------------------------------------- 1、整理代码,程序改名,恢复命令行参数:/T t 。 正在播放时,无法关闭程序!播放线程问题!!!(2013-10-24) 2、重新用 Timer 控件播放!(2013-10-24) ------------------------------------------------------------------------- 1.0.2 2013-10-23~24 ------------------------------------------------------------------------- 1、不用 Timer 控件播放,改用循环播放!解决左右手谱不同步问题? 还是无法解决,计时误差?!且现在窗体某些动作事件会打断播放?! 正在播放时,无法关闭程序!!!(2013-10-23) 2、修正音符行数问题。(2013-10-23) 3、整理代码,去掉命令行参数:/T t 。(2013-10-23) 4、添加几个乐谱。(2013-10-24) ------------------------------------------------------------------------- 1.0.1 2013-10-21~23 ------------------------------------------------------------------------- 1、添加乐谱编辑说明和几个乐谱。(2013-10-21) 音符强弱定义.txt 后来.piano2 致爱丽丝.piano2 童话.piano2 2、一曲完毕后,自动从头再来。(2013-10-22) 3、打开 .piano2 文件出错(编谱有误),显示错误的行号,行的文字内容, 方便查找改正!(2013-10-22) 4、修正拖动进度条时当前播放时间显示不正确的问题。(2013-10-22) 5、增加命令行参数的处理,为了同时启动多个进程弹奏左右手都有的谱子? 弹奏还是不同步!!!(2013-10-22) 命令行参数: -debug (调试模式) /F ".piano2文件完整路径" /C n /X x /Y y /T t n:频道值,0~15;x,y:窗体左上角坐标(x,y); t:最小时间间隔,毫秒。与其他参数不同,在程序运行中会一直使用此值! 各个参数可以单独出现,顺序不限! 6、修改音符时值计算,支持直接输入多少拍(用(b)表示,b代表多少拍。) 主要用于简谱弧线下的音符相同时,人工计算需要弹多少拍。(2013-10-23) 7、增加进度显示,可显示播放多少行,百分比。(2013-10-23) ------------------------------------------------------------------------- 1.0.0 2013-10-06~2013-10-20 ------------------------------------------------------------------------- 相比 电子钢琴 Ver 1.0.3 钢琴键盘,更加美观,成控件,控件大小布局更方便; 乐谱模型,更加准确,音符时值计算更好,支持几个音同时弹奏(几个键同时按下),每个音符的强弱也能体现; 音调变化,12个大调,变调时,键位更加生动具体; 乐谱编辑说明,更有调理,并附实例。 频道数,变为16个(0~15)。 参考资料:MIDI音乐知识,2个VB MIDI钢琴代码,读取乐谱文件功能源码,虞美人简线对照谱。 附:电脑键盘按键不能改变设置,默认使用 电子钢琴 Ver 1.0.3 的默认按键设置。 乐谱播放控制功能不完善。
『软件简介』 "鹤望兰·流 - 电子钢琴" 是由鹤望兰·流开发的用电脑的声卡、键盘、鼠标来模拟电子钢琴的绿色免费软件。本软件能够在电脑上全面模拟电子钢琴的弹奏效果,其界面逼真,操作简单,使用方便。 本软件主要有三个功能:手动弹奏、自动弹奏、录制和回放。您可以自由弹奏乐曲,也可以将曲谱按规则编辑成文件,再用本软件打开文件,让本程序自动为您弹奏,还可以将弹奏过程录制下来,即时回放弹奏过程,或保存为录制乐谱文件(.pianoR 文件),再打开此类文件进行播放,可以让您更好的了解您的弹奏情况改进弹奏技巧。自动弹奏专用的文件格式为——.piano2 文件,您可以方便的把乐曲乐谱翻译成此格式的文件,让本软件自动为您弹奏,您还可以在文件中为乐谱添加歌词,弹奏时可以同步显示歌词。 此外,程序还自带了多个乐谱文件,如: Beyond The Sea(拉梅尔).piano2 C大调卡农.piano2 C大调卡农2.piano2 Endless Love.piano2 Kiss the Rain.piano2 Kiss the Rain2.piano2 《卡农变奏曲》.piano2 《童话》钢琴简谱.piano2 一千零一夜.piano2 不是因为寂寞才想你.piano2 化蝶.piano2 午后的出发-午后的旅行.piano2 卡农-Canon.piano2 后来.piano2 夜的钢琴曲(五).piano2 天空之城完美简单版.piano2 天空之城完美简单版2.piano2 婚礼进行曲.piano2 我心永恒-My Heart Will Go On.piano2 星月神话.piano2 李煜《虞美人》词.piano2 梦中的婚礼.piano2 梦中的婚礼2.piano2 梦醒时分.piano2 欢乐颂.piano2 此情可待-Right Here Waiting.piano2 水边的阿狄丽娜-Ballade for Adeline.piano2 秋日私语-A Comme Amour.piano2 童话.piano2 第一次.piano2 美丽的神话.piano2 致爱丽丝.piano2 荷塘月色.piano2 调试计时器中的信息《卡农变奏曲》.piano2 追梦人.piano2 追梦人(无歌词,带和弦).piano2 雪中情.piano2 她非常小巧,只有一个可执行文件,不需要安装,功能非常强大,界面简洁、美观大方,完全免费,开放源代码。 『主要功能』 1、用电脑的声卡、键盘、鼠标来模拟电子钢琴支持鼠标、键盘操作,操作与声音同步,没有延迟。 2、支持手动弹奏、自动弹奏、录制和回放,支持和弦。 3、支持一百多种不同音色选择。 4、开发了一种专用的文件格式——.piano2 文件(电子钢琴乐谱文件)。 5、编辑乐谱文件,可自动为您弹奏,支持左右手谱子,且弹奏时可以同步显示歌词。 6、自带了多个乐谱文件。 7、完全免费使用,开放源代码。 8、更多,期待您的发现…… 『联系方式』 如果大家有什么好的歌曲请回复到我的空间,我会不定期更新乐谱, 对于支持喜欢本软件和提供歌曲的朋友表示真挚的感谢! 对于提出建议的朋友,我只能说我会尽力的完善和更新软件 谢谢大家。。。。。。。。。谢谢! QQ:252461539 E-Mail:hewanglan34512@163.com 主页:http://hewanglan.ys168.com 『更新历史』 ------------------------------------------------------------------------- 2.0.3 2013-11-04~05 ------------------------------------------------------------------------- 1、优化代码!(2013-11-04) 2、修正暂停播放时手动弹奏无法发声的问题。(2013-11-05) 3、特别注意:播放乐谱采用全新的机制! 左右手谱基本能同步播放了! 正在播放时无法退出程序的问题也解决了。 同步问题,采用高精度计时器(1毫秒级别的)可能会有所改善!(2013-11-05) ------------------------------------------------------------------------- 2.0.2 2013-11-02~ ------------------------------------------------------------------------- 1、修正录制过程中改变乐器(声音)无效的问题!(2013-11-02) 2、左右手谱的一次播放,但是,程序占用系统资源高, 而且,左右手谱子的同步有点问题!左手谱子没有进度条显示,进度条也不能拖动! 通过打开文件对话框打开的谱子,也无法播放左手谱内容!(2013-11-02) ------------------------------------------------------------------------- 2.0.1 2013-10-31, 2013-11-01~02 ------------------------------------------------------------------------- 1、再增加调试信息,播放、录制时显示按键时间。(2013-10-31) 2、添加几个乐谱。(2013-10-31) 3、特别:增加钢琴白键、黑键按下时的颜色设置属性!!!(2013-10-31) 4、支持将钢琴上88个键分成左右手的,左右手的键按下时颜色可分别设置。(2013-11-01) 5、完善录制过程,支持录制过程即时回放!(2013-11-02) 6、左右手谱的一次同步播放?未完成!!! ------------------------------------------------------------------------- 2.0.0 2013-10-29~30 ------------------------------------------------------------------------- 1、优化乐谱弹奏过程(按键弹起)。(2013-10-29) 2、补充对.piano2文件格式的说明。(2013-10-29) 3、尝试改用高精度计时器,想解决左右手谱子同步问题,依然不行! 看来问题在延时函数,不在计时器?!(2013-10-29) 4、增加录制功能,可将手动弹奏过程录制成文件(.pianoR),供下次回放。 注意:录制只考虑键按下弹起之间的时间间隔,中间的停顿不计入录制文件。 录制某些时候可能因按键时间太短,有一些失真(播放时速度很快)。 (2013-10-29~30) ------------------------------------------------------------------------- 1.0.5 2013-10-27~ ------------------------------------------------------------------------- 1、增加调试模式显示信息量(拍子,速度)。(2013-10-27) 2、增加乐谱编辑说明(拍子强弱,和弦)。(2013-10-27) ------------------------------------------------------------------------- 1.0.4 2013-10-24~25 ------------------------------------------------------------------------- 1、修正正在播放时拖入新乐谱文件乐器、曲调可能不正确的问题!(2013-10-24~25) 2、修正暂停标签显示问题!(2013-10-24) 3、增加在窗体其他位置按下鼠标可拖动窗体移动功能。(2013-10-25) 4、增加命令行参数:-Top 让程序在前段显示。(2013-10-25) 5、增加调试模式,可显示一些信息。(2013-10-25) 6、修正进度百分比显示的小问题。(2013-10-25) ------------------------------------------------------------------------- 1.0.3 2013-10-24 ------------------------------------------------------------------------- 1、整理代码,程序改名,恢复命令行参数:/T t 。 正在播放时,无法关闭程序!播放线程问题!!!(2013-10-24) 2、重新用 Timer 控件播放!(2013-10-24) ------------------------------------------------------------------------- 1.0.2 2013-10-23~24 ------------------------------------------------------------------------- 1、不用 Timer 控件播放,改用循环播放!解决左右手谱不同步问题? 还是无法解决,计时误差?!且现在窗体某些动作事件会打断播放?! 正在播放时,无法关闭程序!!!(2013-10-23) 2、修正音符行数问题。(2013-10-23) 3、整理代码,去掉命令行参数:/T t 。(2013-10-23) 4、添加几个乐谱。(2013-10-24) ------------------------------------------------------------------------- 1.0.1 2013-10-21~23 ------------------------------------------------------------------------- 1、添加乐谱编辑说明和几个乐谱。(2013-10-21) 音符强弱定义.txt 后来.piano2 致爱丽丝.piano2 童话.piano2 2、一曲完毕后,自动从头再来。(2013-10-22) 3、打开 .piano2 文件出错(编谱有误),显示错误的行号,行的文字内容, 方便查找改正!(2013-10-22) 4、修正拖动进度条时当前播放时间显示不正确的问题。(2013-10-22) 5、增加命令行参数的处理,为了同时启动多个进程弹奏左右手都有的谱子? 弹奏还是不同步!!!(2013-10-22) 命令行参数: -debug (调试模式) /F ".piano2文件完整路径" /C n /X x /Y y /T t n:频道值,0~15;x,y:窗体左上角坐标(x,y); t:最小时间间隔,毫秒。与其他参数不同,在程序运行中会一直使用此值! 各个参数可以单独出现,顺序不限! 6、修改音符时值计算,支持直接输入多少拍(用(b)表示,b代表多少拍。) 主要用于简谱弧线下的音符相同时,人工计算需要弹多少拍。(2013-10-23) 7、增加进度显示,可显示播放多少行,百分比。(2013-10-23) ------------------------------------------------------------------------- 1.0.0 2013-10-06~2013-10-20 ------------------------------------------------------------------------- 相比 电子钢琴 Ver 1.0.3 钢琴键盘,更加美观,成控件,控件大小布局更方便; 乐谱模型,更加准确,音符时值计算更好,支持几个音同时弹奏(几个键同时按下),每个音符的强弱也能体现; 音调变化,12个大调,变调时,键位更加生动具体; 乐谱编辑说明,更有调理,并附实例。 频道数,变为16个(0~15)。 参考资料:MIDI音乐知识,2个VB MIDI钢琴代码,读取乐谱文件功能源码,虞美人简线对照谱。 附:电脑键盘按键不能改变设置,默认使用 电子钢琴 Ver 1.0.3 的默认按键设置。 乐谱播放控制功能不完善。

1,502

社区成员

发帖
与我相关
我的任务
社区描述
VB 网络编程
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧