專利名稱:樂(lè)音生成裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通過(guò)按鍵樂(lè)音數(shù)據(jù)和音頻數(shù)據(jù)協(xié)作的樂(lè)音生成裝置。
背景技術(shù):
在電子樂(lè)器中,所謂的“自動(dòng)伴奏”的功能為人們熟知。在自動(dòng)伴奏的功能中,存 儲(chǔ)有預(yù)定的樂(lè)曲的自動(dòng)伴奏模式的數(shù)據(jù),按照預(yù)定拍子,依次讀入其數(shù)據(jù),發(fā)出構(gòu)成自動(dòng)伴奏的樂(lè)音。演奏者一邊聽(tīng)該自動(dòng)伴奏,一邊在由樂(lè)曲規(guī)定的時(shí)刻,按動(dòng)預(yù)定的部分(一般為旋律)的鍵,由此,發(fā)出完成的樂(lè)曲的樂(lè)音。在自動(dòng)伴奏模式中,在符合自動(dòng)伴奏模式所示的伴奏序列的發(fā)音時(shí)刻,發(fā)出相當(dāng)于預(yù)定的代碼的組成音的樂(lè)音。另外,在自動(dòng)伴奏模式中,還包含構(gòu)成旋律音的對(duì)旋律等的伴奏音與節(jié)奏音。這樣的自動(dòng)伴奏具有與演奏者通過(guò)操作按鍵產(chǎn)生樂(lè)音相同的發(fā)音形式。S卩,在按照伴奏序列的發(fā)音時(shí)刻,將包含音高和音色的音符開(kāi)事件(note on event)發(fā)送給音源部,音源部從存儲(chǔ)有波形數(shù)據(jù)的ROM,對(duì)于指定的音色的數(shù)據(jù),按照符合音高的速度,讀取波形數(shù)據(jù),由此,輸出預(yù)定的音色和音高的樂(lè)音波形數(shù)據(jù)。在具有這樣的自動(dòng)伴奏功能的電子樂(lè)器中,并不限于演奏者熟練地進(jìn)行樂(lè)曲的演奏,具有沒(méi)有在標(biāo)準(zhǔn)的按鍵時(shí)刻,按鍵的情況或者按鍵錯(cuò)誤的情況。在日本特開(kāi)2000-206965號(hào)文獻(xiàn)或日本特開(kāi)2007-114539號(hào)文獻(xiàn)中公開(kāi)的電子樂(lè)器中,此時(shí),使自動(dòng)伴奏模式的讀取恰當(dāng),防止產(chǎn)生僅伴奏隨便地進(jìn)行的情況。另一方面,人們提出了下述的電子樂(lè)器,其接收來(lái)自音頻播放器等其它的音響設(shè)備的音頻數(shù)據(jù),或接收對(duì)來(lái)自麥克風(fēng)等的音響信號(hào)進(jìn)行采用得到的音頻數(shù)據(jù),可以再生這樣的音頻數(shù)據(jù)和從音源部發(fā)出的樂(lè)音波形數(shù)據(jù)雙方。例如,可考慮下述的裝置,將音頻數(shù)據(jù)作為自動(dòng)伴奏進(jìn)行再生,使旋律音成為根據(jù)演奏者的鍵操作通過(guò)音源部形成的樂(lè)音波形數(shù)據(jù)。此時(shí),因?yàn)榘凑疹A(yù)定的采樣頻率讀取音頻數(shù)據(jù),所以具有下述的問(wèn)題,難以在演奏者無(wú)法在標(biāo)準(zhǔn)的按鍵時(shí)刻按鍵時(shí),與演奏者的演奏相配合地控制音頻數(shù)據(jù)的讀取。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種樂(lè)音生成裝置,在作為自動(dòng)伴奏再生音頻數(shù)據(jù)時(shí),能夠?qū)?yīng)于演奏者的鍵操作,實(shí)現(xiàn)恰當(dāng)?shù)囊纛l數(shù)據(jù)的讀出。本發(fā)明的目的通過(guò)下述的樂(lè)音生成裝置實(shí)現(xiàn),該樂(lè)音生成裝置具備
存儲(chǔ)單元,其存儲(chǔ)樂(lè)曲數(shù)據(jù)以及作為上述樂(lè)曲數(shù)據(jù)的樂(lè)曲的伴奏數(shù)據(jù)的音頻數(shù)據(jù),上述樂(lè)曲數(shù)據(jù)包含構(gòu)成樂(lè)曲的樂(lè)音的音高和表不發(fā)音時(shí)刻的時(shí)間信息;樂(lè)音數(shù)據(jù)生成單元,其根據(jù)多個(gè)演奏操作鍵的操作,生成預(yù)定的樂(lè)音的樂(lè)音數(shù)據(jù);以及音頻數(shù)據(jù)再生單元,其按照基于上述樂(lè)曲數(shù)據(jù)中包含的時(shí)間信息的經(jīng)過(guò)時(shí)間,讀取并再生上述音頻數(shù)據(jù),上述音頻數(shù)據(jù)再生單元具備操作判斷單元,其判斷上述多個(gè)演奏操作鍵中的某個(gè)演奏操作鍵的操作時(shí)刻是否與上述樂(lè)曲數(shù)據(jù)所示的發(fā)音時(shí)刻一致;
再生控制單元,其在通過(guò)該操作判斷單元判定不一致時(shí),將上述音頻數(shù)據(jù)的讀取位置從與上述操作時(shí)刻相對(duì)應(yīng)的零交叉點(diǎn)跳到與上述發(fā)音時(shí)刻對(duì)應(yīng)的零交叉點(diǎn),之后繼續(xù)進(jìn)行通常的音頻數(shù)據(jù)的讀出再生。
圖I為表示本實(shí)施方式的電子樂(lè)器的外觀的圖;圖2為表示本發(fā)明的實(shí)施方式的電子樂(lè)器的結(jié)構(gòu)的方框圖;圖3為在本實(shí)施方式中,進(jìn)行歌曲伴奏時(shí)的樂(lè)曲數(shù)據(jù)和其按鍵時(shí)刻的例子的圖;圖4為在本實(shí)施方式中,進(jìn)行歌曲伴奏時(shí)的樂(lè)曲數(shù)據(jù)以及其按鍵時(shí)刻的例子的圖;圖5為在本實(shí)施方式中,進(jìn)行歌曲伴奏時(shí)的樂(lè)曲數(shù)據(jù)和其按鍵時(shí)刻的例子的圖;圖6A為表示本實(shí)施方式的樂(lè)曲數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)例子的圖,圖6B為存儲(chǔ)在處理的過(guò)程中設(shè)定的數(shù)據(jù)的寄存器組的例子的圖;圖7A為表示在本實(shí)施方式的電子樂(lè)器中進(jìn)行的主流程的例子的流程圖,圖7B為表示本實(shí)施方式的計(jì)時(shí)器中斷處理的例子的流程圖;圖8為更具體地表示本實(shí)施方式的鍵盤(pán)處理的例子的流程圖;圖9為表示本實(shí)施方式的課程鍵盤(pán)處理的例子的流程圖;圖10為表示本實(shí)施方式的歌曲處理的例子的流程圖;圖11為表示本實(shí)施方式的歌曲開(kāi)始處理的例子的流程圖;圖12為表示本實(shí)施方式的樂(lè)音再生處理的例子的流程圖;圖13為表示本實(shí)施方式的循環(huán)點(diǎn)查找處理的例子的流程圖;圖14為說(shuō)明本實(shí)施方式的循環(huán)點(diǎn)的檢測(cè)的例子的圖;圖15為表示本實(shí)施方式的歌曲音頻再生處理的例子的流程圖;圖16A以及圖16B為表示本實(shí)施方式的歌曲音頻再生處理的例子的流程圖;圖17為表示本實(shí)施方式的音源發(fā)音處理的例子的流程圖;圖18為表不在本實(shí)施方式中,樂(lè)曲的按鍵(音符開(kāi))和離開(kāi)鍵(音符關(guān))的時(shí)刻和音頻數(shù)據(jù)的例子的圖;圖19為表示演奏者的提前按鍵時(shí)的音頻數(shù)據(jù)的例子的圖;圖20為表示本發(fā)明的另一實(shí)施方式的樂(lè)曲數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)例子的圖;圖21為表不另一實(shí)施方式的循環(huán)點(diǎn)查找處理的例子的流程圖。
用于準(zhǔn)備的實(shí)施例的具體描述下面參照附圖,對(duì)本發(fā)明的實(shí)施方式進(jìn)行說(shuō)明。圖I為表示本實(shí)施方式的電子樂(lè)器的外觀的圖。如圖I所示的那樣,本實(shí)施方式的電子樂(lè)器10具有鍵盤(pán)11。另外,在鍵盤(pán)11的上部,具有用于進(jìn)行音色指定,后述的按照音頻數(shù)據(jù)的歌曲伴奏的開(kāi)始./結(jié)束等的開(kāi)關(guān)(參照標(biāo)號(hào)12,13),顯示與演奏的樂(lè)曲有關(guān)的各種的信息,比如,音色,樂(lè)譜等的顯示部15。本實(shí)施方式的電子樂(lè)器10例如具有61個(gè)鍵(C2 C7)。圖2為表示本發(fā)明的實(shí)施方式的電子樂(lè)器的結(jié)構(gòu)的方框圖。如圖2所示,本實(shí)施方式的電子樂(lè)器10包括CPU21,R0M22, RAM23,音響系統(tǒng)24,鍵盤(pán)11,輸入接口(I/F)14,顯示部15,與具有上述開(kāi)關(guān)11,12的開(kāi)關(guān)組16。CPU21進(jìn)行電子樂(lè)器10的整體的控制,鍵盤(pán)11的鍵的按動(dòng),構(gòu)成開(kāi)關(guān)組16的開(kāi)關(guān)(比如,參照?qǐng)DI的標(biāo)號(hào)12,13)的操作的檢測(cè)、按照鍵或開(kāi)關(guān)的操作的音響系統(tǒng)24的控 制,符合音頻數(shù)據(jù)的歌曲伴奏等的各種處理。R0M22存儲(chǔ)CPU21進(jìn)行的各種的處理,比如,開(kāi)關(guān)的操作,鍵盤(pán)中的某個(gè)鍵的按鍵,與按鍵相對(duì)應(yīng)的樂(lè)音的發(fā)音,符合音頻數(shù)據(jù)的歌曲伴奏等的程序。另外,R0M22具有存儲(chǔ)用于生成鋼琴、吉他、小提琴、喇叭、單簧管等各種音色的樂(lè)音的波形數(shù)據(jù)的波形數(shù)據(jù)區(qū)域;存儲(chǔ)包含應(yīng)按動(dòng)的鍵和該按鍵時(shí)刻的樂(lè)曲數(shù)據(jù)的樂(lè)曲數(shù)據(jù)區(qū)域;以及存儲(chǔ)音頻數(shù)據(jù)的音頻數(shù)據(jù)區(qū)域。RAM23存儲(chǔ)從R0M22讀出的程序、在處理的過(guò)程中產(chǎn)生的數(shù)據(jù)。另外,在RAM23中還具有存儲(chǔ)經(jīng)由輸入I/F14,從其它的音響裝置30接收的音頻數(shù)據(jù)的音頻數(shù)據(jù)區(qū)域。音頻數(shù)據(jù)是按照預(yù)定的采樣頻率進(jìn)行采樣得到的,例如PCM數(shù)據(jù),從音頻數(shù)據(jù)區(qū)域的開(kāi)始地址依次存儲(chǔ)數(shù)據(jù)值。輸入I/F 14能夠與其它的音響裝置30連接,可接受來(lái)自其它的音響裝置30的音頻數(shù)據(jù)。音頻數(shù)據(jù)通過(guò)CPU21,存儲(chǔ)在RAM23的音頻數(shù)據(jù)區(qū)域。此外,音頻數(shù)據(jù)與從起始地址的數(shù)據(jù)開(kāi)始的經(jīng)過(guò)時(shí)間相對(duì)應(yīng)。音響系統(tǒng)24包括音源部26,音頻電路27,揚(yáng)聲器28和音頻數(shù)據(jù)再生部29。音源部26例如在從CPU21接收到有關(guān)按動(dòng)的鍵的信息或自動(dòng)伴奏模式的信息時(shí),從R0M22的波形數(shù)據(jù)區(qū)域讀出預(yù)定的波形數(shù)據(jù),生成并輸出預(yù)定的音高的樂(lè)音數(shù)據(jù)。另外,音源部26也可將波形數(shù)據(jù),特別是小鼓、低音大鼓、鐃鈸等打擊樂(lè)器的音色的波形數(shù)據(jù)原樣不變地作為樂(lè)音數(shù)據(jù)輸出。另外,音頻數(shù)據(jù)再生部29按照采樣頻率,另外依照基于樂(lè)曲數(shù)據(jù)中包含的時(shí)間信息的經(jīng)過(guò)時(shí)間,讀出在音頻數(shù)據(jù)區(qū)域中存儲(chǔ)的音頻數(shù)據(jù)。另外,音頻數(shù)據(jù)再生部29如后所述,接受2個(gè)循環(huán)點(diǎn)(循環(huán)源時(shí)刻和循環(huán)目的地時(shí)刻),能夠進(jìn)行循環(huán)點(diǎn)之間的音頻數(shù)據(jù)的循環(huán)再生。音頻電路27將樂(lè)音數(shù)據(jù)和音頻數(shù)據(jù)合成,對(duì)合成后的數(shù)據(jù)進(jìn)行D/A變換處理后對(duì)其進(jìn)行放大。由此,從揚(yáng)聲器28輸出聲音信號(hào)。圖3 圖5是表示在本實(shí)施方式中,進(jìn)行歌曲伴奏時(shí)的樂(lè)曲數(shù)據(jù)和其按鍵時(shí)刻的例子的圖。在圖3中,在標(biāo)準(zhǔn)時(shí)刻的樂(lè)曲數(shù)據(jù)中,在最初的休止符(時(shí)間t0)后,按鍵(接通),在時(shí)間tl (I)后離鍵,并且在時(shí)間t2 (I)后,進(jìn)行下一個(gè)按鍵(按鍵時(shí)間tl (2))。在實(shí)際的按鍵動(dòng)作(標(biāo)號(hào)320)中,適當(dāng)?shù)剡M(jìn)行了最初的按鍵和離鍵。但是,在離鍵后經(jīng)過(guò)t2(l),在時(shí)刻T(參照標(biāo)號(hào)322),應(yīng)當(dāng)按動(dòng)下一個(gè)鍵,但是經(jīng)過(guò)t2’ ( < t2(l))(參照標(biāo)號(hào)310),在時(shí)刻T’(參照標(biāo)號(hào)321),進(jìn)行了下一次的按鍵。即,按鍵提前了 T-T’( = t2(l)-t2’)。因此,在此以后,樂(lè)曲數(shù)據(jù)的讀入需要提前T-T’(參照標(biāo)號(hào)311)。
在圖4中,在實(shí)際的按鍵動(dòng)作(標(biāo)號(hào)420)中,適當(dāng)?shù)剡M(jìn)行了最初的按鍵和離鍵。但是,在圖4的例子中,在最初的離鍵后,即使經(jīng)過(guò)了 t2(l)后也沒(méi)有按動(dòng)下一個(gè)鍵(參照標(biāo)號(hào)410)。例如,如圖5所示的那樣,認(rèn)為在最初的鍵的離鍵后,在經(jīng)過(guò)時(shí)間t” ( > t2(l))后,在時(shí)刻T”(參照標(biāo)號(hào)521)進(jìn)行了按鍵。此時(shí),按鍵延遲了 t”-t2(l)。因此,樂(lè)曲數(shù)據(jù)的讀入需要延遲t”-t2(l)(參照標(biāo)號(hào)512)。另外,在標(biāo)號(hào)511所示的時(shí)間,無(wú)法讀出音頻數(shù)據(jù)的新的地址的數(shù)據(jù)。在本實(shí)施方式中,如后述的那樣,通過(guò)按動(dòng)按鍵而產(chǎn)生樂(lè)音是通過(guò)音源部26生成的樂(lè)音,但是,歌曲伴奏通過(guò)音頻數(shù)據(jù)的再生來(lái)實(shí)現(xiàn),所以如圖3或圖5所示的那樣,在按鍵提前或延遲時(shí),需要使音頻數(shù)據(jù)的讀出適當(dāng)化。在本實(shí)施方式中,通過(guò)后述的方式,實(shí)現(xiàn)讀出的適當(dāng)化。圖6A為表示本實(shí)施方式的樂(lè)曲數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)例子的圖,圖6B為存儲(chǔ)在處理過(guò)程中設(shè)定的數(shù)據(jù)的寄存器組的例子的圖。如圖6A所示的那樣,樂(lè)曲數(shù)據(jù)600包括表示時(shí)間間隔的時(shí)間的記錄(參照標(biāo)號(hào)601,603,605),具有應(yīng)按動(dòng)的鍵的音高的音符開(kāi)事件的記錄 (參照標(biāo)號(hào)602)和具有應(yīng)離鍵的音高的音符關(guān)事件的記錄(參照標(biāo)號(hào)604)。最初的時(shí)間的記錄存儲(chǔ)直到最初的按鍵為止的期間的時(shí)間t0。該時(shí)間t0相當(dāng)于樂(lè)曲的前奏的時(shí)間。另外,在音符開(kāi)事件的記錄與音符關(guān)事件的記錄之間的時(shí)間的記錄中存儲(chǔ)的時(shí)間tl表示按鍵時(shí)間。另外,在音符關(guān)事件的記錄和音符開(kāi)事件的記錄之間的時(shí)間的記錄中存儲(chǔ)的時(shí)間t2表示從離開(kāi)某個(gè)鍵開(kāi)始,到按壓下一個(gè)鍵的時(shí)間間隔。如圖6B所示的那樣,RAM23中的寄存器組610具有經(jīng)過(guò)時(shí)間寄存器,時(shí)間信息寄存器,本次音高信息寄存器,下次音高信息寄存器,歌曲經(jīng)過(guò)時(shí)間寄存器,正解標(biāo)志,狀態(tài)寄存器,循環(huán)再生標(biāo)志。在經(jīng)過(guò)時(shí)間寄存器中,存儲(chǔ)有在歌曲處理期間經(jīng)過(guò)的時(shí)間。在時(shí)間信息寄存器中,存儲(chǔ)音符開(kāi)事件之間的時(shí)間間隔(A t = tl+t2)。在本次音高信息寄存器和下次高信息寄存器中,存儲(chǔ)在音符開(kāi)事件的記錄中包含的音高信息。另外,歌曲經(jīng)過(guò)時(shí)間寄存器存儲(chǔ)有從歌曲開(kāi)始起的經(jīng)過(guò)時(shí)間。在狀態(tài)寄存器中存儲(chǔ)有電子樂(lè)器10的演奏狀態(tài)。下面對(duì)在本實(shí)施方式的電子樂(lè)器10中進(jìn)行的處理進(jìn)行說(shuō)明。圖7A表示在本實(shí)施方式的電子樂(lè)器中進(jìn)行的主流程的例子的流程圖。另外,圖7B為表示本實(shí)施方式的計(jì)時(shí)器中斷處理的例子的流程圖。在計(jì)時(shí)器中斷處理中,進(jìn)行圖7A所示的主流程時(shí),按照預(yù)定的時(shí)間間隔,分別使作為中斷計(jì)數(shù)器的經(jīng)過(guò)時(shí)間計(jì)數(shù)器與歌曲經(jīng)過(guò)時(shí)間計(jì)數(shù)器的計(jì)數(shù)值增加(步驟711,712)。另外,計(jì)時(shí)器中斷處理可通過(guò)CPU21的指示,停止計(jì)數(shù)器。如圖7A所示的那樣,電子樂(lè)器10的CPU21在接通了電子樂(lè)器10的電源時(shí),進(jìn)行包括RAM23中的數(shù)據(jù),顯示部15的圖像的清除的初始化處理(初期化處理)(步驟701)。當(dāng)初始化處理(步驟701)結(jié)束時(shí),CPU21檢測(cè)構(gòu)成開(kāi)關(guān)組16的各個(gè)開(kāi)關(guān)的操作,實(shí)施開(kāi)關(guān)處理,該開(kāi)關(guān)處理執(zhí)行按照檢測(cè)出的操作的處理(步驟702)。例如,在開(kāi)關(guān)處理(步驟702)中,檢測(cè)音色指定開(kāi)關(guān),歌曲伴奏用的樂(lè)曲數(shù)據(jù)的指定開(kāi)關(guān),歌曲再生開(kāi)關(guān)的操作。例如,當(dāng)歌曲再生開(kāi)關(guān)接通時(shí),CPU21將規(guī)定值存儲(chǔ)在寄存器組610中的狀態(tài)寄存器中。另外,當(dāng)歌曲再生開(kāi)關(guān)斷開(kāi)時(shí),在狀態(tài)寄存器中,存儲(chǔ)表示歌曲再生停止?fàn)顟B(tài)的值。當(dāng)開(kāi)關(guān)處理(步驟702)結(jié)束時(shí),CPU21進(jìn)行鍵盤(pán)處理(步驟703)。圖8為更詳細(xì)地表示本實(shí)施方式的鍵盤(pán)處理的例子的流程圖。在鍵盤(pán)處理中,CPU21對(duì)鍵盤(pán)11的鍵進(jìn)行掃描(步驟801)。把作為鍵的掃描結(jié)果的事件(音符開(kāi)或音符關(guān))臨時(shí)存儲(chǔ)于RAM23中。CPU21參照存儲(chǔ)于RAM23中的鍵的掃描結(jié)果,判斷某個(gè)鍵是否具有新的事件(步驟802)。當(dāng)在步驟802判斷為“是”時(shí),CPU21參照狀態(tài)寄存器,判斷演奏狀態(tài)是否為“正在再生歌曲”(步驟803)。當(dāng)在步驟803判斷為“是”時(shí),進(jìn)行課程鍵盤(pán)處理(步驟804)。另一方面,當(dāng)在步驟803判斷為“否”時(shí),執(zhí)行普通的鍵盤(pán)處理 (步驟805)。在步驟805,CPU21判定鍵事件是音符開(kāi)(按鍵),還是音符關(guān)(離開(kāi)鍵)。如果是音符開(kāi),則CPU21生成包含被按動(dòng)的鍵的音高的信息的音符開(kāi)事件,將其輸出給音源部26。如果是音符關(guān),則生成包含離開(kāi)的鍵的音高的信息的音符關(guān)事件,將其輸出給音源部26。接著,對(duì)課程鍵盤(pán)處理(步驟804)進(jìn)行說(shuō)明。圖9為表示本實(shí)施方式的課程鍵盤(pán)處理的例子的流程圖。如圖9所示的那樣,CPU21判斷鍵事件是否是新的音符開(kāi)(步驟901)。當(dāng)在步驟901判斷為“是”時(shí),CPU21生成包含被按動(dòng)的鍵的音高的信息的音符開(kāi)事件,將其輸出給音源部26 (步驟902)。另外,當(dāng)在步驟901判斷為“否”時(shí),生成包含離開(kāi)的鍵的音高的信息的音符關(guān)事件,將其輸出給音源部26 (步驟903)。在該步驟903后,課程鍵盤(pán)處理結(jié)束。在進(jìn)行步驟902后,CPU21判斷新的音符開(kāi)的鍵的音高是否與存儲(chǔ)在下次音高信息寄存器中的音高一致(步驟904)。當(dāng)在步驟904判定為“否”時(shí),結(jié)束課程鍵盤(pán)處理。當(dāng)在步驟904判斷為“是”時(shí),CPU21將寄存器組中的正解標(biāo)志設(shè)定為“I”(步驟905)。該正解標(biāo)志是在演奏者進(jìn)行的按鍵與下次應(yīng)該按動(dòng)的鍵一致時(shí),設(shè)定為“ I”的標(biāo)志。然后,CPU21判斷當(dāng)前,作為歌曲伴奏數(shù)據(jù)的音頻數(shù)據(jù)是否正在循環(huán)再生(步驟906)。關(guān)于是否正在循環(huán)再生,判斷寄存器組中的循環(huán)再生標(biāo)志是否為“I”即可。當(dāng)在步驟906判定為“否”時(shí),CPU21查找提前按動(dòng)對(duì)應(yīng)的跳動(dòng)源時(shí)刻(步驟907),當(dāng)在步驟906判定為“是”時(shí),CPU21查找延遲按動(dòng)對(duì)應(yīng)的跳動(dòng)源時(shí)刻(步驟908)。跳動(dòng)源時(shí)刻是從按鍵時(shí)刻開(kāi)始,按照時(shí)間序列未來(lái)并且附近的預(yù)定的相位(例如,數(shù)據(jù)值從負(fù)轉(zhuǎn)移為正)的零交叉點(diǎn)。當(dāng)鍵盤(pán)處理(步驟703)結(jié)束時(shí),CPU21進(jìn)行歌曲處理(步驟704)。圖10為表示本實(shí)施方式的歌曲處理的例子的流程圖。如圖10所示的那樣,CPU21參照狀態(tài)寄存器,判斷演奏狀態(tài)是否表示“正在再生歌曲”(步驟1001)。當(dāng)在步驟1004判定為“否”時(shí),CPU21參照狀態(tài)寄存器,判斷演奏狀態(tài)是否表示“歌曲開(kāi)始”(步驟1002)。當(dāng)在步驟1002判定為“否”時(shí),結(jié)束歌曲處理。當(dāng)在步驟1002判定為“是”時(shí),CPU21進(jìn)行歌曲開(kāi)始處理(步驟1003)。圖11是表示本實(shí)施方式的歌曲開(kāi)始處理的例子的流程圖。如圖11所示,CPU21根據(jù)存儲(chǔ)于R0M22中的樂(lè)曲數(shù)據(jù)的起始的記錄,獲得時(shí)間t0 (步驟1101)。該時(shí)間t0作為初始的時(shí)間信息At,存儲(chǔ)于寄存器組中的時(shí)間信息寄存器中。CPU21從下一地址的記錄中取得音符開(kāi)事件,將音符開(kāi)事件中包含的音高信息存儲(chǔ)于本次音高信息寄存器中(步驟1102)。另外,CPU21取得下一音符開(kāi)事件的記錄,將該下一音符開(kāi)事件中包含的音高信息存儲(chǔ)于時(shí)間音高信息寄存器中(步驟1103)。另外,CPU21允許基于計(jì)時(shí)器中斷處理的歌曲經(jīng)過(guò)時(shí)間計(jì)數(shù)器的動(dòng)作,開(kāi)始歌曲經(jīng)過(guò)時(shí)間的測(cè)量(步驟1104),并且將音頻數(shù)據(jù)再生的開(kāi)始指示給音頻數(shù)據(jù)再生部29(步驟1105)。另外,CPU21在狀態(tài)寄存器中存儲(chǔ)表示“正在再生歌曲”的信息,來(lái)作為演奏狀態(tài)(步驟 1106)。當(dāng)在步驟1001判定為“是”時(shí),CPU21進(jìn)行歌曲樂(lè)音再生處理(步驟1004)。圖12為表示本實(shí)施方式的歌曲樂(lè)音再生處理的例子的流程圖。如圖12所示,CPU21取得經(jīng)過(guò)時(shí)間寄存器的寄存值(步驟1201)。接著,CPU21判斷是否應(yīng)該計(jì)算時(shí)間信息At(步驟1202)。當(dāng)在步驟1202判定為“是”時(shí),將關(guān)于本次按動(dòng)的鍵的音符開(kāi)事件的記錄的下一記錄中的時(shí)間tl,與音符關(guān)事件的記錄中的下一記錄中的時(shí)間t2相加,將加法運(yùn)算值tl+t2存儲(chǔ)于時(shí)間信息寄存器中(步驟1203)來(lái)作為時(shí)間信息At。另外,當(dāng)在步驟1202中應(yīng)該計(jì)算時(shí)間信息At時(shí),是變更了本次音高信息寄存器和下次音高信息寄存器的值的情況。接著,CPU21計(jì)算A t-經(jīng)過(guò)時(shí)間(步驟1204)。在步驟1201 1204,判斷從上次按鍵(音符開(kāi))的時(shí)刻開(kāi)始的經(jīng)過(guò)時(shí)間經(jīng)歷At,是否到達(dá)了下次的按鍵(音符開(kāi))的時(shí)亥IJ。在步驟1205中,參照步驟1204的結(jié)果,表示了在從上次的按鍵的時(shí)刻開(kāi)始經(jīng)過(guò)了 At時(shí)(在步驟1205中為“是”),雖然到達(dá)了應(yīng)進(jìn)行下次按鍵的時(shí)刻,但還未按鍵。因此,當(dāng)在 步驟1205判定為“是”時(shí),CPU21進(jìn)行循環(huán)點(diǎn)查找處理(步驟1206)。圖13為表示本實(shí)施方式的循環(huán)點(diǎn)查找處理的例子的流程圖。如圖13所示,CPU21根據(jù)本次音高寄存器中的本次音高信息,計(jì)算作為該音高的周期的循環(huán)周期(步驟1301)。該循環(huán)周期為音頻數(shù)據(jù)的循環(huán)的基本周期。CPU21在音頻數(shù)據(jù)中,從當(dāng)前正在再生的地址追溯過(guò)去,來(lái)查找零交叉點(diǎn)(步驟1302)。CPU21計(jì)算零交叉點(diǎn)間的平均周期(步驟1303)。另外,在此,查找的零交叉點(diǎn)全部為相位相同的零交叉點(diǎn)。即,如果最初發(fā)現(xiàn)的零交叉點(diǎn)為上升(數(shù)據(jù)值從負(fù)轉(zhuǎn)為正的)零交叉點(diǎn),則其它發(fā)現(xiàn)的零交叉點(diǎn)也全部為上升的零交叉點(diǎn)。CPU21判斷循環(huán)周期和平均周期的差異的絕對(duì)值是否在允許范圍內(nèi)(即,小于預(yù)定的閾值)(步驟1304)。當(dāng)在步驟1304判定為“否”時(shí),CPU21進(jìn)一步追溯音頻數(shù)據(jù)的時(shí)間序列查找下一零交叉點(diǎn)(步驟1302)。另一方面,當(dāng)在步驟1304判定為“是”時(shí),CPU21將上述差異的絕對(duì)值在允許范圍內(nèi)的零交叉點(diǎn)作為音頻數(shù)據(jù)的循環(huán)點(diǎn)中的循環(huán)目的地的點(diǎn),存儲(chǔ)在RAM23中(步驟1305)。另外,循環(huán)點(diǎn)存在循環(huán)目的地的點(diǎn)和循環(huán)源的點(diǎn)。在本實(shí)施方式中,存儲(chǔ)與上述零交叉點(diǎn)對(duì)應(yīng)的時(shí)刻(循環(huán)目的地時(shí)刻),來(lái)作為表示循環(huán)目的地的點(diǎn)的信息。另外,如后所述,在本實(shí)施方式中,標(biāo)準(zhǔn)的按鍵時(shí)刻與規(guī)定的相位(上升,即數(shù)據(jù)值從負(fù)轉(zhuǎn)為正)的零交叉點(diǎn)一致。因此,循環(huán)源的點(diǎn)是與標(biāo)準(zhǔn)的按鍵時(shí)刻對(duì)應(yīng)的點(diǎn)。因此,在本實(shí)施方式中,存儲(chǔ)與標(biāo)準(zhǔn)的按鍵時(shí)刻對(duì)應(yīng)的時(shí)刻(循環(huán)源時(shí)刻)來(lái)作為表示循環(huán)源的點(diǎn)的信息。然后,CPU21將寄存器組中的循環(huán)再生標(biāo)志設(shè)定為“2”(步驟1306)。另外,循環(huán)再生標(biāo)志表示音頻數(shù)據(jù)的循環(huán)再生狀態(tài),標(biāo)志為“2”的情況表示循環(huán)再生開(kāi)始狀態(tài)。另外,標(biāo)志為“ I”的情況表示循環(huán)再生狀態(tài),標(biāo)志為“0”的情況表示沒(méi)有進(jìn)行循環(huán)再生的狀態(tài)。圖14為說(shuō)明本實(shí)施方式的循環(huán)點(diǎn)的檢測(cè)的例子的圖。在圖14中,音符關(guān)(離鍵)的時(shí)刻由標(biāo)號(hào)1401表不,本來(lái)的下一個(gè)音符開(kāi)(按鍵)的時(shí)刻由標(biāo)號(hào)1402表不。從某個(gè)鍵的音符開(kāi)到下一音符開(kāi)的時(shí)間為At(參照標(biāo)號(hào)1400)。另外,作為歌曲伴奏的音頻數(shù)據(jù)由標(biāo)號(hào)1400表示。此外,上述的已按動(dòng)以及離開(kāi)的(標(biāo)號(hào)1401)的鍵的音高為A4 = 440Hz,循環(huán)周期為2. 27msec。在圖14中,當(dāng)在本來(lái)的下一音符開(kāi)中沒(méi)有進(jìn)行實(shí)際的按鍵時(shí),CPU21測(cè)量音頻數(shù)據(jù)的零交叉點(diǎn)(相同相位的零交叉點(diǎn))之間的周期。在最初的處理中,從本來(lái)的音符開(kāi)的時(shí)刻,按照時(shí)間序列進(jìn)行追溯,確定I組的零交叉點(diǎn),此間的波形(參照標(biāo)號(hào)1411)的平均周期為2. 22msec0例如在本實(shí)施方式中,當(dāng)把與A4的音高有關(guān)的閾值設(shè)為0. Olmsec時(shí),因?yàn)閨2. 27-2.22|彡閾值,所以在圖13的步驟1304判定為“否”,在下一步驟1302,進(jìn)一步按照時(shí)間序列進(jìn)行追溯,確定2組的零交叉點(diǎn)。計(jì)算各自之間的2個(gè)波形(標(biāo)號(hào)1411,1412)的平均周期(2. 245msec)。在此,因?yàn)?2.27-2. 245|彡閾值,所以再次返回步驟1302。在步驟1302,進(jìn)一步按照時(shí)間序列進(jìn)行追溯,確定3組的零交叉點(diǎn),計(jì)算各自之間的3個(gè)波形(參照標(biāo)號(hào)1411 1413)的平均周期(2.263msec)。在此,由于2. 27-2. 263彡閾值,所以再次返回步驟1302。在步驟1302,進(jìn)一步按時(shí)間序列追溯,確定4組的零交叉點(diǎn)。計(jì)算各自之間的4個(gè)波形(參照標(biāo)號(hào)1411 1414)的平均周期(2. 27msec)。在此,由于| 2. 27-2. 27 <閾值,所以在步驟1304中判定為“是”,由4個(gè)波形1411 1414構(gòu)成的區(qū)間(參照標(biāo)號(hào)1420)為 循環(huán)區(qū)間,其起點(diǎn)和終點(diǎn)(參照標(biāo)號(hào)1422,1421)為循環(huán)點(diǎn)。在本實(shí)施方式中,上述起點(diǎn)與循環(huán)目的地時(shí)刻對(duì)應(yīng),終點(diǎn)與循環(huán)源時(shí)刻對(duì)應(yīng)。如此獲得與當(dāng)前發(fā)音中的樂(lè)音的音高匹配的周期的波形的區(qū)間,反復(fù)讀取該區(qū)間的波形,由此,能夠輸出對(duì)于演奏者來(lái)說(shuō)沒(méi)有不適感的歌曲伴奏音。當(dāng)歌曲樂(lè)音再生處理(步驟1004)結(jié)束時(shí),CPU21進(jìn)行歌曲音頻再生處理(步驟1005)。圖15和圖16A以及圖16B為表示本實(shí)施方式的歌曲音頻再生處理的例子的流程圖。如圖15所示,CPU21判斷循環(huán)再生標(biāo)志是否為“2”(步驟1501)。循環(huán)再生標(biāo)志為“2”表示循環(huán)再生開(kāi)始狀態(tài)。當(dāng)在步驟1501判定為“是”時(shí),進(jìn)入圖16B的步驟1611。當(dāng)在步驟1501判定為“否”時(shí),CPU21判斷循環(huán)再生標(biāo)志是否為“I”(步驟1502)。循環(huán)再生標(biāo)志為“I”表示循環(huán)再生狀態(tài)。當(dāng)在步驟1502判定為“是”時(shí),CPU21進(jìn)入圖16A的步驟1601。當(dāng)在步驟1502判定為“否”時(shí),即,在再生標(biāo)志為“0”時(shí)(沒(méi)進(jìn)行循環(huán)再生時(shí)),CPU21判斷正解標(biāo)志是否為“I” (步驟1503)。當(dāng)在步驟1503判定為“否”時(shí),結(jié)束歌曲音頻再生處理。當(dāng)在步驟1503判定為“是”時(shí),表示演奏者早于標(biāo)準(zhǔn)的按鍵時(shí)刻,按動(dòng)了下一個(gè)應(yīng)按動(dòng)的鍵(提前按鍵)。此時(shí),CPU21參照經(jīng)過(guò)時(shí)間計(jì)數(shù)器,判斷是否到達(dá)了跳動(dòng)源時(shí)刻(步驟1504)。當(dāng)在步驟1504判定為“否”時(shí),結(jié)束歌曲音頻處理。跳動(dòng)源時(shí)刻是從已按動(dòng)的鍵的按鍵時(shí)刻開(kāi)始,按照時(shí)間序列未來(lái)且臨近的零交叉點(diǎn)。因此,在本實(shí)施方式中,可檢測(cè)零交叉點(diǎn),使音頻數(shù)據(jù)的接縫平滑。當(dāng)在步驟1504判定為“是”時(shí),CPU21將正解標(biāo)志重新設(shè)定為“0” (步驟1505)。另外,CPU21根據(jù)跳動(dòng)源時(shí)刻,更新歌曲經(jīng)過(guò)時(shí)間(步驟1506)。即,通過(guò)使跳動(dòng)源時(shí)刻與本實(shí)施方式的跳動(dòng)目的地時(shí)刻所對(duì)應(yīng)的下一應(yīng)該按動(dòng)的鍵的標(biāo)準(zhǔn)的按鍵時(shí)刻一致,實(shí)現(xiàn)接縫平滑,并且與演奏者的提前按鍵相對(duì)應(yīng)的音頻數(shù)據(jù)的再生。然后,CPU21參照樂(lè)曲數(shù)據(jù),分別對(duì)本次音高信息,時(shí)間信息A t和下次音高信息進(jìn)行更新(步驟1507 1509)。然后說(shuō)明在步驟1502中判定為“是”情況。當(dāng)在步驟1502判定為“是”時(shí),是已經(jīng)進(jìn)行了循環(huán)再生的狀態(tài)。此時(shí),CPU21判定正解標(biāo)志是否為“I”(步驟1601)。當(dāng)在步驟1602中判定為“否”時(shí),結(jié)束歌曲音頻數(shù)據(jù)再生處理。當(dāng)在步驟1601判定為“是”時(shí),表示演奏者晚于標(biāo)準(zhǔn)的按鍵時(shí)刻按動(dòng)了下一應(yīng)按壓的鍵(延遲按動(dòng))。當(dāng)在步驟1601判定為“是”時(shí),CPU21參照經(jīng)過(guò)時(shí)間計(jì)數(shù)器,判斷是否到達(dá)跳動(dòng)源時(shí)刻(步驟1602)。當(dāng)在步驟1602判定為“否”時(shí),結(jié)束歌曲音頻處理。當(dāng)在步驟1602判定為“是”時(shí),CPU21將循環(huán)再生標(biāo)志重新設(shè)定為“0” (步驟1603)。然后,進(jìn)行步驟1505 1509的處理。然后,說(shuō)明在步驟1501中判定為“否”情況。當(dāng)在步驟1501判定為“是”時(shí),CPU21把在圖13的步驟1305設(shè)定的2個(gè)循環(huán)點(diǎn)(循環(huán)源時(shí)刻和循環(huán)目的地時(shí)刻)輸出給音頻數(shù)據(jù)再生部29 (步驟1611)。另外,CPU21停止基于計(jì)時(shí)器中斷處理的歌曲經(jīng)過(guò)時(shí)間計(jì)數(shù)器的計(jì)數(shù)(步驟1612),并且還停止經(jīng)過(guò)時(shí)間計(jì)數(shù)器的計(jì)數(shù)(步驟1613)。其原因在于,在循環(huán)再生中,在循環(huán)源時(shí)刻和循環(huán)目的地時(shí)刻之間,對(duì)音頻數(shù)據(jù)進(jìn)行循環(huán)再生,不伴隨樂(lè)曲數(shù)據(jù)自身的行進(jìn)。另外,CPU21將循環(huán)再生標(biāo)志設(shè)定為“I”(步驟1614)。然后,歌曲音頻再生處理結(jié)束。當(dāng)歌曲處理(步驟704)結(jié)束時(shí),CPU21執(zhí)行音源發(fā)音處理(步驟705)。圖17為表示本實(shí)施方式的音源發(fā)音處理的例子的流程圖。在圖17的音源發(fā)音處理中,音頻數(shù)據(jù)再生部29根據(jù)來(lái)自CPU21的指示和接收的信息,執(zhí)行步驟1701 1712。另外,音源部26執(zhí) 行步驟1713。如圖17所示,音頻數(shù)據(jù)再生部29判斷循環(huán)再生標(biāo)志是否為“I”(步驟1701)。當(dāng)在步驟1701判定為“否”的場(chǎng)合,進(jìn)行通常的音頻數(shù)據(jù)的讀出。即,音頻數(shù)據(jù)再生部29判斷是否到達(dá)了按照采樣率的數(shù)據(jù)讀出時(shí)刻(步驟1702)。當(dāng)在步驟1702判定為“是”時(shí),音頻數(shù)據(jù)再生部29根據(jù)音頻數(shù)據(jù)的數(shù)據(jù)讀出地址,讀出音頻數(shù)據(jù)(步驟1703),將其輸出給音頻電路27(步驟1704)。接著,音頻數(shù)據(jù)再生部29使音頻數(shù)據(jù)區(qū)域的數(shù)據(jù)讀出地址步進(jìn)(步驟 1705)。當(dāng)在步驟1701判定為“是”時(shí),音頻數(shù)據(jù)再生部29判斷音頻數(shù)據(jù)的數(shù)據(jù)讀出地址是否到達(dá)了與循環(huán)源時(shí)刻對(duì)應(yīng)的值(步驟1706)。當(dāng)在步驟1706判定為“是”時(shí),音頻數(shù)據(jù)再生部29將數(shù)據(jù)讀出地址變更為在跳動(dòng)時(shí)刻進(jìn)行應(yīng)答的值(步驟1707)。另外,跳動(dòng)目的地時(shí)刻是與已按動(dòng)的鍵的標(biāo)準(zhǔn)的按鍵時(shí)刻相當(dāng)?shù)臅r(shí)刻。接著,音頻數(shù)據(jù)再生部29判斷是否到達(dá)按照采樣率的數(shù)據(jù)讀出時(shí)刻(步驟1708)。當(dāng)在步驟1708判定為“是”時(shí),音頻數(shù)據(jù)再生部29根據(jù)音頻數(shù)據(jù)的讀出地址,讀出音頻數(shù)據(jù)(步驟1709),使其與隨著時(shí)間經(jīng)過(guò)而衰減的包絡(luò)線(envelop)進(jìn)行乘法運(yùn)算(步驟1710)。然后,音頻數(shù)據(jù)再生部29將乘法運(yùn)算后的音頻數(shù)據(jù)輸出給音頻電路27 (步驟1711)。另外,音頻數(shù)據(jù)再生部29使音頻數(shù)據(jù)區(qū)域的數(shù)據(jù)讀出地址步進(jìn)(步驟1712)。如此,當(dāng)進(jìn)行通常的音頻數(shù)據(jù)的再生或音頻數(shù)據(jù)的循環(huán)再生時(shí),執(zhí)行音源部26的樂(lè)音數(shù)據(jù)發(fā)音處理(步驟1703)。步驟1701 1712與步驟1713可以并列地執(zhí)行。在樂(lè)音數(shù)據(jù)發(fā)音處理中,音源部26如果從CPU21接收音符開(kāi)事件,則從R0M22通過(guò)按照音高的速度,讀出按照音符開(kāi)事件的音色的波形數(shù)據(jù),將規(guī)定的包絡(luò)線與讀出的波形數(shù)據(jù)相乘,將乘法運(yùn)算后的數(shù)據(jù)輸出給音頻電路27。另外,如果從CPU21接收音符關(guān)事件,則進(jìn)行按照音符關(guān)事件的音高的數(shù)據(jù)的消音。當(dāng)音源發(fā)音處理(步驟705)結(jié)束時(shí),CPU21執(zhí)行其它的處理(例如,向顯示部15的圖像顯示等步驟706),然后返回到步驟702。圖18表不在本實(shí)施方式中,樂(lè)曲的按鍵(音符開(kāi))和離鍵(音符關(guān))的時(shí)刻和音頻數(shù)據(jù)的例子,圖19表示演奏者提前按鍵時(shí)的音頻數(shù)據(jù)的例子。如圖18所示,在本實(shí)施方式中,樂(lè)曲數(shù)據(jù)1800的按鍵時(shí)刻預(yù)先與音頻數(shù)據(jù)1810的規(guī)定相位(在本例子中,數(shù)據(jù)值從負(fù)轉(zhuǎn)為正)的零交叉點(diǎn)一致(參照標(biāo)號(hào)1811,1812)。在本例子中,最初的標(biāo)準(zhǔn)的按鍵時(shí)刻的按鍵(參照標(biāo)號(hào)1811)和下一標(biāo)準(zhǔn)的按鍵時(shí)刻的按鍵之間的波形由相同相位的零交叉點(diǎn)來(lái)限定(標(biāo)號(hào)1821)。同樣,下一標(biāo)準(zhǔn)的按鍵時(shí)刻的按鍵與其下一標(biāo)準(zhǔn)的按鍵時(shí)刻之間的波形也由相同相位的零交叉點(diǎn)限定。另外,在本實(shí)施方式中,標(biāo)準(zhǔn)的按鍵時(shí)刻與音頻數(shù)據(jù)的規(guī)定的相位的零交叉點(diǎn)一致,但是,并不限于此。在圖19中,演奏者在早于標(biāo)準(zhǔn)時(shí)刻的時(shí)刻進(jìn)行了最初的按鍵(參照標(biāo)號(hào)1911)。此時(shí),在音頻數(shù)據(jù)中,發(fā)現(xiàn)從演奏者的按鍵時(shí)刻,按照時(shí)間序列未來(lái)并且臨近的零交叉點(diǎn)(參照標(biāo)號(hào)1931)。因此,在上述零交叉點(diǎn),最初的標(biāo)準(zhǔn)的按鍵時(shí)刻的按鍵(參照標(biāo)號(hào)1811)和下一標(biāo)準(zhǔn)的按鍵時(shí)刻的按鍵之間的波形(標(biāo)號(hào)1941)接合。另外,在圖19中,時(shí)刻1931和1912之間的波形1941與圖18的波形1821 —致,時(shí)刻1912和時(shí)刻1913之間的波形1942與圖18的波形1822 —致。如此在本實(shí)施方式中,在演奏者提前按鍵時(shí),在音頻數(shù)據(jù)中發(fā)現(xiàn)按照時(shí)間序列未 來(lái)并且臨近的零交叉點(diǎn),由此,接合數(shù)據(jù)值從零而開(kāi)始的與標(biāo)準(zhǔn)的按鍵時(shí)刻相對(duì)應(yīng)的音頻數(shù)據(jù)來(lái)進(jìn)行再生。因此,即使具有早于標(biāo)準(zhǔn)的按鍵時(shí)刻的按鍵,進(jìn)行符合該提前按鍵的音頻數(shù)據(jù)的讀出,并且其接縫也平滑,沒(méi)有產(chǎn)生深的噪音。另外,在演奏者在標(biāo)準(zhǔn)的時(shí)刻沒(méi)有按鍵的情況下,在沒(méi)有按鍵的期間,如參照?qǐng)D14說(shuō)明的那樣,在循環(huán)目的地時(shí)刻(標(biāo)號(hào)1422)和循環(huán)源時(shí)刻(標(biāo)號(hào)1421)之間,進(jìn)行音頻數(shù)據(jù)的循環(huán)再生。然后,當(dāng)用戶進(jìn)行了應(yīng)按動(dòng)的鍵的按動(dòng)時(shí),從與從按鍵時(shí)刻開(kāi)始按照時(shí)間序列未來(lái)并且臨近的零交叉點(diǎn)所對(duì)應(yīng)的跳動(dòng)源時(shí)刻開(kāi)始,在與已按動(dòng)的鍵的標(biāo)準(zhǔn)的按鍵時(shí)刻相當(dāng)?shù)臅r(shí)刻即跳動(dòng)目的地時(shí)刻,切換音頻數(shù)據(jù)的讀出地址。因此,與提前按動(dòng)時(shí)相同,進(jìn)行按照延遲按鍵的音頻數(shù)據(jù)的讀出,并且其接縫也平滑,不會(huì)產(chǎn)生不快的噪音。此外,在本實(shí)施方式中,以鍵的標(biāo)準(zhǔn)的按鍵時(shí)刻與音頻數(shù)據(jù)的預(yù)定的相位的零交叉點(diǎn)一致的方式構(gòu)成音頻數(shù)據(jù),但是,并不限于此。此時(shí),上述跳動(dòng)目的地時(shí)刻,可采用從與鍵的標(biāo)準(zhǔn)的按鍵時(shí)刻對(duì)應(yīng)的音頻數(shù)據(jù)開(kāi)始按照時(shí)間序列未來(lái)并且臨近的預(yù)定相位的零交叉點(diǎn)。在本實(shí)施方式中,在CPU21判斷鍵的按鍵時(shí)刻早于在樂(lè)曲數(shù)據(jù)中規(guī)定的發(fā)音時(shí)刻時(shí),在音頻數(shù)據(jù)中發(fā)現(xiàn)從鍵的按鍵時(shí)刻開(kāi)始按照時(shí)間序列位于一個(gè)方向上臨近的并且預(yù)定相位的第I零交叉點(diǎn)。另外,根據(jù)上述按鍵操作的樂(lè)曲數(shù)據(jù)的標(biāo)準(zhǔn)的發(fā)音時(shí)刻,發(fā)現(xiàn)從標(biāo)準(zhǔn)的發(fā)音時(shí)刻按照時(shí)間序列位于一個(gè)方向上臨近的并且預(yù)定相位的第2零交叉點(diǎn)。CPU21將上述第I零交叉點(diǎn)的信息和第2零交叉點(diǎn)的信息輸出給音頻數(shù)據(jù)再生部29。音頻數(shù)據(jù)再生部29使音頻數(shù)據(jù)的讀出從第I零交叉點(diǎn)跳到第2零交叉點(diǎn),其后繼續(xù)通常的音頻數(shù)據(jù)的讀出。由此,即使在存在提前按鍵的情況下,也能夠進(jìn)行與該按鍵的標(biāo)準(zhǔn)的發(fā)音時(shí)刻(按鍵時(shí)刻)對(duì)應(yīng)的音頻數(shù)據(jù)的再生,可防止在演奏者的按鍵與音頻數(shù)據(jù)的再生之間產(chǎn)生偏差的情況。另外,通過(guò)實(shí)現(xiàn)將相同相位的零交叉點(diǎn)連接的音頻數(shù)據(jù)的讀出,可防止在音頻數(shù)據(jù)的接縫中產(chǎn)生噪音的情況。此外,在本實(shí)施方式中,在使音頻數(shù)據(jù)的讀出從第I零交叉點(diǎn)跳到第2零交叉點(diǎn)時(shí),CPU21更新為基于標(biāo)準(zhǔn)的發(fā)音時(shí)刻的經(jīng)過(guò)時(shí)間,按照更新后的經(jīng)過(guò)時(shí)間,音頻數(shù)據(jù)再生部39讀出音頻數(shù)據(jù)。因此,即使在演奏提前按鍵的情況下,也能夠使經(jīng)過(guò)時(shí)間恰當(dāng)化。另外,在本實(shí)施方式中,CPU發(fā)現(xiàn)從按鍵時(shí)刻開(kāi)始按照時(shí)間序列未來(lái)的并且臨近的第I零交叉點(diǎn),并且根據(jù)標(biāo)準(zhǔn)的發(fā)音時(shí)刻(按鍵時(shí)刻),發(fā)現(xiàn)從該標(biāo)準(zhǔn)的發(fā)音時(shí)刻開(kāi)始按照時(shí)間序列未來(lái)的并且臨近的第2零交叉點(diǎn)。通過(guò)發(fā)現(xiàn)從按鍵時(shí)刻開(kāi)始按照時(shí)間序列未來(lái)的并且臨近的零交叉點(diǎn)作為第I零交叉點(diǎn),由此可一邊考慮處理時(shí)間一邊適合地實(shí)現(xiàn)從第I零交叉點(diǎn)向第2零交叉點(diǎn)的轉(zhuǎn)移。特別是在本實(shí)施方式中,在音頻數(shù)據(jù)中,預(yù)定相位的零交叉點(diǎn)位于與樂(lè)音的發(fā)音時(shí)刻(按鍵時(shí)刻)對(duì)應(yīng)的時(shí)刻。CPU21檢測(cè)與標(biāo)準(zhǔn)的發(fā)音時(shí)刻(按鍵時(shí)刻)對(duì)應(yīng)的規(guī)定相位的第2零交叉點(diǎn)。由此,可容易檢測(cè)第2按鍵時(shí)刻。本發(fā)明并不限于以上的實(shí)施方式。例如,在上述實(shí)施方式中,在基于當(dāng)前正在發(fā)音的樂(lè)音的音高信息(本次音高信息)的循環(huán)周期中,確定其平均周期近似的多個(gè)循環(huán)波形。但是,并不限于此。例如如果在樂(lè)曲數(shù)據(jù)中附加了代碼名,則也可根據(jù)與當(dāng)前正在發(fā)音的樂(lè) 音相關(guān)聯(lián)的代碼名,將基于其根音的循環(huán)周期與音頻數(shù)據(jù)的循環(huán)波形的周期進(jìn)行比較。圖20是表示本發(fā)明的另一實(shí)施方式的樂(lè)曲數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)例的圖。如圖20所示,在另一實(shí)施方式中,分別與樂(lè)曲數(shù)據(jù)2000的音符開(kāi)事件(參照標(biāo)號(hào)2001,2011)相關(guān)聯(lián),設(shè)置代碼信息(參照標(biāo)號(hào)2002,2012)的記錄。代碼信息例如包括CM7,Cml, kml, D7等表示根音的信息。圖21是表示本實(shí)施方式的循環(huán)點(diǎn)查找處理的例子的流程圖。如圖21所示,CPU21獲得與本次音高寄存器中的本次音高信息相關(guān)聯(lián)的樂(lè)曲數(shù)據(jù)中的記錄信息(步驟
2101)。接著,CPU21根據(jù)代碼信息中包含的根音,計(jì)算作為根音的周期的循環(huán)周期(步驟
2102)。例如,如果代碼信息為AM7,Am7等根音為A,示例地計(jì)算基于A3(220KHz)的循環(huán)周期(4.5454msec)。在此,考慮八度音,根音采用較低的音高。后續(xù)的步驟2103,2104與圖13的步驟1302,1303相同。接著,CPU21判斷循環(huán)周期和平均周期的n倍(n = 1,2,4)的差異的絕對(duì)值是否在允許范圍內(nèi)(即,小于規(guī)定的閾值(步驟2105)。在步驟2105中,考慮音頻數(shù)據(jù)為上述根音的I個(gè)八度音,2個(gè)八度音高樂(lè)音的可能性。當(dāng)在步驟2105判定為“否”時(shí),CPU21進(jìn)一步追溯音頻數(shù)據(jù)的時(shí)間序列,查找下一零交叉點(diǎn)(步驟2103)。當(dāng)在步驟2105判定為“是”時(shí),CPU21將上述差異的絕對(duì)值在允許范圍內(nèi)的零交叉點(diǎn)作為音頻數(shù)據(jù)的循環(huán)點(diǎn)中的,循環(huán)目的地的點(diǎn)存儲(chǔ)在RAM23中(步驟2106),并且將循環(huán)再生標(biāo)志設(shè)定為“2”(步驟2107)。以上對(duì)本發(fā)明的實(shí)施方式進(jìn)行了具體說(shuō)明,但是,本發(fā)明的范圍并不限于上述實(shí)施方式,在本發(fā)明的范圍內(nèi)包含記載于權(quán)利要求書(shū)中的發(fā)明及其等同的范圍。
權(quán)利要求
1.一種樂(lè)音生成裝置,其具備 存儲(chǔ)單元,其存儲(chǔ)樂(lè)曲數(shù)據(jù)以及作為上述樂(lè)曲數(shù)據(jù)的樂(lè)曲的伴奏數(shù)據(jù)的音頻數(shù)據(jù),上述樂(lè)曲數(shù)據(jù)包含構(gòu)成樂(lè)曲的樂(lè)音的音高和表不發(fā)音時(shí)刻的時(shí)間信息; 樂(lè)音數(shù)據(jù)生成單元,其根據(jù)多個(gè)演奏操作鍵的操作,生成預(yù)定的樂(lè)音的樂(lè)音數(shù)據(jù);以及音頻數(shù)據(jù)再生單元,其按照基于上述樂(lè)曲數(shù)據(jù)中包含的時(shí)間信息的經(jīng)過(guò)時(shí)間,讀取并再生上述音頻數(shù)據(jù), 上述音頻數(shù)據(jù)再生單元具備 操作判斷單元,其判斷上述多個(gè)演奏操作鍵中的某個(gè)演奏操作鍵的操作時(shí)刻是否與上述樂(lè)曲數(shù)據(jù)所示的發(fā)音時(shí)刻一致; 再生控制單元,其在通過(guò)該操作判斷單元判定不一致時(shí),將上述音頻數(shù)據(jù)的讀取位置 從與上述操作時(shí)刻相對(duì)應(yīng)的零交叉點(diǎn)跳到與上述發(fā)音時(shí)刻對(duì)應(yīng)的零交叉點(diǎn),之后繼續(xù)進(jìn)行通常的音頻數(shù)據(jù)的讀取再生。
2.根據(jù)權(quán)利要求I所述的樂(lè)音生成裝置, 上述操作判斷單元判斷上述操作時(shí)刻是否早于上述發(fā)音時(shí)刻; 上述再生控制單元具備 跳動(dòng)源檢測(cè)單元,其在上述操作時(shí)刻早于上述發(fā)音時(shí)刻時(shí),在上述音頻數(shù)據(jù)中,發(fā)現(xiàn)從上述演奏操作鍵的操作時(shí)刻開(kāi)始按時(shí)間序列在一方向上的相近并且預(yù)定相位的第I零交叉點(diǎn); 跳動(dòng)目的地檢測(cè)單元,其根據(jù)基于上述演奏操作鍵的操作的樂(lè)曲數(shù)據(jù)的標(biāo)準(zhǔn)的發(fā)音時(shí)亥IJ,發(fā)現(xiàn)從該標(biāo)準(zhǔn)的發(fā)音時(shí)刻開(kāi)始按時(shí)間序列在一方向上的相近并且預(yù)定相位的第2零交叉點(diǎn); 讀取控制單元,其使音頻數(shù)據(jù)的讀取從上述跳動(dòng)源檢測(cè)單元檢測(cè)的第I零交叉點(diǎn)跳到上述跳動(dòng)目的地檢測(cè)單元檢測(cè)的第2零交叉點(diǎn),之后繼續(xù)進(jìn)行通常的音頻數(shù)據(jù)的讀取。
3.根據(jù)權(quán)利要求2所述的樂(lè)音生成裝置,其中 上述音頻數(shù)據(jù)再生單元在使音頻數(shù)據(jù)的讀取從上述第I零交叉點(diǎn)跳到上述第2零交叉點(diǎn)時(shí),更新為基于上述標(biāo)準(zhǔn)的發(fā)音時(shí)刻的經(jīng)過(guò)時(shí)間,按照上述更新后的經(jīng)過(guò)時(shí)間,讀取上述音頻數(shù)據(jù)。
4.根據(jù)權(quán)利要求2所述的樂(lè)音生成裝置,其中 上述跳動(dòng)源檢測(cè)單元發(fā)現(xiàn)從上述演奏操作鍵的操作時(shí)刻開(kāi)始按時(shí)間序列是未來(lái)的并且相近的第I零交叉點(diǎn), 上述跳動(dòng)目的地檢測(cè)單元根據(jù)上述標(biāo)準(zhǔn)的發(fā)音時(shí)刻,發(fā)現(xiàn)從該標(biāo)準(zhǔn)的發(fā)音時(shí)刻開(kāi)始按時(shí)間序列是未來(lái)的并且相近的第2零交叉點(diǎn)。
5.根據(jù)權(quán)利要求I所述的樂(lè)音生成裝置,其中 在上述音頻數(shù)據(jù)中,預(yù)定相位的零交叉點(diǎn)位于與上述樂(lè)音的發(fā)音時(shí)刻對(duì)應(yīng)的時(shí)刻, 上述跳動(dòng)目的地檢測(cè)單元檢測(cè)與上述標(biāo)準(zhǔn)的發(fā)音時(shí)刻對(duì)應(yīng)的預(yù)定相位的第2零交叉點(diǎn)。
6.根據(jù)權(quán)利要求I所述的樂(lè)音生成裝置,其中上述操作判斷單元還判斷在經(jīng)過(guò)上述發(fā)音時(shí)刻之前,是否對(duì)上述演奏操作鍵進(jìn)行了操作,上述再生控制單元具備 跳動(dòng)目的地檢測(cè)單元,其根據(jù)基于上述演奏操作鍵的操作的樂(lè)曲數(shù)據(jù)的標(biāo)準(zhǔn)的發(fā)音時(shí)亥IJ,從上述音頻數(shù)據(jù)檢測(cè)從該標(biāo)準(zhǔn)的發(fā)音時(shí)刻開(kāi)始按時(shí)間序列在一方向的相近的第I零交叉點(diǎn); 操作判斷單元,其判斷在上述樂(lè)曲數(shù)據(jù)所示的發(fā)音時(shí)刻經(jīng)過(guò)之前,是否操作了產(chǎn)生與該發(fā)音時(shí)刻對(duì)應(yīng)的音高的樂(lè)音的上述演奏操作鍵; 循環(huán)目的地檢測(cè)單元,其在通過(guò)上述操作判斷單元判斷沒(méi)有操作上述演奏操作鍵時(shí),檢測(cè)所述第一零交叉點(diǎn)之前的零交叉點(diǎn)中的、位于將上述第I零交叉點(diǎn)作為起點(diǎn)的區(qū)間的終點(diǎn)所對(duì)應(yīng)的位置的第2零交叉點(diǎn),所述區(qū)間與發(fā)出的樂(lè)音的音高所匹配的周期成比例; 循環(huán)讀取單元,其將該第2零交叉點(diǎn)和上述第I零交叉點(diǎn)之間的區(qū)間作為循環(huán)區(qū)間,反復(fù)讀取上述音頻數(shù)據(jù); 跳動(dòng)源檢測(cè)單元,其在該循環(huán)讀取單元開(kāi)始讀取后,通過(guò)上述操作判斷單元判定操作了上述演奏操作鍵時(shí),從上述音頻數(shù)據(jù)檢測(cè)從該演奏操作鍵的操作時(shí)刻開(kāi)始按時(shí)間序列位于一方向上的相近的第3零交叉點(diǎn);以及 控制單元,控制上述音頻數(shù)據(jù)再生單元,使音頻數(shù)據(jù)的讀取從上述檢測(cè)到的第3零交叉點(diǎn)跳到上述檢測(cè)到的第I零交叉點(diǎn),在此之后繼續(xù)通常的音頻數(shù)據(jù)的讀取。
7.根據(jù)權(quán)利要求6所述的樂(lè)音生成裝置,其中 上述音頻數(shù)據(jù)再生單元在使音頻數(shù)據(jù)的讀取從上述第3零交叉點(diǎn)跳到上述第I零交叉點(diǎn)時(shí),更新為基于上述標(biāo)準(zhǔn)的發(fā)音時(shí)刻的經(jīng)過(guò)時(shí)間,按照上述更新后的經(jīng)過(guò)時(shí)間,讀取上述音頻數(shù)據(jù)。
8.根據(jù)權(quán)利要求6所述的樂(lè)音生成裝置,其中 上述跳動(dòng)源檢測(cè)單元發(fā)現(xiàn)從上述演奏操作鍵的操作時(shí)刻開(kāi)始按時(shí)間序列是未來(lái)的并且相近的第3零交叉點(diǎn), 上述跳動(dòng)目的地檢測(cè)單元根據(jù)上述標(biāo)準(zhǔn)的發(fā)音時(shí)刻,檢測(cè)從上述標(biāo)準(zhǔn)的發(fā)音時(shí)刻開(kāi)始按時(shí)間序列是未來(lái)的并且相近的第I零交叉點(diǎn)。
9.根據(jù)權(quán)利要求6所述的樂(lè)音生成裝置,其中 在上述音頻數(shù)據(jù)中,預(yù)定相位的零交叉點(diǎn)位于與上述樂(lè)音的發(fā)音時(shí)刻對(duì)應(yīng)的時(shí)刻, 上述跳動(dòng)目的地檢測(cè)單元檢測(cè)與上述標(biāo)準(zhǔn)的發(fā)音時(shí)刻相對(duì)應(yīng)的預(yù)定相位的第I零交叉點(diǎn)。
全文摘要
本發(fā)明提供一種樂(lè)音生成裝置,CPU(21)按照基于樂(lè)曲數(shù)據(jù)中包含的時(shí)間信息的經(jīng)過(guò)時(shí)間,讀取并再生上述音頻數(shù)據(jù)。接著,判斷多個(gè)演奏操作鍵中的某個(gè)演奏操作鍵的操作時(shí)刻是否與上述樂(lè)曲數(shù)據(jù)所示的發(fā)音時(shí)刻一致。當(dāng)在此判定為不一致時(shí),將音頻數(shù)據(jù)的讀取位置從與操作時(shí)刻對(duì)應(yīng)的零交叉點(diǎn),跳到與發(fā)音時(shí)刻相對(duì)應(yīng)的零交叉點(diǎn),在此以后,繼續(xù)進(jìn)行普通的音頻數(shù)據(jù)的讀取再生。
文檔編號(hào)G10H1/00GK102800307SQ201210184809
公開(kāi)日2012年11月28日 申請(qǐng)日期2012年4月6日 優(yōu)先權(quán)日2011年4月6日
發(fā)明者松本光廣 申請(qǐng)人:卡西歐計(jì)算機(jī)株式會(huì)社