易码技术论坛

 找回密码
 加入易码
搜索
12
返回列表 发新帖
楼主: linjian525

WQX的MIDI是怎么来的?这么来的!

[复制链接]
发表于 2005-5-4 17:08:00 | 显示全部楼层
以下是引用h9572在2005-5-4 17:03:46的发言:

呵呵,又有新的进展了,研究研究

你研究出什么了吗?
发表于 2005-5-4 21:15:00 | 显示全部楼层
以下是引用QIQI在2005-5-4 19:27:15的发言:

凌阳下的蛋.,....这句话听着怎么这么耳熟,,,,

这么穷研究不如去问问奇奇助手之类的家伙要转换器,,,


我上次曾经尝试着奇奇助手要转换器,可他说MIDI不是GGV出的,没有转换器
发表于 2005-5-5 13:46:00 | 显示全部楼层
為何不成功啊,各位誰會,教一下啊
发表于 2005-5-5 16:17:00 | 显示全部楼层
奇奇助手说过编者不同意公布转换方法.
 楼主| 发表于 2005-5-5 16:31:00 | 显示全部楼层
以下是引用shi111在2005-5-5 16:17:39的发言:
奇奇助手说过编者不同意公布转换方法.

编者是谁?
这种格式又不是他家的,凌阳自己都发布工具,甚至GGV也没权不让别人使用,还有什么好说的。
发表于 2005-5-5 17:51:00 | 显示全部楼层
凌阳这个是光盘中自己带的商业软件哈
配合SPAC买的
 楼主| 发表于 2005-5-5 17:58:00 | 显示全部楼层
凌阳研讨会上送的,我还问了凌阳的人,他们说可以下,可是网上找不到。
发表于 2005-5-5 20:36:00 | 显示全部楼层
为什么不能下 啊,郁闷啊,真希望有个简单的转换工具,我们TC1000S的等着用了,呵呵
发表于 2005-5-14 17:29:00 | 显示全部楼层
有人研究出来了,
-----------------------------------------------
转贴自http://www.tgclc.com/bbs/dispbbs.asp?boardID=2&ID=7127&page=1
-----------------------------------------------
[原创]NC3000和弦音乐DIY

前几天突发其想,把NC3000的和弦音乐用pacmgr打开研究其规律,加之本人又有一点音乐天赋,所以我将心得体会告诉各位星迷们:
准备工作
硬件:一台正常工作的NC3000(好像TC1000/S TC800也可以放和弦,我没试过)
软件:LAVA;pacmgr;GVBASIC(用来创建空文件)
先进入BASIC,创建一个新程序,输入
10 OPEN "A" FOR RANDOM AS #1 LEN=128:FIELD #1,128 AS A$
20 FOR I=1 TO 8UT #1,I:NEXT
30 CLOSE #1
运行以后生成一个A.DAT,大小为1024B的空文件。(够你编了吧,不够就再大点)
进入pacmgr,把这个文件复制到/midi目录下,打开这个文件。(具体原因请看后面~)
现在开始编midi音乐
一、定义
这是一段音乐定义(16进制)
01 30 02 29 0C 31 0F 2A 00 32 09 2C 1E
第一字节01是整曲播放速度(00-1F,越大速度越快),2-5和6-9、10-13是每种音(或鼓点)的种类和响度的定义,每个音(或鼓点)4字节,
1:标号,第一个音为30,第二个为31,第三个为32…,共可定义6个(两个鼓点+四个单音。唉少啊,那些手机32和弦64和弦都有!!!:-P)
2:响度,单音发音时的音量(01-0F值越大越响。鼓点无效,不知为啥。00为无声~有病,不定义就得了啊)
3:种类,值为2X(X=8第二鼓点 X=9第一鼓点,X=ABCD时为单音,A为第一单音,B为第二单音…,定义时先鼓点后单音,并且从小到大无跳越)
4:音色,鼓点00-13,单音 00-22(好像除了这些以外就没有其它的了,不过大家可以式一式。如05代表5号鼓点或5号单音)
例如一首歌速度超慢,一个大鼓,一台钢琴,一个黑管,钢琴声最大,黑管稍小则
01 30 0F 29 0C (0C为大鼓) 31 0F 2A 00 (00为钢琴) 32 09 2B 1E (1E为黑管)
(像什么声音由你听的算,我也听不准)
二、音高定义
21 00 22 02 23 01
一个音(或鼓点)占两字节
1:又一个标号。这个标号必须为上一部分的标号(即30,31,32…)减十加二减鼓点数(16进制的喔,如上例大鼓标号30,且有一个鼓点(大鼓),这里就该输30-10+2-1=21。每个音(包括鼓点)在这里都要注明,否则会跑调的喔^_^)
2:音高,值00-05(太高了不好听,00-03最常用。鼓点音高输00就行了,值越大音调(八度)越高)例如钢琴,黑管都为第一八度则
21 00 22 01 23 01
如何让它们演奏起来呢?
三、演奏
格式为(鼓点+单音+音长)(鼓点和单音顺序可颠倒但必需在音长之前)
1:鼓点,若想奏出鼓点1则91,鼓点2则81(有的话) 鼓点声会在此和弦时奏出(每个和弦只能奏一个鼓点)
2:和弦,A,B,C,D-第1,2,3,4 单音,格式X1Y1 X2Y2 X3Y3 …(种类X∈A,B,C,D 音阶Y∈0-F)这个和弦由几个单音组成就输几组,顺序不限,只要不重复就行,最多四组(当然前面要定义过四个单音)
3:音阶
简谱(⒈为低音⑴为正常)
0停止正在发的音(很常用啊!)
1⒌
2升⒌降⒍
3⒍
4升⒍降⒎
5⒎
6⑴
7升⑴降⑵
8⑵
9升⑵降⑶
A⑶
B⑷
C升⑷降⑸
D⑸
E升⑸降⑹
F⑹
五线谱(第一竖为音调,中间一行为音阶对应的16进制符号,上行为高音,下行为低音,谱的上下可依此类推无限延伸)

此主题相关图片如下:






通过改变升降号可以改变总的调子,比如你喜欢01是⑴03是⑵…不过还是我这种好用^_^
上一个和弦如果有下个和弦没有的种类的话(如A6 02 B8 02 CA 02 发出一个大三弦的琶音,而A6 02 A0 B8 02 B0 CA 02 发出三个相连的⑴⑶⑸大家可以弄到星星上试试效果)则继续播上个和弦的那个音直到该种类被重新播出或用0停止。
4:音长,值01-2F 拍数(值越大音长越长,如08是04长度的一倍,如04为一拍则08为两拍)
如果想改变以后乐曲音高则在音长后重复步骤二音高定义,想改变音色,响度等在音长后重复步骤一(整曲播放速度就省了吧)和步骤二。
例如让钢琴发⑴,4拍后黑管发⑶,8拍后钢琴发⑸,黑管停止发音,并伴鼓点,8拍后鼓点,钢琴停止发音,四拍后结束播放则
A6 04 BA 08 AD B0 91 08 91 A0 04 3F
四:结尾
最后一个和弦的音长后加输一个3F就可停止播放(很重要,不输的话会乱码喔)
相信看到这里你也懂了吧只是头有点昏,比起我研究midi时算不了什么。编midi就这么简单。
但还有一点问题,GGV的midi一定还有其它格式,光那20首里就有几首不能用这种方法解释,希望大家多摸索摸索!(用我这种方法编的碰到任何键都会停止播放,但大陆版的那20首不会,不知为什么!)
还有BASIC里支持边播midi音乐边运行程序且不影响速度,(但只有那几首内置游戏的音乐,郁闷!)大概是POKE了4个数CALL出来的,曾用此法和滚屏做了一个有音乐的跳舞机,但被别人拿去玩YNY以后就没有了,还有好多好东东~5555 希望大家也研究一下播闪存里的(或把闪存里的先放到内存)midi音乐,告别无声游戏的年代!
注意!!!不要频繁使用pacmgr里的“插字节到文件末尾,不要一次插512字节以上或使文件大小超过512的倍数否则轻者遇到错误退出重者造成无可挽回的文件错位(大家可试一试在空文件尾插一个B16文件,按Z看看错位的效果,按热键不保存退出,但在修改重要文件没做备份又不知情的情况下保存了后果……在LEE的系统工具连环画册用抓图代替当前页多来几次也会有相同效果,唉屡试不爽!,BASIC的随机文件也会啊~5555)文曲星BUG真多啊,(但也不排除pacmgr的插字节可能有BUG)所以才叫大家创建空文件然后来改,虽麻烦但安全!
有了方法大家可以编好听的歌了,对内置的那20首说再见吧!
求哪位大哥能把这种方法做成程序(LAVA或BIN都行)小弟感激不尽,像这样编歌头会很晕手指也会受不了-_-
附上三首我编的歌,和弦效果很好喔,大家在编歌时可参考参考,好听的歌需要时间,这三首用钢琴谱编的歌有点幼稚,大家不要笑话喔。

点击浏览该文件
这几天期中考高二忙啊,有问题或建义跟贴说明,我会尽量解答,下载作弊资料考试去咯!
ByXYZ程序站
智翔
昆明八中高二⑶班  欢迎大家到此讨论切磋编程问题!
大家快来上传好听的歌啊!
发表于 2005-5-16 18:00:00 | 显示全部楼层
以下是引用eeppcc在2005-5-3 21:12:07的发言:

似乎还没有人能成功

要是能把通用MIDI转成WQXmidi就好了



谁弄好了啊??????
 楼主| 发表于 2005-5-3 16:15:09 | 显示全部楼层 |阅读模式
简单地说,是凌阳下的蛋。

凌阳就是产NC3000里的SPCE061A的那家,它也产兼容6502的芯片。据说,WQX全线和好记星都用凌阳的芯片。

wqx里的midi其实不是电脑里的midi,大家是知道的。其实,WQX里的midi用的是凌阳的SACM_MS01格式,凌阳在其他地方把它的后缀定为bin。要得到这个bin,有这样的一个过程:
         1.用某个文本编辑器编辑曲谱(这个难),得到POP文件;
            或: 将普通midi转为POP文件(曲谱);

        2. 转化为bin,即WQX的midi;

        3.对凌阳来说,bin是资源文件,供程序使用;对WQX来说,就是所谓的midi。

凌阳提供相应工具,但我还不知道怎么使用。我在它的IDE里发现了这些“bin”,传上来给大家,但是好象听过的。有一些个人没听过,反正它小,都传上来了。里面有一个已经打成包了。


另外,凌阳的工具也一并附上:


这个是凌阳网站上的,可以看看【实验原理】 其他就没对WQX什么价值了
http://www.unsp.com.cn/app/html/2005422151858.shtml

!!!请大家研究一下,我还搞不明白


PS:这个怎么会没人贴出来?(还是有这样的帖子,我没看到?)不是听说有人做出WQX上的midi了吗?
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2024-5-5 20:03 , Processed in 0.014429 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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