專利名稱:演奏信息分析裝置及和音檢測裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明是關(guān)于把包含樂曲的音高信息的演奏信息分解成多個部分的演奏信息分析裝置與從演奏信息中檢測和音的和音檢測裝置。
目前,有些電子樂器具備根據(jù)鍵盤彈出的樂曲進行自動伴奏的功能,即所謂自動伴奏功能。對于這種樂器,為了決定伴奏音的音高,有必要檢測出和音。它是根據(jù)從鍵盤輸入的演奏信息即所彈按鍵的鍵碼來確定和音的。
但是,由于在鍵盤的高音端一般進行旋律演奏,所以在高音端,對于和音,檢測出非和音碼的幾率增大。因此,把鍵盤虛擬分為低音端的左鍵區(qū)和高音端的右鍵區(qū),根據(jù)左鍵區(qū)按鍵的鍵碼來檢測和音。
這樣,在通過例如鍵碼的音高信息檢測和音時,存在著適合于和音檢測的音域,這個音域的選取方法影響檢測精度。而這樣的音域在一個曲子中也是變化的,所以為了提高和音檢測精度,有的(樂器)做成可以通過開關(guān)來切換左鍵域和右鍵域的界限。但這樣的樂器,由于必須邊演奏邊操作開關(guān),所以在可操作性上存在不足之處。
很多樂曲,可以劃分為旋律聲部、低音聲部等多個部分,在這些部分中存在著適合于和音檢測的部分。那么如果能夠把演奏信息分解成這樣的部分,相應(yīng)于這個部分進行和音檢測,就可以提高檢測精度。
另外,如果能把演奏信息分解成多個部分,則有下列優(yōu)點。例如如果把自動演奏的演奏信息分解成多個部分,并只把所希望的部分消音,進行自動演奏就變得很容易,這樣,配合這個自動演奏進行鍵盤演奏時,練習(xí)消音部分的演奏即所謂“減一”(マィナスヮン)功能就很容易實現(xiàn)。而且,如果能把演奏信息分解成多個部分,那么在演奏信息中加入其他旋律或把其中一部分與其他旋律調(diào)換,即所謂自動編曲等,也就變得很容易。
本發(fā)明是要解決把演奏信息能自動地分解成與演奏信息對應(yīng)的多個部分的問題。而且根據(jù)這樣的部分檢測和音,來提高和音檢測精度。
本發(fā)明的第一特征在于一種演奏信息分析裝置,它包括演奏信息輸入裝置,用于輸入包含多種音高信息的演奏信息;
演奏信息記憶裝置,用于記憶上述演奏信息;
部分分解裝置,根據(jù)上述演奏信息記憶裝置記憶的演奏信息在時間上相鄰的前面的演奏信息和現(xiàn)在的演奏信息之間的關(guān)系,分析現(xiàn)有的演奏信息并把它分解成多個組成部分。
本發(fā)明的第二特征在于一種演奏信息分析裝置,它包括演奏信息輸入裝置,用于輸入包含多種音高信息的演奏信息;
時機(タィミンダ)信息輸入裝置,用于輸入上述演奏信息相關(guān)的時機信息;
部分分解裝置,根據(jù)上述演奏信息的時機信息和上述音高信息把該演奏信息分解為多個組成部分。
本發(fā)明的第三特征在于一種和音檢測裝置,它包括演奏信息輸入裝置,用于輸入包含多種音高信息的演奏信息;
部分分解裝置,根據(jù)上述多種音高信息的相對音程把上述演奏信息分解成多個組成部分;
和音檢測裝置,根據(jù)上述部分分解裝置分解的規(guī)定部分的演奏信息檢測和音。
本發(fā)明的第四特征在于一種和音檢測裝置,它包括演奏信息輸入裝置,用于輸入包含多種音高信息的演奏信息;
演奏信息記憶裝置,用于記憶上述演奏信息;
部分分解裝置,根據(jù)上述演奏信息記憶裝置記憶的演奏信息在時間上相鄰的前面的演奏信息和現(xiàn)在的演奏信息之間的關(guān)系,分析現(xiàn)在的演奏信息并分解為多個組成部分;
和音檢測裝置,根據(jù)上述部分分解裝置分解的規(guī)定部分的演奏信息檢測和音。
本發(fā)明的第五特征在于一種和音檢測裝置,它包括演奏信息輸入裝置,用于輸入包含多種音高信息的演奏信息;
時機信息輸入裝置,用于輸入上述演奏信息相關(guān)的時機信息;
部分分解裝置,根據(jù)上述演奏信息的上述時機信息和上述音高信息把該演奏信息分解成多個組成部分;
和音檢測裝置,根據(jù)上述部分分解裝置分解的規(guī)定部分的演奏信息檢測和音。
附圖的簡單說明
圖1為本發(fā)明實施例的具有演奏信息分析裝置及和音檢測裝置的電子樂器模塊圖。
圖2為實施例的控制程序主程序流程圖。
圖3為實施例的中斷處理流程圖。
圖4為實施例的聲部分析流程圖。
圖5為實施例的1音聲部分析流程圖。
圖6為實施例的1音分析強拍處理流程圖。
圖7為實施例的1音分析弱拍處理流程圖。
圖8為實施例的琶音擴充處理流程圖。
圖9為實施例的2音聲部分析處理流程圖。
圖10為實施例的3音聲部分析處理流程圖。
圖11為實施例的4音以上聲部分析處理流程圖。
圖12為實施例的以低音碼為中心進行和音檢測處理的流程圖。
圖13為實施例的以旋律碼為中心進行和音檢測處理的流程圖。
圖14為實施例的和音表的說明圖。
圖15為實施例中1音聲部分析的輸入音的部分分配示意圖。
圖16為實施例中1音分析強拍的輸入音的部分分配示意圖。
圖17為實施例中1音分析弱拍的輸入音的部分分配示意圖。
圖18為實施例中琶音擴充的輸入音的部分分配示意圖。
圖1是本發(fā)明實施例的具備演奏信息分析裝置與和音檢測裝置的電子樂器模塊圖,CPU1是根據(jù)存貯在程序存儲器2中的控制程序,使用工作存儲器3的工作區(qū),對電子樂器進行整體控制,根據(jù)鍵盤4的操作進行鍵盤演奏,根據(jù)自動伴奏裝置5進行自動伴奏。
由CPU1檢測鍵盤4的鍵輸入,取得輸入鍵的鍵碼和鍵通或鍵斷信號,向音源6輸出鍵碼和發(fā)音或消音信號,進行對應(yīng)于鍵盤演奏的發(fā)音和消音處理。自動伴奏裝置5記憶了對應(yīng)于樂曲風(fēng)格的許多伴奏模式,它收到發(fā)自CPU1的啟動信號時,則按當(dāng)前選擇的伴奏模式進行自動伴奏,收到發(fā)自CPU1的停止信號時,則停止自動演奏。
另外,隨著鍵盤演奏的進行,自動伴奏裝置5收到發(fā)自CPU1的和音指示時,則產(chǎn)生對應(yīng)于指定的和音與低音(bass音)音高的伴奏音音樂信號。這樣,發(fā)自音源6的音樂信號和發(fā)自自動伴奏裝置5的音樂信號經(jīng)過混合器7的合成,輸出到聲音系統(tǒng)8,由聲音系統(tǒng)8對這個音樂信號進行數(shù)/模轉(zhuǎn)換、增幅等處理,產(chǎn)生音樂。
操作開關(guān)9中具有各種開關(guān),如用于指定自動伴奏開始/停止的開始/停止開關(guān),用于自動伴奏裝置5的風(fēng)格(スタィル)選擇或速度設(shè)定的開關(guān),用于設(shè)定音源6的音色的開關(guān)等。自動伴奏裝置5是根據(jù)操作開關(guān)9中設(shè)定的風(fēng)格和速度(テンポ)進行自動伴奏的。另外,CPU1把操作開關(guān)9中設(shè)定的速度設(shè)定在定時器10中,由定時器10根據(jù)設(shè)定的速度每過一個8分音符向CPU1發(fā)出一次中斷信號。
然后,CPU1根據(jù)這個中斷信號進行中斷處理,從自動伴奏開始時起,每過一個8分音符記錄一次速度,并檢測小節(jié)中的強拍或弱拍的時機或小節(jié)線的時機,對鍵盤4的輸入鍵碼進行聲部分析。然后在這個分析結(jié)果的基礎(chǔ)上檢測和音,檢測出的和音信息輸出到自動伴奏裝置5。
和音表11是如圖14所示的關(guān)于C調(diào)和音的和音種類與和音構(gòu)成音的對應(yīng)關(guān)系表,和音構(gòu)成音是通過對應(yīng)于12個音名的12位數(shù)據(jù)來記憶的,與和音構(gòu)成音對應(yīng)的位為1,其他位為0。這樣,在檢測和音時,在12位寄存器中把對應(yīng)于和音檢測鍵碼的音名的位置1,然后一邊對這個寄存器進行循環(huán)移位一邊與和音表11中的12位數(shù)據(jù)進行比較,從而檢測出和音。也就是說,由匹配的和音表11的數(shù)據(jù),得到和音的種類數(shù)據(jù),由此時(匹配時)移位次數(shù)得到和音的根音數(shù)據(jù)。
這里,實施例的聲部分析是把鍵盤4的按鍵音分解成如下四個部分在高聲部作為旋律的旋律(ナロディ)聲部,旋律中加入和聲的旋律碼(ナロディコ-ド)聲部,在低聲部中作為基礎(chǔ)的低音(ベ-ス)聲部,在此基礎(chǔ)上加上和聲的低音碼(ベ-スコ-ド)聲部。另外,根據(jù)按鍵數(shù)的不同,分別進行1音聲部分析,2音聲部分析,3音聲部分析及4音以上聲部分析。
這里,在聲部分析中,分解成四個部分的判斷條件是多種條件的組合,如音的高度、現(xiàn)在是不是小節(jié)的頭、現(xiàn)在是強拍音還是弱拍音、和前面的低音聲部音的音程、和前面旋律碼聲部音的音程等。根據(jù)這些條件來決定現(xiàn)在的鍵碼是屬于哪一部分。因此這四個部分,其音域并非固定的音域,而是隨著演奏信息而變化的。
這樣隨著演奏的進行,通過聲部分析把鍵碼分配到各個部分,如果在低音碼聲部存在鍵碼,就根據(jù)這個低音碼聲部檢測和音,如果在這個低音碼聲部中沒有鍵碼,則根據(jù)旋律碼聲部檢測和音。
另外,在這個實施例中,通過聲部分析得到的低音聲部的低音與檢測出的和音輸入到自動伴奏裝置5,當(dāng)輸入的低音與輸入的和音的根音不同時,自動伴奏裝置5將優(yōu)先發(fā)出低音。即對于低音與和音的根音不同的所謂分數(shù)和音,能夠優(yōu)先發(fā)其低音。
這個實施例中,把鍵碼分解成上述的四個部分,各個部分和鍵碼的關(guān)系以下式的表結(jié)構(gòu)來表示。
a1.b1.b2….c1.c2.….d1.d2…這里,“”和“”是約束表中各要素的記號,“.”是表中各要素的區(qū)分符號,a1是低音聲部的鍵碼(低音聲部是單音),b1、b2等是低音碼聲部的鍵碼,c1、c2等是旋律碼聲部的鍵碼,d1、d2等是旋律聲部的鍵碼,整個上式(1)表示的是把各個部分的鍵碼表分別作為要素的整體表(以后稱之為全分析表)。
圖2是控制程序主程序的流程圖。圖3~圖13是子程序和中斷處理程序的流程圖,并根據(jù)各流程圖來對實施例的動作進行說明。另外,在以下的說明中,根據(jù)需要,采取以下替代說法,從鍵盤輸入的鍵碼稱“輸入音”,作為各部分表的要素的鍵碼稱為“檢測音”。除此之外,在流程圖中,“低音聲部”以“B聲部”,“低音碼聲部”以“BC聲部”,“旋鍵碼聲部”以“MC聲部”,“旋律聲部”以“M聲部”來表示。另外,在以后的說明和各流程圖中,各寄存器、標(biāo)志、和表等以下列標(biāo)號表示,其內(nèi)容若不加特別說明也以同一標(biāo)號表示BCLST現(xiàn)在的低音碼聲部表BSKC輸出到自動伴奏裝置的檢測出的低音聲部檢測音butlLis除最低音以外的按鍵音表
butlUI5從按鍵音低端開始間隔5度以內(nèi),且除最低音以外的音表CHRD輸出到自動伴奏裝置的檢測和音的信息LIST全分析表Nt1音聲部分析時作為分析對象的輸入音Nt l按鍵低音(或最低音)Nt h按鍵高音Nt m按鍵中音Nt m2按鍵中音NtLis按鍵音表PBCtop上次低音碼聲部的最高音檢測音PBCLST上次低音碼聲部的檢測音表PBS上次的低音聲部的檢測音PMbtm上次的旋律聲部的最低音的檢測音PMCtop上次的旋律碼聲部的最高音的檢測音RUN表示自動伴奏開始/停止的標(biāo)志rLis從按鍵音中除去特定音后的表ShrLis全分析表的低音聲部或旋律碼聲部中清除相同音后構(gòu)成的表UndInt5從按鍵音低端開始間隔為5度以內(nèi)的音表vl1音聲部分析后的全分析表接通電源后,圖2的主程序處理一開始,則由步驟M1進行各標(biāo)志和寄存器的初始化,再由步驟M2判定鍵盤4有無鍵輸入,若無鍵輸入則轉(zhuǎn)至步驟M6,若有鍵輸入則由M3檢查有無鍵通信號;如有鍵通信號則由M4進行發(fā)聲處理后執(zhí)行步驟M6,否則由M5進行消音處理后執(zhí)行步驟M6。
在步驟M6,判斷操作開關(guān)9的開始/停止開關(guān)操作信號是否存在,若不存在則返回執(zhí)行步驟M2,若存在則通過步驟M7對標(biāo)志RUN取反后,由步驟M8判斷RUN是否等于1,如果RUN=1,便由步驟M9向自動伴奏裝置5輸出開始信號,然后返回步驟M2;若RUN=0則由步驟M10向自動伴奏裝置輸出停止信號,然后返回步驟M2。
根據(jù)以上的處理,通過對鍵盤演奏的發(fā)音與消音和對操作開關(guān)9開始/停止開關(guān)的操作,來實現(xiàn)自動伴奏的開始和停止。
圖3的中斷處理根據(jù)定時器10發(fā)出的中斷信號每過一個8分音符啟動一次。首先,在步驟i1,判斷是否滿足條件“RUN=1且按鍵數(shù)N>0”,若不滿足則返回主程序;若滿足,則由于自動伴奏中產(chǎn)生按鍵音,所以由步驟i2進行圖4以后的聲部分析。
這些聲部分析完成后,由步驟i3判斷有無低音碼聲部的檢測音,如果有低音碼聲部的檢測音,則由步驟i4進行以圖12的低音碼為中心的和音檢測,進而執(zhí)行步驟i7。若低音碼聲部沒有檢測音,則由步驟i5判斷有無旋律碼聲部的檢測音,若沒有,便直接返回主程序,否則由步驟i6進行以圖13的旋律碼為中心的和音檢測處理。
由以上處理可以看出,根據(jù)通過聲部分析獲得的全分析表LIST利用低音碼聲部和旋律碼聲部的檢測音檢測和音時,首先通過低音碼聲部進行和音檢測,若低音碼聲部中不存在檢測音,再通過旋律碼聲部進行和音檢測。
在步驟i7,判定和音檢測的成功與否,若和音檢測失敗,則直接返回主程序,反之若和音檢測成功,則通過步驟i8把LIST的低音聲部的要素(一個檢測音)存儲到寄存器BSKC中,由步驟i9把檢測出的和音信息存儲在寄存器CHRD中,再由步驟i10向自動伴奏裝置5輸出低音BSKC與和音CHRD,然后返回主程序。
在圖4的聲部分析中,由步驟A1、A4、A6分別判斷按鍵音數(shù),進行按鍵音數(shù)為1音、2音、3音和4音以上的處理。1音的情況下,由步驟A2把按鍵音的鍵碼(輸入音)存儲在Nt中,再由步驟A3進行圖5的1音聲部分析;2音的情況下,由步驟A5進行圖9的2音聲部分析;3音的情況下由步驟A7進行圖10的3音聲部分析;4音以上的情況下,由步驟A8進行圖11的4音以上聲部分析,各聲部分析完成后都分別返回調(diào)用程序。
在圖5的1音聲部分析中,由步驟S11把上次低音鍵碼(當(dāng)前LIST的低音聲部的鍵碼)存儲到PBS中。另外,在初始狀態(tài)或至此為止尚未檢測出低音時,存入PBS中的是鍵碼無效的數(shù)據(jù),上次的低音是不存在的。
接著,在步驟S12判斷上次的低音PBS是否存在,若上次的低音PBS不存在,則由步驟S13判斷Nt≤G3碼是否成立,即判斷輸入音Nt是不是一個“1(5)”(一點ト(ソ))或比其低的音,若Nt≤G3碼,則把Nt作為低音,進而執(zhí)行步驟S104,否則把Nt作為旋律音,然后執(zhí)行步驟S105。
在步驟S12,若PBS存在,則在步驟S14判斷當(dāng)前時機是否為小節(jié)的開頭,若為小節(jié)的開頭,則進行步驟S18以后的處理,否則由步驟S15判斷當(dāng)前時機是否為強拍,為弦拍時由步驟S16進行圖6的1音分析強拍處理后返回調(diào)用程序,不為強拍時由步驟S17進行圖7的1音分析弱拍處理后返回調(diào)用程序。
步驟S18以后是當(dāng)前時機為小節(jié)的開頭的情況下的處理。首先,在步驟S18判斷條件“Nt≤G3碼且Nt<PBS+12”是否滿足,條件滿足時執(zhí)行步驟S104,條件不滿足時由步驟S19判斷是否滿足“Nt>G3碼且Nt>PBS+7”的條件。在步驟S19,若條件滿足,則執(zhí)行步驟S104,條件不滿足時,則判斷步驟S101中上次的旋律聲部的檢測音是否存在,若不存在,則執(zhí)行步驟S104,否則,由步驟S102把上次旋律聲部的檢測音最低音存儲到PMbtm中,然后去執(zhí)行步驟S103。
在步驟S103,判斷“Nt<PMbtm-12”的條件,也就是“輸入音Nt比上次旋律聲部的最低音還低一個音組以上”的條件是否滿足,若條件滿足,則執(zhí)行步驟S104,否則執(zhí)行步驟S105。
步驟S104是使全分析表LIST的低音聲部的要素只有輸入音Nt一個,而其他部分的表為空的處理,步驟S105是使全分析表LIST的旋律聲部的要素只有輸入音Nt一個而其他部分的表為空的處理,步驟S104或S105的處理完成后,返回調(diào)用程序。
由以上所述,1音聲部分析是根據(jù)不同的條件來進行的,當(dāng)上次低音不存在時,以G3碼為基準分配到低音聲部或旋律聲部;當(dāng)上次低音存在時,還要判斷當(dāng)前的時機是否為小節(jié)的開頭。當(dāng)為小節(jié)的開頭時,根據(jù)G3碼和上次的低音PBS或上次的旋律聲部的最低音PMbtm進行分析,例如圖15所示,是分配到低音聲部或旋律聲部的。另外,如果上次的低音存在,而當(dāng)前時機又不是小節(jié)的開頭,則根據(jù)當(dāng)前是強拍還是弱拍來分析。
在圖6的1音分析強拍處理中,由步驟a1把旋律聲部的最低音存儲到PMbtm中,把上次低音聲部的最高音存儲在PBCtop中,然后把上次低音碼聲部的表存儲到PBCLIST中,執(zhí)行步驟a2。在步驟a2,判斷LIST=PBS...是否成立,即至此為止檢測鍵碼(LIST的要素)是否僅為上次的低音PBS,若只有上次的低音,則進行步驟a3以后的處理,若還檢測出了其他的音,則進行步驟a7以后的處理。
圖16表示的是對應(yīng)1音分析強拍處理的輸入音Nt的部分劃分,在步驟a3、a4和a5,判斷當(dāng)前的檢出音Nt和上次的低音PBS有怎樣的音程關(guān)系,若“PBS-2≤Nt≤PBS+2”則由步驟a19以Nt為低音聲部的要素,把低音碼聲部、旋律碼聲部和旋律聲部設(shè)置為空表,若“PBS+2<Nt≤PBS+12”,則由步驟a15以PBS為低音聲部的要素,以Nt為低音碼聲部的要素,把旋律碼聲部和旋律聲部設(shè)置為空表。
另外,若“Nt<PBS+12”,則由步驟a14,以PBS為低音聲部的要素,Nt為旋律聲部的要素,把低音碼聲部、旋律碼聲部設(shè)置為空表。如果不屬于這些范圍,即,“Nt>PBS-2”,則由步驟a6,以Nt為低音聲部的要素,PBS為低音碼聲部的要素,把旋律碼聲部和旋律聲部設(shè)置為空表。
在步驟a2,當(dāng)LIST中至此為止檢測出的音不僅僅是上次的低音PBS時,由步驟a7、a8和a9判斷當(dāng)前檢出音Nt和上次的低音PBS具有怎樣的音程關(guān)系。即,如果“PBS=Nt”,則直接返回調(diào)用程序;若“PBS-2≤Nt<PBS”,則由步驟a19以Nt為低音聲部的要素,把低音碼聲部、旋律碼聲部和旋律聲部設(shè)置為空表;若“Nt<PBS-2”,則由步驟a10把PBS加入上次的低音碼聲部表,并存儲到BCLST,再由步驟a1,以Nt為低音聲部的要素,BCLST為低音碼聲部表,把旋律碼聲部和旋律聲部設(shè)置為空表。若仍不屬以上范圍,即“Nt>PBS”,則進行步驟a12以后的處理。
在步驟a12,判斷LIST的低音碼聲部是否為空表,如果為空,則由步驟a13判斷是否滿足條件“PMbtm存在且Nt≥PMbtm-7”,若條件滿足,則由步驟a14,以PBS為低音聲部的要素,Nt為旋律聲部的要素,把低音碼聲部和旋律碼聲部設(shè)置成空表;若條件不滿足,則由步驟a15以PBS為低音聲部的要素,Nt為低音碼聲部的要素,把旋律碼聲部和旋律聲部設(shè)置為空表。
另一方面,在步驟a12,若LIST的低音碼聲部不為空表,則由步驟a16判斷“Nt≤PBCtop”是否成立,不成立時,由步驟a17進行圖8的琶音(アルペヅオ)擴充處理;成立時,則由步驟a18判斷LIST的低音碼聲部中是否存在與Nt一致的值,若存在,則直接返回調(diào)用程序,否則,由步驟a19,以Nt為低音聲部的要素,將低音碼聲部、旋律碼聲部和旋律聲部設(shè)置成空表后,返回調(diào)用程序。
圖7的1音分析弱拍處理,是由步驟b1將上次的旋律聲部的最低音的鍵碼存儲到PMbtm中,上次的低音碼聲部的最高音的鍵碼存儲到PBCtop中,然后將上次的低音碼聲部表存儲到PBCLIST中后,去執(zhí)行步驟b2,在步驟b2,判斷至此為止檢測出的鍵碼是否僅為上次低音PBS,如果是這樣,則進行步驟b3以后的處理;若檢測出了其他的音,則進行步驟b7以后的處理。
圖17是對應(yīng)于1音分析強拍處理的輸入音Nt的部分劃分示意圖。由步驟b3、b4和b5判斷輸入音Nt與上次低音PBS之間的音程關(guān)系,根據(jù)輸入音Nt的音高,更新全分析表后,返回調(diào)用程序。即,如果“Nt=PBS”,則直接返回;如果“PBS<Nt≤PBS+16”則由步驟b14,以PBS為低音聲部的要素,Nt為低音碼聲部的要素,將旋律碼聲部與旋律聲部設(shè)置為空表。如果“Nt>PBS+16”,則由步驟b13,以PBS為低音聲部的要素,Nt為旋律聲部的要素,將低音碼聲部與旋律碼聲部設(shè)置為空表。如果不在這些范圍內(nèi)(即Nt<PBS),則由步驟b6,以Nt為低音聲部的要素,PBS為低音碼聲部的要素,將旋律碼聲部和旋律聲部設(shè)置為空表。
另外,在步驟b2,當(dāng)至此為止檢測出的音不僅僅是上次的低音PBS時,則由步驟b7和b8判斷輸入音Nt與上次低音PBS之間的音程關(guān)系,根據(jù)輸入音Nt的音更新全分析表后,返回調(diào)用程序。即,如果“Nt=PBS”直接返回,如果“Nt<PBS”,則由步驟b9將PBS加入上次的低音碼聲部表,存入BCLST中,由步驟b10,以Nt為低音聲部的要素,BCLST為低音碼聲部的表,將旋律碼聲部和旋律聲部設(shè)置為空表。如果不在上述范圍內(nèi)(即Nt>PBS),則進行步驟b11以后的處理。
在步驟b11,判斷LIST的低音碼聲部是否為空,如果為空,由步驟b12,判斷“PMbtm存在且Nt≥PMbtm-7”的條件是否滿足,根據(jù)輸入音的音高,更新全分析表,然后返回調(diào)用程序,即,如果條件滿足,則由步驟b13,以PBS為低音聲部的要素,Nt為旋律聲部的要素,將低音碼聲部和旋律碼聲部設(shè)置為空表。如果條件不滿足,則由步驟b14,以PBS為低音聲部的要素,Nt為低音碼聲部的要素,將旋律碼聲部和旋律聲部設(shè)置為空表。
另一方面,在步驟b11,如果LIST的低音碼聲部不為空,則由步驟b15判斷“Nt≤PBCtop”是否成立,當(dāng)“Nt≤PBCtop”不成立時,由步驟b16進行圖8的琶音擴充處理;當(dāng)“Nt≤PBCtop”時,由步驟b17判斷LIST的低音碼聲部中是否存在與Nt一致的音。如果有,則直接返回調(diào)用程序,否則,由步驟b18將Nt加入上次的低音碼聲部表,并存儲到BCLST中,再由步驟b19,以PBS為低音聲部的要素,BCLST為低音碼聲部的表,將旋律碼聲部與旋律聲部設(shè)置為空表,然后返回調(diào)用程序。
上述1音分析強拍和1音分析弱拍處理中,分配輸入音Nt的條件(音域)是不同的。比如在到上次為止只檢測出低音的情況下,對于圖17所示的弱拍處理,只有在Nt小于PBS時分配到低音聲部,而對于圖16所示的強拍處理,直到Nt比PBS高1個音(PBS+2都分配到低音聲部。
另外,在上次為止不僅檢測出了低音,且LIST的低音碼聲部不為空的情況下,當(dāng)PBS<Nt≤PBCtop時,弱拍的處理是把Nt加入低音碼聲部,而強拍的處理則是加入到低音聲部。這樣,當(dāng)檢測音Nt在上次的低音PBS附近時,強拍的情況比弱拍的情況下成為低音的機會要多些,所以適合于強拍時為低音,弱拍時為低音碼這種樂曲的趨勢的處理。
圖8的琶音擴充處理是對輸入音Nt比上次的低音碼聲部的最高音PBCtop還高的情況下的處理。首先由步驟C1將上次旋律碼聲部的最高音的鍵碼存儲到PMCtop中,然后,由步驟C2、C3判斷輸入音Nt與上次低音碼聲部的最高音PBCtop之間的音程關(guān)系,根據(jù)輸入音的音高更新全分析表,返回調(diào)用程序。
圖18是對應(yīng)于琶音擴充處理的輸入音Nt的部分劃分示意圖。在步驟C2、若“PBCtop<Nt≤PBCtop+9”,則由步驟C7把Nt作為要素加入上次低音碼聲部表PBCLST,并把這個表作為低音碼聲部表,將旋律碼聲部與旋律聲部設(shè)置為空表。另外,如果在步驟C3,“PBCtop+9<Nt≤PBCtop+16”不成立,由步驟C10,把PBS作為低音聲部的要素,上次的低音碼聲部音表PBCLST原封不動地作為低音碼聲部表,Nt作為旋律聲部的要素,將旋律碼聲部設(shè)置為空表。
在步驟C2,當(dāng)“PBCtop+9<Nt≤PBCtop+16”時,由步驟C4判斷上次的旋律聲部表是否為空,若為空,則進行步驟C7以后的處理,否則由步驟C5判斷“Nt≤PMCtop+9”是否成立。當(dāng)“Nt≤PMCtop+9”時,由步驟C6,以PBS為低音聲部的要素,上次低音碼聲部音表PBCLST原樣作為低音碼聲部表,Nt作為旋律碼聲部的要素,將旋律聲部設(shè)置為空表,返回調(diào)用程序。另一方面,如果在步驟C5,“Nt≤PMCtop+9”不成立,則由步驟C9判斷“Nt<PMbtm-7”是否成立,當(dāng)“Nt<PMbtm-7”時,進行步驟C7以后的處理,當(dāng)“Nt<PMbtm-7”不成立時,進行步驟C10的處理。
在這個琶音擴充處理中,如圖17所表示的那樣,對于比上次的低音碼聲部的最高音PBCtop還要高的鍵碼,根據(jù)與PBCtop+9,PMCtop+9,PMbtm-7和PBCtop+16之間的音程關(guān)系,來指定低音碼聲部、旋律碼聲部或旋律聲部。
以上包括1音分析強拍、1音分析弱拍和琶音擴充處理的1音聲部分析處理,是同樣適用于2音聲部分析,3音聲部分析及4音以上聲部分析的共通的基本處理,下面,對2音聲部分析,3音聲部分析以及4音以上聲部分析的各個處理中,多個輸入音的最低音分別進行說明,首先進行2音聲部分析。
另外,圖9~圖11所示的2音聲部分析,3音聲部分析及4音以上聲部分析的各個處理,是根據(jù)是否為小節(jié)的開頭,各按鍵音的音程關(guān)系,以及作為1音聲部分析結(jié)果的全分析表的內(nèi)容,來更新全分析表的處理。為簡單起見,除重要部分外,省略步驟的補充說明。另外,對于圖9~圖11的流程圖,六邊形的判斷框中格式為vl=…的式子,表示判斷左邊的表vl的要素與右邊表的要素是否相等,另外在四邊形框中只列出表的內(nèi)容的部分是表示把全分析表更新為所列出的內(nèi)容(LIST←…)圖9的2音聲部分析的處理中,首先由步驟S21把上次的低音(低音聲部)的鍵碼存儲到PBS中,按鍵2音(輸入音)的低音鍵碼存儲到Nt中,然后把按鍵2音的高音鍵碼存儲到Nth中,進而執(zhí)行步驟S22。接著,由步驟S22,把低音Ntl賦給Nt,由步驟S2對Nt進行前面敘述的1音聲部分析處理,由步驟S24把作為這個1音聲部分析結(jié)果的全分析表存儲到vl,然后執(zhí)行步驟S25。
在步驟S25,判斷當(dāng)前時機是否為小節(jié)的開頭,若為小節(jié)的開頭,則執(zhí)行步驟S26,否則執(zhí)行步驟S27。這樣,由步驟S26或S27判斷Ntl和Nth的音程差是否超過了一個音組,對于是小節(jié)的開頭且音程差在1個音組以內(nèi)、是小節(jié)的開頭而音程差超過1個音組、不是小節(jié)的開頭且音程差在1個音組以內(nèi)、不是小節(jié)的開頭且音程差超過1個音組這幾種情況,分別如流程圖所示根據(jù)表vl的狀態(tài)將Ntl與Nth分配到各部分,更新分解析表。
是小節(jié)的開頭且Ntl與Nth的音程差在1個音組以內(nèi)的情況下,根據(jù)步驟S201以后的處理,對于旋律碼聲部或旋律聲部Ntl與Nth是成對地分配的,對于低音聲部和低音碼聲部,是把Ntl分配到低音聲部,Nth分配到低音碼聲部這種相鄰的部分中。
是小節(jié)的開頭,且Ntl與Nth的音程差超過1個音組的情況下,根據(jù)步驟S202以后的處理,對于旋律碼聲部或旋律聲部,是把Ntl分配到旋律碼聲部,Nth分配到旋律聲部,對于低音聲部和旋律聲部,是把Ntl分配到低音聲部,Nth分配到旋律聲部這樣隔開的部分中。
不是小節(jié)的開頭且Ntl與Nth的音程差在1個音組以內(nèi)的情況下,根據(jù)步驟S203以后的處理,當(dāng)?shù)鸵袈暡繛镹tl而其他部分為空時,將Ntl分配到低音聲部,Nth分配到低音碼聲部;當(dāng)?shù)鸵袈暡坎粸镹tl或其他部分不為空時,把PBS分配到低音聲部,Ntl與Nth成對地分配到低音碼聲部或旋律碼聲部或旋律聲部中。
不是小節(jié)的開頭且Ntl與Nth的音程差超過1個音組的情況下,根據(jù)步驟S204以后的處理,當(dāng)?shù)鸵袈暡繛镹tl,且其他部分為空時,把Ntl分配到低音聲部,Nth分配到旋律聲部,當(dāng)?shù)鸵袈暡坎粸镹tl或其他部分不為空時,把PBS分配到低音聲部,Nth分配到旋律聲部,Ntl分配到低音碼聲部或旋律聲部中。
在圖10的3音聲部分析的處理中,首先,由步驟S31把上次低音的鍵碼存儲到PBS,按鍵3音(輸入音)的低音鍵碼存儲到Ntl,中音鍵碼存儲到Ntm,高音鍵碼存儲到Nth中。然后,由步驟S32把低音Ntl賦給Nt,對于Nt由步驟S33進行前面所述的1音聲部分析處理,由步驟S34把作為這個1音聲部分析結(jié)果的全分析表LIST存儲到vl中后,進而執(zhí)行步驟S35。
在步驟S35,判斷是否為小節(jié)的開頭,對于是小節(jié)的開頭的情況及其他的情況的處理,由步驟S36及S36以后的處理完成,根據(jù)按鍵3音的音程關(guān)系與vl=Ntl...是否成立把Ntl、Ntm及Nth分配到合適的部分,更新全分析表。
也就是說,是小節(jié)的開頭且高音與低音都在以中音開始五度以內(nèi)時,若vl=Ntl,則把Ntl分配到低音聲部,Ntm和Nth分配到低音碼聲部,否則就把Ntl和Ntm及Nth這三個音分配到低音碼聲部。不是小節(jié)的開頭且高音和低音都在以中音開始五度以內(nèi)時,若vl=Ntl,則把Ntl分配到低音聲部,Ntm及Nth分配到低音碼聲部,否則就把PBS分配到低音聲部,把Ntl、Ntm及Nth的3音分配到低音碼聲部中。這樣,就發(fā)生了由于在小節(jié)頭時,和音容易變化,所以在低音聲部中不用PBS,非小節(jié)開頭時,和音容易持續(xù),所以在低音聲部中使用PBS的情況。
另外,從流程圖來看,高音和低音不都在從中音開始的五度以內(nèi)的情況下,是小節(jié)開頭時,傾向于把Ntl,Ntm及Nth分配到低音端;不是小節(jié)開頭,傾向于把Ntl、Ntm及Nth分配到高音端。而且,高音和低音不都在從中音開始的5度以內(nèi)的情況下,是小節(jié)開頭時,傾向于在低音聲部中不用PBS,把Ntl分配到低音聲部。不是小節(jié)開頭時,傾向于把PBS分配到低音聲部。
另外,對于流程圖,“比次高音8度音程大”表示“Ntm與Nth之間的音程大于8度”,“次低音8度以內(nèi)”表示“Ntl與Ntm之間的音程在8度以內(nèi)”。另外,“次高音8度以內(nèi)”是表示“Ntm與Nth之間的音程在8度以內(nèi)”,“5度”的情況也是同樣。
在圖11的4音以上聲部分析處理中,首先,由步驟S41,分別把上次低音的鍵碼存儲到PBS,按鍵音的最低音鍵碼存儲到Ntl,按鍵音的表存儲到NTLis,除去低音以后的按鍵音表存儲到butLis中。然后由步驟S42把最低音Ntl賦給Nt,對于Nt由步驟S43進行1音聲部分析處理,由步驟S44把作為這個1音聲部分析結(jié)果的全分析表LIST存儲到表v1中,進而執(zhí)行步驟S45。
在步驟S45,判斷最低音與次低音(低2音)的音程差是否大于8度,如果大于8度,由步驟S46的判斷,若vl=Ntl成立,則把Ntl分配到低音聲部,表butlLis分配到低音碼聲部中,否則把PBS分配到低音聲部,按鍵音表NTLis分配到低音碼聲部中。另外如果次低音的音程差在8度以下,則由步驟S47判斷這個次低音的音程差是否在5度以內(nèi),若在5度以內(nèi),則進行步驟S48以后的處理,若不在5度以內(nèi),則進行步驟S49以后的處理。
在步驟S48,把從按鍵音表NTLis的低端的音開始,音程差順序保持5度以內(nèi)間隔的音表存儲到表UndInt5中,由步驟S401把從按鍵音表NTLis的要素中除去表UndInt5的要素后做成的表,存儲到表rLis中,然后執(zhí)行步驟S402。
這樣,由步驟S402的判斷,若vl=Ntl不成立,則把PBS分配到低音聲部,表UndInt5分配到低音碼聲部,表rlis分配到旋律碼聲部。反之若vl=Ntl成立,則由步驟S403把從表UndInt5的要素中除去Ntl后做成的表存儲到butlUI5中,Ntl分配到低音聲部,表butlUI5分配到低音碼聲部,表rLis分配到旋律碼聲部。
另一方面,在步驟S49,把按鍵音表NTLis低端的音開始第2個音存儲到Ntm,低端的音開始第3個音存儲到Ntm2中,由步驟S404判斷Ntm與Ntm2之間的音程是否在5度以內(nèi),若在5度以內(nèi),則執(zhí)行步驟S405,否則執(zhí)行步驟S409,然后,由步驟S405或S409判斷當(dāng)前時機是否為小節(jié)開頭,根據(jù)Ntm與Ntm2之間的音程在5度以內(nèi)且當(dāng)前為小節(jié)開頭、5度以內(nèi)而當(dāng)前不是小節(jié)開頭、超過5度而當(dāng)前為小節(jié)開頭、超過5度且當(dāng)前不是小節(jié)開頭等各種情況,把按鍵音分配到(合適的)部分,更新全分析表。
5度以內(nèi)且為小節(jié)的開頭時,則把Ntl分配到低音聲部,表UndInt5分配到低音碼聲部,表rLis分配到旋律碼聲部。5度以內(nèi)但不為小節(jié)的開頭時,則由步驟S406,把從按鍵音表低端的音開始音程差順序保持5度以內(nèi)間隔的音表存儲到表UndInt5,由步驟S407,把從按鍵音表NTLis的要素中除去表UndInt5的要素所構(gòu)成的表存儲到rLis中,進而執(zhí)行步驟S408。
然后,由步驟S408的判斷,若vl=Ntl不成立,則把PBS分配到低音聲部,Ntl分配到低音碼聲部,表UndInt5分配到旋律碼聲部,表rLis分配到旋律聲部。否則,就把Ntl分配到低音聲部,表UndInt5分配到低音碼聲部,表rLis分配到旋律碼聲部。
超過5度且為小節(jié)的開頭時,則把Ntl分配到低音聲部,Ntm分配到低音碼聲部,表rLis分配到旋律碼聲部。超過5度但不是小節(jié)的開頭時,由步驟S410把從按鍵音表NTLis的要素中除去Ntl后所構(gòu)成的表存儲到表rLis中,根據(jù)步驟S411的判斷,若vl=Ntl不成立,則把PBS分配到低音聲部,Ntl與Ntm分配到低音碼聲部,表rLis分配到該旋律碼聲部。否則,就把Ntl分配到低音聲部、Ntm分配到低音碼聲部,表rLis分配到旋律碼聲部。
由以上的聲部分析處理,每過一個8分音符進行一次的中斷處理期間產(chǎn)生的鍵輸入碼,根據(jù)音高、當(dāng)前是否為小節(jié)的開頭、當(dāng)前是強拍還是弱拍、與上次的低音聲部音之間的音程、與上次旋律碼聲部音之間的音程等多種判斷條件,相應(yīng)地被分解為四個部分,從全分析表中可以得到各個部分的鍵碼,然后,在這個全分析表的基礎(chǔ)上,進行如下的和音檢測。
在圖12所示的以基碼為中心進行的和音檢測處理中,首先,由步驟S51把從全分析表LIST的低音碼聲部要素中,清除發(fā)相同音的重復(fù)鍵碼后構(gòu)成的表存儲到表ShrLis中,再由步驟S52判斷表ShrLis的要素是否為3個以上,如果為3個以上,則進行步驟S53以后的處理,否則就執(zhí)行步驟S56。
在步驟S53,12位寄存器CHD中與表ShrLis中的鍵碼相對應(yīng)的位被置為1,其他位清零,由步驟S54根據(jù)CHD檢索和音表,檢測出和音。然后由步驟S55判斷和音檢測是否成功,若檢測成功則返回調(diào)用程序,否則執(zhí)行步驟S56。
在步驟S56,把從全分析表LIST的低音聲部的要素(一個)和低音碼聲部的要素合并后的表中,清除發(fā)相同音的重復(fù)鍵碼后構(gòu)成的表,存儲到ShrLis中,由步驟S57判斷表ShrLis的要素是否為3個以上,若不為3個以上,則去執(zhí)行S502,否則由步驟S58和S59進行與上述相同的和音檢測處理,再由步驟S501判斷和音檢測的成功與否,若檢測成功,則返回調(diào)用程序,否則就去執(zhí)行步驟S502。然后,由步驟S502,把從合并全分析表LIST的低音聲部的要素(1個)、低音碼聲部的要素及旋律碼聲部的要素后的表中,清除發(fā)相同音的重復(fù)鍵碼后構(gòu)成的表,存儲到列ShrLis中,然后返回調(diào)用程序。
在圖13的以旋律碼為中心的和音檢測處理中,首先由步驟S56,把從全分析表LIST的旋律碼聲部的要素中清除發(fā)相同音的重復(fù)鍵碼后構(gòu)成的表存儲到表ShrLis中,再由步驟S62,判斷表ShrLis的要素是否為3個以上,如果不為3個以上,則執(zhí)行步驟S66,否則由步驟S63與S64進行與上述相同的和音檢測處理,然后由步驟S64判斷和音檢測的成功與否,若檢測成功,則返回調(diào)用程序,否則就去執(zhí)行步驟S66。
在步驟S66,把從全分析表LIST的低音聲部的要素與旋律碼聲部的要素合并的表中,清除發(fā)相同音的重復(fù)鍵碼后構(gòu)成的表,存儲到ShrLis中,再由步驟S67與S68進行與上述相同的和音檢測處理,然后返回調(diào)用程序。
如上所述,鍵盤演奏的輸入音鍵碼,隨著演奏被分解成音域不斷變化的四個部分,這樣,根據(jù)隨著演奏分解的各部分進行和音檢測,就很容易檢測出和音。
另外,在以上的實施例中,是以從鍵盤輸入的接鍵音為演奏信息進行聲部分析的,不言而喻,對于從外部設(shè)備輸入的演奏信息,或預(yù)先由記憶裝置記憶的演奏信息也可以分別進行同樣的聲部分析。另外,根據(jù)這種演奏信息記憶的小節(jié)的開頭信息,可以檢測出時機也是理所當(dāng)然的。
另外,在上述實施例中,是隨每一次中斷處理,一面更新全析分表,一面進行和音檢測的,不言而喻,如果逐次記憶部分分解所獲得的全分析表,則可以把聲部分析的結(jié)果也存儲下來。
另外,在上述實施例中,是從分解的所定部分檢測出用于自動伴奏的和音的,但也可以記憶自動伴奏的演奏信息等,把這些演奏信息分解并記憶,在鍵盤演奏時,抹去指定部分而進行自動演奏等,適用于減一功能。
根據(jù)以上說明,由于本發(fā)明的演奏信息分析裝置的一個特征,是以演奏信息的音高信息的相對音程為基礎(chǔ)把演奏信息分解成多個部分的,所以分解部分的音域?qū)τ谘葑嘈畔碚f是合適的;由于本發(fā)明的演奏信息分析裝置的另一個特征,是以演奏信息記憶裝置記憶的演奏信息在時間上相鄰的前面的演奏信息與現(xiàn)在的演奏信息的關(guān)系為基礎(chǔ)分析演奏信息并分解成各部分的,因而分解成部分的條件是依從于演奏的過程的;另外,由于本發(fā)明的演奏信息分析裝置的又一特征,是以演奏時機與音高信息為基礎(chǔ),把演奏信息分解成多個部分的,所以分解成部分的條件是對應(yīng)于強拍、弱拍或小節(jié)的開頭等這些對應(yīng)于演奏時機的特征的。因此,根據(jù)本發(fā)明的演奏信息分析裝置,能夠把演奏信息自動地分解成與之相應(yīng)的多個部分。
由于本發(fā)明的和音檢測裝置的一個特征,是以演奏信息的音高信息的相對音程為基礎(chǔ),把演奏信息分解成多個部分,再根據(jù)分解的所定部分的演奏信息進行和音檢測的,因而能夠根據(jù)適合于演奏信息的部分,檢測出和音;另外,由于本發(fā)明的和音檢測裝置的另一特征,是以演奏信息記憶裝置記憶的演奏信息在時間上相鄰的前面的演奏信息與現(xiàn)在的演奏信息之間的關(guān)系為基礎(chǔ)分析演奏信息并把它分解成多個部分,以分解的所定部分的的演奏信息為基礎(chǔ)進行和音檢測的,因此,由根據(jù)依從于演奏進程的條件分解并適合于演奏信息的部分,能夠檢測出和音;另外,由于本發(fā)明的和音檢測裝置的又一特征,是依據(jù)演奏時序與音高信息把演奏信息分解為多個部分,并以分解的所定部分的演奏信息為基礎(chǔ)進行和音檢測的,因此,以根據(jù)對應(yīng)于演奏的強拍,弱拍或小節(jié)的開頭等特征的條件分解并適合于演奏信息的部分為基礎(chǔ),能夠檢測出和音。因而,根據(jù)本發(fā)明的和音檢測裝置,能夠提高和音檢測的檢測精度。
權(quán)利要求
1.一種和音檢測裝置,其特征在于,包括演奏信息輸入裝置,用于輸入包含多個音高信息的演奏信息;部分分解裝置,用于根據(jù)上述音高信息的相對音程,把上述演奏信息分解成多個部分;和音檢測裝置,用于根據(jù)上述部分分解裝置分解的所定部分的演奏信息,檢測出和音。
2.根據(jù)權(quán)利要求1所述的和音檢測裝置,其特征在于,上述演奏信息輸入裝置,是把在時間上連續(xù)的多個演奏信息的音高信息,作為上述演奏信息的音高信息而輸入的。
3.根據(jù)權(quán)利要求1所述的和音檢測裝置,其特征在于,上述演奏信息輸入裝置,是把同時按下鍵盤的多個鍵時產(chǎn)生的音高信息,作為上述演奏信息的音高信息而輸入的。
4.根據(jù)權(quán)利要求1所述的和音檢測裝置,其特征在于,上述演奏信息輸入裝置,是把在時間上連續(xù)的多個演奏信息的音高信息與同時按下鍵盤的多個鍵時產(chǎn)生的音高信息,作為上述演奏信息的音高信息而輸入的。
5.根據(jù)權(quán)利要求1所述的和音檢測裝置,其特征在于,上述部分分解裝置,是根據(jù)在時間上連續(xù)的多個音高信息的音高差,把上述演奏信息分解成多個部分的。
6.根據(jù)權(quán)利要求1所述的和音檢測裝置,其特征在于,上述部分分解裝置,是根據(jù)同時按下鍵盤的多個按鍵時產(chǎn)生的多個音高信息的音高差,把上述演奏信息分解成多個部分的。
7.根據(jù)權(quán)利要求1所述的和音檢測裝置,其特征在于,上述部分分解裝置,是把上述演奏信息分解成用于檢測和音的部分和除此以外的部分。
8.根據(jù)權(quán)利要求1所述的和音檢測裝置,其特征在于,上述部分分解裝置,是把上述演奏信息分解成用于檢測和音的多個部分和除此以外的部分。
9.根據(jù)權(quán)利要求8所述的和音檢測裝置,其特征在于,上述和音檢測裝置,是從上述部分分解裝置分解的上述用于和音檢測的多個部分中,選擇合適的部分進行和音檢測的。
10.一種自動伴奏裝置,用于根據(jù)由權(quán)利要求1所述的和音檢測裝置檢測出的和音進行自動伴奏。
11.一種演奏信息分析裝置,其特征在于,它包括演奏信息輸入裝置,用于輸入包含多個音高信息的演奏信息;演奏信息記憶裝置,用于記憶上述演奏信息;部分分解裝置,用于根據(jù)由上述演奏信息記憶裝置記憶的演奏信息在時間上相鄰的前面的演奏信息與現(xiàn)在的演奏信息之間的關(guān)系,分析現(xiàn)在的演奏信息并分解成多個部分。
12.根據(jù)權(quán)利要求11所述的演奏信息分析裝置,其特征在于,上述演奏信息輸入裝置,是把在時間上連續(xù)的多個演奏信息的音高信息作為上述多個音高信息而輸入的。
13.根據(jù)權(quán)利要求11所述的演奏信息分析裝置,其特征在于,上述部分分解裝置,是根據(jù)上述在時間上相鄰的、前面的演奏信息與現(xiàn)在的演奏信息的相對音程,分析現(xiàn)在的演奏信息,并分解成多個部分的。
14.一種演奏信息分析裝置,其特征在于,它包括演奏信息輸入裝置,用于輸入包含多個音高信息的演奏信息;時機信息輸入裝置,用于輸入關(guān)于上述演奏信息的時機信息;部分分解裝置,用于根據(jù)上述演奏信息的上述時機信息與上述音高信息,把該演奏信息分解成多個部分。
15.根據(jù)權(quán)利要求14所述的演奏信息分析裝置,其特征在于,上述演奏信息輸入裝置,是把在時間上連續(xù)的多個演奏信息的音高信息作為上述音高信息而輸入的。
16.根據(jù)權(quán)利要求14所述的演奏信息分析裝置,其特征在于,上述演奏信息輸入裝置,是把同時按下鍵盤的多個鍵時產(chǎn)生的音高信息作為上述多個音高信息而輸入的。
17.根據(jù)權(quán)利要求14所述的演奏信息分析裝置,其特征在于,上述演奏信息輸入裝置,是把在時間上連續(xù)的多個演奏信息的音高信息與同時按下鍵盤的多個鍵時產(chǎn)生的音高信息作為上述多個音高信息而輸入的。
18.根據(jù)權(quán)利要求14所述的演奏信息分析裝置,其特征在于,上述時機信息輸入裝置,是把強拍、弱拍或小節(jié)的開頭這三者中至少其中一個信息作為上述時機信息而輸入的。
19.根據(jù)權(quán)利要求14所述的演奏信息分析裝置,其特征在于,上述部分分解裝置,是根據(jù)上述時機信息與多個音高信息的相對音程差,把上述演奏信息分解成多個部分的。
20.根據(jù)權(quán)利要求14所述的演奏信息分析裝置,其特征在于,上述部分分解裝置,是根據(jù)上述時機信息與對應(yīng)于該時機信息的演奏信息的音高信息,把上述演奏信息分解成多個部分的。
21.一種和音檢測裝置,其特征在于,它包括演奏信息輸入裝置,用于輸入包含多個高音信息的演奏信息;演奏信息記憶裝置,用于記憶上述演奏信息;部分分解裝置,用于根據(jù)上述演奏信息記憶裝置記憶的演奏信息在時間上相鄰的前面的演奏信息與現(xiàn)在的演奏信息之間的關(guān)系,分析現(xiàn)在的演奏信息并分解成多個部分;和音檢測裝置,用于根據(jù)上述部分分解裝置分解的所定部分的演奏信息檢測出和音。
22.根據(jù)權(quán)利要求21所述的和音檢測裝置,其特征在于,上述演奏信息輸入裝置,是把在時間上連續(xù)的多個演奏信息的音高信息作為上述多個音高信息而輸入的。
23.根據(jù)權(quán)利要求21所述的和音檢測裝置,其特征在于,上述部分分解裝置,是根據(jù)上述在時間上相鄰的前面的演奏信息與現(xiàn)在的演奏信息的相對音程,分析現(xiàn)在的演奏信息,并分解成多個部分的。
24.一種自動伴奏裝置,用于根據(jù)由權(quán)利要求21所述的上述和音檢測裝置檢測出的和音,進行自動伴奏。
25.一種和音檢測裝置,其特征在于,它包括演奏信息輸入裝置用于輸入包含多個音高信息的演奏信息。時機信息輸入裝置,用于輸入關(guān)于上述演奏信息的時機信息;部分分解裝置,用于根據(jù)上述演奏信息的上述時機信息與上述音高信息,把該演奏信息分解成多個部分;和音檢測裝置,用于根據(jù)上述部分分解裝置分解的所定部分的演奏信息檢測出和音。
26.根據(jù)權(quán)利要求25所述的和音檢測裝置,其特征在于,上述演奏信息輸入裝置,是把在時間上連續(xù)的多個演奏信息的音高信息作為上述多個音高信息而輸入的。
27.根據(jù)權(quán)利要求25所述的和音檢測裝置,其特征在于,上述演奏信息輸入裝置,是把同時按下鍵盤的多個鍵時產(chǎn)生的音高信息作為上述的多個音高信息而輸入的。
28.根據(jù)權(quán)利要求25所述的和音檢測裝置,其特征在于,上述演奏信息輸入裝置,是把在時間上連續(xù)的多個演奏信息的音高信息與同時按下鍵盤的多個鍵時產(chǎn)生的音高信息作為上述多個音高信息而輸入的。
29.根據(jù)權(quán)利要求25所述的和音檢測裝置,其特征在于,上述時機信息輸入裝置,是把強拍、弱拍或小節(jié)的開頭這三者中至少其中一個信息作為上述時機信息而輸入的。
30.根據(jù)權(quán)利要求25所述的和音檢測裝置,其特征在于,上述部分分解裝置,是根據(jù)上述時機信息與多個音高信息的相對音程差,把上述演奏信息分解成多個部分的。
31.根據(jù)權(quán)利要求25所述的和音檢測裝置,其特征在于,上述部分分解裝置,是根據(jù)上述時機信息與對應(yīng)于該時機信息的演奏信息的音高信息,把上述演奏信息分解成多個部分的。
32.一種自動伴奏裝置,用于根據(jù)由權(quán)利要求25所述的上述和音檢測裝置檢測出的和音進行自動伴奏。
33.一種電子樂器,其特征在于,它包括演奏信息輸入裝置,用于輸入至少包含音高信息的演奏信息;音樂信號發(fā)生裝置,用于根據(jù)由上述演奏信息輸入裝置依次輸入的演奏信息的音高信息,產(chǎn)生音樂信號;記憶裝置,用于記憶作為在時間上連續(xù)的多個音高信息的上述音樂信息;和音檢測裝置,用于從記憶的上述音高信息中檢測出和音;伴奏音發(fā)生裝置,用于根據(jù)檢測出的和音產(chǎn)生伴奏音。
34.根據(jù)權(quán)利要求33所述的電子樂器,其特征在于,上述和音檢測裝置,是把上述記憶裝置記憶的音高信息分解成多個部分,并從分解的多個部分中檢測出和音的。
35.根據(jù)權(quán)利要求34所述的電子樂器,其特征在于,上述和音檢測裝置,是從上述分解的多個部分中至少其中一個部分中檢測出和音的。
全文摘要
本發(fā)明旨在把演奏信息分解為多個部分,提高檢測和音的精度。記憶按鍵音的鍵碼,根據(jù)定時器的中斷信號,由CPU每過8分音符作一次中斷處理。把輸入的鍵碼分解成低音、低音碼、旋律、旋律碼四個聲部。根據(jù)按鍵數(shù),進行1、2、3及4音以上的聲部分析。根據(jù)音高、是否小節(jié)開頭、強弱拍、與上次低音聲部音的音程、與上次旋律碼聲部音的音程等,決定按鍵音的部分。通過低音碼或旋律碼聲部的部分與和音表檢測和音,輸出到自動伴奏裝置。
文檔編號G10H1/00GK1098809SQ9410396
公開日1995年2月15日 申請日期1994年4月9日 優(yōu)先權(quán)日1993年4月9日
發(fā)明者東儀溫 申請人:雅馬哈株式會社