JP3827820B2 - 録音再生装置 - Google Patents

録音再生装置 Download PDF

Info

Publication number
JP3827820B2
JP3827820B2 JP19006997A JP19006997A JP3827820B2 JP 3827820 B2 JP3827820 B2 JP 3827820B2 JP 19006997 A JP19006997 A JP 19006997A JP 19006997 A JP19006997 A JP 19006997A JP 3827820 B2 JP3827820 B2 JP 3827820B2
Authority
JP
Japan
Prior art keywords
loop
time
loop section
information
performance data
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
Application number
JP19006997A
Other languages
English (en)
Other versions
JPH1138969A (ja
Inventor
昭文 松原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Roland Corp
Original Assignee
Roland Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Roland Corp filed Critical Roland Corp
Priority to JP19006997A priority Critical patent/JP3827820B2/ja
Publication of JPH1138969A publication Critical patent/JPH1138969A/ja
Application granted granted Critical
Publication of JP3827820B2 publication Critical patent/JP3827820B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、楽音情報を記憶しておき記憶された楽音情報を読み出して楽音を再生する録音再生装置に関する。
【0002】
【従来の技術】
従来より、曲の区間を指定し、指定された区間を繰り返し演奏することにより生成される演奏データを録音するリアルタイムループレコーディング方法を有する自動演奏装置が知られている。このリアルタイムループレコーディング方法には、大別して2種類の方式がある。第1の方式は、前回の演奏により録音された演奏データに、今回の演奏による演奏データを重ねて録音するというオーバーダビング方式である。この第1の方式は、例えばドラムパターン(ドラムパートの演奏データ)を作成するのに適しており、例えば先ずバスドラのパターンを入力し、次にハイハットのパターンをそのバスドラのパターンに重ねて入力するという具合に、次々に演奏データを重ね合わせて録音することによりドラムパターンを容易に作成することができる。
【0003】
第2の方式は、今回の演奏による演奏データの録音にあたり、前回の演奏により既に録音されている演奏データをキャンセルして、今回の演奏による演奏データだけを録音するという上書き録音方式である。この第2の方式は、例えばあるフレーズの演奏データを録音する際に、演奏者が所望の演奏データを得られるまでそのフレーズの演奏データを繰り返し録音するのに適している。
【0004】
【発明が解決しようとする課題】
しかし、第1の方式であるオーバーダビング方式では、指定された区間の繰り返し演奏にあたり、次々と演奏データを重ねて録音するものであるため、例えば前回の演奏により録音したバスドラのパターンが演奏者にとって所望のパターンでなく、このためこのバスドラのパターンを別のバスドラのパターンに変更したいという場合、録音状態を解除して前回の演奏により録音したバスドラのパターンを消去し、もう一度録音状態にして別のバスドラのパターンを録音するといった手間が必要である。この手間は、演奏者が所望の演奏データを得られるまで繰り返す必要がある。
【0005】
また、第2の方式である上書き録音方式では、前回の演奏による演奏データが所望の演奏データであってもその演奏データはキャンセルされているため、その前回の演奏による演奏データを再度録音するといった手間が必要である。
本発明は、上記事情に鑑み、楽音情報を記憶しておき記憶された楽音情報を読み出して楽音を再生するにあたり、所望の楽音情報が容易に得られる録音再生装置を提供することを目的とする。
【0006】
【課題を解決するための手段】
上記目的を達成する本発明の録音再生装置は、楽音情報を記億し、又記憶された楽音情報を読み出すことにより、楽音を録音再生する録音再生装置において、
楽音情報を順次入力する楽音情報入力手段と、
前記楽音情報入力手段により入力された楽音情報を記憶する楽音情報記憶手段と、
時間軸上にループ区間を指定するループ区間指定手段と、
前記ループ区間指定手段によりループ区間が指定されている場合に現在時刻がループ区間の終点に達したことを検出する終点検出手段とを備え、
前記楽音情報記憶手段は前記ループ区間に対し連続して繰り返し記憶するものであり、
楽音情報記憶手段が、前記終点検出手段によりループ区間の終点が検出される前に入力された楽音情報と、該終点が検出された後に入力された楽音情報とを、該ループ区間に関する相互に独立した楽音情報として記憶するものであることを特徴とする。
ここで、本発明の録音再生装置は、
前記ループ区間指定手段により指定されたループ区間の情報を記憶するループ区間情報記憶手段と、
前記ループ区間情報記億手段に記憶された情報に基づいて、前記楽音情報記憶手段に記憶された楽音情報のうち、同じループ区間に関する楽音情報に関して、再生する楽音情報を選択する選択手段と、
前記楽音情報記憶手段に記憶された楽音情報を時間軸に従って再生する場合に、ループ区間については前記選択手段によって選択された楽音情報を再生する楽音情報再生手段と
をさらに備えることが好ましい。
この場合に、さらに、
文字または図形で楽音情報を画面上に表示可能な表示手段と、
前記ループ区間情報記憶手段に記憶したループ区間情報に基づいて、楽音情報を時間軸上に配置して前記表示手段に表示するとともに、同じループ区間に関する楽音情報を時間軸方向とは直交する位置に表示して、前記選択手段により選択された楽音情報の表示態様を選択されていない楽音情報の表示態様と異ならせて表示する表示制御手段とを備えることがさらに好ましい。
また、本発明の録音再生装置における、上記のいずれの態様においても、前記ループ区間指定手段により所定のループ区間が指定されて楽音情報を記憶している途中で該ループ区間の指定の解除を指示するループ区間解除指示手段をさらに備え、一つの操作子が、前記ループ区間指定手段と前記ループ区間解除指示手段とを兼ねていることが好ましい。
さらに、本発明の録音再生装置における、上記いずれかの態様においても、前記楽音情報記憶手段は、前記楽音情報入力手段により入力された楽音情報を、該楽音情報が入力された、前記時間軸上のタイミングを表すタイミング情報を付して記憶するものであって、
前記楽音情報入力手段により入力される楽音情報に付されるタイミング情報を時間の進行に伴って更新するとともに、前記ループ区間指定手段によりループ区間が指定されている場合は、前記終点検出手段が該ループ区間の終点に達したことに起因して該楽音情報に付されるタイミング情報をループ区間の始点のタイミングに更新するタイミング情報更新手段を備えることが好ましい。
【0013】
【発明の実施の形態】
以下、本発明を自動演奏装置に適用した実施の形態について説明する。
図1は、本発明の一実施形態の自動演奏装置のブロック図である。
図1に示すCPU11は、ROM13に格納されたプログラムを、データバス19を経由して読み出して、必要な処理を実行する。
【0014】
RAM12には、後述する鍵盤14やMIDIインターフェース15からの演奏データを格納するための演奏データメモリ等が備えられている。
ROM13には、この図1に示す自動演奏装置全体の制御を行なうためのプログラムが格納されている。
鍵盤14は、演奏者により演奏操作されることにより演奏データを生成する。
【0015】
MIDIインターフェース15は、鍵盤14の操作により生成された演奏データを外部機器に出力し、あるいは外部機器からの演奏データを入力する。入力された演奏データは、RAM12に格納され、あるいは音源18に送られる。
パネル16には、演奏データの録音や再生のために操作されるボタン等や演奏データ等を表示する表示器が備えられている。
【0016】
タイマ17は、所定の値で設定された周期でCPU11に割込みをかけ、後述するタイマ割込ルーチンを実行する。このタイマ17は、1小節の演奏時間内に192回の割込み信号(クロック)が発生するように設定されており、例えば「演奏の速さ」=120とすると、タイマ17の周波数fは96Hz((120×192/4)/60…4拍子の場合)に設定される。
【0017】
音源18は、送られてきた演奏データを楽音信号に変換して出力する。音源18から出力された楽音信号は、図示しないアンプやスピーカを経由して楽音として空間に放音される。
図2は、図1に示すパネルを示す図である。
図2に示すパネル16には、「演奏速さ選択ボタン」21、「拍の長さ選択ボタン」22、モードボタン23、スタートボタン24、ストップボタン25、ループスタートボタン26、ループエンドボタン27、カーソルキー28、決定ボタン29、および表示装置30が備えられている。
【0018】
演奏速さ選択ボタン21は、演奏の速さを選択するためのものであり、4種類の演奏の速さ(150,120等)に対応する4つのボタンが備えられている。
拍の長さ選択ボタン22は、録音モードの際に発音されるメトロノーム音の拍の長さを設定するためのものであり、4種類の拍の長さ(48(192/4=4拍子)、64(192/3=3拍子)等)に対応する4つのボタンが備えられている。例えば、拍の長さ48に対応するボタンを選択した場合は4/4拍子になり、録音中に「チーン、カッ、カッ、カッ」という具合に発音される。
【0019】
モードボタン23は、録音モードと再生モードを交互に切り替えるためのものであり、例えば、録音モードになっていた場合は再生モードに切り替え、再生モードになっていた場合は録音モードに切り替える。
スタートボタン24は、録音モードにおいては録音開始を指示するためのボタンとして機能し、再生モードにおいては演奏データの再生開始を指示するためのボタンとして機能する。また、このスタートボタン24が押された場合は、タイマ17が初期化し、割り込みのためのカウントがスタートするとともに、繰り返し演奏のための区間(以下、ループ区間と記述する。このループ区間は、曲の演奏の進行を表わす時間軸上に指定されるものであり、本実施形態では、複数の小節から構成される。)の最初の小節の先頭が、開始時刻(ループスタートタイム)に設定される。
【0020】
ストップボタン25は、録音や再生をストップさせたり、タイマ17のカウントをストップさせたりするためのものである。
ループスタートボタン26は、録音モードにおいては、ループ区間の開始時刻を指定するためのボタンとして機能し、このループスタートボタン26が押された場合には、現在演奏されているループ区間とは異なる次のループ区間の先頭の小節の先頭をループスタートタイムに指定するためのボタン(最初のループスタートタイムはスタートボタン24により最初の小節の先頭に設定される)として機能し、再生モードにおいては、ループスタートボタン26が押された際に再生しているループ区間を繰り返し再生させるためのボタンとして機能する。
【0021】
ループエンドボタン27は、録音モードにおいては、ループ区間の終了時刻(ループエンドタイム)を指定するためのボタンとして機能し、このループエンドボタン27が押された時点の小節の最後がループエンドタイムに設定される。この小節の最後の時刻は、ループエンドボタン27が押された際に次の計算で求める。演奏データの先頭から現在までの経過時間を現在時刻tとする。
【0022】
小節の最後の時刻=192(1+[t/192])−1
ここで、[]はガウス記号であり、[]の内容が整数化される。
一方、ループエンドボタン27は、再生モードにおいては、同一のループ区間の演奏データを繰り返し再生するループ再生を解除するためのボタンとして機能する。
【0023】
カーソルキー28は、上下キーおよび左右キーを有し、詳細は後述するが、1つのループ区間についての複数の演奏データ列の中から、1つの演奏データ列を、楽音再生用に選択するために操作される。
決定ボタン29は、カーソルキー28で選択された1つのループ区間についての複数の演奏データ列のうち、カーソルキー28により選択された1つの演奏データ列を除く他の演奏データ列を消去するためのボタンである。これにより所望の演奏データのみが残り、これらの演奏データに基づいて所望の曲が作成される。
【0024】
本実施形態では、詳細は後述するが、先ず、スタートボタン24により指定されたループスタートタイムからループエンドボタン27により指定されたループエンドタイムまでの複数の小節からなるループ区間を繰り返し演奏し、その繰り返し演奏による演奏データを順次録音し、例えば所望する演奏データが得られた場合、ループスタートボタン26により新たなループ区間のループスタートタイムを指定し、またループエンドボタン27によりループエンドタイムを指定し、さらにその新たなループ区間を繰り返し演奏して演奏データを録音するというように、複数のループ区間それぞれについて繰り返し演奏を行ない、それら繰り返し演奏による演奏データを録音しておき、曲の作成にあたり、録音された演奏データのなかから所望の演奏データを選択をするものである。ここで、本発明にいうループ区間指定手段とは、ループスタートタイムを指定するスタートボタン24(録音を開始した一番最初だけ),ループスタートボタン26,ループエンドタイムを指定するループエンドボタン27のことをいう。また、本発明にいう楽音情報とは、音響信号・音声信号そのものであってもよいし、音源を制御するための情報であっても良い。
【0025】
図3は、図2に示すパネルの表示装置を示す図である。
図3に示す表示装置30には、再生モードを示す文字「PLAY」や、録音モードを示す文字「REC」が示されている。また、モードボタン23の操作により文字「PLAY」の位置もしくは文字「REC」の位置に交互に移動するモード表示用のカーソル31が示されている。図3では、文字「PLAY」の位置にモード表示用のカーソル31が移動しており、これにより現在のモードが再生モードであることが表示されている。
【0026】
またこの表示装置30には、1つのループ区間について繰り返し演奏が3回行なわれて生成された3段の演奏データ列32、およびその繰り返し演奏とは演奏開始時刻が異なる他のループ区間について繰り返し演奏が2回行なわれて生成された2段の演奏データ列33が表示されている。これら演奏データ列32,33のうち、カーソルキー28で選択された1つの演奏データ列が反転表示(図3に示す斜線部)されている。さらに、現在再生(演奏)されている演奏データの位置を示す演奏位置表示用のカーソル34も表示されている。
【0027】
図4に示すのは、RAM12内に設けられ、録音時および再生時に使用されるテンポラリメモリである。
本実施形態では、1小節の時間内に、図1に示すタイマ17からのタイマ割込みが192回行なわれる。このテンポラリメモリには、小節を管理するために、1小節の、タイマ割込みにより192に分割される位置を示す時刻T(以下、1小節内の時刻Tと記述する。尚、この1小節内の時刻Tは、1小節毎にクリアされる)が格納される。また曲の先頭の時刻から数えて現在時刻までの演奏経過位置を示す時刻t(以下、現在時刻tと記述する)も格納される。さらに、ループ区間の開始時刻を示すループスタートタイムL_START_TIME、およびループ区間の終了時刻を示すループエンドタイムL_END_TIMEも格納される。また、演奏データを読み出すための、再生ポインタで指定されるアドレスを示すループスタートアドレスL_START_ADも格納される。また、ループ区間を繰り返し録音した回数を示すループナンバーL_NUMBERも格納される。
【0028】
図5は、RAMに設けられた、複数のループ区間それぞれの情報を格納したり読み出したりするためのループデータテーブルを示す図である。
このループデータテーブルには、録音中のループ区間に関する情報が格納される。またこのループデータテーブルから、再生中のループ区間に関する情報が読み出される。尚、TIME(時刻)と表示されている欄には、全て時刻に対応する、タイマ17によるクロック数が格納される。
【0029】
図5に示す左端の各番号1,2,3,…は、各ループ区間の各1回の演奏に対応して付されている。
ループスタートアドレスL_START_ADには、ループ区間の先頭アドレスが格納される。またループスタートタイムL_START_TIMEには、ループ区間の開始時刻が格納される。さらにループエンドタイムL_END_TIMEには、ループ区間の終了時刻が格納される。またループナンバーL_NUMBERには、同一のループ区間の演奏(演奏開始時刻が同じ繰り返し演奏)のうちの何回目かを示す回数が格納される。また選択フラグには、そのループ区間の演奏データが選択されたか否かを示すフラグ(選択されている場合は1、選択されていない場合は0)が格納される。
【0030】
繰り返し演奏による演奏データの録音にあたっては、ループデータテーブルの番号1,2,3,…のうちの、テーブルポインタで指し示す番号に対応する位置に、上述した種々の情報が格納され、各ループ区間の終了毎に1つづつテーブルポインタがインクリメントする。これにより、ループデータテーブルに、上述した種々の情報が順次格納される。一方、演奏データの再生にあたっては、ループデータテーブルの、再生したいループ区間に対応する位置の番号を指し示す再生ポインタの移動制御が行なわれ、これによりその再生ポインタで指し示された番号に対応するループ区間に関する情報が読み出され、この情報に基づいて演奏データの再生が行なわれる。
【0031】
図6は、RAMに設けられた、演奏データを録音するための演奏データメモリを示す図である。
演奏データの録音にあたり、演奏データメモリの、図6に示すアドレス0,1,2,…が録音ポインタで指定され、指定されたアドレスに鍵盤やMIDIインターフェースからの演奏データと、その演奏データが送られた時の現在時刻tが演奏データメモリに格納される。
【0032】
次に、演奏データを録音し、録音された演奏データに基づいて所望の演奏データを再生する手順について、図7,8を参照して、箇条書きで説明する。
図7は、演奏データを録音し、録音された演奏データに基づいて所望の演奏データを再生する手順の前半部を示す図、図8は、図7に示す手順の後半部を示す図である。
【0033】
1.モードボタンを押して録音モードにする。
2.スタートボタンを押す。1小節内の時刻T及び現在時刻tにそれぞれ「0」を入れてタイマを初期化するとともに、テンポラリメモリとループデータテーブルの初期化が行われる。テンポラリメモリの初期化は、小節内の時刻T、現在時刻t、ループスタートタイムL_START_TIME、ループエンドタイムL_END_TIMEにそれぞれ「0」を格納し、ループナンバーL_NUMBERに「1」を格納し、ループスタートアドレスL_START_ADに演奏データメモリの先頭アドレスする処理のことである。ループエンドタイムL_END_TIMEに「0」が格納されている状態はループエンドタイムがまだ設定されていない状態を表す。ループデータテーブルの初期化はテーブルポインタをテーブルの先頭に移動し、ループスタートアドレスL_START_AD、ループスタートタイムL_START_TIMEにそれぞれ「0」を格納し、ループナンバーL_NUMBERおよび選択フラグに「1」を格納する処理のことである。次にタイマをスタートさせ、メトロノームが発音されるとともに、鍵盤あるいはMIDIインターフェイスからの演奏データの録音が開始される。さらに、図7(b)に示すように現在演奏されている小節A,B,C等の演奏データが順次録音される。尚、このときのメトロノーム音は録音されない。
【0034】
3.ループエンドボタンを押す。ここでは、図7(b)に示すように先頭から4つ目の小節Dの途中で押されたものとする。すると、現在演奏中の小節Dの最後の時刻がテンポラリメモリのループエンドタイムL_END_TIMEに設定される。この時はループデータテーブルの変更はない。これによりそのループ区間の最後が設定される。
【0035】
4.図7(c)に示すように、タイマ17による現在時刻tが、テンポラリメモリに設定されたループエンドタイムL_END_TIMEになると、ループデータテーブル内にループエンドタイムL_END_TIMEが格納され、テンポラリメモリのループナンバーL_NUMBERをインクリメントする。またテーブルポインタも更新される。さらに、図7(d)に示すように、現在時刻tがテンポラリメモリのループスタートタイムL_START_TIMEまで戻る。
【0036】
5.すると、現在録音ポインタのあるアドレスがループデータテーブルのループスタートアドレスL_START_ADに格納され、テンポラリメモリのループスタートタイムL_START_TIME、ループナンバーL_NUMBERがループデータメモリのそれぞれ対応する箇所に格納され、ループエンドタイムL_END_TIMEに「0」が格納され、テーブルポインタの示すテーブルの選択フラグに「1」を格納し、同じループ区間の選択フラグにすべて「0」を格納する。
【0037】
6.パネルのボタン操作がない場合は、上述の4、5の処理を繰り返し、ループ区間(ループスタートタイムL_START_TIME、ループエンドタイムL_END_TIME)が同じである演奏データが複数録音される。
7.図7(e)に示すように、演奏者にとって満足できる演奏データ(ここでは小節E,F,G,Hからなるループ区間の演奏データ)が入力された場合は、ループスタートボタンを押す。すると、今までループエンドタイムL_END_TIMEに設定され繰り返し演奏されていたループ区間の4小節目(L)の次の小節Mの最初の時刻がテンポラリメモリのループスタートタイムL_START_TIMEに格納され、テンポラリーメモリのループエンドタイムL_END_TIMEがループデータテーブルのループエンドタイムL_END_TIMEに格納され、またテンポラリメモリのループエンドタイムL_END_TIMEがクリアされる。
【0038】
8.さらに、上述の3〜7の処理が行なわれ、図7(f)、図7(g)のようにして新たなループ区間の演奏データが録音されていく。
9.ストップボタンが押された場合は録音モードが終了し、再生モードに切り替わる。
10.再生モードに切り替わるとループデータテーブルが参照され、これにより表示装置30に演奏データが表示される。図8(h)には、表示装置30の画面の一部が示されており、1小節目から8小節目までが3回繰り返し演奏され生成された演奏データからなる演奏データ列R11,R12,R13が図の上下方向に表示されている。同様にして、9小節目から16小節目までの演奏データからなる演奏データ列R21,R22,R23、17小節目から20小節目までの演奏データからなる演奏データ列R31,R32、および21小節目から28小節目までの演奏データからなる演奏データ列R41,R42,R43,R44も表示されている。ここで、それぞれ、一番最後に入力された演奏データ列R13,R23,R32,R44が仮に選択(仮選択)されており、画面上に反転表示(斜線部)されている。また演奏位置表示用のカーソル34および1つの演奏データ列を選択するためのカーソル71が示されている。
【0039】
11.再生モードにおいて、スタートボタンが押されると、各ループ区間ごとにループデータテーブルの選択フラグに「1」が格納されている行を参照し、その行のループスタートアドレスに対応する演奏データを読み出すようになっている。したがって、このとき、仮選択されている演奏データ列R13,R23,R32,R44のみが連続的に再生される。
【0040】
12.仮選択されている演奏データ列の演奏データが気に入らない場合は、カーソルキー28のうちの上下キーや左右キーでカーソル71を、図の上下や左右に移動して所望の演奏データ列を選択して、例えば図8(i)に示すように演奏データ列R13,R22,R32,R42を選択する。このカーソルキー81によるカーソル71の移動は演奏データの録音が停止中であっても、演奏データの再生中であっても行なうことができる。ただし、カーソルキー28のうちの上下キーでカーソル71を移動させた際に、移動させる前の演奏データ列の演奏データが現在演奏中の場合は、その演奏データ列の演奏データがループエンドタイムL_END_TIMEになってから、そのカーソル71で示された演奏データ列が仮選択される。
【0041】
13.現在再生している演奏データ列の演奏データを繰り返し演奏するループ演奏を行なう場合は、ループスタートボタンを押す。このループ演奏はループエンドボタンを押すことによって解除される。
14.上述の12と13の操作を繰り返すことにより、仮選択した演奏データ列の演奏データが満足できるか否かを十分検討することができる。満足できるようであれば、決定ボタンを押す。すると、図8(j)に示すように仮選択されている演奏データ列(ここではR13,R22,R32,R42)以外の演奏データ列が消去される。
【0042】
以上、大まかに説明してきたところで、本願クレームと本実施の形態との対応を明確にしておく、
請求項1における各構成要件は以下のように対応する。
楽音情報入力手段:MIDIインターフェース15
楽音情報記憶手段:演奏データメモリ(RAM)
ループ区間:ループデータメモリのループスタートタイムL_START_TIME及びループエンドタイムL_END_TIME
ループ区間指定手段:ループスタートボタン及びループエンドボタン
選択手段:再生時に演奏データを選択する選択手段はカーソルキー28で、録音時に演奏データを選択する選択手段はCPU、プログラム。(CPUはプログラムに従って各ループ区間において最後に演奏された演奏データ列を選択する。選択フラグはカーソルキー28あるいはCPUによって制御され、選択フラグによって選択されている演奏データ列を判断するようになっている。)
選択手段によって選択されている楽音情報のみを再生する手段:CPU、プログラム(ROM)
請求項2における各構成要件は以下のように対応する。
【0043】
ループ区間解除指示手段:ループスタートボタン(ループスタートボタンが押されると現在記憶中のループ区間を解除して、そのループ区間の次の区間の先頭をループスタートに設定するようになっている。録音時におけるループスタートボタンはループ区間指定手段とループ区間解除指示手段を兼ねている。)
ループ区間解除指示手段によりループ区間の指定が解除されたことに起因して、前記ループ区間指定手段による次のループ区間の指定が可能となるようにする手段:CPU、プログラム(次のループ区間のループエンドを設定可能にする。)
請求項3における各構成要件は以下のように対応する。
【0044】
検出手段:CPU、プログラム、RAMのテンポラリテーブル
検出手段によりループ区間の終点が検出される前に入力された楽音情報と、終点が検出された後に入力された楽音情報は該ループ区間に関するそれぞれ独立した楽音情報として記憶手段に記憶する手段:RAMの演奏データメモリ、CPU、プログラム
請求項4における各構成要件は以下のように対応する。
【0045】
タイミング情報:現在時刻t
検出手段:CPU、プログラム、RAMのテンポラリテーブル
タイミング情報更新手段:タイマー17、CPU11、プログラム、RAMのテンポラリテーブル
請求項5における各構成要件は以下のように対応する。
【0046】
表示手段:表示装置30
表示制御手段:CPU、プログラム、ループデータテーブル(RAM)
図9は、図1に示す自動演奏装置のメインルーチンを示すフローチャートである。
図1に示す自動演奏装置に電源が投入されると、このメインルーチンが起動する。先ず、ステップS101において、RAM内に設けられたタイムメモリ(図4参照)の初期化、ループデータテーブル(図5参照)の初期化、演奏データメモリ(図6参照)の初期化、各種フラグの初期化、およびその他の必要な初期化を行なう。次にステップS102において、「演奏速さ選択ボタン」が操作されたか否かが判断される。「演奏速さ選択ボタン」が操作されたと判断された場合は、ステップS103に進み、操作された「演奏速さ選択ボタン」に対応する周波数をタイマに設定し、ステップS104に進む。一方、「演奏速さ選択ボタン」が操作されていないと判断された場合はそのままステップS104に進む。
【0047】
ステップS104では、「拍の長さ選択ボタン」が操作されたか否かが判断される。「拍の長さ選択ボタン」が操作されたと判断された場合はステップS105に進み、操作された「拍の長さ選択ボタン」に対応する係数、例えば4拍子を表わす係数48を、テンポラリバッファBに代入し、選択された拍の長さに対応する周波数をタイマに設定してステップS106に進む。テンポラリバッファBの内容は、メトロノーム音を発音するために後述する録音割込サブルーチンで読み出される。一方、ステップS104において、「拍の長さ選択ボタン」が操作されていないと判断された場合はそのままステップS106に進む。電源投入時における「拍の長さ」及び「演奏速さ」の初期設定は「拍の長さ=48」及び「演奏速さ=120」が設定されるようになっている。
【0048】
ステップS106では、モードボタンが押されたか否かが判断される。モードボタンが押されたと判断された場合は、ステップS107に進む。ステップS107では、この自動演奏装置が録音モードになっていた場合は、再生モードに切り替え、逆に、再生モードになっていた場合は録音モードに切り替える。このように、モードボタンが押されたと判断された場合は、録音モードと再生モードが交互に切り替えられる。次にステップS108に進み、表示処理を行なう。この表示処理では、切り替えられたモードが録音モードの場合は、表示装置に録音モードの表示を行ない、また切り替えられたモードが再生モードの場合は、表示装置に再生モードの表示を行ないステップS109に進む。一方、モードボタンが操作されていないと判断された場合は、そのままステップS109に進む。
【0049】
ステップS109では、録音モードか再生モードかが判断される。録音モードであると判断された場合は、ステップS110に進み、後述する録音モードサブルーチンを実行してステップS102に戻る。一方、再生モードであると判断された場合はステップS111に進み、後述する再生モードサブルーチンを実行してステップS102に戻る。このような処理が、自動演奏装置の電源が遮断されるまで繰り返し実行される。
【0050】
図10は、タイマ割込ルーチンを示すフローチャートである。
タイマ17(図1参照)からの、「演奏速さ選択ボタン」で設定された周期(1/周波数)でCPUに割込みがかかると、このルーチンが起動する。
先ず、ステップS201において、プレイフラグがオンかオフかが判断される(プレイフラグは、録音開始もしくは再生開始のためにスタートボタンが押されるとオンになり、ストップボタンが押されるとオフになる)。プレイフラグがオフであると判断された場合は録音中もしくは再生中のいずれでもないため、何もせずそのままメインルーチンに戻る。一方、プレイフラグがオンであると判断された場合は録音中もしくは再生中のいずれかであるため、ステップS202に進む。ステップS202では、録音モードか再生モードかが判断される。録音モードであると判断された場合はステップS203に進み、後述する録音割込サブルーチンを実行してメインルーチンに戻る。一方、再生モードにあると判断された場合はステップS204に進み、後述する再生割込サブルーチンを実行してメインルーチンに戻る。
【0051】
図11は、演奏データが入力された場合に実行される演奏データ入力割込ルーチンを示すフローチャートである。
演奏データが入力されるとCPUにインタラプトがかかりこのルーチンが実行される。先ずステップS301において、録音モードか再生モードかが判断される。再生モードであると判断された場合は、ステップS305に進み、音源に演奏データを送り楽音を発音してメインルーチンに戻る。
【0052】
一方、録音モードであると判断された場合は、ステップS302に進む。ステップS302では、プレイフラグがオンかオフかが判断される。プレイフラグがオフであると判断された場合は録音モードであっても演奏データを録音しないため、ステップS305に進み、音源に演奏データを送り楽音を発音してメインルーチンに戻る。
【0053】
一方、プレイフラグがオンであると判断された場合は、録音の開始が指示されたためステップS303に進む。ステップS303では、演奏データメモリの、録音ポインタで指し示されたアドレスに、演奏データが入力された時の現在時刻tと演奏データ(図6参照)を格納する。次にステップS304において、録音ポインタを進める。さらに、ステップS305において、音源に演奏データを送り楽音を発音してメインルーチンに戻る。
【0054】
図12は、図9に示すメインルーチンにおける録音モードサブルーチンのフローチャートである。
先ず、ステップS401において、スタートボタンが操作されたか否かが判断される。スタートボタンが操作されたと判断された場合はステップS402に進み、録音の開始を示すプレイフラグをオンにしてステップS403に進む。ステップS403では、1小節内の時刻Tおよび現在時刻tに0を代入して初期化するとともに、テンポラリメモリを初期化する。テンポラリメモリの初期化はループスタートタイムL_START_TIME、ループエンドタイムL_END_TIMEにそれぞれ「0」を格納し、ループナンバーL_NUMBERに「1」を格納することにより行われる。次にステップS404に進み、プレイフラグ以外のフラグの初期化やループデータテーブルの初期化等を行なう。ループデータテーブルの初期化では、ループデータテーブルの最初にテーブルポインタを設定し、またループスタートアドレスL_START_ADに演奏データメモリの先頭アドレスを格納する。さらに、ループスタートタイムL_START_TIMEに「0」を格納し、ループエンドタイムに「0」を格納し、ループナンバーL_NUMBERに「1」を格納し、また選択フラグに「1」を格納し、ステップS405においてタイマ17をスタートさせる。
【0055】
一方、ステップS401において、スタートボタンが操作されていないと判断された場合はそのままステップS406に進む。
ステップS406では、ループスタートボタンが操作されたか否かが判断される。ループスタートボタンが操作されたと判断された場合は、気に入った演奏データが録音されたためステップS407に進む。ステップS407では、テンポラリメモリのループエンドタイムL_END_TIMEに「0」が設定されているか否かが判断される。ループエンドタイムL_END_TIMEに「0」が設定されている場合はループエンドタイムが設定されていないことを意味し、なにもせずステップS410に移行する。ループエンドタイムL_END_TIMEに「0」以外の値が設定されている場合は、演奏者によってループスタートタイムL_START_TIMEの更新する旨の指示が行われた場合でありこの場合はステップS408に移行する。ステップS408では、ループデータテーブルのループエンドタイムL_END_TIMEにテンポラリメモリのループエンドタイムL_END_TIMEを格納し、テンポラリメモリのループスタートタイムL_START_TIMEにテンポラリメモリのループエンドタイムL_END_TIME+1を格納することにより次の新たな繰り返し演奏のためのループ区間の小節の最初をループスタートタイムに設定する。次にテンポラリメモリのループエンドタイムL_END_TIMEに「0」を格納してループエンドタイムをクリアし、テンポラリメモリのループナンバーL_NUMBERに「1」を格納する。これにより前回のループ区間におけるループナンバL_NUMBERが、例えば3であったものが、今回の、新たな繰り返し演奏のためのループ区間におけるループナンバL_NUMBERが最初であることを示す1が設定される。次にステップS409にて、テーブルポインタを進めてステップS410に移行する。
【0056】
一方ステップS406において、ループスタートボタンが操作されていないと判断された場合、及びステップS407においてループエンドタイムL_END_TIMEに「0」が設定されている場合もステップS410に移行する。
ステップS410では、ループエンドボタンが操作されたか否かが判断される。ループエンドボタンが操作されたと判断された場合はステップS411に進む。ステップS411では、テンポラリメモリのループエンドタイムL_END_TIMEに「0」が設定されているか否かを判断する。「0」が設定されている場合は次にステップS412において、現在時刻tがテンポラリメモリのループスタートタイムL_START_TIMEより大きいか否かを判断する。すなわち現在時刻tがループスタートタイムL_START_TIMEを経過しているか否かを判断する。この判断は、あるループ区間の演奏データを録音中にループスタートボタンが押され、さらに同じループ区間においてループエンドボタンが押された場合、このループスタートタイムは次のループ区間の最初に設定されるため、ループスタートタイムがループエンドタイムより後になってしまうという矛盾を防ぐためのものであり、現在時刻tがテンポラリメモリのループスタートタイムL_START_TIMEの時刻を経過しないとループエンドタイムL_END_TIMEが設定されないようになっている。ステップS412での判断が肯定の場合はステップS413に移行する。ステップS413では、録音中のループ区間における小節の最後の時刻192(1+[t/192])−1(ここで、[]はガウス記号であり、[]の内容は整数化される)をテンポラリメモリのループエンドタイムL_END_TIMEに設定する。次にステップS413において、ループエンド設定許可フラグをオフにしてステップS414に進む。一方、ステップS410において、ループエンドボタンが操作されていないと判断された場合はそのままステップS414に進む。またステップS411においてテンポラリメモリのループエンドタイムL_END_TIMEに「0」以外が設定されていた場合、ステップS412において現在時刻tがループスタートタイムL_START_TIMEを経過していない場合もステップS414に移行する。
【0057】
ステップS414では、ストップボタンが操作されたか否かが判断される。ストップボタンが操作されたと判断された場合はステップS415に進む。ステップS415ではプレイフラグをオフにし、ループデータテーブルに基づいて表示装置に演奏データを時系列に並べて表示する。このとき同じループ区間(ループスタートが同じ)の演奏データは時系列の方向とは直交する方向に配置するようになっており、更に各ループ区間について選択フラグがオンの演奏データは表示形態を異ならせて表示するようになっている。この処理が終了すると、再生モードに切り替えてメインルーチンに戻る。
【0058】
図13は、図10に示すタイマ割込ルーチンにおける録音割込サブルーチンのフローチャートである。
先ず、ステップS501において、現在時刻TをインクリメントしてステップS502に進む。ステップS502では、1小節内の時刻Tが192か否か、即ち演奏時刻が小節の最後(次の小節の最初)であるか否かが判断される。小節の最後(次の小節の最初)でないと判断された場合は、現在時刻tがテンポラリメモリのループスタートタイムL_START_TIMEになることもないため、ステップS503に進む。ステップS503では、1小節内の時刻Tが「拍の長さ選択スイッチ」で選択した拍の長さ(テンポラリバッファBに代入された値)の倍数になった否かが判断される。1小節内の時刻Tが「拍の長さ選択スイッチ」で選択した拍の長さの倍数になったと判断された場合は、ステップS504に進み、録音中にメトロノーム音のうちの「カッ」の音を発音するように音源に指示してステップS505に進む。一方、1小節内の時刻Tが「拍の長さ選択スイッチ」で選択した拍の長さの倍数になっていないと判断された場合は、そのままステップS505に進む。ステップS505では、現在時刻tをインクリメントして、後述する、ループエンドタイムL_END_TIMEを判断するためのステップS512に進む。
【0059】
一方、ステップS502において、1小節内の時刻Tが192であると判断された場合はその小節の演奏が終了し次の小節の最初になったことを意味しているためステップS506に進み、録音中にメトロノーム音のうちの「チーン」の音を発音するように音源に指示してステップS507に進む。ステップS507では、1小節内の時刻Tを「0」にし、さらにステップS508において、現在時刻tをインクリメントしてステップS509に進む。
【0060】
ステップS509では、現在時刻tが、テンポラリメモリに設定されたループスタートタイムL_START_TIMEになったか否かが判断される。ループスタートタイムL_START_TIMEになったと判断された場合は、次の繰り返し演奏におけるループ区間を設定するためにステップS510に進む。ステップS510では、演奏データメモリの、録音ポインタで指し示すアドレスを、ループデータテーブルの、テーブルポインタで指し示す番号(図5参照)に対応するループスタートアドレスL_START_ADに格納する。また現在時刻tも、同じくループデータテーブルの、その番号に対応するループスタートタイムL_START_TIMEに格納する。さらに、テンポラリメモリのループナンバーL_NUMBERも、同じくループデータテーブルの、その番号に対応するループナンバーL_NUMBERに格納する。次にステップS511に進み、ループデータテーブルの、テーブルポインタが指し示す、やはり同じ番号に対応する選択フラグをオン(「1」)にする。この選択フラグは、1つのループ区間についての複数の演奏データ列のうち、1つの演奏データ列に対してのみオンすることができ、また最後にオンされたループ区間に対する選択フラグが有効になり、他のループ区間に対する選択フラグは全てオフ(「0」)される。
【0061】
一方、ステップS509において、現在時刻tがループスタートタイムL_START_TIMEになっていないと判断された場合はそのままステップS512に進む。
ステップS512では、現在時刻tがループエンドタイムL_END_TIMEであるか否かが判断される。現在時刻tがループエンドタイムL_END_TIMEであると判断された場合はそのループ区間が終了したためステップS513に進み、ループデータテーブルの、テーブルポインタで指し示す番号に対応するループエンドタイムL_END_TIMEに現在時刻tを入れ、1つのループ区間に対する情報を完成させ、ステップS514においてテンポラリメモリのループナンバーL_NUMBERをインクリメントする。次にステップS515に進み、次のループ区間に演奏データを格納するためにテーブルポインタを進める。さらにステップS516において、現在時刻tにタイムメモリのループスタートタイムL_START_TIMEから1を引き算した値であるループスタートタイムL_START_TIMEー1を代入してメインルーチンに戻る。
【0062】
一方、ステップS512において、現在時刻tがループエンドタイムL_END_TIMEでないと判断された場合は、そのままメインルーチンに戻る。
図14は、図9に示すメインルーチンにおける再生モードサブルーチンのフローチャートである。
先ずステップS601において、カーソルキーのうちの左右キーが操作されたか否かが判断される。左右キーが操作されたと判断された場合は、ステップS602に進み、1つのループ区間についての複数の演奏データ列のうち、1つの演奏データ列を選択するためのカーソル71(図8参照)を、左右キーの操作に応じて左もしくは右に移動表示させてステップS603に進む。一方、左右キーが操作されていないと判断された場合は、そのままステップS603に進む。ステップS603では、カーソルキーのうちの上下キーが操作されたか否かが判断される。上下キーが操作されたと判断された場合はステップS604に進み、上下キーの操作に応じてカーソル71を上もしくは下に移動表示させ、カーソル移動によって選択された演奏データ列に対応する選択フラグをオンにし、同じループ区間の他の選択フラグを全てオフにしてステップS605に進む。ステップS605では、カーソル71で表示された演奏データ列の演奏データが再生中であるか否が判断される。その演奏データ列の演奏データが再生中であると判断された場合は、即座にその演奏データ列の演奏データを切り替えることはせずループエンドタイムになってから行なうために、ステップS607において切替フラグをオンにしておきステップS608に進む。一方ステップS605において、カーソル71で表示された演奏データ列の演奏データが再生中でないと判断された場合はステップS606に進み、カーソル71で表示された演奏データ列を選択するための選択フラグをオンにしてステップS608に進む(このとき、演奏開始時刻が同じ繰り返し演奏による他の演奏データ列に対応する選択フラグはオフされる)。
【0063】
またステップS603において、カーソルキーのうちの上下キーが操作されていないと判断された場合はそのままステップS608に進む。
ステップS608では、決定ボタンが操作されたか否かが判断される。決定ボタンが操作されたと判断された場合はステップS609に進み、1つのループ区間毎に1つづつ選択された演奏データ列以外の演奏データ列を消去してステップS610に進む。ステップS610では、表示装置に各ループ区間毎に選択された演奏データ列を表示してステップS611に進む。一方、ステップS608において、決定ボタンが操作されていないと判断された場合はそのままステップS611に進む。尚、ここでは選択された演奏データ列以外の演奏データ列を消去するものであるが、これらの演奏データ列を削除することなく、選択された演奏データ列のみを別の記憶領域に移動したりコピーしたりして表示してもよい。
【0064】
次にステップS611において、スタートボタンが操作されたか否かが判断される。スタートボタンが押されたと判断された場合はステップS612に進み、プレイフラグをオンにしてステップS613に進む。ステップS613では、1小節内の時刻Tおよび現在時刻tに0を入れて初期化し、ループデータテーブルを参照して最初のループ区間で選択されているループデータのループエンドタイムL_END_TIMEをテンポラリメモリのループデータのループエンドタイムL_END_TIMEにコピーして、タイマをスタートさせる。次にステップS614に進み、プレイフラグ以外の必要なフラグの初期化(ループフラグ、切り替えフラグなど)、再生ポインタの初期化、テーブルポインタの初期化、およびタイムメモリの初期化等を行ないステップS615に進む。一方、ステップS611において、スタートボタンが操作されていないと判断された場合はそのままステップS615に進む。
【0065】
ステップS615では、ストップボタンが操作されたか否かが判断される。ストップボタンが操作されたと判断された場合はステップS616に進み、プレイフラグをオフにしてステップS617に進む。一方、ストップボタンが操作されていないと判断された場合はそのままステップS617に進む。
ステップS617では、ループスタートボタンが押されたか否かが判断される。ループスタートボタンが押されたと判断された場合は、演奏者によりループ再生が指示されたためステップS618に進む。ステップS618では、ループデータテーブルを参照し、演奏中のループ区間で選択されているループデータテーブルのループスタートタイムL_START_TIMEとループエンドタイムL_END_TIMEを、テンポラリメモリのループスタートタイムL_START_TIMEとループエンドタイムL_END_TIMEにそれぞれコピーする。次にステップS619において、ループフラグをオンにする。このループフラグはループ再生が行われる場合はオンにされ、通常再生が行われる場合はオフにされる。次にステップS620に進む。
【0066】
一方、ステップS617において、ループスタートボタンが操作されていないと判断された場合はそのままステップS620に進む。
ステップS620では、ループエンドボタンが操作されたか否かが判断される。ループエンドボタンが操作されたと判断された場合はループ再生が解除されたため、ステップS621において、ループフラグをオフにしてメインルーチンに戻る。一方、ループエンドボタンが操作されていないと判断された場合はそのままメインルーチンに戻る。
【0067】
図15は、図10に示すタイマ割込ルーチンにおける再生割込サブルーチンのフローチャートである。
先ずステップS701において、現在時刻tをインクリメントし、ステップS702に進む。ステップS702では、演奏データメモリの、再生ポインタで指し示す演奏データの時刻が現在時刻tと同じか否かが判断される。これらの時刻が一致したと判断された場合は、その演奏データを再生するべき時刻がやってきたためステップS703に進み、再生ポインタで指し示す演奏データを音源に送る。さらにステップS704において、再生ポインタを、演奏データメモリの次のアドレスに進めてステップS702に戻る。時刻が一致する演奏データがある限りこのルーチンが繰り返される。ステップS702において、時刻が一致しないと判断された場合はステップS705に進み、現在時刻tがテンポラリメモリに設定されているループエンドタイムL_END_TIMEと一致するか否かが判断される。現在時刻tがループエンドタイムL_END_TIMEと一致した場合、即ちループエンドタイムになったと判断された場合はステップS706に進む。ステップS706では、ループフラグがオンかオフかが判断され、ループフラグがオフであると判断された場合はステップS707に進む。ステップS707では、ループデータテーブルを参照し、次に選択されている、ループ区間の演奏(選択フラグが1)に対応するループスタートアドレスL_START_ADおよびループエンドタイムL_END_TIMEを、それぞれテンポラリメモリのループスタートアドレスL_START_ADおよびループエンドタイムL_END_TIMEに設定する。次にステップS708に進み、再生ポインタをテンポラリメモリのループスタートアドレスL_START_ADに移動してステップS709に進む。一方、ステップS705において、現在時刻tがループエンドタイムL_END_TIMEと一致していないと判断された場合はそのままステップS709に進む。
【0068】
以下に説明するステップS709からステップS712までの処理は表示装置において演奏中に、図8に示す演奏位置表示表示用のカーソルを移動させるための処理である。
先ず、ステップS709において、1小節内の時刻Tをインクリメントする。次にステップS710において、1小節内の時刻Tが192か否かが判断される。1小節内の時刻T=192であると判断された場合は、小節の最初(前の小節の最後)であるためステップS711に進み、演奏位置表示用のカーソル34を次の小節に移動し、ステップS712において、1小節内の時刻Tを0にして初期化しメインルーチンに戻る。1小節内の時刻Tが192でないと判断された場合は、そのままメインルーチンに戻る。
【0069】
前述したステップS706において、ループフラグがオンであると判断された場合は、ステップS713に進み、テンポラリメモリのループスタートタイムL_START_TIME−1を現在時刻tに入れ、ステップS714に進む。ステップS714では切替フラグがオンであるかオフであるかが判断される。切替フラグがオンであると判断された場合は、ステップS715に進み、ループ区間の演奏データの切替処理を行なうために、ループデータテーブルを参照し、選択表示されるループ区間の演奏データに対応するループスタートアドレスL_START_ADをテンポラリメモリのループスタートアドレスL_START_ADに入れ、ステップS716にて切り替えフラグをオフにしてステップS717に進む。
【0070】
一方、ステップS714において、切替フラグがオフであると判断された場合は、そのままステップS717に進む。ステップS717では、再生ポインタをテンポラリメモリのループスタートアドレスL_START_ADの位置に移動しステップS718に進む。ステップS718では、演奏位置用のカーソル34をループ区間の先頭に移動してステップS712に進む。ステップS712では、前述したように1小節内の時刻Tを0にして初期化しメインルーチンに戻る。
【0071】
尚、本実施形態では、1パートのみの再生について説明したが、複数パートを同時再生してもよく、その場合これら複数パートを現在時刻tに同期させ、また録音パート以外の他のパートはループエンドタイムL_END_TIMEになったら再生ポインタをループスタートタイムL_START_TIMEの位置に戻すようにすればよい。またその場合は、録音パートを切り替え可能にしておき、録音パートが選択されたら今まで録音していたパートを再生しつつ、新たに選択されたパートに演奏情報を格納すればよい。
【0072】
また、本実施形態では、録音/再生は演奏データの先頭からの現在時刻tにより制御したが、例えば演奏情報と演奏情報との時間差分を演奏データとともに格納し、これらに基づいて再生制御してもよい。
さらに、本実施形態では、時刻はタイマ割込みによるクロック数で表わしたが、タイマ自身のカウント値で録音/再生の制御を行なってもよい。
【0073】
また、本実施形態では、どのループ区間の演奏データも必ず繰り返し録音するようになっているが、ある一部のループ区間だけ繰り返し録音を解除して通常の録音(1回)をするようにしてもよい。
また、本実施形態では、繰り返し録音にあたり、ループスタートボタンを押すと、ループエンドタイムL_END_TIMEに設定された小節の次の小節の最初がループスタートタイムL_START_TIMEに設定されるようになっているが、ループスタートタイムL_START_TIMEの位置を自在に設定するようにしてもよい。
【0074】
また、本実施形態では、ループ区間の演奏データの再生時には、選択されている演奏データ列の演奏データのみを読み出して音源に送っているが、同じ繰り返し演奏により生成された全て或はその中の一部の複数の演奏データ列の演奏データを全て読み出し、選択されている演奏データ列の演奏データのみを音源に送るようにしてもよい。また全て或はその中の一部の複数の演奏データ列の演奏データを音源に送り、選択されている演奏データ列の演奏データ以外の演奏データに対応する音量を0にしてもよい。
【0075】
また、演奏データはメモリ領域に連続的に格納してもよく、あるいはトラックのような、異なるメモリ領域にそれぞれ分割して格納してもよい。
尚、楽音情報とは楽音そのものであってもよいし、音を発音消音させるための情報であってもよい。その場合は入力された楽音信号をメモリに順次記憶するようにすればよい。本願実施形態では入力したタイミングの情報を演奏情報とともに記憶するようになっているが楽音そのものを録音する場合はタイミング情報は必須ではない。
【0076】
また、本実施の形態では録音再生の制御、ループスタート、ループエンドの時間の管理を演奏の先頭からの絶対時刻tに基づいて行っているがこれに限らず、入力された演奏データを1つ前の演奏データからの経過時間(相対時間)と共に記憶するようにしてもよい。その場合、ループ区間を指定して録音を行っている場合は、ループエンドになったときに発音中である演奏データを強制的に消音する演奏データをループエンドの時刻に記憶しておいてもよい。
【0077】
さらに録音は絶対時間により時間管理して演奏データメモリに記憶しておき、録音終了時に相対時間により時間管理することが可能な形式に変換するようにしてもよい。
各ループ区間についての複数の楽音情報のうち、前記選択手段によって選択された楽音情報を除く他の楽音情報を消去するようにしてもよい。また各ループ区間についての複数の楽音情報のうち、前記選択手段によって選択された楽音情報のみをメモリの別領域に記憶するようにしてもよい。
【0078】
本願は、録音の際に現在時刻tがループエンドタイムL_END_TIMEになる度に現在時刻をループスタートL_START_TIMEに更新し、次のループの際に更新された現在時刻tを演奏情報と共に記憶するようにしているが、この更新を行わず、録音時にループ区間の情報とそのループ区間で何回演奏したのかを記憶することで、時系列的につながる演奏データであるのかループ区間で繰り返された演奏データであるのかを知ることが可能であるので、再生時には特殊な読み出し方をすれば本願と同等の効果を得ることができる。
【0079】
例えば、最初のループ区間で3回目のループの演奏データが録音され、次のループ区間で5回のループの演奏データが録音されたとする。最初のループ区間で2番目の演奏データを読み出し、次のループ区間で4番目の演奏データを読み出す場合は、現在時刻tにループ区間1回分の長さ分だけ加算する。すると2番目の演奏データを再生することができる。次のループ区間に移る場合は、最初のループ区間の直前になった時に、現在時刻tに次のループ区間の先頭の時刻になる時間分だけ加算する。例の場合は3回録音して2番目の演奏データを演奏していたので最初のループ区間の長さ1回分の時間を時刻tに加算する。次のループ区間では4番目の演奏データが選択されているので次のループ区間の長さ3回分の時間を時刻tに加算する。本願クレームはこのように特殊な読み出しかたをする場合ももちろん含まれる。
【0080】
【発明の効果】
以上説明したように、本発明によれば、楽音情報を記憶しておき記憶された楽音情報を読み出して楽音を再生するにあたり、所望の楽音情報を曲データとして容易に選択できる。従って、所望の曲を容易に作成することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態の自動演奏装置のブロック図である。
【図2】図1に示すパネルを示す図である。
【図3】図2に示すパネルの表示装置を示す図である。
【図4】RAMに設けられた、録音時および再生時に使用されるテンポラリメモリを示す図である。
【図5】RAMに設けられた、複数のループ区間それぞれの情報を格納したり読み出したりするためのループデータテーブルを示す図である。
【図6】RAMに設けられた、演奏データを格納するための演奏データメモリを示す図である。
【図7】演奏データを録音し、録音された演奏データに基づいて所望の演奏データを再生する手順の前半部を示す図である。
【図8】図7に示す手順の後半部を示す図である。
【図9】図1に示す自動演奏装置のメインルーチンを示すフローチャートである。
【図10】タイマ割込ルーチンを示すフローチャートである。
【図11】演奏データが入力された場合に実行される演奏データ入力割込ルーチンを示すフローチャートである。
【図12】図9に示すメインルーチンにおける録音モードサブルーチンのフローチャートである。
【図13】図10に示すタイマ割込ルーチンにおける録音割込サブルーチンのフローチャートである。
【図14】図9に示すメインルーチンにおける再生モードサブルーチンのフローチャートである。
【図15】図10に示すタイマ割込ルーチンにおける再生割込サブルーチンのフローチャートである。
【符号の説明】
11 CPU
12 RAM
13 ROM
14 鍵盤
15 MIDIインターフェース
16 パネル
17 タイマ
18 音源
19 データバス
21 演奏速さ選択ボタン
22 拍の長さ選択ボタン
23 モードボタン
24 スタートボタン
25 ストップボタン
26 ループスタートボタン
27 ループエンドボタン
28 カーソルキー
29 決定ボタン
30 表示装置
31,34,71 カーソル
32,33 演奏データ列

Claims (5)

  1. 楽音情報を記億し、又記憶された楽音情報を読み出すことにより、楽音を録音再生する録音再生装置において、
    楽音情報を順次入力する楽音情報入力手段と、
    前記楽音情報入力手段により入力された楽音情報を記憶する楽音情報記憶手段と、
    時間軸上にループ区間を指定するループ区間指定手段と、
    前記ループ区間指定手段によりループ区間が指定されている場合に現在時刻がループ区間の終点に達したことを検出する終点検出手段とを備え、
    前記楽音情報記憶手段は前記ループ区間に対し連続して繰り返し記憶するものであり、
    楽音情報記憶手段が、前記終点検出手段によりループ区間の終点が検出される前に入力された楽音情報と、該終点が検出された後に入力された楽音情報とを、該ループ区間に関する相互に独立した楽音情報として記憶するものであることを特徴とする録音再生装置。
  2. 前記ループ区間指定手段により指定されたループ区間の情報を記憶するループ区間情報記憶手段と、
    前記ループ区間情報記億手段に記憶された情報に基づいて、前記楽音情報記憶手段に記憶された楽音情報のうち、同じループ区間に関する楽音情報に関して、再生する楽音情報を選択する選択手段と、
    前記楽音情報記憶手段に記憶された楽音情報を時間軸に従って再生する場合に、ループ区間については前記選択手段によって選択された楽音情報を再生する楽音情報再生手段と
    をさらに備えたことを特徴とする請求項1記載の録音再生装置。
  3. 文字または図形で楽音情報を画面上に表示可能な表示手段と、
    前記ループ区間情報記憶手段に記憶したループ区間情報に基づいて、楽音情報を時間軸上に配置して前記表示手段に表示するとともに、同じループ区間に関する楽音情報を時間軸方向とは直交する位置に表示して、前記選択手段により選択された楽音情報の表示態様を選択されていない楽音情報の表示態様と異ならせて表示する表示制御手段とを備えることを特徴とする請求項2項記載の録音再生装置。
  4. 前記ループ区間指定手段により所定のループ区間が指定されて楽音情報を記憶している途中で該ループ区間の指定の解除を指示するループ区間解除指示手段をさらに備え、
    一つの操作子が、前記ループ区間指定手段と前記ループ区間解除指示手段とを兼ねていることを特徴とする請求項1から3のうちいずれか1項記載の録音再生装置。
  5. 前記楽音情報記憶手段は、前記楽音情報入力手段により入力された楽音情報を、該楽音情報が入力された、前記時間軸上のタイミングを表すタイミング情報を付して記憶するものであって、
    前記楽音情報入力手段により入力される楽音情報に付されるタイミング情報を時間の進行に伴って更新するとともに、前記ループ区間指定手段によりループ区間が指定されている場合は、前記終点検出手段が該ループ区間の終点に達したことに起因して該楽音情報に付されるタイミング情報をループ区間の始点のタイミングに更新するタイミング情報更新手段を備えることを特徴とする請求項1から4のうちいずれか1項記載の録音再生装置。
JP19006997A 1997-07-15 1997-07-15 録音再生装置 Expired - Fee Related JP3827820B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19006997A JP3827820B2 (ja) 1997-07-15 1997-07-15 録音再生装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19006997A JP3827820B2 (ja) 1997-07-15 1997-07-15 録音再生装置

Publications (2)

Publication Number Publication Date
JPH1138969A JPH1138969A (ja) 1999-02-12
JP3827820B2 true JP3827820B2 (ja) 2006-09-27

Family

ID=16251847

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19006997A Expired - Fee Related JP3827820B2 (ja) 1997-07-15 1997-07-15 録音再生装置

Country Status (1)

Country Link
JP (1) JP3827820B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021005724A1 (ja) 2019-07-09 2021-01-14 ローランド株式会社 録音再生装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021005724A1 (ja) 2019-07-09 2021-01-14 ローランド株式会社 録音再生装置
US11835943B2 (en) 2019-07-09 2023-12-05 Roland Corporation Recording/playback device and recording/playback method

Also Published As

Publication number Publication date
JPH1138969A (ja) 1999-02-12

Similar Documents

Publication Publication Date Title
KR100200290B1 (ko) 자동연주장치
KR920008291B1 (ko) 자동연주 기록장치
JP3827820B2 (ja) 録音再生装置
JP3980750B2 (ja) 電子楽器
JPH06175663A (ja) 波形データ編集装置
JP2940129B2 (ja) リズム演奏装置
JP4544185B2 (ja) 演奏記録装置及びプログラム
JPH096371A (ja) カラオケ装置
JP4270102B2 (ja) 自動演奏装置及びプログラム
JPH06124062A (ja) カラオケ装置
JP2550423B2 (ja) カラオケ装置
JP3307598B2 (ja) 演奏記録再生装置
JP3142434B2 (ja) 電子楽器のシーケンサ
JP3488037B2 (ja) 自動演奏装置
JP3980751B2 (ja) 電子楽器
JP2894306B2 (ja) 演奏記録再生装置
JP2959804B2 (ja) カラオケ装置
JP4259422B2 (ja) 演奏制御装置及びプログラム
JP3000440U (ja) カラオケ装置
JP3758041B2 (ja) 楽音制御データ発生装置
JP3561053B2 (ja) 音楽再生装置
JP2576961Y2 (ja) 楽音再生装置
JPH08234736A (ja) 自動演奏装置
JP3000568U (ja) カラオケ装置
JP3309350B2 (ja) オーディオミキサー装置用自動再現装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040708

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040809

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060228

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060427

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: 20060704

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060705

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100714

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100714

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110714

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120714

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130714

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees