JP4170524B2 - Waveform playback device - Google Patents

Waveform playback device Download PDF

Info

Publication number
JP4170524B2
JP4170524B2 JP19438799A JP19438799A JP4170524B2 JP 4170524 B2 JP4170524 B2 JP 4170524B2 JP 19438799 A JP19438799 A JP 19438799A JP 19438799 A JP19438799 A JP 19438799A JP 4170524 B2 JP4170524 B2 JP 4170524B2
Authority
JP
Japan
Prior art keywords
waveform
timing
musical
time
beat
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
JP19438799A
Other languages
Japanese (ja)
Other versions
JP2001022350A (en
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 JP19438799A priority Critical patent/JP4170524B2/en
Publication of JP2001022350A publication Critical patent/JP2001022350A/en
Application granted granted Critical
Publication of JP4170524B2 publication Critical patent/JP4170524B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、記憶された波形データを読み出して波形を再生する波形再生装置に関する。
【0002】
【従来の技術】
従来より、波形再生装置において、外部もしくは内部に備えられた自動演奏装置により楽曲の演奏(伴奏等)が行なわれている途中から、その楽曲の拍や小節等の音楽的タイミングに一致するように、鍵盤等の操作子を操作して波形データを読み出して波形を再生するということが行なわれている。
【0003】
【発明が解決しようとする課題】
ここで、リズム感がない(拍や小節の概念がなくテンポをもっていない)波形データのある一部を読み出して、自動演奏装置で演奏される楽曲の拍や小節の先頭に一致させるように波形を再生したい場合がある。例えば、ドラムロールの次にシンバル音が記憶されている波形データを読み出して波形を再生したい場合、操作子で波形再生の指示を行なうと、単純にドラムロールが発音し次いでシンバル音が発生する。このため、自動演奏装置で演奏されている楽曲の途中で、最初にドラムロールが発音し、シンバル音が次の小節の先頭で発生するように操作することは困難である。
【0004】
また、リズム感はある(拍や小節の概念がありテンポをもっている)が、先頭から最初の拍のタイミングまでにプリビートと称する部分を有する波形データの拍・小節のタイミングと、自動演奏装置で演奏される楽曲の拍・小節のタイミングとが一致するように、その波形データを読み出して波形を再生したい場合がある。しかし、プリビートの再生が終了した時点で、波形データの最初の拍のタイミングが、自動演奏装置で演奏される楽曲の拍のタイミングに一致するように、波形再生の開始を指示することは困難である。
【0005】
本発明は、上記事情に鑑み、自動演奏装置等で演奏される楽曲の音楽的タイミングに一致するように波形を再生することができる波形再生装置を提供することを目的とする。
【0006】
【課題を解決するための手段】
上記目的を達成する本発明の波形再生装置は、
(1)波形を表す波形データを、その波形中の音楽的タイミング位置を示すタイミングデータとともに記憶する記憶手段
(2)上記記憶手段からの上記波形データの読出開始を指示する読出開始指示手段
(3)繰り返し発生する音楽的タイミングを検出するタイミング検出手段
(4)上記読出開始指示手段からの読出開始指示を受けて、上記タイミングデータが表す波形中の音楽的タイミング位置が上記タイミング検出手段により検出された音楽的タイミングに一致するように、上記記憶手段に記憶された波形データを読み出して波形を再生する波形再生手段
を備えたことを特徴とする。
【0007】
本発明の波形再生装置は、波形中の音楽的タイミング位置が上記タイミング検出手段により検出された音楽的タイミングに一致するように、上記記憶手段に記憶された波形データを読み出して波形を再生するものであるため、例えば、ドラムロールの次にシンバル音が記憶されている波形データを読み出して波形を再生したい場合、自動演奏装置で演奏されている楽曲の途中で、最初にドラムロールを表すデータを読み出し、次の小節の先頭に一致するようにシンバル音を表すデータを読み出すことにより、自動演奏装置で演奏されている楽曲の途中で、最初にドラムロールが発音し、次の小節の先頭でシンバル音を発音させることができる。また、プリビートを有する波形データ中の最初の拍のタイミングが、自動演奏装置で演奏される楽曲の拍のタイミングに一致するように、予めプリビートの部分が読み出されるため、プリビートの再生が終了した時点で、上記タイミングどうしを一致させるような困難な操作を行なう必要はない。
【0008】
また、本発明は、波形中に複数のタイミング位置が設定されている場合、それら複数のタイミング位置のうちのいずれか1つのタイミング位置が、上記検出された音楽的タイミングのいずれかに一致するように波形再生を開始するものであればよい。さらに、本発明では、波形を最初から再生するものに限定されず、例えば波形の途中から、予め演奏されている楽曲の音楽的タイミングに波形中のタイミング位置を一致させるようにして再生してもよい。
【0009】
ここで、上記波形再生手段は、上記読出開始指示手段からの読出開始指示を受けて、上記タイミングデータが表す波形中の音楽的タイミング位置を、その読出開始指示を受けたタイミング以降の上記タイミング検出手段により最初に検出される音楽的タイミングに一致させた波形再生が可能か否かを判定し、その判定結果に応じて、その波形中の音楽的タイミング位置が、それぞれ、その最初に検出される音楽的タイミングに一致するように、あるいはその最初に検出される音楽的タイミングよりも後に検出される音楽的タイミングに一致するように、波形を再生するものであることが好ましい。
【0010】
このような波形再生手段を備えると、プリビートの時間の長短や読出開始指示のタイミングにかかわらず、どの波形の音楽的タイミング位置から検出された音楽的タイミングに一致するように、波形が再生される。尚、ここでいう「後に検出される音楽的タイミング」とは、最初に検出される音楽的タイミング以降のものであればいずれの音楽的タイミングであってもよいが、最初に検出される音楽的タイミングの直後に検出される音楽的タイミングを採用して波形を再生するのが望ましい。
【0011】
また、上記記憶手段に記憶された、波形中の音楽的タイミング位置を示すタイミングデータが、波形中の離散的な複数の音楽的タイミング位置を示すタイミングデータであって、上記波形再生手段は、上記記憶手段に記憶された波形データが表す波形を、上記タイミングデータが表す、波形中の複数の音楽的タイミング位置それぞれが上記タイミング検出手段により順次検出される複数の音楽的タイミングそれぞれに一致するように時間軸方向に圧縮あるいは伸長する手段を含むものであることも好ましい態様である。
【0012】
波形再生手段が、このような時間軸方向に圧縮あるいは伸長する手段を含むものであると、圧縮処理あるいは伸長処理される波形中の音楽的タイミング位置が、自動演奏装置で演奏される楽曲の音楽的タイミングに一致するように、波形を再生することができる。
【0013】
【発明の実施の形態】
以下、本発明の実施形態について説明する。
【0014】
図1は、本発明の一実施形態の波形再生装置を含む電子楽器のブロック図である。
【0015】
図1に示す電子楽器には、本実施形態の波形再生装置100と、シーケンサ200と、MIDI音源300と、混合器400と、増幅器500と、スピーカ600とが備えられている。
【0016】
シーケンサ200は、MIDI信号のうちの、後述するスタートメッセージFAおよびタイミングクロックF8を波形再生装置100に出力する。タイミングクロックF8は、シーケンサ200による演奏が停止している状態であっても波形再生装置100に出力され続ける。
【0017】
MIDI音源300は、シーケンサ200からの演奏情報に基づいてオーディオ波形を出力する。
【0018】
波形再生装置100は、詳細は後述するが、鍵盤等の読出開始指示手段により波形データの読出開始が指示された場合に、上記スタートメッセージFAおよびタイミングクロックF8に基づいて音楽的タイミング(ここでは拍の先頭)を検出し、予め記憶された波形データが表す波形中の音楽的タイミング位置が、検出された音楽的タイミングに一致するように、波形データを読み出してオーディオ波形を再生する。
【0019】
混合器400は、MIDI音源300から出力されたオーディオ波形と、波形再生装置100から出力されたオーディオ波形とを混合(ミックス)して、増幅器500に向けて出力する。
【0020】
増幅器500は、混合器400からのオーディオ波形を増幅する。
【0021】
スピーカ600は、増幅器500で増幅されたオーディオ波形を空間に音として出力する。
【0022】
図2は、図1に示す波形再生装置の構成図である。
【0023】
図1に示す波形再生装置100には、フレーズデータROM11と、CPU12と、プログラムROM13と、ワ―キングRAM14と、操作子群15と、MIDIインターフェース16と、D/A変換器17とが備えられている。これらフレーズデータROM11,CPU12,プログラムROM13,ワ―キングRAM14,操作子群15,MIDIインターフェース16,D/A変換器17は、バス18により相互に接続されている。
【0024】
フレーズデータROM11には、波形を表す波形データが、その波形中の音楽的タイミング位置を示すタイミングデータとともに記憶されている。
【0025】
プログラムROM13には、波形再生装置100全体の制御を行なうためのプログラムが格納されている。
【0026】
ワ―キングRAM14には、CPU12が種々の処理を実行するための作業領域等が備えられている。
【0027】
操作子群15には、フレーズデータROM11からの波形データの読出開始を指示する、本発明にいう読出開始指示手段が備えられている。
【0028】
MIDIインターフェース16は、図1に示すシーケンサ200からスタートメッセージFAおよびタイミングクロックF8を入力し、バス18を介してCPU12に伝達する。
【0029】
CPU12は、プログラムROM13に格納されたプログラムを読み出して実行することにより、この図1に示す波形再生装置100全体の制御を行なう。また、このCPU12は、本発明にいうタイミング検出手段の役割を担うものであり、具体的には、MIDIインターフェース16を介してタイミングクロックF8を入力して拍をカウントする拍カウンタの機能を有し、この拍カウンタで、繰り返し発生する音楽的タイミング(拍の先頭)を検出する。また、CPU12は、本発明にいう波形再生手段の役割を担うものでもあり、読出開始指示手段からの読出開始指示を受けて、フレーズデータROM11に格納されたタイミングデータが表す波形中の音楽的タイミング位置が、このCPU12により検出された音楽的タイミングに一致するように、フレーズデータROM11に格納された波形データを読み出してディジタルの波形を再生する、
D/A変換器17は、CPU12で再生されたディジタルの波形をD/A変換してアナログのオーディオ波形として、前述した図1に示す増幅器500に向けて出力する。
【0030】
図3は、フレーズデータROMに格納される波形データの構造を示す図である。
【0031】
図3(a)に示す波形データ30には、その波形データ30の先端に拍の先頭を表す第1マーク位置31_1が設けられており、以下、順次、第2マーク位置31_2,…,最終マーク位置31_nが設けられている。これら第1マーク位置31_1,第2マーク位置31_2,…,最終マーク位置31_nが、本発明にいう音楽的タイミング位置に相当する。また、波形データ30の後端には、この波形データ30の終了を示す波形データ終了位置32も設けられている。
【0032】
一方、図3(b)に示す波形データ40には、先頭部分にプリビート43が設けられおり、このプリビート43が終了した時点から、図3(a)に示す波形データ30と同様にして、順次、拍の先頭を表す第1マーク位置41_1,第2マーク位置41_2,…,最終マーク位置41_n、および波形データ40の終了を示す波形データ終了位置42が設けられている。本実施形態の波形再生装置100では、このような構造を持つ波形データ30,40が取り扱われる。以下、詳細に説明する。
【0033】
図4は、図3(a)に示す波形データが表す波形を再生する様子を示す図である。
【0034】
図4に示すビート情報には、複数の拍が刻まれている。これら複数の拍は、スタートメッセージFAが入力された時点から、CPU12により実現される拍カウンタに24個のタイミングクロックF8が入力される度に1つづつカウントされることにより検出される。
【0035】
また、図4に示す時間t0は、1拍分のタイミングクロックF8の数(24個)に相当する時間である。さらに、時間t1は、拍の先頭から読出開始指示手段で読出開始指示されるまでのタイミングクロックF8の数に相当する時間である。また、時間t2は、読出開始が指示されてから波形データ30の読出しが開始されるまでのタイミングクロックF8の数に相当する時間である。
【0036】
ここで、図4に示すビート情報における最初の拍の先頭から時間t1経過後、読出開始指示手段で、フレーズデータROM11に記憶された波形データ30の読出開始が指示される。すると、時間t2経過後、波形データ30の先頭を表す第1マーク位置31_1が、ビート情報の2番目の拍の先頭に一致するように、その波形データ30が読み出されて波形(シラブルA)が再生される。
【0037】
次に、図3(b)に示す、プリビートが設けられた波形データが表す波形を再生する様子について、図5〜図8を参照して説明する。
【0038】
図5は、第1の時間を有するプリビートが設けられた波形データが表す波形を再生する様子を示す図である。
【0039】
図5に示す第1の時間t3は、時間t0(1拍分のタイミングクロックF8の数(24個)に相当する時間)から時間t1(ビート情報の最初の拍の先頭から読出開始指示されるまでのタイミングクロックF8の数に相当する時間)を引き算した時間以下(t3≦t0−t1)の、比較的短い時間である。
【0040】
ここで、ビート情報の最初の拍の先頭から時間t1経過後、波形データ40の読出開始が指示される。すると、CPU12では、この読出開始指示を受けて、プリビート43が終了した時点(拍の先頭を表す第1マーク位置41_1)を、読出開始指示を受けたタイミング以降であって、最初に検出されるビート情報の拍(2番目の拍)の先頭に合わせたシラブルAの再生が可能か否かが判定される。ここでは、プリビート43の時間t3は、時間t0−t1以下であるため、この時間t0−t1内でプリビート43を再生することができると判定される。従って、ビート情報の2番目の拍の先頭に第1マーク位置41_1が一致するように、先ず時間t2経過後プリビート43が再生され、次いでシラブルAが再生される。
【0041】
図6は、第2の時間を有するプリビートが設けられた波形データが表す波形を再生する様子を示す図である。
【0042】
この第2の時間t3は、時間t0から時間t1を引き算した値を超える時間(t3>t0−t1)である。
【0043】
図6に示すビート情報の最初の拍の先頭から時間t1経過後、波形データ40の読出開始が指示される。すると、この読出開始の指示を受けて、プリビート43が終了した時点(拍の先頭を表す第1マーク位置41_1)を、読出開始指示を受けたタイミング以降であって、最初に検出されるビート情報の拍(2番目の拍)の先頭に合わせたシラブルAの再生が可能か否かが判定される。ここでは、プリビート43の時間t3は、時間t0−t1を超える時間であるため、この時間t0−t1内ではプリビート43を再生することはできず、従ってビート情報の2番目の拍の先頭に合わせてシラブルAを再生することは不可能であると判定される。そこで、ビート情報の3番目の拍の先頭に第1マーク位置41_1が一致するように、先ずビート情報の2番目の拍の先頭から時間t2経過後プリビート43が再生され、次いでシラブルAが再生される。
【0044】
図7は、第3の時間を有するプリビートが設けられた波形データが表す波形を再生する様子を示す図である。
【0045】
第3の時間は、前述した図5に示す第1の時間t3(t3≦t0−t1)に2拍分の時間が加算された時間である。
【0046】
図7に示すビート情報の最初の拍の先頭から時間t1経過後、波形データ40の読出開始が指示される。ここでは、プリビート43の時間は、第1の時間t3(t3≦t0−t1)に2拍分の時間が加算された時間であるため、ビート情報の4番目の拍の先頭に第1マーク位置41_1が一致するように、先ずビート情報の最初の拍における時間t2経過後から2番目,3番目の拍にわたりプリビート43が再生され、次いでシラブルAが再生される。
【0047】
図8は、第2の時間を有するプリビートが設けられた波形データが表す波形を再生するにあたり、図6に示す波形再生とは異なる波形再生の様子を示す図である。
【0048】
図8に示すプリビート43の時間は、1拍分の時間t0から読出開始が指示されるまでの時間t1を引き算した値を超える時間(前述した図6に示すプリビート43の時間と同じ時間)である。図6では、プリビート43の時間は、時間t0−t1を超える時間であるため、ビート情報の2番目の拍の先頭に合わせた波形再生は不可能であると判定して、ビート情報の3番目の拍の先頭に第1マーク位置41_1が一致するように、シラブルAを再生したが、ここでは以下に説明するようにして、ビート情報の2番目の拍の先頭に第1マーク位置41_1が一致するようにシラブルAを再生する。
【0049】
読出開始指示がなされていない状態にあっては、各拍内の経過時間が、1拍分の時間t0−プリビート43の時間に一致する度に波形データが読み出されており、読み出されたデータを表す波形が音量レベル0で出力されている。即ち、波形データは読み出されているものの発音されていない状態にある。このような状態において、次の拍までに読出開始指示がなされない場合は、次の拍に移行した際に読み出しを停止し、次の拍内の経過時間が、時間t0−プリビート43の時間に一致したら再び最初から波形データを読み出すということが繰り返される。
【0050】
ここで、次の拍までに読出開始指示がなされた場合は、読み出されている波形データに所定のエンベロープを付与して発音させ、読出停止指示が行われるまで波形データが順次読み出される。このようにして、プリビート43の時間が、時間t0−t1を超える時間であっても、図8に示すように時間t1の途中からビート情報の最初の拍の終了に合わせてプリビート43の再生が終了するように、即ちビート情報の2番目の拍の先頭に第1マーク位置41_1が一致するように先ずプリビート43が再生され、次いでシラブルAが再生される。
【0051】
図9は、図2に示す波形再生装置のメインルーチンのフローチャートである。
【0052】
図2に示す波形再生装置100に電源が投入されると、このメインルーチンが実行される。尚、ここでは、プリビートが設けられた波形データが表す波形再生について説明する。先ず、ステップS11において、波形データの読出アドレスの設定や、拍カウンタのリセット等の初期設定を行ない、ステップS12に進む。ステップS12では、プリビートの長さを表す、拍カウンタに入力されるタイミングクロックF8の個数に相当する時間t3を算出する。時間t3は、以下のようにして算出する。
【0053】
タイミングクロックF8の実時間
=60(sec)/TEMPO(bps)/24(sec)
とする。また。
【0054】
プリビートの実時間
=プリビートのサンプル数×(1/サンプルレート)(sec)
とする。
【0055】
さらに、プリビートに対するタイミングクロックF8の個数をt3’とすると、
t3’=プリビートの実時間/タイミングクロックF8の実時間
となる。
【0056】
ここで、1)t3’<24の場合、T3=t3’
2)t3’=0またはt3’=24の場合、T3=0
3)t3’>24の場合、T3=t3’/24の余り
となる。上記T3(タイミングクロックF8の個数)を時間に換算して、時間t3を算出する。
【0057】
次に、ステップS13において、拍カウンタの値CNTを‘0’(リセット)にする。さらに、ステップS14において、発音開始指示フラグVOICEをオフ状態にする。この発音開始指示フラグVOICEは、波形データの読出開始指示があってから発音を開始するにあたり、波形データのプリビート時間が比較的短い場合、その読出開始指示があった拍からプリビートの発音を開始することを示すフラグである。次にステップS15に進む。ステップS15では、発音開始指示フラグVOICE2をオフ状態にする。この発音開始指示フラグVOICE2は、波形データの読出開始指示があってから発音を開始するにあたり、波形データのプリビート時間が比較的長い場合、その読出開始指示があった拍より後の拍からプリビートの発音を開始することを示すフラグである。その後、このルーチンを終了する。
【0058】
図10は、拍の先頭にタイミングクロックF8を同期させるためのルーチンのフローチャートである。
【0059】
このルーチンは、前述した図9に示すメインルーチンに引き続いて実行される。先ず、ステップS21において、MIDI信号のうちのスタートメッセージFAが受信されたか否かが判定される。スタートメッセージFAが受信されたと判定された場合は、ステップS22に進み、拍カウンタの値CNTを‘0’にして、このルーチンを終了する。一方、スタートメッセージFAが受信されていないと判定された場合は、そのままこのルーチンを終了する。
【0060】
図11は、発音指示ルーチンのフローチャートである。
【0061】
このルーチンは、読出開始指示手段により波形データが読み出されると実行されるルーチンである。
【0062】
先ず、ステップS31において、発音指示が行なわれたか否か(イベントがあるか否か)が判定される。発音指示が行なわれていないと判定された場合は、何もせずこのルーチンを終了する。一方、発音指示が行なわれていると判定された場合は、ステップS32に進む。ステップS32では、t2=t0−t3−(CNT)の演算を行なう。即ち、1拍のタイミングクロックF8の数に相当する時間t0から、プリビート分のタイミングクロックF8の数に相当する時間t3および拍カウンタの値に相当する時間(CNT)を引き算して、読出指示されてからプリビートの再生が開始されるまでのタイミングクロックF8の数に相当する待ち時間t2を求める。
【0063】
次に、ステップS33において、待ち時間t2が0未満か否かが判定される。待ち時間t2が0未満でない、即ち0以上であると判定された場合は、その拍内でプリビートを再生することができるためステップS34に進む。ステップS34では、発音開始指示フラグVOICEをオン状態にして、このルーチンを終了する。一方、待ち時間t2が0未満であると判定された場合は、その拍内でプリビートを再生することができないためステップS35に進む。ステップS35では、t2=t0−t3の演算を行なう。即ち、1拍のタイミングクロックF8の数に相当する時間t0から、プリビート分のタイミングクロックF8の数に相当する時間t3を引き算して待ち時間t2を求める。次に、ステップS36において、読出開始指示があった拍より後の拍で発音が行なわれることを示す発音開始指示フラグVOICE2をオン状態にして、このルーチンを終了する。
【0064】
図12は、タイミングクロックF8により発生する割込み処理ルーチンのフローチャートである。
【0065】
このルーチンは、タイミングクロックF8が入力される度に発生する割込みにより起動されるルーチンである。
【0066】
先ず、ステップS41において、拍カウンタの値CNTが最大数(この実施形態では拍単位での説明であるため、最大数は24個であるが、小節単位の場合は、24個×拍子の数が最大数となる)か否かが判定される。拍カウンタの値CNTが最大数でないと判定された場合は、後述するステップS45に進む。一方、拍カウンタの値CNTが最大数であると判定された場合は、ステップS42に進み、拍カウンタの値CNTを‘0’する。次に、ステップS43において、発音開始指示フラグVOICE2がオン状態か否かが判定される。発音開始指示フラグVOICE2がオン状態でないと判定された場合は、ステップS45に進む。一方、発音開始指示フラグVOICE2がオン状態であると判定された場合はステップS44に進む。ステップS44では、発音開始指示フラグVOICEをオン状態にしてステップS45に進む。
【0067】
ステップS45では、発音開始指示フラグVOICEがオン状態か否かが判定される。発音開始指示フラグVOICEがオン状態でないと判定された場合は、発音を行なう必要がないため、ステップS50に進む。一方、発音開始指示フラグVOICEがオン状態でないと判定された場合は、ステップS46に進む。
【0068】
ステップS46では、拍カウンタの値に相当する時間(CNT)が待ち時間t2に一致したか否か、即ち発音開始できるか否かが判定される。拍カウンタの値に相当する時間(CNT)が待ち時間t2に一致していないと判定された場合は、ステップS50に進む。一方、拍カウンタの値に相当する時間(CNT)が待ち時間t2に一致したと判定された場合は、ステップS47に進み発音を開始する。次にステップS48において、発音開始指示フラグVOICEをオフ状態にし、さらにステップS49において、発音開始指示フラグVOICE2もオフ状態にして、ステップS50に進む。ステップS50では、拍カウンタの値CNTをインクリメントしてこのルーチンを終了する。
【0069】
次に、本発明の一実施形態の、上述した波形再生装置100とは異なる波形再生装置について説明する。
【0070】
この波形再生装置は、上述した波形再生装置100と比較し、フレーズデータROM11に記憶された、波形中の音楽的タイミング位置を示すタイミングデータが、波形中の離散的な複数の音楽的タイミング位置を示すタイミングデータであって、CPU12(波形再生手段)は、フレーズデータROM11に記憶された波形データが表す波形を、上記タイミングデータが表す、波形中の複数の音楽的タイミング位置それぞれがCPU12(タイミング検出手段)により順次検出される複数の音楽的タイミングそれぞれに一致するように時間軸方向に圧縮あるいは伸長する手段を含むものである。以下、詳細に説明する。
【0071】
この波形再生装置に接続されたシーケンサには、再生速度を設定するためのテンポ設定操作子と、演奏をスタート,ストップさせるためのスタート操作子,ストップ操作子が備えられており、スタート操作子が操作されるとテンポ設定操作子によって設定されているテンポで演奏情報(MIDI情報)をMIDI音源に出力する。また、シーケンサは、演奏が停止している状態であっても本実施形態の波形再生装置に対してテンポ情報を出力し続ける。
【0072】
また、本実施形態の波形再生装置には、複数の波形データを備え、波形選択操作子によって再生しようとする波形を選択できるようになっている。各波形データには、録音した際のテンポ情報と、音楽的な時間軸上のタイミング(拍の先頭、小節の先頭)を表すマーク位置(第1マーク位置、第2マーク位置、…)が設定されている。ここでは波形データの先頭から第1マーク位置までの間をプリビートとする。このプリビートは読出開始指示手段(鍵盤)からの読出開始指示に応じて、第1マークからの演奏(拍の先頭、小節の先頭)に先だって再生される部分である。
【0073】
ここでは説明を簡単にするために、ノンリアルタイムのタイムストレッチ処理について説明する。電源が投入された場合、あるいはシーケンサが非動作時にテンポ設定操作子が操作された場合、シーケンサから送られてくるテンポ情報と、波形選択操作子によって選択されている波形データに設定されたテンポ情報に応じて、選択されている波形データにタイムストレッチ処理を行ない、シーケンサのテンポに応じた時間的な長さの波形データを生成する。タイムストレッチ処理とは、音声信号を間引いたり補間することにより、ピッチを変化させずに時間軸を圧縮したり伸長したりする処理をいう。このようなタイムストレッチ処理には種々の方法があり、それらは公知であるのでここでの詳細説明は省略する。
【0074】
波形の再生が指示されると、テンポ値に応じたプリビートの長さ時間t3(タイムストレッチ処理後の波形データの先頭から第1マーク位置までの長さ時間)を計算し、
1)プリビートの長さ時間t3≦拍の長さ時間t0−その拍内での経過時間t1の場合は、
待ち時間t2=t0−(t1+t3)を計算し、待ち時間t2だけ待ってからタイムストレッチ処理されたプリビートが再生され、次の拍のタイミングに第1マーク位置の再生タイミングが一致するようにタイムストレッチ処理された波形が再生されるようにする。
【0075】
2)プリビートの長さ時間t3>拍の長さ時間t0−その拍内での経過時間t1の場合は、
待ち時間t2=t0−(t1+t3)を計算し、待ち時間t2だけ待ってからタイムストレッチ処理されたプリビートが再生され、次の次の拍のタイミングに第1マーク位置の再生タイミングが一致するようにタイムストレッチ処理された波形が再生されるようにする。
【0076】
このような処理を施すことでシーケンサが非動作時に、テンポ設定操作子によってテンポ値を変化させたとしても、それに同期してピッチを変化させることなく波形データの第1マーク位置の再生タイミングが拍(小節)のタイミングに一致するように波形を再生することができる。
【0077】
尚、リアルタイムのタイムストレッチ処理を行なうようにすれば、シーケンサが動作している状態でテンポ設定操作子が操作された場合であっても、テンポに合わせた波形再生を行なうことができる。具体的には、シーケンサから送られてくるテンポクロックの間隔幅からテンポ値をリアルタイムに計算して算出し、算出されたシーケンサのテンポ情報と、読出開始指示手段(鍵盤)により読出開始指示された波形のテンポ情報とから波形データにタイムストレッチ処理を施して再生するようにすればよい。このようなリアルタイムのタイムストレッチ処理を行なえば、シーケンサが動作している状態であっても波形の再生を追従させることができる。
【0078】
尚、本実施形態の波形再生装置では、シーケンサから受信したMIDIクロック(タイミングクロックF8)を計数することにより音楽的タイミングである、拍,小節を検出したが、波形再生装置に自動演奏装置又は自動伴奏装置が組み込まれている場合には、その波形再生装置自身が発生するタイミングにより、拍,小節を検出することができる。
【0079】
【発明の効果】
以上説明したように、本発明によれば、自動演奏装置等で演奏される楽曲の音楽的タイミングに一致するように波形を再生することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態の波形再生装置を含む電子楽器のブロック図である。
【図2】図1に示す波形再生装置の構成図である。
【図3】図2に示すフレーズデータROMに格納される波形データの構造を示す図である。
【図4】図3(a)に示す波形データが表す波形を再生する様子を示す図である。
【図5】第1の時間を有するプリビートが設けられた波形データが表す波形を再生する様子を示す図である。
【図6】第2の時間を有するプリビートが設けられた波形データが表す波形を再生する様子を示す図である。
【図7】第3の時間を有するプリビートが設けられた波形データが表す波形を再生する様子を示す図である。
【図8】第2の時間を有するプリビートが設けられた波形データが表す波形を再生するにあたり、図6に示す波形再生とは異なる波形再生の様子を示す図である。
【図9】図2に示す波形再生装置のメインルーチンのフローチャートである。
【図10】拍の先頭にタイミングクロックF8を同期させるためのルーチンのフローチャートである。
【図11】発音指示ルーチンのフローチャートである。
【図12】タイミングクロックF8により発生する割込み処理ルーチンのフローチャートである。
【符号の説明】
11 フレーズデータROM
12 CPU
13 プログラムROM
14 ワ―キングRAM
15 操作子群
16 MIDIインターフェース
17 D/A変換器
18 バス
30,40 波形データ
31_1,41_1 第1マーク位置
31_2,41_2 第2マーク位置
31_n,41_n 最終マーク位置
32,42 波形データ終了位置
43 プリビート
100 波形再生装置
200 シーケンサ
300 MIDI音源
400 混合器
500 増幅器
600 スピーカ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a waveform reproducing device that reads out stored waveform data and reproduces a waveform.
[0002]
[Prior art]
Conventionally, in a waveform playback device, a musical piece is played (accompaniment, etc.) by an automatic performance device provided externally or internally, so that it matches the musical timing of the musical piece, such as a beat or measure. An operation element such as a keyboard is operated to read waveform data and reproduce the waveform.
[0003]
[Problems to be solved by the invention]
Here, a part of the waveform data that has no sense of rhythm (no concept of beat or measure and does not have a tempo) is read, and the waveform is matched with the beginning of the beat or measure of the music played on the automatic performance device. You may want to play it. For example, when it is desired to read the waveform data in which the cymbal sound is stored next to the drum roll and reproduce the waveform, when the waveform reproduction is instructed by the operator, the drum roll is simply sounded and then the cymbal sound is generated. For this reason, it is difficult to perform an operation so that a drum roll is first sounded and a cymbal sound is generated at the beginning of the next measure in the middle of a musical piece being played by an automatic performance device.
[0004]
In addition, there is a sense of rhythm (there is a concept of beats and measures and has a tempo), but the timing of the beat and measure of the waveform data that has a part called pre-beat from the beginning to the timing of the first beat and the performance on the automatic performance device There are cases where it is desired to read out the waveform data and reproduce the waveform so that the beat / measure timing of the music to be played matches. However, it is difficult to instruct the start of waveform playback so that the timing of the first beat of the waveform data coincides with the timing of the beat of the music played on the automatic performance device when the prebeat playback is completed. is there.
[0005]
In view of the above circumstances, an object of the present invention is to provide a waveform reproducing device capable of reproducing a waveform so as to coincide with the musical timing of music played by an automatic performance device or the like.
[0006]
[Means for Solving the Problems]
The waveform reproducing apparatus of the present invention that achieves the above-described object provides:
(1) Storage means for storing waveform data representing a waveform together with timing data indicating a musical timing position in the waveform
(2) Read start instruction means for instructing start of reading of the waveform data from the storage means
(3) Timing detection means for detecting repetitive musical timing
(4) In response to a read start instruction from the read start instruction means, the storage means so that the musical timing position in the waveform represented by the timing data coincides with the musical timing detected by the timing detection means. Waveform reproducing means for reading out waveform data stored in the memory and reproducing the waveform
It is provided with.
[0007]
The waveform reproducing apparatus of the present invention reads out the waveform data stored in the storage means and reproduces the waveform so that the musical timing position in the waveform matches the musical timing detected by the timing detecting means. Therefore, for example, when it is desired to read the waveform data in which the cymbal sound is stored next to the drum roll and reproduce the waveform, the data representing the drum roll is first displayed in the middle of the musical piece being played by the automatic performance device. By reading the data representing the cymbal sound so that it coincides with the beginning of the next measure, the drum roll sounds first in the middle of the music played on the automatic performance device, and the cymbal appears at the beginning of the next measure. Sounds can be pronounced. In addition, when the prebeat part is read out in advance so that the timing of the first beat in the waveform data having the prebeat matches the timing of the beat of the music played on the automatic performance device, Therefore, it is not necessary to perform a difficult operation for making the timings coincide with each other.
[0008]
Further, according to the present invention, when a plurality of timing positions are set in the waveform, any one of the plurality of timing positions coincides with one of the detected musical timings. As long as the waveform reproduction is started, it is sufficient. Furthermore, in the present invention, the waveform is not limited to the one that is reproduced from the beginning. For example, the waveform may be reproduced from the middle of the waveform so that the timing position in the waveform matches the musical timing of the music being played in advance. Good.
[0009]
Here, the waveform reproduction means receives the read start instruction from the read start instruction means, and detects the timing of the musical timing in the waveform represented by the timing data after the timing at which the read start instruction is received. It is determined whether or not the waveform reproduction matched with the musical timing first detected by the means is possible, and the musical timing position in the waveform is detected first according to the determination result. It is preferable that the waveform is reproduced so as to coincide with the musical timing or coincide with the musical timing detected after the first detected musical timing.
[0010]
With such waveform reproduction means, the waveform is reproduced so as to coincide with the musical timing detected from the musical timing position of any waveform, regardless of the length of the prebeat or the timing of the reading start instruction. . The “musical timing detected later” here may be any musical timing as long as it is after the first musical timing, but the first detected musical timing. It is desirable to reproduce the waveform using musical timing detected immediately after the timing.
[0011]
The timing data indicating the musical timing position in the waveform stored in the storage means is timing data indicating a plurality of discrete musical timing positions in the waveform, and the waveform reproducing means The waveform represented by the waveform data stored in the storage means is such that each of a plurality of musical timing positions in the waveform represented by the timing data coincides with each of a plurality of musical timings sequentially detected by the timing detection means. It is also a preferable aspect that includes means for compressing or extending in the time axis direction.
[0012]
When the waveform reproducing means includes means for compressing or expanding in the time axis direction, the musical timing position in the waveform to be compressed or expanded is the musical timing of the music played by the automatic performance device. The waveform can be reproduced so as to match.
[0013]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described.
[0014]
FIG. 1 is a block diagram of an electronic musical instrument including a waveform reproducing device according to an embodiment of the present invention.
[0015]
The electronic musical instrument shown in FIG. 1 includes a waveform reproducing device 100 according to this embodiment, a sequencer 200, a MIDI sound source 300, a mixer 400, an amplifier 500, and a speaker 600.
[0016]
The sequencer 200 outputs a later-described start message FA and timing clock F8 among the MIDI signals to the waveform reproduction device 100. The timing clock F8 continues to be output to the waveform reproducing device 100 even when the performance by the sequencer 200 is stopped.
[0017]
The MIDI sound source 300 outputs an audio waveform based on performance information from the sequencer 200.
[0018]
As will be described in detail later, the waveform reproducing device 100, when instructed to start reading out waveform data by a reading start instructing means such as a keyboard, performs musical timing (in this case, beats based on the start message FA and the timing clock F8). The waveform data is read and the audio waveform is reproduced so that the musical timing position in the waveform represented by the waveform data stored in advance matches the detected musical timing.
[0019]
The mixer 400 mixes (mixes) the audio waveform output from the MIDI sound source 300 and the audio waveform output from the waveform reproduction apparatus 100 and outputs the mixed result to the amplifier 500.
[0020]
The amplifier 500 amplifies the audio waveform from the mixer 400.
[0021]
The speaker 600 outputs the audio waveform amplified by the amplifier 500 as sound in the space.
[0022]
FIG. 2 is a block diagram of the waveform reproducing apparatus shown in FIG.
[0023]
The waveform reproduction apparatus 100 shown in FIG. 1 includes a phrase data ROM 11, a CPU 12, a program ROM 13, a working RAM 14, a control group 15, a MIDI interface 16, and a D / A converter 17. ing. The phrase data ROM 11, CPU 12, program ROM 13, working RAM 14, operator group 15, MIDI interface 16, and D / A converter 17 are mutually connected by a bus 18.
[0024]
The phrase data ROM 11 stores waveform data representing a waveform together with timing data indicating a musical timing position in the waveform.
[0025]
The program ROM 13 stores a program for controlling the entire waveform reproducing device 100.
[0026]
The working RAM 14 includes a work area for the CPU 12 to execute various processes.
[0027]
The operating element group 15 is provided with reading start instruction means according to the present invention for instructing the start of reading waveform data from the phrase data ROM 11.
[0028]
The MIDI interface 16 receives a start message FA and a timing clock F8 from the sequencer 200 shown in FIG. 1 and transmits them to the CPU 12 via the bus 18.
[0029]
The CPU 12 controls the entire waveform reproducing device 100 shown in FIG. 1 by reading and executing the program stored in the program ROM 13. The CPU 12 plays the role of the timing detection means according to the present invention. Specifically, the CPU 12 has a function of a beat counter that inputs a timing clock F8 via the MIDI interface 16 and counts beats. The musical timing (beginning of beats) that occurs repeatedly is detected by this beat counter. Further, the CPU 12 plays a role of the waveform reproducing means according to the present invention. Upon receiving a reading start instruction from the reading start instructing means, the musical timing in the waveform represented by the timing data stored in the phrase data ROM 11 is obtained. The waveform data stored in the phrase data ROM 11 is read and the digital waveform is reproduced so that the position matches the musical timing detected by the CPU 12.
The D / A converter 17 D / A converts the digital waveform reproduced by the CPU 12 and outputs it as an analog audio waveform to the amplifier 500 shown in FIG.
[0030]
FIG. 3 is a diagram showing the structure of waveform data stored in the phrase data ROM.
[0031]
In the waveform data 30 shown in FIG. 3A, a first mark position 31_1 representing the beginning of a beat is provided at the tip of the waveform data 30, and the second mark positions 31_2,. A position 31_n is provided. These first mark position 31_1, second mark position 31_2,..., And final mark position 31_n correspond to the musical timing position in the present invention. A waveform data end position 32 indicating the end of the waveform data 30 is also provided at the rear end of the waveform data 30.
[0032]
On the other hand, in the waveform data 40 shown in FIG. 3B, a prebeat 43 is provided at the head portion, and from the time when the prebeat 43 is completed, the waveform data 40 is sequentially sequentially similar to the waveform data 30 shown in FIG. , A first mark position 41_1 representing the beginning of the beat, a second mark position 41_2,..., A final mark position 41_n, and a waveform data end position 42 indicating the end of the waveform data 40 are provided. In the waveform reproducing apparatus 100 of this embodiment, the waveform data 30 and 40 having such a structure are handled. Details will be described below.
[0033]
FIG. 4 is a diagram showing how the waveform represented by the waveform data shown in FIG.
[0034]
A plurality of beats are engraved in the beat information shown in FIG. The plurality of beats are detected by counting each time 24 timing clocks F8 are input to the beat counter realized by the CPU 12 from the time when the start message FA is input.
[0035]
4 is a time corresponding to the number (24) of timing clocks F8 for one beat. Further, the time t1 is a time corresponding to the number of timing clocks F8 from the beginning of the beat until the reading start instruction is instructed by the reading start instruction means. The time t2 is a time corresponding to the number of timing clocks F8 from the start of reading to the start of reading of the waveform data 30.
[0036]
Here, after the elapse of time t1 from the beginning of the first beat in the beat information shown in FIG. 4, the readout start instructing unit instructs to start reading out the waveform data 30 stored in the phrase data ROM 11. Then, after time t2, the waveform data 30 is read and the waveform (syllable A) so that the first mark position 31_1 representing the beginning of the waveform data 30 coincides with the beginning of the second beat of the beat information. Is played.
[0037]
Next, the manner in which the waveform represented by the waveform data provided with the prebeat shown in FIG. 3B is reproduced will be described with reference to FIGS.
[0038]
FIG. 5 is a diagram illustrating a state in which the waveform represented by the waveform data provided with the prebeat having the first time is reproduced.
[0039]
The first time t3 shown in FIG. 5 is instructed to start reading from time t0 (time corresponding to the number of timing clocks F8 for one beat (24)) to time t1 (start of the first beat of beat information). This is a relatively short time that is equal to or less than the time obtained by subtracting the time corresponding to the number of timing clocks F8 until (t3 ≦ t0−t1).
[0040]
Here, after the time t1 has elapsed from the beginning of the first beat of the beat information, an instruction to start reading the waveform data 40 is given. Then, the CPU 12 receives the reading start instruction and detects the time when the pre-beat 43 ends (first mark position 41_1 representing the beginning of the beat) after the timing at which the reading start instruction is received, and is detected first. It is determined whether or not the syllable A can be reproduced at the beginning of the beat of the beat information (second beat). Here, since the time t3 of the prebeat 43 is equal to or less than the time t0-t1, it is determined that the prebeat 43 can be reproduced within the time t0-t1. Accordingly, the prebeat 43 is first reproduced after the elapse of time t2, and then the syllable A is reproduced so that the first mark position 41_1 coincides with the beginning of the second beat of the beat information.
[0041]
FIG. 6 is a diagram illustrating a state in which the waveform represented by the waveform data provided with the prebeat having the second time is reproduced.
[0042]
The second time t3 is a time exceeding the value obtained by subtracting the time t1 from the time t0 (t3> t0-t1).
[0043]
When the time t1 has elapsed from the beginning of the first beat of the beat information shown in FIG. Then, in response to the reading start instruction, the time when the pre-beat 43 ends (first mark position 41_1 representing the beginning of the beat) is the first detected beat information after the timing at which the reading start instruction is received. It is determined whether or not the syllable A can be reproduced at the beginning of the second beat (second beat). Here, since the time t3 of the pre-beat 43 is a time exceeding the time t0-t1, the pre-beat 43 cannot be reproduced within this time t0-t1, and therefore, the pre-beat 43 is aligned with the beginning of the second beat of the beat information. Thus, it is determined that the syllable A cannot be reproduced. Therefore, the pre-beat 43 is first reproduced after the elapse of time t2 from the beginning of the second beat of beat information, and then the syllable A is reproduced so that the first mark position 41_1 coincides with the beginning of the third beat of the beat information. The
[0044]
FIG. 7 is a diagram illustrating a state in which the waveform represented by the waveform data provided with the prebeat having the third time is reproduced.
[0045]
The third time is a time obtained by adding two beats to the first time t3 (t3 ≦ t0−t1) shown in FIG.
[0046]
After time t1 has elapsed from the beginning of the first beat of the beat information shown in FIG. Here, since the time of the pre-beat 43 is a time obtained by adding the time of two beats to the first time t3 (t3 ≦ t0−t1), the first mark position is at the head of the fourth beat of the beat information. First, the prebeat 43 is reproduced over the second and third beats after the elapse of time t2 in the first beat of the beat information so that 41_1 matches, and then the syllable A is reproduced.
[0047]
FIG. 8 is a diagram showing a state of waveform reproduction different from the waveform reproduction shown in FIG. 6 when reproducing the waveform represented by the waveform data provided with the prebeat having the second time.
[0048]
The time of the prebeat 43 shown in FIG. 8 is a time exceeding the value obtained by subtracting the time t1 from the time t0 for one beat to the start of reading (the same time as the time of the prebeat 43 shown in FIG. 6). is there. In FIG. 6, since the time of the pre-beat 43 is a time exceeding the time t0-t1, it is determined that waveform reproduction matching the beginning of the second beat of the beat information is impossible, and the third beat information The syllable A is reproduced so that the first mark position 41_1 coincides with the beginning of the beat, but here, as described below, the first mark position 41_1 coincides with the beginning of the second beat of the beat information. Play syllable A as you do.
[0049]
When no reading start instruction is given, the waveform data is read and read every time the elapsed time in each beat matches the time t0-prebeat 43 for one beat. A waveform representing data is output at a volume level 0. That is, the waveform data is being read but not sounded. In such a state, if the readout start instruction is not given by the next beat, the readout is stopped when the next beat is reached, and the elapsed time in the next beat is the time t0-prebeat 43 time. If they match, the waveform data is read again from the beginning.
[0050]
Here, when a readout start instruction is given by the next beat, a predetermined envelope is added to the waveform data being read out to generate a sound, and the waveform data is sequentially read out until a readout stop instruction is issued. Thus, even if the time of the prebeat 43 exceeds the time t0-t1, the prebeat 43 is reproduced from the middle of the time t1 in accordance with the end of the first beat of the beat information as shown in FIG. First, the pre-beat 43 is reproduced, and then the syllable A is reproduced so that the first mark position 41_1 coincides with the beginning of the second beat of the beat information.
[0051]
FIG. 9 is a flowchart of the main routine of the waveform reproducing apparatus shown in FIG.
[0052]
When the waveform reproducing apparatus 100 shown in FIG. 2 is turned on, this main routine is executed. Here, waveform reproduction represented by waveform data provided with a prebeat will be described. First, in step S11, initial setting such as setting of the readout address of the waveform data and resetting of the beat counter is performed, and the process proceeds to step S12. In step S12, a time t3 corresponding to the number of timing clocks F8 input to the beat counter, which represents the length of the prebeat, is calculated. The time t3 is calculated as follows.
[0053]
Real time of timing clock F8
= 60 (sec) / TEMPO (bps) / 24 (sec)
And Also.
[0054]
Pre-beat real time
= Number of prebeat samples x (1 / sample rate) (sec)
And
[0055]
Furthermore, if the number of timing clocks F8 for the prebeat is t3 ′,
t3 '= real time of prebeat / real time of timing clock F8
It becomes.
[0056]
Where 1) if t3 ′ <24, then T3 = t3 ′
2) When t3 ′ = 0 or t3 ′ = 24, T3 = 0
3) When t3 ′> 24, the remainder of T3 = t3 ′ / 24
It becomes. Time T3 is calculated by converting T3 (the number of timing clocks F8) into time.
[0057]
Next, in step S13, the value CNT of the beat counter is set to “0” (reset). In step S14, the sound generation start instruction flag VOICE is turned off. This sounding start instruction flag VOICE starts prebeat sounding from the beat at which the read start instruction is issued when the prebeat time of the waveform data is relatively short before starting to sound after the waveform data read start instruction is issued. It is a flag indicating that. Next, the process proceeds to step S15. In step S15, the sound generation start instruction flag VOICE2 is turned off. The sound generation start instruction flag VOICE2 is used to start pre-beat from the beat after the read instruction when the waveform data has a relatively long pre-beat time. It is a flag indicating the start of pronunciation. Thereafter, this routine is terminated.
[0058]
FIG. 10 is a flowchart of a routine for synchronizing the timing clock F8 to the head of the beat.
[0059]
This routine is executed subsequent to the main routine shown in FIG. First, in step S21, it is determined whether or not a start message FA of the MIDI signals has been received. If it is determined that the start message FA has been received, the process proceeds to step S22, the value CNT of the beat counter is set to “0”, and this routine is terminated. On the other hand, if it is determined that the start message FA has not been received, this routine is terminated.
[0060]
FIG. 11 is a flowchart of the pronunciation instruction routine.
[0061]
This routine is executed when the waveform data is read by the reading start instruction means.
[0062]
First, in step S31, it is determined whether or not a sound generation instruction has been made (whether there is an event). If it is determined that the pronunciation instruction has not been issued, this routine is terminated without doing anything. On the other hand, if it is determined that a sound generation instruction has been issued, the process proceeds to step S32. In step S32, t2 = t0-t3- (CNT) is calculated. That is, a read instruction is issued by subtracting a time t3 corresponding to the number of pre-beat timing clocks F8 and a time (CNT) corresponding to the value of the beat counter from a time t0 corresponding to the number of timing clocks F8 of one beat. After that, a waiting time t2 corresponding to the number of timing clocks F8 from the start of prebeat reproduction is obtained.
[0063]
Next, in step S33, it is determined whether the waiting time t2 is less than zero. If it is determined that the waiting time t2 is not less than 0, that is, greater than or equal to 0, the process proceeds to step S34 because the pre-beat can be reproduced within the beat. In step S34, the sound generation start instruction flag VOICE is turned on, and this routine ends. On the other hand, if it is determined that the waiting time t2 is less than 0, since the pre-beat cannot be reproduced within the beat, the process proceeds to step S35. In step S35, t2 = t0-t3 is calculated. That is, the waiting time t2 is obtained by subtracting the time t3 corresponding to the number of timing clocks F8 for the prebeat from the time t0 corresponding to the number of timing clocks F8 for one beat. Next, in step S36, the sound generation start instruction flag VOICE2 indicating that sound generation is performed after the beat for which the reading start instruction is issued is turned on, and this routine is ended.
[0064]
FIG. 12 is a flowchart of an interrupt processing routine generated by the timing clock F8.
[0065]
This routine is started by an interrupt that occurs every time the timing clock F8 is input.
[0066]
First, in step S41, the value CNT of the beat counter is the maximum number (in this embodiment, since the explanation is in units of beats, the maximum number is 24, but in the case of measure units, the number of beats is 24 times the number of beats. It is determined whether or not the maximum number is reached. When it is determined that the value CNT of the beat counter is not the maximum number, the process proceeds to step S45 described later. On the other hand, if it is determined that the value CNT of the beat counter is the maximum number, the process proceeds to step S42, and the value CNT of the beat counter is set to “0”. Next, in step S43, it is determined whether or not the sound generation start instruction flag VOICE2 is on. If it is determined that the sound generation start instruction flag VOICE2 is not in the on state, the process proceeds to step S45. On the other hand, if it is determined that the sound generation start instruction flag VOICE2 is on, the process proceeds to step S44. In step S44, the sound generation start instruction flag VOICE is turned on, and the process proceeds to step S45.
[0067]
In step S45, it is determined whether the sound generation start instruction flag VOICE is on. If it is determined that the sound generation start instruction flag VOICE is not in the on state, it is not necessary to perform sound generation, and the process proceeds to step S50. On the other hand, if it is determined that the sound generation start instruction flag VOICE is not on, the process proceeds to step S46.
[0068]
In step S46, it is determined whether or not the time (CNT) corresponding to the value of the beat counter matches the waiting time t2, that is, whether or not sound generation can be started. If it is determined that the time (CNT) corresponding to the value of the beat counter does not match the waiting time t2, the process proceeds to step S50. On the other hand, if it is determined that the time (CNT) corresponding to the value of the beat counter coincides with the waiting time t2, the process proceeds to step S47 to start sound generation. Next, in step S48, the sound generation start instruction flag VOICE is turned off, and in step S49, the sound generation start instruction flag VOICE2 is also turned off, and the process proceeds to step S50. In step S50, the value CNT of the beat counter is incremented and this routine is terminated.
[0069]
Next, a waveform reproduction device different from the waveform reproduction device 100 described above according to an embodiment of the present invention will be described.
[0070]
Compared with the waveform reproduction device 100 described above, this waveform reproduction device stores timing data indicating musical timing positions in the waveform stored in the phrase data ROM 11 as a plurality of discrete musical timing positions in the waveform. The CPU 12 (waveform reproducing means) indicates the waveform represented by the waveform data stored in the phrase data ROM 11, and each of a plurality of musical timing positions in the waveform represents the CPU 12 (timing detection). Means for compressing or expanding in the time axis direction so as to coincide with each of a plurality of musical timings sequentially detected by the means). Details will be described below.
[0071]
The sequencer connected to this waveform playback device is equipped with a tempo setting operator for setting the playback speed, and a start operator and a stop operator for starting and stopping the performance. When operated, the performance information (MIDI information) is output to the MIDI sound source at the tempo set by the tempo setting operator. Further, the sequencer continues to output tempo information to the waveform reproduction apparatus of the present embodiment even when the performance is stopped.
[0072]
In addition, the waveform reproduction apparatus of the present embodiment includes a plurality of waveform data, and a waveform to be reproduced can be selected by a waveform selection operator. Each waveform data is set with tempo information at the time of recording and mark positions (first mark position, second mark position,...) Indicating timing on the musical time axis (start of beat, start of measure). Has been. Here, the pre-beat is from the beginning of the waveform data to the first mark position. This pre-beat is a portion that is reproduced prior to the performance from the first mark (start of beat, start of measure) in response to a read start instruction from the read start instruction means (keyboard).
[0073]
Here, in order to simplify the description, a non-real time time stretch process will be described. When the power is turned on, or when the tempo setting operator is operated when the sequencer is not operating, the tempo information sent from the sequencer and the tempo information set in the waveform data selected by the waveform selection operator In response to this, time stretching processing is performed on the selected waveform data, and waveform data having a time length corresponding to the tempo of the sequencer is generated. The time stretch process is a process of compressing or expanding the time axis without changing the pitch by thinning out or interpolating the audio signal. There are various methods for such time stretch processing, and since these are known, detailed description thereof is omitted here.
[0074]
When waveform reproduction is instructed, the prebeat length time t3 (the length time from the beginning of the waveform data after the time stretching process to the first mark position) corresponding to the tempo value is calculated,
1) In the case of prebeat length time t3 ≦ beat length time t0−elapsed time t1 within the beat,
The waiting time t2 = t0− (t1 + t3) is calculated, and after waiting for the waiting time t2, the time-stretched prebeat is reproduced, and the time stretching is performed so that the reproduction timing of the first mark position matches the timing of the next beat. Allow the processed waveform to be played back.
[0075]
2) If prebeat length time t3> beat length time t0-elapsed time t1 within the beat,
The waiting time t2 = t0− (t1 + t3) is calculated, and after waiting for the waiting time t2, the time-stretched prebeat is played back so that the playback timing of the first mark position matches the timing of the next next beat. The time stretched waveform is played back.
[0076]
By performing such processing, even if the tempo value is changed by the tempo setting operator when the sequencer is not operating, the reproduction timing of the first mark position of the waveform data is not changed without synchronizing the pitch. The waveform can be reproduced so as to coincide with the (measure) timing.
[0077]
If real-time time stretch processing is performed, waveform reproduction in accordance with the tempo can be performed even when the tempo setting operator is operated while the sequencer is operating. Specifically, the tempo value is calculated in real time from the interval width of the tempo clock sent from the sequencer, and the readout start instruction is issued by the calculated sequencer tempo information and the readout start instruction means (keyboard). The waveform data may be reproduced by applying time stretch processing to the waveform tempo information. If such a real-time time stretching process is performed, waveform reproduction can be followed even when the sequencer is operating.
[0078]
In the waveform reproducing apparatus of the present embodiment, the musical timing, beat and measure, are detected by counting the MIDI clock (timing clock F8) received from the sequencer. When an accompaniment device is incorporated, beats and measures can be detected based on timing generated by the waveform reproduction device itself.
[0079]
【The invention's effect】
As described above, according to the present invention, the waveform can be reproduced so as to coincide with the musical timing of the music played by the automatic performance device or the like.
[Brief description of the drawings]
FIG. 1 is a block diagram of an electronic musical instrument including a waveform reproduction device according to an embodiment of the present invention.
FIG. 2 is a configuration diagram of the waveform reproducing device shown in FIG. 1;
3 is a diagram showing the structure of waveform data stored in the phrase data ROM shown in FIG. 2. FIG.
FIG. 4 is a diagram illustrating a state in which a waveform represented by the waveform data illustrated in FIG.
FIG. 5 is a diagram illustrating a state in which a waveform represented by waveform data provided with a prebeat having a first time is reproduced.
FIG. 6 is a diagram illustrating a state in which a waveform represented by waveform data provided with a prebeat having a second time is reproduced.
FIG. 7 is a diagram showing how a waveform represented by waveform data provided with a prebeat having a third time is reproduced.
FIG. 8 is a diagram showing a state of waveform reproduction different from the waveform reproduction shown in FIG. 6 in reproducing the waveform represented by the waveform data provided with the prebeat having the second time.
9 is a flowchart of a main routine of the waveform reproduction device shown in FIG.
FIG. 10 is a flowchart of a routine for synchronizing the timing clock F8 to the beginning of a beat.
FIG. 11 is a flowchart of a sound generation instruction routine.
FIG. 12 is a flowchart of an interrupt processing routine generated by a timing clock F8.
[Explanation of symbols]
11 Phrase data ROM
12 CPU
13 Program ROM
14 Working RAM
15 controls
16 MIDI interface
17 D / A converter
18 Bus
30, 40 waveform data
31_1, 41_1 First mark position
31_2, 41_2 Second mark position
31_n, 41_n Final mark position
32, 42 End position of waveform data
43 Prebeat
100 Waveform playback device
200 sequencer
300 MIDI sound source
400 mixer
500 amplifier
600 speakers

Claims (2)

波形を表す波形データを、該波形中の音楽的タイミング位置を示すタイミングデータとともに記憶する記憶手段と、
前記記憶手段からの前記波形データの読出開始を指示する読出開始指示手段と、
演奏情報に基づく演奏の演奏タイミングを規定するタイミングクロックを、その演奏情報に基づく演奏の演奏開始を規定するスタートメッセージが入力された時点から計数し、その計数値に基づき所定の音楽的タイミングを検出するタイミング検出手段と、
前記読出開始指示手段からの読出開始指示を受けて、前記タイミングデータが表す波形中の音楽的タイミング位置が前記タイミング検出手段により検出された音楽的タイミングに一致するように、前記記憶手段に記憶された波形データを読み出して波形を再生する波形再生手段とを備え、
前記波形再生手段は、前記波形の先頭から該波形中の最初の音楽的タイミング位置までの時間Aと、前記読出開始指示手段による前記波形データの読出開始指示タイミングから、前記波形データの読出開始指示タイミング以降最初に前記タイミング検出手段により検出された音楽的タイミングまでの時間Bとについて、A≦Bの場合には、前記波形中の最初の音楽的タイミング位置と前記波形データの読出開始指示タイミング以降最初に前記タイミング検出手段により検出された音楽的タイミングとが一致するように前記波形を先頭から再生し、A>Bの場合には、前記波形中の最初の音楽的タイミング位置と前記波形データの読出開始指示タイミング以降最初に前記タイミング検出手段により検出された音楽的タイミングより後の音楽的タイミングとが一致するように前記波形を先頭から再生するものであることを特徴とする波形再生装置。
Storage means for storing waveform data representing a waveform together with timing data indicating a musical timing position in the waveform;
Reading start instruction means for instructing the start of reading of the waveform data from the storage means;
The timing clock that defines the performance timing of the performance based on the performance information is counted from the time when the start message that defines the performance start of the performance based on the performance information is input, and a predetermined musical timing is detected based on the counted value. Timing detection means for
In response to a read start instruction from the read start instruction means, the musical timing position in the waveform represented by the timing data is stored in the storage means so as to coincide with the musical timing detected by the timing detection means. Waveform reproducing means for reading out the waveform data and reproducing the waveform,
The waveform reproducing means is configured to instruct to start reading out the waveform data from a time A from the beginning of the waveform to the first musical timing position in the waveform and a read start instruction timing of the waveform data by the read start instructing means. For the time B until the musical timing first detected by the timing detection means after the timing, if A ≦ B, the first musical timing position in the waveform and the reading start timing of the waveform data First, the waveform is reproduced from the beginning so that the musical timing detected by the timing detection means coincides. If A> B, the first musical timing position in the waveform and the waveform data Musical timing after the musical timing first detected by the timing detection means after the read start instruction timing. Waveform reproduction apparatus, characterized in that for reproducing the waveform as timing and match from the beginning.
前記記憶手段に記憶された、波形中の音楽的タイミング位置を示すタイミングデータが、波形中の離散的な複数の音楽的タイミング位置を示すタイミングデータであって、前記波形再生手段は、前記記憶手段に記憶された波形データが表す波形を、前記タイミングデータが表す、波形中の複数の音楽的タイミング位置それぞれが前記タイミング検出手段により順次検出される複数の音楽的タイミングそれぞれに一致するように時間軸方向に圧縮あるいは伸長する手段を含むものであることを特徴とする請求項1記載の波形再生装置。  The timing data indicating the musical timing position in the waveform stored in the storage means is timing data indicating a plurality of discrete musical timing positions in the waveform, and the waveform reproducing means includes the storage means The time axis is such that each of a plurality of musical timing positions in the waveform represented by the timing data coincides with each of a plurality of musical timings sequentially detected by the timing detecting means. 2. A waveform reproducing apparatus according to claim 1, further comprising means for compressing or expanding in the direction.
JP19438799A 1999-07-08 1999-07-08 Waveform playback device Expired - Fee Related JP4170524B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19438799A JP4170524B2 (en) 1999-07-08 1999-07-08 Waveform playback device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19438799A JP4170524B2 (en) 1999-07-08 1999-07-08 Waveform playback device

Publications (2)

Publication Number Publication Date
JP2001022350A JP2001022350A (en) 2001-01-26
JP4170524B2 true JP4170524B2 (en) 2008-10-22

Family

ID=16323763

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19438799A Expired - Fee Related JP4170524B2 (en) 1999-07-08 1999-07-08 Waveform playback device

Country Status (1)

Country Link
JP (1) JP4170524B2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4581190B2 (en) * 2000-06-19 2010-11-17 ヤマハ株式会社 Music signal time axis companding method and apparatus
JP4243862B2 (en) 2004-10-26 2009-03-25 ソニー株式会社 Content utilization apparatus and content utilization method
JP4595555B2 (en) 2005-01-20 2010-12-08 ソニー株式会社 Content playback apparatus and content playback method
JP4247626B2 (en) * 2005-01-20 2009-04-02 ソニー株式会社 Playback apparatus and playback method
JP4741267B2 (en) 2005-03-28 2011-08-03 ソニー株式会社 Content recommendation system, communication terminal, and content recommendation method
JP2007011928A (en) 2005-07-04 2007-01-18 Sony Corp Content provision system, content provision device, content distribution server, content reception terminal and content provision method
JP5133508B2 (en) 2005-07-21 2013-01-30 ソニー株式会社 Content providing system, content providing device, content distribution server, content receiving terminal, and content providing method
JP4811046B2 (en) 2006-02-17 2011-11-09 ソニー株式会社 Content playback apparatus, audio playback device, and content playback method

Also Published As

Publication number Publication date
JP2001022350A (en) 2001-01-26

Similar Documents

Publication Publication Date Title
US8772618B2 (en) Mixing automatic accompaniment input and musical device input during a loop recording
JP2658463B2 (en) Automatic performance device
JP2800465B2 (en) Electronic musical instrument
JP4170524B2 (en) Waveform playback device
JP2860510B2 (en) Automatic performance device
US20100139474A1 (en) Musical tone generating apparatus and musical tone generating program
JP3484719B2 (en) Performance guide device with voice input function and performance guide method
JP2587737B2 (en) Automatic accompaniment device
JP2000047677A (en) Karaoke device
JP4070315B2 (en) Waveform playback device
US20220084490A1 (en) Electronic musical apparatus, storage medium storing recording/reproduction program, and recording/reproduction method
JP4132268B2 (en) Waveform playback device
JP3345453B2 (en) Automatic performance device
JP3970114B2 (en) Electronic musical instrument, automatic accompaniment method, computer program, and computer-readable recording medium
JP2016057389A (en) Chord determination device and chord determination program
JP3166670B2 (en) Karaoke device and automatic performance device
JP2739414B2 (en) Electronic percussion instrument
JP2639557B2 (en) Electronic percussion instrument
JPH1031486A (en) Method and device for performance data storage and reproducing
JP3375220B2 (en) Electronic musical instrument
JP3617114B2 (en) Electronic musical instrument automatic performance device
JP2665854B2 (en) Automatic performance device
JP3038085B2 (en) Performance information playback device
JP2006047646A (en) Automatic performance system
JP2005010458A (en) Automatic arpeggio device and computer program applied to the device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060628

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080219

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080418

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080513

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080709

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080807

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

Free format text: PAYMENT UNTIL: 20110815

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120815

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130815

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees