易码技术论坛

 找回密码
 加入易码
搜索
查看: 664643|回复: 19

[原创]NC3000和弦音乐DIY

 关闭 [复制链接]
发表于 2005-5-11 12:33:00 | 显示全部楼层
安全么!!~~
可以听么!!~~~
发表于 2005-5-11 13:09:00 | 显示全部楼层
好!
 楼主| 发表于 2005-5-12 12:26:00 | 显示全部楼层
绝对安全,可不可以听那要看你怎么编啦。
发表于 2005-5-12 12:47:00 | 显示全部楼层
楼主厉害啊........
版主过来加精,,,,,,,,,,,,,
发表于 2005-5-12 18:15:00 | 显示全部楼层
那么TC800怎么做?
发表于 2005-5-13 20:27:00 | 显示全部楼层
tc800不支持下载midi的........

发表于 2005-5-13 21:35:00 | 显示全部楼层
这个的确强悍,佩服楼主中..........
顺便问下楼主SYZ程序站有相关的页面吗?
发表于 2005-5-14 12:31:00 | 显示全部楼层
顶!!!!
发表于 2005-5-14 12:32:00 | 显示全部楼层
佩服....只不过是我音乐水平太差了..
连什么是8度我都不知道..
发表于 2005-5-15 08:05:00 | 显示全部楼层
谢谢楼主,我以学会了。成功编译
发表于 2005-5-21 14:57:00 | 显示全部楼层
聪明
发表于 2005-5-15 12:18:00 | 显示全部楼层
以下是引用shi111在2005-5-15 8:05:14的发言:
谢谢楼主,我以学会了。成功编译


嘿!发出来呀
发表于 2005-5-15 13:04:00 | 显示全部楼层
我有歌谱,楼上可否编出来啊
发表于 2005-5-15 15:09:00 | 显示全部楼层
不知为什么,有时间限制,放一段自己就停了.除非将整曲调快,就能延长播放时间,楼主能解决吗?
发表于 2005-5-15 16:45:00 | 显示全部楼层
楼上的仙剑很好听哟!
把你的歌复制一遍,再拼接(记得去掉3F)就好了
而且按任意键不会停止播放
 楼主| 发表于 2005-5-17 12:42:00 | 显示全部楼层
还有,通过编译内置的那二十首歌发现有一小点错,应该是先定义音高,在定义音色那些,不过不会影响,先定义哪个都可。还有鼓点80以后还有很多,而且可以设定响度,感谢上传歌的网友们![em01]
发表于 2005-5-20 15:32:00 | 显示全部楼层
有人找不到这帖子
发表于 2007-9-29 18:50:36 | 显示全部楼层
谢谢
发表于 2007-9-30 13:55:41 | 显示全部楼层
挖老贴!
 楼主| 发表于 2005-5-11 11:48:23 | 显示全部楼层 |阅读模式
[原创]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程序站
智翔
昆明八中高二⑶班  欢迎大家到此讨论切磋编程问题!

大家快来上传好听的歌啊![em01]

您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

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

GMT+8, 2024-4-23 18:27 , Processed in 0.014643 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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