一种实现字符随曲变的娱乐 教学方法及插卡等装置 本发明涉及游戏机(或电脑学习机)以及在其上使用的插卡,特别是一种能实现字符随曲同步改变显示状态的卡拉OK、音乐欣赏、音乐教学的方法及插卡等装置。
公知的游戏机(或电脑学习机)可以使用多种游戏插卡,运行丰富多彩的游戏节目,但是到目前为止还没有一种不另用外存媒介就能实现调随曲同步显示的卡拉OK等功能的插卡。
本发明的目的是提供一种在游戏机(或电脑学习机)上用插卡,不另用磁带、CD盘等外存媒介,来实现件随着歌曲音乐在屏幕上显示相对应的文字(歌词、乐谱等),并用不同的显示方式指示音乐与文字的同步关系的卡拉OK,音乐欣赏、音乐教学的方法及插卡等装置。
本发明的目的是通过下述的方法和插卡以及附件来实现的。
一种在游戏机上或电脑学习机上使用插卡实现词曲同步的卡拉OK、音乐欣赏、音乐教学的方法主要是:
1、设置了包括若干首歌曲或乐曲的歌词和乐谱出现字符集合在内的字符库,其容量不超过4096个,可用不超过12位地二进制代码代表该字符库中的每一个字符,当然也可以直接借用国标一级字库或一、二级字库再加上乐谱符号即可。如果借用国标一、二级字库,则要增加代码位数。用字库中字符的代码做卡拉OK,音乐欣赏、音乐教学的歌曲、乐曲中歌词或乐谱的编码。
2、以使用本发明的游戏机或电脑学习机机内的音源发生电路的控制代码做卡拉OK、音乐欣赏、音乐教学歌曲、乐曲的编码。
3、以上述1项和2项的编码为主,把每首歌曲按照乐曲的旋律要求,把乐曲编排成具有节拍时值的编码数据,把歌词编排成由其每个字符对应乐曲的一个或几个音的节拍数和来决定该字符改变显示状态(如改变颜色、反显等形式)快慢,并靠设置换行命令(代码)或靠某行音乐代码或该行歌词处理完标记来换行的编码数据,乐曲或歌词的编码数据可单独成块,也可混合编排成块。
4、把若干首歌曲按上述3项编排好的教据,再配上菜单目录,做成卡拉OK、音乐欣赏的词曲库(相似地可做成音乐教学曲谱、乐曲库)。
5、以使用本发明的游戏机或电脑学习机中CPU机器语言编制完成上述3、4两项任务的卡拉OK、音乐欣常、音乐教学监控程序。
6、把上述1、4、5三项固化在ROM中并与其它元件做成插卡,使用时插在游戏机或电脑学习机上,靠手柄或键盘调出某首歌的数据,把音乐代码送主机内音源发生电路发声。用字符代码从字库中调出点阵供显示,用改变(歌词)显示状态的编码来使字符显示与音乐同步。
7、设置(或利用)一个卡拉OK话筒支路,拾取按照屏幕歌词提示的卡拉OK唱者的歌声信号并放出来。该支路可直接做在卡上或直接做在主机内,或做成单独的附件插在游戏机或电脑学习机上相适应的插座或插脚上。甚至可把已放大了的卡拉OK话筒信号直接送进AV输出插座伴音脚上。也可以直接利用一些游戏机装在操作手柄里的MIC电路,只是受该电路本身限制、效果较差。
实现本发明的目的的装置主要包括:(1)一个固化着包含着若干首歌的词或谱出现字符集合的字符库;固化着用本发明方法编码的卡拉OK,音乐欣赏词曲库或音乐教学用曲、谱库,(视不同容量ROM及歌曲的长短可由几十首到上千首歌(1)中的若干首的量同此),固化着用本发明方法编制的卡拉OK、音乐欣常、音乐教学监控程序的ROM,它装在插卡的印刷电路板上,通过游戏机或电脑学习机的卡插座挂在机内CPU的AB、DB、CB总线上。它和采用本发明的游戏机或电脑学习机插座相配的印刷电路板及外壳等构成一个插卡。(2)一台游戏机或电脑学习机,使用时本卡插在游戏机或电脑学习机上使其运行,用手柄或键盘调出卡中存储的歌曲,把音乐代码送到主机的音源电路使其发声,字符代码从字库中调出点阵供显示,用改变显示状态的编码来随着音乐的旋律要求换行及改变字符的显示状态,使之与音乐同步。(3)至少一个卡拉OK话筒支路。如卡拉OK则拾取按照屏幕歌词提示歌声信号传至主机内从RF电路或音频输出端放出来。
对于用本发明的卡与任天堂类游戏机或由此扩展而成的电脑学习机来实现本发明,还必须采取一些措施:a、在本卡上设置一个CPU对ROM全部地址寻址的地址扩展电路;b、一个存储画面字符点阵和背景图案的VPAM。为了简捷还可在本卡上设置一个由话筒插座和放大电路等构成的卡拉OK话筒之路,把拾取的话筒信号放大后通过卡的第46脚送到主机内。为了加强打击乐的效果,以补任天堂音源电路的不足,还可设置一种或数种,诸如高、低音数、板等的打击乐器模拟电路,每种都由双T或RC振荡器等电路构成,其触发脉冲由CPU通过适当的I/O提供。该电路可直接做在卡上经过锁存电路受CPU控制,更适宜的是做成一个外附件插在主机的15芯扩展插座上,在该插座上取得电源,接受GPU的控制脉冲,并把已形成的打击乐摸拟信号经该插座的音频输入端送入主机内。如果卡拉OK话筒支路也是做附件插在此15芯扩展插座上,可把打击乐摸拟电路和话筒支路做成一个附件插在15芯扩展插座上,这样即经济、使用也方便。
如果每个卡上都装上话筒支路,会使制造者与使用者都增加成本。另外还有其它一些使用本发明的游戏机(或电脑学习机)插卡上不能直接把话筒信号传到主机内,因此可以把话筒支路(包括话筒插座或无线接收部件及音频放大电路,混响延时电路等)直接装在主机内,拾取话筒信号经该支路送至RF电路或音频输出端。也可以把该话筒支路做成一个独立的附件,插在主机的某个插座上(如任天堂的15PIN扩展插座等)或某插脚上(如SEGA公司MEDADRIVE的扩展插口),在其上取得附件用的工作电源,并把拾取并经放大,混响等处理后的话筒信号从插座或插脚上能进入音频通道的脚上传到主机内,送RF电路或音频输出端,如果更简单一点,可把已放大的卡拉OK话筒信号直接从A/V的输出插座的伴音输出端送至主机内。也可以借用那些本身已配备MIC的游戏机手柄,拾取卡拉OK者的歌声传至主机内,只是受该MIC及由门电路充当话筒放大电路等原因效果差一些。
为了能方便地更换不同节目内容的词曲库,本发明卡中的ROM可装在一个IC插座上。
以上说明中的卡是能实现本发明目的之单一功能的卡。
然而本发明的方法还可用于多种游戏机或学习机上用的游戏卡、声像卡、多功能学习卡,使这些卡可以不另用外存媒介就能实现字随曲变的卡拉OK、音乐欣赏、音乐教学功能。
对于一些卡上没有字库的游戏卡或声像卡,在卡上增设用本发明方法编制的字库,词曲等库,以及包括游戏或声像学习状态与卡拉OK等状态能互相转换功能(如调用原来卡上的游戏或声像学习程序)在内的卡拉OK,音乐欣赏、教学监控程序,以及增加ROM后相应需增加的地址扩展电路,再配之卡拉OK话筒支路,就能使原来的游戏卡、声像卡即保留了原有的节目功能,又实现字随曲变的卡拉OK、音乐欣赏、音乐教学功能。对于一些卡上已有国标一级或二级字库的多功能学习卡,使用本发明的方法,除了能利用卡上现有的字库外,其余设置与改变和没有字库的卡一样,不再赘述。
本发明由于采取了上述方法和措施,能够用插卡在游戏机(或电脑学习机)上,实现字随曲变的卡拉OK、音乐欣赏、音乐教学功能,在一个卡上可存几十首乃至上千首歌曲,以菜单选曲方便灵活,且无机械转动磨损可靠耐用,开辟了游戏机和电脑学习机的新用途。
下面结合附图和实施例对本发明作进一步描述:
图1是本发明的一个实施例电原理图。
图2是本发明的一个实施例的工作流程图。
图1中的实施例是为任天堂类游戏机或由它扩展而成的学习机所用。它由ROM,ROM地址扩展电路,VRAM,卡拉OK话筒支路,带插脚的双面印刷电路板、外壳等构成,插在游戏机或电脑学习机上的插座内与机内电路相联。其中ROM的容量为2兆位,它的D0~D7直接与CPU的D0~D7相联,A0~A13直接与CPV的A0~A13相联,A14~A17经过4个锁存器和4个或门电路组成的地址扩展电路与CPU的D0~D3相联,经“或”电路和CPU的A14相“或”取得地址信号,它的CE端,锁存电路的CK端与机内的译码电路2Y3(ROMS)相联。该ROM装在IC插座上,以便更换不同节目内容的ROM。其地址表为00000~n是100首至200首歌曲(视不同长短的歌曲)中出现的约3000个字符的16×16点阵或一些乐谱符号点阵所占用的空间:这些首歌曲用本发明的方法编码成词曲库或乐曲乐谱库,其中每个字符用12位二进制代码,乐曲用任天堂音源发生电路控制代码,每个音用16位二进制代表,再加上其它编码共占用空间为n+1~3DFFF,余下的3E000~3FFFF是存放用本发明方法编制的卡拉OK、音乐欣赏、音乐教学监控程序及一些数据。其作用是为主机提供监控程序和字府库、词曲库。如果借用国标字库再加上乐谱符号,则地址表可做相应改变。VRAM为8K字节的6264,其D0~D7直接与PPU的DB0~DB7相联,CE端与PPU的PA13相联,WE与PPU的R/W相联。其作用是存储画面字符点阵和背景图案等。卡拉OK话筒支路为求简捷由一个话筒输入插座联接运算放大电路的输入端,运放电路的输出端的话筒信号通过卡上的第46插脚送到主机的RF电路的音频调制电路或音频输出插座。
在本实施例中,音乐代码是按照乐曲的旋律要求以行为单位存储的,歌词字符代码是参照歌词的意思。以行为单位存储的,为此设置了根据乐曲发音顺序和对应的歌词的行指针(包括一行音乐代码的开始地址以及对应的一行歌词代码的开始地址),在接收到换行命令时,将歌词行的开始地址(即行指针)指向的一行歌词显示出来。在音乐代码行显有显示歌词字符的换行符(即显示一行歌词的命令),有换字符(即将指针指向下一个字符),有改变音色、音量及每分钟节拍数等符号,以及每个音符节折数的代码(即音的长短),歌词每个字符改变显示状态时值(快慢)是由对应乐曲一个或几个音符的节折数和来决定,使之与音乐发言同步。
工作过程参照图2:初始化CPU、PPU、并将ZDCS1←0,n1←0,n3←0。(1)将ROM中的歌曲名以分屏菜单形式显示,并通过游戏机操作手柄或学习机键盘将光标移动到某一首歌名上,并选中该歌,清除屏幕,显示背景画面及歌名,并将该首歌的地址赋DZ1;(2)将DZ1开始的地址中一行曲的地址赋DZ11和一行词的地址→DZ2,并判断DZ11是否为结束标记,是则转到1,不是则,(3)读出DZ11中一行曲音符的个数赋A1,DZ11加1:(4)读出DZ11的内容,且DZ11加1,并判断该字节代表的是音符还是命令,是音符则转到(5)做发音处理,是命令则判断该命令是否为改变音色、音量还是换行、换字命令,如是改变音色和音量命令,则赋音源后转到(8),是换行命令则转到(6),是换字命令则转到(7),(6)将汉字一行指针DZ2开始的一行汉字,(头一个字节是汉字个数)显示到屏幕上。
(7)计算DZ11开始的音到下一个音是体止符或换字、换行命令的节折数和的中断次数,根据中断次数计算出该汉字分几次改变显示状态→n1,和每次移动列数(改变顔色、反显等)→n2,和每次改变显示状态所需中断数→n,并将n→n3,(8)判断音是否发完(即ZDCS1=0),没发完则转到(10),发完则转到(9),(9)将音的数A1递减(A1←A1-1)并判断是否为0,是则转到(2)处理下一行曲和词,不等于0,则转到(4)继续发音。(10)判断n1=0吗?如等于0(即汉字移动光标)则转到(8),不等干0,则判断n3=0吗?不等于0,则转到(8),等于0则移动n2到(即改变该汉字的显示状态),n1←n1-1,n→n3,然后转到(8)。
中断子程序:是利用PPU每20ms向CPU发出不可屏蔽中断,程序执行时,先保存标记寄存器的内容,判断ZDCS1是否为0,是到转ZD2,不是0,则将n3递减1(ZD2),恢复标记寄存器的内容,然后退出中断转到(8),继续判断音是否发完。
至于打击乐(如鼓声)及可根据小节节拍数和一分钟的节拍数计算出每次发出鼓点音的中断次数悬挂到中断程序上发出鼓音。如果音乐代码和汉字代码都按位(比如字符用12位就足够)处理,同样可以实现上述功能。