第一键盘 - 电子琴在线论坛

 找回密码
 现在注册

QQ登录

只需一步,快速开始

查看: 6071|回复: 20

[原创]自己写的MIDI虚拟钢琴软件,大家给点意见

[复制链接]
发表于 2006-4-30 05:48:53 | 显示全部楼层 |阅读模式

迷迪电子钢琴 v1.6
MIDI文件 播放/录制

gKVQkQAI.gif

迷迪电子钢琴是一个简单却又有用的程序,您能够通过他播放MIDI文件并在虚拟键盘模拟钢琴弹奏,也能够通过虚拟键盘或者MIDI输入设备录制MIDI文件。

1、 支持 MIDI 输入/输出。
2、 简单方便的播放/录制MIDI文件。
3、 有4种模拟琴键颜色。
4、 支持自定义键盘按键设置。
5、 支持多种语言界面。

下载地址: MidiPiano_v1.6.zip

更新网址: http://www.midipiano.net/

回复

使用道具 举报

发表于 2006-4-30 12:03:46 | 显示全部楼层

太强了!佩服!

楼主如果内研发出支持ASIO驱动的采样器就强了!

回复 支持 反对

使用道具 举报

发表于 2006-4-30 13:05:33 | 显示全部楼层
楼主加油~~~~~~~~~~~顶顶顶~~~~~~~~~~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-4-30 19:26:44 | 显示全部楼层
ASIO驱动的采样器是什么东东?
回复 支持 反对

使用道具 举报

发表于 2006-4-30 22:18:06 | 显示全部楼层
-------------------------------------------
以下文章转自"倚天" 作者:颜东成
-------------------------------------------
ASIO——让声卡无需等待

什么是ASIO
  ASIO的全称是Audio Stream Input Output,直接翻译过来就是音频流输入输出接口的意思。通常这是专业声卡或高档音频工作站才会具备的性能。采用ASIO技术可以减少系统对音频流信号 的延迟,增强声卡硬件的处理能力。同样一块声卡,假设使用MME驱动[1]时的延迟时间为750毫秒,那么当换成ASIO驱动后延迟量就有可能会降低到 40毫秒以下。


理解ASIO的含义


  也许你仍无法认识到解决音频延迟的具体意义,那么,我们姑且换一个角度来看问题:许多朋友都试过用计算机与互联网进行语音通话,就连著名的聊天工具 OICQ都有此功能。其实互联网上的语音通讯跟电信部门提供的IP电话是同样机理,只不过由于网络带宽的限制而使得前者的声音延迟现象远比后者严重得多。 当话音的延迟在一定的范围内时,人们会觉得尚可接受;但如果延迟量实在太大(比如说每说一句话都要等到5秒以上),那么大家就会觉得这是无法忍受的了。

谁会需要ASIO

  普通声卡在播放音频流的时候是有延迟的,尽管一般用户都不易察觉到它的存在。毕竟,对于播放影碟和双声道的MP3音乐以及玩游戏来说,几百毫秒的声音 延迟对应用的影响根本是微乎其微的,完全可以被忽略不计。但是,对于专业的录音师和音乐制作人来说,这几百毫秒延迟所带来的后果就好比我们普通用户要面对 响应极慢的互联网IP电话那样,同样是不能容忍。试想,当按下一个琴键时,要经过0.6以上的时间才能够听到声响,恐怕任何演奏者都很难发挥其正常的水 平,更无法控制音乐表演的情绪;录音师进行后期制作的过程中,需要给不同的音频信号做相应的实时效果处理,并对分轨录制的多通道音频流进行混音,以得到最 终的双声道立体声或是5.1声道的环绕声格式。在对多个声部的音频进行缩混时,如果声音有延迟且延迟时间各不相等,那么多个声道之间的信号同步就会成为大 问题,录音师就会因此而无法对混音的结果进行准确判断。为此,他们十分迫切需要一种能够让音频设备实现“零延迟”的技术,这个技术就是Steinberg 定义的ASIO。

ASIO的本质

  为了实现“音频设备零延迟”的理想,著名的音乐制作软件Cubase VST的开发者Steinberg公司提出了被称为Audio Stream Input Output的标准规范,其目的是为了让各硬件厂商开发出来的设备能够很好地与Steinberg的音频处理软件Cubase VST相结合,以使其在数字音频处理和软件音源模拟方面发挥出最佳的性能水平。ASIO完全摆脱了Windows操作系统对硬件的集中控制,它能实现在音 频处理软件与硬件之间进行多通道传输的同时,将系统对音频流的响应时间降至最短。根据ASIO规范中定义的细节,声卡厂商可以为其硬件产品编写出高效能的 ASIO驱动程序,使用声卡硬件对音频流的响应时间降低到十几毫秒以内。要知道,即便是对于那些极其苛刻的专业音乐制作人,这样低的延迟量也是根本无法察 觉到的。

ASIO与DirectSound

  ASIO的目的在于最大程度地降低系统播放音频流时的延迟时间。也许有读者会因此联想到DirectSound——不错,ASIO跟 DirectSound的确十分相似,二者都是以设法绕过Windows操作系统对硬件设备的控制、直接与硬件端口取得通讯的思路来实现提高响应速度的目 的。不过,ASIO的革命性要比DirectSound更彻底一些:如果把DirectSound比喻成用高级语言实现的程序,那么ASIO就是用汇编代 码构成的程序——不仅结构更为紧凑,效率也大为提高。更何况,ASIO不仅是驱动上的革命,还需要硬件芯片的支持。在驱动与硬件的紧密结合下,ASIO将 延迟降至极低的程度是必然的事情。

  不过,如果你的声卡仅支持ASIO而不支持DirectSound,那么就无法用Windows任务条上的小喇叭来实现音量控制,而运行最常用的一些娱乐软件,诸如超级解霸和WinAmp等的时候,也无法通过播放器界面中的音量推子来控制声音的大小。

  某些声卡可以同时支持MME、DirectSound、ASIO、GSIF[2]等多种标准,并通过软件实现不同兼容方式之间的切换。对于那些需要兼顾专业创作和日常应用的朋友而言,这样的声卡无疑是十分方便的。


图:用软件实现兼容标准的切换

哪些声卡支持ASIO

  并非所有的声卡都能够支持ASIO。如前所述。ASIO不仅定义驱动标准,还必须要求声卡主芯片的硬件支持才能够得以实现。在过去,只有那些价格高贵 的专业声卡,在设计中才会考虑到对ASIO的支持。我们日常所用的声卡,包括创新过去的SB Live!系列都属于民用卡的范畴,所以没有哪一款是配备了ASIO驱动的。

  有趣的是,SB Live!的主芯片EMU10K1本身支持ASIO,只是这一性能并未在创新自带的LiveWare! 3.0驱动中体现出来。因此,当你将SB Live!的驱动程序换成采用同样规格设计的E_mu APS录音卡的驱动后,音频处理软件就会报告说找到ASIO!

  另一个比较有意思的例子是采用CMI8738芯片的各种多通道声卡。CMI8738本身也是具备ASIO的潜质,只不过至今还没有合适的驱动将其发挥出来。

  首款公开声称彻底支持ASIO技术的民用声卡是创新最新推出的SoundBlaster Audigy。这款SB Live!的换代产品不仅提供了高达24bit / 96 kHz的声音品质,而且还全面支持ASIO、SB 1394等最新的先进技术。SB Audigy的面市,使得民用声卡跟专业声卡之间的距离又缩小了一层。

如何判断与应用ASIO

  在音频处理软件的菜单栏中找到“Setup Preferences Audio”或是“Setup Audio Hardware”,在Device下拉选单中会列出当前可用的音频设备。如果声卡不支持ASIO,那么下拉选单中就就只会显示出ASIO Multimedia Driver一项,这实际上是MME驱动对ASIO的软模拟;如果声卡使用的是ASIO驱动,那么在此下拉选单中还会有另外一项,例如MAYA ASIO Driver或SB Audigy ASIO。


图:设置ASIO

  将软件的音频输出设置为ASIO设备后,播放多轨音频、使用实时效果器以及使用VSTi软音源时就会得到近乎完美的效果。不过,要想真正达到“零延迟”(指延迟时间在10ms以下),还须对ASIO设备的缓冲区进行设置。

  单击音频属性设置中的Control Panel打开ASIO控制对话框,单击Advance按钮进入高级设置。这里最重要的参数是Buffer Size,也就是音频缓冲区的大小。一般来说,缓冲区设置得大一些,可以增加系统的稳定性,缓解因数据传输或处理过程中的速度差异而导致的爆音现象;而把 缓冲区设置得小一写,则会提升系统的响应时间,减少音频延迟。总之,缓冲区的大小设置,需要根据你所用电脑的CPU和内存等硬件的性能而定。

  设置好音频缓冲区后,音频软件会提示说环境设置已改变,要求进行测试以保证将来的工作正常。测试的主要内容是检查数据包是否会有丢失,整个过程大概需 要数十秒至1分钟左右。当看到如下图所示的成功信息后,你就可以在音频处理软件中充分享受到“零延迟”所带来的种种乐趣了!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-1 10:08:57 | 显示全部楼层

感谢楼上的资料,不过貌似我自己的声卡不支持这么高级的东西,暂时改不了了。

回复 支持 反对

使用道具 举报

发表于 2006-5-1 14:16:26 | 显示全部楼层
我觉得你写的这个软件可以考虑多加点好玩的功能进去,也许会很不错!~~~

至于ASIO采样器,现在有n多做的很牛的商业软件,我觉得没必要吧!~~估计版大是中ASIO毒太深了, 看到能发声的软件就想调ASIO, 哈哈!
回复 支持 反对

使用道具 举报

发表于 2006-5-19 22:11:05 | 显示全部楼层
很好啊!可参考HappyEO等同类软件,取长补短,就更好了。支持你!
回复 支持 反对

使用道具 举报

发表于 2006-6-11 11:49:32 | 显示全部楼层
厉害啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-11 14:22:21 | 显示全部楼层

最新发布了v1.72版,个人感觉已经比较成熟了,下一版本准备支持插件,这样就能更丰富软件功能了。

回复 支持 反对

使用道具 举报

发表于 2011-10-21 09:05:55 | 显示全部楼层
已经比较成熟了.
回复 支持 反对

使用道具 举报

发表于 2011-11-1 09:51:23 | 显示全部楼层

好东西我顶我下我学我用我谢

回复 支持 反对

使用道具 举报

发表于 2011-11-4 10:19:48 | 显示全部楼层
这界面~~~~有点........再做的漂亮点就好了~~~~
回复 支持 反对

使用道具 举报

发表于 2011-11-13 23:01:39 | 显示全部楼层
试用了,非常佩服!希望继续下功夫。
回复 支持 反对

使用道具 举报

发表于 2012-4-15 14:35:03 | 显示全部楼层
请问大侠。。。您的这个音色是调用哪里??是GS波表么?
回复 支持 反对

使用道具 举报

发表于 2013-12-21 13:03:33 | 显示全部楼层
高手,高手,佩服。
回复 支持 反对

使用道具 举报

发表于 2013-12-31 21:46:15 | 显示全部楼层
支持,真的很给力!
回复 支持 反对

使用道具 举报

发表于 2013-12-31 21:52:51 | 显示全部楼层
支持原创。
回复 支持 反对

使用道具 举报

发表于 2014-3-4 13:24:46 | 显示全部楼层
高手啊,自己写程序。非常感谢。
回复 支持 反对

使用道具 举报

发表于 2014-3-5 23:15:30 | 显示全部楼层
支持原创。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 现在注册

本版积分规则

关闭

新闻头条上一条 /1 下一条

【重要通知】|申请友链|Archiver|手机版|第一键盘 - 电子琴信息网 - 电子琴在线论坛 ( 粤ICP备14036084号 )

GMT+8, 2024-3-29 18:16 , Processed in 0.123214 second(s), 42 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表