JP4031308B2 - 自動演奏プログラム - Google Patents
自動演奏プログラム Download PDFInfo
- Publication number
- JP4031308B2 JP4031308B2 JP2002209930A JP2002209930A JP4031308B2 JP 4031308 B2 JP4031308 B2 JP 4031308B2 JP 2002209930 A JP2002209930 A JP 2002209930A JP 2002209930 A JP2002209930 A JP 2002209930A JP 4031308 B2 JP4031308 B2 JP 4031308B2
- Authority
- JP
- Japan
- Prior art keywords
- time
- performance
- time rate
- information
- rate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
本発明は、コンピュータまたは自動演奏装置及び電子楽器等に組み込まれたコンピュータで実行される自動演奏プログラムであって、演奏情報が出力される時刻を変更するものに関する。
【0002】
【従来の技術】
従来、この種の自動演奏装置及び電子楽器、又はコンピュータでは、各演奏情報を、それらの演奏情報に付された出力時刻に読み出して音源に送り、音源が、送られてきた演奏情報に基づいて楽音を生成する自動演奏が行われている。ここで演奏情報に付された時刻とは、テンポ値により規定される周期のクロックをカウントすることで求められる。
【0003】
この自動演奏において、演奏情報を出力する実際の時刻を変更する方法としては、テンポ値を変更する、または演奏情報に予め付されている時刻を直接変更する方法が知られている。
【0004】
【発明が解決しようとする課題】
しかしながら、上記従来例では、各演奏情報に付された時刻の変更が出来るものの、次の不都合がある。
【0005】
テンポ値を変更する従来の自動演奏装置では、複数のトラックそれぞれに各パートの演奏情報が記憶されている場合に、一つのクロックで全トラックの時刻をカウントしているため、テンポ値を変更すれば、全てのトラックの時刻が変化する。換言すれば、特定のトラックの演奏情報に付された時刻のみを変化させて、そのトラックのみ実際の時刻を変更させることが出来ない。
【0006】
また、演奏情報に付された時刻を直接変更する例では、自動演奏中に即時的に時刻を変更できない。したがって、実際の時刻も即時的に変更できない。
【0007】
本発明は、上記事情に鑑み、実際の時刻(再生時刻)の変更が容易にした自動演奏プログラムの提供を目的としている。
【0008】
【課題を解決するための手段】
上記目的を達成する自動演奏プログラムは、コンピュータ内で実行されることにより、そのコンピュータに、時間を計時するステップと、時間情報が付された演奏情報を記憶する記憶手段から前記計時ステップが計時する時間に応じて演奏情報を読み出して出力する演奏ステップと、前記演奏ステップによる演奏中の任意の時刻にタイムレートが入力されるステップと、前記入力ステップによりタイムレートを入力した場合、その時刻以降に出力する演奏情報の出力時刻を、前記入力したタイムレートに基づき変更するステップとを実行させることを特徴としている。上記した本発明の自動演奏プログラムでは、演奏情報に付された時刻情報の変更を、所定のタイミングで受け付け、次に出力する演奏情報に付された時刻情報を変更している。この場合、特定の演奏情報が変更されて、変更後の時刻情報より表わされる時刻での再生が容易に出来るようになる。また、再生速度の変更が間引かれて、演奏情報に付された時刻情報の変更の演算量が低減し、その処理負担が軽減される。
【0009】
また、上記目的を達成する自動演奏プログラムは、コンピュータ内で実行されることにより、そのコンピュータに、時間を計時するステップと、
時間情報が付された複数トラックからなる演奏情報を記憶する記憶手段から前記計時ステップが計時する時間に応じて演奏情報を読み出して出力する演奏ステップと、前記演奏ステップによる演奏中の任意の時刻にタイムレートが入力されるステップと、複数のトラックのうち任意のトラックを指定するステップと、前記入力ステップによりタイムレートを入力した場合、前記トラック指定ステップにより指定されたトラックについて、タイムレートを入力した時刻以降に出力する演奏情報の出力時刻を、前記入力したタイムレートに基づき変更するステップとを実行させるものであり、複数トラックのうち、任意のトラックのみについて、タイムレートの変更を行うことができる。
【0010】
【発明の実施の形態】
以下、本発明の一実施形態について説明する。
【0011】
(実施形態の構成及び各部の動作)
図1は、本発明の一実施形態における自動演奏プログラムを実行する事により自動演奏を行う自動演奏装置の構成例を示すブロック図である。
【0012】
図1を参照すると、この自動演奏装置は、その各部を制御する制御部1が設けられている。この制御部1では演奏情報に付された出力する時刻をカウントするクロック信号を発生している。ただし、このクロック信号は、この自動演奏装置内で発生することに代わり、この自動演奏装置に、外部との間で情報を入出力するインターフェースを設け、クロック信号は外部装置からそのインターフェースを介してこの自動演奏装置に入力されてもよい。
【0013】
さらに、図1に示す自動演奏装置には、楽音を生成する楽音生成部2と、多種の楽音情報を格納するハードディスク装置(HDD)3、及びこの後で説明する複数の操作子及び表示器などを備えた操作パネル4とを備えている。これらの各部は、バスラインに接続されている。
【0014】
制御部1は、本装置の各部の制御を行なうCPU1a、自動演奏プログラムを含む制御プログラムが記憶されているROM1b及びワーキング処理用のRAM1cからなる。
【0015】
楽音生成部2は、時間軸圧縮伸長処理が可能な波形再生音源であり、テンポとタイムレートにしたがって時間軸圧縮処理を行う。楽音生成部2には、ここで生成された楽音を放音する発音器2aと、楽音波形を記憶するメモリ5とが接続されている。
【0016】
図2は操作パネル4の外観構成例を示す正面図である。
【0017】
図2を参照すると、操作パネル4には、各種設定を表示する表示器4aと、演奏開始操作子4b及び演奏終了操作子4cが配置されている。さらに、この操作パネル4には、タイムレートを変更する、ボリュームを備えたタイムレート設定操作子4dと、テンポ値を変更するためのテンポ値設定操作子4eおよびトラック選択操作子4fが配置されている。
【0018】
表示器4aは、各種情報を表示する。演奏開始操作子4bは、演奏者などの操作指示に基づいた自動演奏の開始を指示する。また、演奏終了操作子4cは、演奏者などの操作指示に基づいた自動演奏の終了を指示する。
【0019】
タイムレート設定操作子4dは、トラック選択操作子4fにより選択されたトラックのタイムレート、すなわち、テンポ値に対する演奏の進行速度を演奏中に変更するものであり、「タイムレートXが1.0」の場合、自動演奏のテンポ値に応じた演奏速度で演奏を行う。また、「X>1.0」では、自動演奏のテンポ値に応じた演奏速度よりも速く、その演奏が行なわれる。この逆に「X<1.0」では、自動演奏のテンポ値に応じた演奏速度よりも遅く、その演奏が行なわれる。
【0020】
テンポ値設定操作子4eは、テンポ値を変更するものであり、このテンポ値設定操作子4eを右に回転させると、速いテンポで演奏され、また、この逆にテンポ値設定操作子4eを左に回転させると、遅いテンポで演奏が行なわれる。トラック選択操作子4fは、タイムレートを変更するトラックを選択する操作子であり、このスイッチを押すたびに1,2・・n、1のようにトラックが選択され、選択されたトラック番号が表示器4aに表示される。
【0021】
以上が実施形態の構成及び各部の動作である。
【0022】
以下、この実施形態の全体動作について説明する。
【0023】
図3は、ハードディスク装置3から読み出されてRAM1cに記憶した演奏情報とタイムレートを時刻と共に示す図で、また図4は、タイムレート変更後の演奏情報とタイムレートを時刻と共に示すとともに、タイムレート設定操作子による操作値との対応関係を示す図である。
【0024】
図3を参照すると、ここには次の情報が示されている。
(a)時刻
この例では、その時刻が0〜136となっている。時刻の単位はティックであり、ティックは、1拍の時間を所定の数(例えば96)で除した値であり、1ティックあたりの時間の長さは設定されているテンポ値により変化する。
(b)楽音再生の開始終了を規定するノート情報(Note On、Note Off)
このノート情報の例では、Note番号[64(ha)]、[66(re)]、[67(ru)]となっている。
(c)該当する演奏情報の再生音量情報
この例は、Volume[100]、[050]の値となっている。
(d)タイムレート(TimeRate)
この例では、タイムレートが24ティック毎に記憶され、その全ての値が[1.0]となっている。
(e)エンド(end)は自動演奏処理の終了を指示する情報。
【0025】
図4を参照すると、ここには次の情報が示されている。
(a)タイムレート設定操作子の操作値
この「タイムレート設定操作子の操作値」は、図2に示すタイムレート設定操作子4dが演奏中に操作された場合の値である。この例では、操作値[0.7],[0.5],…,[2.0],…の値となっている。
(b)タイムレート値の変更
演奏中にタイムレート設定操作子4dが操作され、操作値が検出されると24ティック毎に記憶されているタイムレートが、設定されている時刻になった時点のタイムレート値に変更される。図に示すように、例えば時刻8にタイムレート[0.7], 時刻17にタイムレート[0.5]が検出され、時刻24にタイムレートが記憶されて入る場合は、直前のタイムレート値である[0.5]に書き換える。
(c)演奏情報の時刻の変更
(b)において書き換えたタイムレートの値に基いて、以降の演奏情報の時刻を書き換える。
【0026】
以下、図3から図4に変換する処理を説明する。
【0027】
図5は、このメイン処理のフローチャートである。
【0028】
ここで使用するフラグには、演奏中フラグがある。この演奏中フラグは、自動演奏中か否かを規定するものであり、「1」の場合は自動演奏中であり、「0」の場合は自動演奏が停止している。
【0029】
このメイン処理は、電源投入から切断までの間、実行される。
ステップS1では、電源投入時における各部の初期設定、例えば、演奏中フラグが「0」に設定される。
【0030】
次に、ステップS2で演奏開始操作子4bが操作されたか否かが判定される。この判定で操作されたことを判定した場合(Yes)、演奏中フラグに「1」が設定され、さらに、ステップS3で演奏に用いる設定情報が初期化される。この初期化は次の設定である。
・現在時刻tを「−1」に設定。
・演奏情報、又はタイムレートを示す出力ポインタiを「1」に設定。詳細には、選択されているトラックの自動演奏データの先頭アドレスに設定する。各アドレスには、時刻に対応して演奏情報またはタイムレートが記憶されている。
・次に出力するタイムレートの変更前の時刻tpnを「0」に設定。
・タイムレートの現在値trcを「タイムレート設定操作子4dの操作値」 に設定する。
・テンポ設定操作子4eで設定されたテンポに応じたティック周期で自動演奏処理ルーチンを起動するためタイムインタラプトが発生するよう設定する。
【0031】
次に、ステップS4で演奏終了操作子4cが操作されたか否かが判定される。この判定で演奏終了操作子4cが操作されたと判定された場合(Yes)、ステップS5に進み、演奏中フラグに「0」が設定される。
【0032】
ステップS6では、トラック選択操作子4fが操作されると、操作の度にトラック番号が歩進され、トラック番号が最大値の次は、トラック番号1に戻る。
次に、ステップS7で演奏中フラグが「0」であれば、ティック間隔のタイマインタラプトが発生しないように設定し、その他の処理を行った後に、ステップS2に戻る。
【0033】
また、ステップS4で演奏終了操作子4cが操作されなかった場合(No)も、ステップS6、ステップS7の処理を行なった後に、ステップS2に戻る。
【0034】
図6は、メイン処理で設定されたティック間隔で発生されるタイマインタラプトにより起動される自動演奏処理のフローチャートである。
この自動演奏処理においては、タイムレートが変更されると、その次の時刻に出力される演奏情報またはタイムレートの時刻を変更されたタイムレートで変更し、その変更された時刻に達すると、また次の演奏情報またはタイムレートの時刻を変更するという手順で、順次時刻が変更される。
【0035】
この処理で使用される変数は、
Ti:出力ポインタiが示す時刻
tp:変更前の出力時刻
tc:タイムレートを変更した時刻
trp:変更前のタイムレート
trc:変更後(現在)のタイムレート
先ず、ステップS21で時刻tを歩進(カウントアップ)する。
【0036】
次に、ステップS22で、この現在時刻tが、ポインタiが示す情報の時刻Tiに一致したか否かが判定される。ここで、ポインタiが示す情報の時刻Tiと歩進後の時刻が不一致の場合(No)、今回の起動による自動演奏処理を終了する。
【0037】
ステップS22で現在時刻tが、出力ポインタiが示す情報の時刻Tiに一致した場合(Yes)は、ステップS23で出力ポインタiが示す情報が「タイムレート」か否かが判定され、「タイムレート」が設定されていない場合(No)、ステップS24に進み、その情報が「end」か否かが判定される。
【0038】
この判定で、「end」でない場合(No)、ステップS25で、iが示すノート情報又は音量情報の演奏情報を楽音生成部2に出力し、ステップS31に進む。また、演奏情報が「end」の場合(Yes)、ステップS26に進み演奏中フラグに「0」を設定し、この自動演奏処理を終了する。
【0039】
ステップS23でiの示す情報が「タイムレート」の場合、ステップS27でtrpにiの示すタイムレート値を設定し、ステップS28でタイムレート設定操作子4dの操作値とiの示すタイムレートの値とが等しいか否かを判断し、異なる場合(No)は、ステップS29でiの示すタイムレートの値を操作子4dの操作値に書き換えた後にステップS30に進む。
【0040】
ステップS30ではiの示すタイムレートを楽音生成部2に出力するとともに、trcにiの示すタイムレートを設定し、tpにtpnを設定し、tcにtを設定する。本実施形態では、このタイムレートを楽音生成部2に送ることで、波形再生の時間軸の圧縮、伸長が行なわれる。
【0041】
このステップS30の処理後、あるいは上述したステップS25の処理後に、ステップS31で出力ポインタiをi+1に更新する。
【0042】
次に、ステップS32において、出力ポインタiが示す情報が、タイムレートか否かを判断する。ここでタイムレートの場合(Yes)、ステップS33に進み、tpnにTiを設定する。次にステップS34に進み、Tiを書き換える。ここで変更されたTiは、変更前のTiから変更前タイムレート時刻tpを減算し、その値を、タイムレートの現在値trcを変更前のタイムレートの値trpで除算した値で除算し、変更後タイムレート時刻tcを加算することにより得られるものである。このステップS34の処理後は次の演奏情報に対する処理のためステップS22に戻る。
【0043】
このようにして、図4に示す「時刻」が順次求められる。
【0044】
ここで、上記実施形態において、楽音生成部2では、時間軸圧縮伸長処理が行なわれるが、この楽音生成部2は、時間軸圧縮伸長処理をしない音源であってもよい。
【0045】
また、上記実施形態では、「タイムレート」をタイムレート設定操作子4dにより入力したが、外部機器よりタイムレートを入力するインターフェースを備えてもよい。
【0046】
また、上記実施形態では、演奏情報あるいはタイムレートを出力した時に、次に出力する演奏情報あるいはタイムレートに付されている「時刻」を変更すようにしているが、タイムレートを出力した時に、その次に出力するタイムレート迄の全ての演奏情報および次に出力するタイムレートについてそれらに付されている「時刻」を変更するようにしてもよい。
【0047】
また、自動演奏情報の記録方式としては、上記実施形態では、各演奏情報およびタイムレートの出力時刻を、自動演奏処理の開始からの時刻としているが、直前に出力した演奏情報及びタイムレートからの経過時間(直前のイベントからの相対時間)としてもよい。また、ノート情報については、ノートオンの時刻とノートオンからノートオフまでの時間を記録する記録方式でもよい。これらの記録方式であっても本発明を容易に適用できる。
【0048】
また、上記実施形態では、タイムレートを24ティック間隔で記憶しているが、他の間隔でもよい(例えば48)。さらに、間隔が常に同じである必要も無い。
【0049】
【発明の効果】
以上、説明したように、本発明の自動演奏プログラムによれば、再生時刻の変更が容易になるとともに、その処理負担が軽減されて、演奏の多様化が達成できるという効果がある。
【図面の簡単な説明】
【図1】本発明の実施形態における自動演奏装置及び電子楽器の構成例を示すブロック図である。
【図2】図1中の操作パネルの概略構成例を示す図である。
【図3】実施形態にあって記憶した演奏情報及びタイムレートを示す図である。
【図4】タイムレート設定操作子4dの操作値と、演奏情報及びタイムレートの出力する時刻との関係を示す図である。
【図5】実施形態のメイン処理のフローチャートである。
【図6】実施形態における自動演奏処理のフローチャートである。
【符号の説明】
1 制御部
1a CPU
1c RAM
2 楽音生成部
3 ハードディスク装置
4 操作パネル
4b 演奏開始操作子
4c 演奏終了操作子
4d タイムレート設定操作子
4e テンポ値設定操作子
5 メモリ
Claims (1)
- コンピュータ内で実行されることにより、該コンピュータに、
テンポ値に基いて時間を計時するステップと、
時間情報が付された演奏情報と所定の時間位置にタイムレートを記憶する記憶手段から前記計時ステップが計時する時間に応じて演奏情報を読み出して出力する演奏ステップと、
前記演奏ステップによる演奏中の任意の時刻にタイムレートが入力されるステップと、前記入力ステップによりタイムレートを入力した場合、前記記憶手段に記憶され、その入力した時刻以降の時間に記憶されてるタイムレートの値を、入力したタイムレートに変更するとともに、その変更されたタイムレートに従って演奏情報の出力時刻を変更するステップとを実行させることを特徴とする自動演奏プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002209930A JP4031308B2 (ja) | 2002-07-18 | 2002-07-18 | 自動演奏プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002209930A JP4031308B2 (ja) | 2002-07-18 | 2002-07-18 | 自動演奏プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004053835A JP2004053835A (ja) | 2004-02-19 |
JP4031308B2 true JP4031308B2 (ja) | 2008-01-09 |
Family
ID=31933625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002209930A Expired - Fee Related JP4031308B2 (ja) | 2002-07-18 | 2002-07-18 | 自動演奏プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4031308B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006308921A (ja) * | 2005-04-28 | 2006-11-09 | Kawai Musical Instr Mfg Co Ltd | 電子楽器 |
-
2002
- 2002-07-18 JP JP2002209930A patent/JP4031308B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004053835A (ja) | 2004-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2658463B2 (ja) | 自動演奏装置 | |
JP4274152B2 (ja) | 楽音合成装置 | |
JP5228315B2 (ja) | 自動伴奏生成装置および自動伴奏生成方法を実現するためのプログラム | |
JP4031308B2 (ja) | 自動演奏プログラム | |
JP2004317819A (ja) | 自動演奏装置 | |
US10805475B2 (en) | Resonance sound signal generation device, resonance sound signal generation method, non-transitory computer readable medium storing resonance sound signal generation program and electronic musical apparatus | |
JP6531432B2 (ja) | プログラム、音源装置及び音響信号生成装置 | |
JP3717651B2 (ja) | 歌詞表示装置、同装置に適用されるコンピュータ読み取り可能な記録媒体及び歌詞表示方法 | |
JP3609045B2 (ja) | 自動演奏装置 | |
JP4685226B2 (ja) | 波形再生用自動演奏装置 | |
JP3171759B2 (ja) | 自動演奏装置 | |
JP4544185B2 (ja) | 演奏記録装置及びプログラム | |
JP2010185973A (ja) | 発音制御装置 | |
JP2017015957A (ja) | 演奏記録装置およびプログラム | |
JP6681240B2 (ja) | 電子楽器システム、楽曲再生制御装置、及び電子楽器 | |
JP3767418B2 (ja) | 自動演奏装置及び自動演奏制御プログラム | |
JP3741088B2 (ja) | 自動演奏装置 | |
JP6665541B2 (ja) | 電子音響装置 | |
JP3617114B2 (ja) | 電子楽器の自動演奏装置 | |
JP3407625B2 (ja) | 自動演奏装置、自動演奏方法及びプログラムを記録した媒体 | |
JP3249630B2 (ja) | 自動リズム演奏装置 | |
JP2985379B2 (ja) | 自動演奏装置 | |
JP3649117B2 (ja) | 楽音再生装置及び方法並びに記憶媒体 | |
JP5162887B2 (ja) | 電子音楽装置およびその制御方法を実現するためのプログラム | |
JP2665854B2 (ja) | 自動演奏装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050708 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070525 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070605 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070803 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20071016 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071018 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101026 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |