(57)【要約】【課題】テンポ等のパラメータを音楽データ再生中に変更してもリアルタイムに対処してテンポずれの累積を防止することを可能とする音楽データ録音再生装置を提供すること。【解決手段】リセット制御部４０は、レングスとカウント値とを対応付けて登録したカウント値テーブル６０の登録内容を参照して、レングス設定部３３０によって設定されたレングスに対応するカウント値を求め、このカウント値を、ＬＦＯ５０からの矩形波の立ち上がり、立下りに応じてカウントダウンしていき所定値例えば「０」となった場合に、再生制御部２０が再生しようとする音楽データの現在アドレスをリセットして再生開始アドレス値とする。【選択図】図１
2010113176.tif 000002
【特許請求の範囲】
【請求項１】
与えられた音楽データを記憶手段に記憶する録音制御手段と、この記憶手段に記憶された音楽データを再生する再生制御手段とを具備し、この再生制御手段は、前記記憶手段に記憶された音楽データを再生開始アドレスから再生データ数だけ再生する処理を繰り返して行うループ再生機能を有するように構成された装置において、
少なくとも、再生テンポ及び拍数（レングス）を設定する設定手段と、
前記レングスとカウント値とを対応付けて登録した登録手段と、
前記設定手段によって設定された再生テンポに同期する矩形信号を発振する発振手段と、
前記登録手段の登録内容を参照して、前記設定されたレングスに対応するカウント値を求め、この求めたカウント値を前記発振手段からの矩形波の立ち上がり、立下りに応じてカウントダウンしていき所定値となった場合に、前記再生制御手段が再生しようとする音楽データの現在アドレスをリセットして前記再生開始アドレスとするリセット制御手段と、を備えたことを特徴とする音楽データ録音再生装置。
【請求項２】
請求項１に記載の装置において、
前記発振手段は、
音楽データの再生指示が与えられたことに応答して、強制的に立ち上がり又は立下りの矩形波の発振を開始させるリセット手段を更に備えたことを特徴とする音楽データ録音再生装置。
【請求項３】
請求項１および２の内のいずれか一項に記載の装置において、
前記録音制御手段は、更に、
前記再生制御手段にて再生出力された音楽データと順次与えられた音楽データとを混合して前記記憶手段に記憶するオーバダブ手段を備えたことを特徴とする音楽データ録音再生装置。
【請求項４】
請求項１、２および３の内のいずれか一項に記載の装置において、
前記再生制御手段による再生音楽データと与えられた入力音楽データとを混合して出力するダイレクト音付加手段を更に備えたことを特徴とする音楽データ録音再生装置。
【請求項５】
請求項１、２、３および４の内のいずれか一項に記載の装置において、
前記再生制御手段は、更に、
前記リセット制御手段によるリセット動作指示に応答する前に、これより優先して現在再生アドレスから所定サンプル数分の音楽データを再生する優先再生手段を備えたことを特徴とする音楽データ録音再生装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力音楽データを録音したりこの録音した音楽データをループ再生する機能を有する音楽データ録音再生装置の改良に関する。
【背景技術】
【０００２】
従来より、１小節分又は複数小節分の音楽データをサンプリングして記憶装置に記憶しておき、これを記憶装置から再生しながら、この再生信号を他の音楽装置例えば自動リズム装置と重ね合わせて自動演奏する際に、両者のテンポのずれが発生するため、この両者のテンポを極力一致させるようにして両者のテンポずれを抑制する装置が提案されていた。例えば、波形データを１小節又は複数小節に対応する数のクロックが生成される毎に、その１小節又は複数小節分の波形データの中の先頭の波形データの読み出しに戻るようにした装置が提案されており、この装置によれば、１小節又は複数小節に対応する数のクロックが生成されたタイミングと１小節又は複数小節分の波形データの読み出しが終了するタイミングとが完全に一致していなくても、次の瞬間には先頭の波形データの読み出しに戻るため、そのずれの累積がされなくなりそれらのずれが十分に抑制される（例えば、特許文献１参照）。
【０００３】
【特許文献１】特許第４０８４８５８号公報（第２−１０頁、第１図）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記した従来装置によれば、ユーザがテンポを切替えた時にこれに対応することができず、結局、テンポのずれが累積されて演奏タイミングのずれが次第に大きくなり、ついには正常な演奏とはいえない状態となることを避けることはできなかった。このため、テンポ等のユーザー設定パラメータを装置起動時に切替えても十分に、テンポずれに対処可能な装置ではなかった。また、制御用ＣＰＵでＬＦＯを管理し、録音再生の信号処理はＤＳＰで行う様な複数のシステムクロックを用いるシステムではシステムクロック間の非同期が原因となる発音タイミングずれの累積にも対処できなかった。  
【０００５】
本発明は、かかる従来の課題を解決するためになされたもので、ユーザーが音楽データ再生中に、テンポ等のパラメータを変更してもリアルタイムに対処してテンポずれの累積を防止することを可能とする音楽データ録音再生装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明は、与えられた音楽データを記憶手段に記憶する録音制御手段と、この記憶手段に記憶された音楽データを再生する再生制御手段とを具備し、この再生制御手段は、前記記憶手段に記憶された音楽データを再生開始アドレスから再生データ数だけ再生する処理を繰り返して行うループ再生機能を有するように構成された装置において、
少なくとも、再生テンポ及び拍数（レングス）を設定する設定手段と、
前記レングスとカウント値とを対応付けて登録した登録手段と、
前記設定手段によって設定された再生テンポに同期する矩形信号を発振する発振手段と、
前記登録手段の登録内容を参照して、前記設定されたレングスに対応するカウント値を求め、この求めたカウント値を前記発振手段からの矩形波の立ち上がり、立下りに応じてカウントダウンしていき所定値となった場合に、前記再生制御手段が再生しようとする音楽データの現在アドレスをリセットして前記再生開始アドレスとするリセット制御手段と、を備えたことを特徴とするようにした。
【０００７】
この発明によれば、リセット制御手段は、レングスとカウント値とを対応付けて登録した登録手段を参照して、設定手段によって設定されたレングスに対応するカウント値を求め、このカウント値を、発振手段（ＬＦＯ５０）からの矩形波の立ち上がり、立下りに応じてカウントダウンしていき所定値となった場合に、再生制御手段が再生しようとする音楽データの現在アドレスをリセットして再生開始アドレス値とする。この結果、ユーザが音楽データ再生中にテンポ、レングス等を変更してもリアルタイムに対処してテンポずれの累積を防止することができるようになる。また、ＬＦＯの発振を開始させるリセット手段を備えることにより、制御用ＣＰＵでＬＦＯを管理し、録音再生の信号処理はＤＳＰで行う様な複数のシステムクロックを用いるシステムであってもシステムクロック間の非同期によるタイミングずれの累積を解消することもできる。
【０００８】
また、この装置において、前記発振手段が、音楽データの再生指示が与えられたことに応答して、強制的に立ち上がり又は立下りの矩形波の発振を開始させるリセット手段を更に備えた構成とすることができる。さらに、上記装置において、前記録音制御手段が、更に、前記再生制御手段にて再生出力された音楽データと順次与えられた音楽データとを混合して前記記憶手段に記憶するオーバダブ手段を更に備えた構成としたり、また、前記再生制御手段による再生音楽データと与えられた入力音楽データとを混合して出力するダイレクト音付加手段を更に備えた構成としても良い。そして、前記再生制御手段が、更に前記リセット制御手段によるリセット動作指示に応答する前に、これより優先して現在再生アドレスから所定サンプル数分の音楽データを再生する優先再生手段を備えた構成とすることもできる。
【発明の効果】
【０００９】
本発明によれば、ユーザが音楽データ再生中にテンポ等のパラメータを変更してもリアルタイムに対処して演奏タイミングずれの累積を防止することを可能とする音楽データ録音再生装置を実現できるという効果が得られる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明を実施するための最良の形態を図面を参照しつつ説明する。
【００１１】
（構成）
図１は、本発明の実施形態である音楽データ録音再生装置１の構成図である。この装置から出力される音楽データは他の自動リズム装置等の音と一緒に出力させる構成とすることもできる。本装置は、与えられた音楽データ（入力信号）をアナログデジタル変換するＡ／Ｄ変換器６００と、このアナログデジタル変換された信号を設定された係数で乗じる乗算部４２０と、加算部５１０と、加算部５１０からの出力をデジタルアナログ変換するＤ／Ａ変換器６１０と、このデジタルアナログ変換された音楽信号を出力信号として放音するスピーカー３２０とを備え、前記加算部５１０は、乗算部４２０からの出力と乗算部４３０からの出力とを加算するように構成されている。なお、Ｄ／Ａ変換器６１０を設けずに、得られたデジタル信号をそのまま他の装置に供給する構成としても良い。
【００１２】
また、音楽データを記憶可能な録音用バッファメモリ２００を備えており、この録音用バッファメモリ２００から再生される音楽データは、その出力側に設けられた補間部２５０によって公知の処理手法によって補間処理されて順次再生される音楽データが滑らかに連続するようにされており、この補間部２５０からの再生データが乗算部４３０に設定された係数で乗じられる構成となっている。なお、図１を参照すれば分かるように、乗算部４２０は、入力信号に対して設定された計数を直接乗じるダイレクト音に対するものである一方、乗算部４３０は、補間部２５０にて再生されたエフェクタ音に対してその設定された係数を乗じるものである。
【００１３】
一方、録音用バッファメモリ２００の前段には加算部５００が設けられ、この加算部５００は、Ａ／Ｄ変換器６００によってアナログデジタル変換された信号を乗算部４００（入力信号に対応する乗算部）によって乗じられたものと、補間部２５０からの再生音楽データが乗算部４１０（再生ループ音に対応する乗算部）によって乗じられたものとを加算して録音用バッファメモリ２００に供給する構成となっている。なお、録音用バッファメモリ２００は、例えば１００個のアドレス（アドレス「０」〜アドレス「９９」）の夫々に対して順次、音楽データを記憶可能な記憶手段であり、ＦＩＦＯやリングバッファ等を使用することもできる。また、入力信号は予め所定のサンプリング周波数でサンプリングされている。
【００１４】
そして、本装置は装置全体を制御する機能を有するコントローラ１００を備えている。このコントローラ１００は、ユーザーパラメータ用メモリ１０と、再生制御部２０、録音制御部３０、リセット制御部４０、ＬＦＯ（Ｌｏｗ  Ｆｒｅｑｕｅｎｃｙ  Ｏｓｃｉｌｌａｔｏｒ：低周波数発振器）５０と、カウント値テーブル６０と、共用メモリ７０とを備えている。なお、各構成部分の機能等については後述する。また、コントローラ１００は、乗算部４００、４１０、４２０、４３０の係数を不図示の制御線を介して変更設定制御可能に構成されている。更にＬＦＯ５０は矩形信号を発振するがその周波数は、後述するようにしてユーザーが設定するテンポに同期した矩形信号を発振する発振手段であり、テンポ（Ｂｅａｔ  ｐｅｒ  ｍｉｎｕｔｅ）で決まる周期の例えば３２分の１の周波数で矩形波を発振している。
【００１５】
更に、ユーザーがパラメータを設定する機能を少なくとも有する操作部３００が設けられていて、操作部３００を介してユーザーが設定したパラメータはユーザーパラメータ用メモリ１０に格納される。図２は操作部３００の詳細、図３はユーザーパラメータ用メモリ１０のパラメータ格納状態を示す模式的説明図である。図２に示すように、操作部３００には、テンポ設定部３１０、スイッチ３２０、レングス設定部３３０、スピード設定部３４０、ダイレクトスイッチ３５０が設けられている。
【００１６】
テンポ設定部３１０は音楽データの再生テンポ、即ち単位時間当たりの拍数であるパラメータ（Ｂｅａｔ  ｐｅｒ  ｍｉｎｕｔｅ）を設定するためのものであって例えば本装置においては「２０〜３００」の内のいずれかの整数で指定しうる。図３ではテンポを「２０」に設定した例を示している。また、スイッチ３２０は、録音「Ｒｅｃ」、ループ再生「Ｌｏｏｐ  Ｐｌａｙ」およびオーバーダブ「Ｏｖｅｒｄｕｂ」（後述する）のいずれかのモードに切替えるための操作子であり、図３はスイッチ操作によって、録音「Ｒｅｃ」モードに切替えた例を示したものである。さらに、レングス設定部３３０は、拍数（フレーズ長）を指定するレングスなるパラメータを指定するためのものである。ここで言うレングスとは、フレーズ長が指定されたテンポで何拍に相当する時間になるのかを示す拍数であり、レングスとテンポと、ループ再生を行うフレーズ長（秒）の関係は「フレーズ長（秒）＝（６０（秒）／テンポ（ＢＰＭ））×レングス」となる。なお、楽曲の演奏中のタイミングを指定する際、「何秒後」というような指定をすることはなく、「何拍目」もしくは「何小節目」というように楽曲のテンポに依存しないタイミング指定を行う。指定演奏者（操作者）が楽曲の演奏中にテンポを変えた場合にも同じリズム感を得るために「秒」の様な時間単位を用いずに拍数に対応する量である「レングス」を採用している。このレングスは、最短「３２分音符１個」から最長「４小節」までを指定できる（１小節は４分音符４個分である）パラメータであり、図３の例では８分音符１個を設定した例である。スピード設定部３４０は、再生速度を設定するためのものであり、本装置では「−１倍」から「＋１６倍」までの任意の整数値を設定しうる。なお、「−」は逆再生、「＋」は通常方向の再生を意味する。図３の例では、通常方向での２倍速度の再生を指示した例を示している。そして、ダイレクトスイッチ３５０は、ループ再生動作中に起動しうるもので、これをオフ状態とすると乗算部４２０の係数は「０」にされてダイレクト音が出力されなくなる一方、これをオン状態とすると乗算部４２０の係数は最高値例えば「１」となってダイレクト音も出力信号に混合されることになる。図３の例ではダイレクト音をカットする「オフ」設定となっている。このように、図２に示す各スイッチや設定部によって設定されたユーザーパラメータは、図３に示すようにユーザーパラメータ用メモリ１０に格納されて、再生制御部２０、録音制御部３０、リセット制御部４０等が参照可能になっている。
【００１７】
図４はコントローラ１００に格納されるカウント値テーブル６０（登録手段）の説明図である。このカウント値テーブル６０は、設定されたレングスとカウント値とを対応付けて登録したものである。例えば、レングスとして「８分音符」を設定した場合には、カウント値は「４」となり、「４分音符」を設定した場合には、カウント値は「８」となり、レングスを長く設定する程、カウント値は大きくなるようにされている。なお、１小節の長さは４分音符４個分であり、且つ、４分音符のカウント値を「８」として、これに準じてレングスに対応するカウント値を設定登録している。そして、このカウント値テーブル６０を使用した装置動作については後に説明する。
【００１８】
図５は再生制御部２０と録音制御部３０とが共通で使用する共用メモリ７０における各種変数、フラグ等の格納状態を示した模式的な説明図であり、再生制御部２０と録音制御部３０は格納されている変数を読み取ったり、上書きしたりする機能を有する。（１）「再生開始アドレス（Ｒｅａｄ  Ｓｔａｒｔ  Ｐｏｉｎｔ）」は、音楽データの再生開始アドレスを示す変数であり、図５の例では再生アドレスが「ＡＳ」になっている。（２）「再生データ数（Ｌｏｏｐ  Ｅｎｄ  Ｐｏｉｎｔ）」は、再生開始アドレスから再生制御部２０が再生するデータ数を示すものであり、図５の例では「Ｐ１」に設定されているため再生するデータ数はＰ１個である。（３）「リセットによる再生終了アドレス（Ｂｅａｔ  ｅｎｄ  Ｐｏｉｎｔ）」はリセット発行を受けて設定されるものである。図５の例では、「Ｂｅａｔ  Ｅｎｄ  Ｐｏｉｎｔ」としてアドレス「ＡＬ」が設定されている。なお、（２）の再生データ数は、テンポを「ｔ」として「（６０／ｔ）×（レングスで決まる４分音符の数）×入力される信号のサンプリング周波数」なる計算式にて求まるものである。このような計算は、再生制御部２０と録音制御部３０の少なくとも一方が行う機能を有するようにしておけばよい。
【００１９】
図６は、（２）「再生データ数」と（１）「再生開始アドレス」との関係を示した図である。ユーザーがスイッチ３２０を操作して「録音（Ｒｅｃ）」モードから「ループ再生（Ｌｏｏｐ  Ｐｌａｙ）」モードに切替えた時点（符号Ｐで図示）でのアドレスから、計算にて求まる再生データ数分のアドレスだけ戻ったアドレスが再生開始アドレスとなる。したがって、再生データ数がわかれば、ユーザーのスイッチ３２０の切替え操作を検出して、再生制御部２０や録音制御部３０は「再生開始アドレス」を求めることが可能となる。この時、符号Ｐで示す位置が再生終了アドレスとなる。
【００２０】
次に、図７を参照して、（３）「リセットによる再生終了アドレス」の求め方を説明する。図７（ａ）に示すのは、ループ再生の初期位置であるループトップと最終位置であるループエンドと再生制御部２０が現在再生しているアドレスである現在アドレス（ＡＣ）との関係を示したものである。この図７（ａ）はリセット信号がリセット制御部４０から発行されない通常のループ再生を示すものであって、ループトップからループエンドまでの音楽データを繰り返して再生することによって通常のループ再生機能が実現される。これに対して、リセット制御部４０がリセット信号を発行すると、図７（ｂ）や図７（ｃ）のようになる。つまり、図７（ｂ）に示すように、現在アドレス（ＡＣ）に「フェード時間分（例えば４８サンプル）の音楽データ」に相当するアドレスを加算したものが「リセットによる再生終了アドレス（Ｂｅａｔ  Ｅｎｄ  ｐｏｉｎｔ）」となる。したがって、図７（ｃ）のように、求めた「リセットによる再生終了アドレス（Ｂｅａｔ  ｅｎｄ  ｐｏｉｎｔ）」がループエンドを超える場合には、ループエンドを強制的に「リセットによる再生終了アドレス（Ｂｅａｔ  Ｅｎｄ  ｐｏｉｎｔ）」とする。このようにリセットがかかった場合には、図７（ｂ）、（ｃ）のようにして「Ｂｅａｔ  ｅｎｄ  ｐｏｉｎｔ」を求めることになる。なお、上記のようにフェード時間分の音楽データを加算するのは、急激に再生を停止するとノイズ音が発生するのでこれを防止するフェード時間（数ｍｓｅｃ）を確保するためである。
【００２１】
なお、図５の（４）「現在の再生アドレス（Ｒｅａｄ  Ｃｏｕｎｔｅｒ）」は再生制御部２０が現在再生している音楽データのアドレスであり、再生制御部２０自身が把握している。また、（５）「再生終了フラグ（Ｒｅａｄ  Ｅｎｄ  Ｆｌａｇ）」はリセット制御部４０が利用するフラグであり、（６）「バッファ読み出し完了フラグ（ＯｎｅＳｈｏｔＰｌａｙＥｎｄ）」は再生制御部２０が利用するフラグである。このように、図５に示す変数やフラグは、再生制御部２０や録音制御部３０が随時変更上書き格納したり参照したりすることができるようになっている。
【００２２】
（録音制御部の動作）
次に、図８を参照して録音制御部３０の動作を説明する。先ず、ステップＳ８００において、ユーザーパラメータ用メモリ１０内のスイッチの領域を参照して、現在の装置動作のモードを把握する。「Ｌｏｏｐ  ｐｌａｙ」が設定されている場合には、録音用バッファメモリ２００にデータ書き込みを行わずに処理を終了する（ステップＳ８４０）。ステップＳ８００において「Ｒｅｃ」又は「Ｏｖｅｒｄｕｂ（オーバダブ）」が設定されていると判断した場合にはステップＳ８１０に移行する。そして、ステップＳ８１０において「バッファ読み出し完了フラグ（ＯｎｅＳｈｏｔＰｌａｙＥｎｄ）」が「１」の場合（Ｙｅｓ）には、バッファ読み出しが完了していると判断し、データ書き込みをせずに（ステップＳ８４０）処理を終了する。一方、「バッファ読み出し完了フラグ（ＯｎｅＳｈｏｔＰｌａｙＥｎｄ）」が「０」の場合（Ｎｏ）には、ステップＳ８２０に移行する。
【００２３】
ステップＳ８２０、ステップＳ８３０においては以下の処理を行う。現在モードが「録音「Ｒｅｃ」」の場合には、乗算部４１０の係数を「０」に設定すると共に乗算部４００の係数を最高値例えば「１」に設定して、入力信号のみを録音用バッファメモリ２００に書き込ませる。また、現在モードが「オーバダブ「Ｏｖｅｒｄｕｂ」」の場合には、乗算部４００および乗算部４１０の係数を共に最高値例えば「１」に設定して、入力信号にループ再生信号を加算したものを録音用バッファメモリ２００に書き込ませる。かくして、通常の「録音」が選択された場合には、録音用バッファメモリ２００には入力信号が順次記録されていき、一方、オーバダブが選択された場合には、再生と同時に再生音が入力信号に加算され、録音用バッファメモリ２００に順次再録音されていくことになる。そして、録音制御部３０は、以上説明した図８に示す処理を繰り返し実行する。
【００２４】
（再生制御部の動作）  
次に、図９を参照して再生制御部２０の動作を説明する。先ず、ステップＳ９００において、「Ｒｅａｄ  Ｅｎｄ」即ち、再生終了アドレスを決定する。リセット制御部４０からのリセット信号が発行されない場合（通常のループ再生の場合）には、前述した再生開始アドレスに再生データ数分のアドレスを加算したものが再生終了アドレスとなり、一方、リセット制御部４０からリセット信号が発行された場合には、図７（ｂ）、（ｃ）に示すようにして求めた「Ｂｅａｔ  Ｅｎｄ  Ｐｏｉｎｔ」が再生終了アドレス「Ｒｅａｄ  Ｅｎｄ」になる。次に、ステップＳ９０５において、「バッファ読み出し完了フラグ（ＯｎｅＳｈｏｔＰｌａｙＥｎｄ）」の値が「１」か否かを判定し、「１」の場合（Ｙｅｓ）には読み出しが完了していると判断してステップＳ９１０に移行する一方、このフラグの値が「０」の場合（Ｎｏ）には、読み出しが完了していないと判断してステップＳ９２０に移行する。
【００２５】
次いでステップＳ９１０において、「再生終了フラグ（Ｒｅａｄ  Ｅｎｄ  Ｆｌａｇ）」の値が「１」か否かを判定し、「１」の場合（Ｙｅｓ）にはステップＳ９２０に移行する一方、「０」の場合（Ｎｏ）にはリセットによる終了指示があったと判断してステップＳ９１５に移行し、ステップＳ９１５では「現在の再生アドレス（Ｒｅａｄ  Ｃｏｕｎｔｅｒ）」の更新をせずにステップＳ９２５に移行する。ステップＳ９２０においては、「現在の再生アドレス（Ｒｅａｄ  Ｃｏｕｎｔｅｒ）」の更新処理を行う。この更新処理は、現在再生アドレスを次のアドレスとする処理を行うが、「再生終了フラグ（Ｒｅａｄ  Ｅｎｄ  Ｆｌａｇ）」が「１」の場合には「現在の再生アドレス（Ｒｅａｄ  Ｃｏｕｎｔｅｒ）」をリセットして初期値（再生開始アドレス）を設定する。
【００２６】
次いでステップＳ９２５において、「現在の再生アドレス（Ｒｅａｄ  Ｃｏｕｎｔｅｒ）」が「Ｒｅａｄ  Ｅｎｄ（再生終了アドレス）」よりも大きいか否かを判定し、大きいと判定した場合（Ｙｅｓ）には、最終アドレスまでの再生が完了しているため、ステップＳ９３０に移行して「バッファ読み出し完了フラグ（ＯｎｅＳｈｏｔＰｌａｙＥｎｄ）」の値を「０」から「１」にする。その一方で、「現在の再生アドレス（Ｒｅａｄ  Ｃｏｕｎｔｅｒ）」が「Ｒｅａｄ  Ｅｎｄ（再生終了アドレス）」よりも大きくないと判定した場合（Ｎｏ）には最終アドレスまでの再生がまだ完了していないと判断してステップＳ９３５に移行する。ステップＳ９３５では乗算部４３０の係数制御を行って再生音楽データを出力させる。具体的には、再生終了アドレスから現在再生アドレス（「Ｒｅａｄ  Ｃｏｕｎｔｅｒ」の値）を減じこれに所定の定数ｋを乗じた値を係数として設定する。このような係数制御を行うことによって、再生開始のタイミングでループ再生音の音量を下げ上げすることができ、もって再生音楽データ間の繋ぎ目でのノイズ音発生を一層効果的に抑止することが可能となる。
【００２７】
そして、再生制御部２０は、以上説明した図９に示す処理を繰り返し実行する。これによって、再生制御部２０は、リセット制御部４０からリセット信号が発行されない場合には録音用バッファメモリ２００に記憶された音楽データを再生開始アドレスから再生データ数だけ再生する処理を繰り返して行うループ再生機能を有することになる。一方、ループ再生中にリセット制御部４０からリセット信号が発行された場合にはその都度、「ＲｅａｄＣｏｕｎｔｅｒ」を初期値にリセットしながらループ再生を続行することになる。
【００２８】
（リセット制御部４０の動作）
次に、図１０を参照して、リセット制御部４０の動作を説明する。先ず、ステップＳ１０００において、カウント値テーブル６０の登録内容を参照して、ユーザーが設定したレングスに対応するカウント値を検出し、これを変数「カウンタ値」に設定する。例えば、レングスとして４分音符を設定した場合には変数「カウント値」は「４」となる。次に、ステップＳ１００５に移行してレングスの変更があったか否かを判定する。変更があったと判定した場合（Ｙｅｓ）にはステップＳ１０１５に移行する一方、変更が無いと判定した場合（Ｎｏ）にはステップＳ１０１０に移行する。
【００２９】
ステップＳ１０１５においては、レングスの変更があったと判断したので「Ｒｅａｄ  Ｅｎｄ  Ｆｌａｇ」の値を「０」として再生データ数分の再生を常に行うようにする。そして、ステップＳ１０２０において、その時点でのカウンタ値と変更後のカウント値とを比較して、カウンタ値がカウント値よりも大きいか否かを判定し、大きいと判定した場合（Ｙｅｓ）にはステップＳ１０２５に移行する一方、大きくないと判定した場合（Ｎｏ）にはステップＳ１０１０に移行する。ステップＳ１０２５においては、「カウンタ値＞（変更後の）カウント値」となるまで、カウンタ値からこの変更後のカウント値を減じた値を新たにカウント値とする処理「カウント値←カウンタ値−カウント値」を繰り返す。これによってレングス変更によるカウント値の変更があっても以降の処理は図７の流れ図に沿って円滑に行われる。
【００３０】
次に、ステップＳ１０１０において、テンポの設定変更があったか否かを判定し、設定変更があったと判定した場合（Ｙｅｓ）にはステップＳ１０３５に移行する一方、設定変更がなかったと判定した場合（Ｎｏ）にはステップＳ１０３０に移行する。ステップＳ１０３５においては、テンポの変更があったと判断したので、ステップＳ１０１５と同様に「Ｒｅａｄ  Ｅｎｄ  Ｆｌａｇ」の値を「０」として再生データ数分の再生を常に行うようにする。また、ステップＳ１０３０に移行した場合には、カウンタ値を「１」だけ減じてステップＳ１０３６において、変数「カウンタ値」の値が「０」となったか否かを判定する。カウンタ値が「０」でないと判定した場合（Ｎｏ）にはステップＳ１００５に戻ってステップＳ１００５以降の処理を繰り返すが、カウンタ値の値が「０」であると判定した場合（Ｙｅｓ）にはステップＳ１０４０に移行して、「再生終了フラグ（Ｒｅａｄ  Ｅｎｄ  Ｆｌａｇ）」を「１」に設定し、これによってリセット信号の発行が行われることになる。リセット制御部４０は図１０の処理を繰り返して行うことによって適宜のタイミングでリセット信号の発行を行うことになる。これにより、出力される音声信号が無音状態となることを避けることができる。
【００３１】
図１１はＬＦＯ５０の発振波形とリセット信号発行との関係を示す説明図である。ＬＦＯ５０から発振される波形は矩形波であり、この波形はユーザーが設定したテンポに同期した波形となるようにＬＦＯ５０が構成されている。具体的には、テンポｔは単位時間当たりの拍数で「Ｂｅａｔ  Ｐｅｒ  Ｍｉｎｕｔｅ」で定義されるので、ＬＦＯ５０からの矩形波信号の周波数Ｆは「Ｆ＝ｃ×ｔ（ｃは定数）」なる関係がある。例えば、周波数Ｆはテンポで決まる周波数の「３２分の１」に設定される。つまり、この場合、設定されたテンポに対して３２分音符を１波形としてしている。また、図中の符号Ｔで示す矩形（１つの立ち上がり、立下り）の幅はテンポにより決定される。そして、図示した例ではレングスを「四分音符」に設定しているため、リセット制御部４０からは、８個目の立ち上がり、立下り毎にリセット信号が発行されることになる。なお、ＬＦＯ３０はユーザーがスイッチ３２０を操作して再生が開始されるとリセットされ強制的に立ち上がり又は立下りの矩形波の発振を開始させその瞬間から、リセット制御部４０によるカウンタ値のカウントダウン（換言すればカウンタ値の「１」だけの減算）が行われるように構成されている。
【００３２】
以上説明してきたように、本装置によれば、リセット制御部４０は、レングスとカウント値とを対応付けて登録したカウント値テーブル６０の登録内容を参照して、レングス設定部３３０によって設定されたレングスに対応するカウント値を求め、このカウント値を、ＬＦＯ５０からの矩形波の立ち上がり、立下りに応じてカウントダウンしていき所定値（例えば「０」）となった場合に、再生制御部２０が再生しようとする音楽データの現在アドレスをリセットして再生開始アドレス値とする。この結果、ユーザが音楽データ再生中にテンポ、レングス等を変更してもリアルタイムに対処してテンポずれの累積を防止することができるようになる。また、制御用ＣＰＵでＬＦＯを管理し、録音再生の信号処理はＤＳＰで行う様な複数のシステムクロックを用いるシステムであってもシステムクロック間の非同期によるタイミングずれの累積を解消することができる。なお、ユーザー用パラメータは図３に示した５個の他に設定可能とすることも可能であり、設定パラメータを把握容易に液晶表示器等に表示したりする装置構成にしても良い。
【産業上の利用可能性】
【００３３】
以上説明してきたように、自動リズム装置等と共用してもテンポずれが生じにくい音楽データを再生可能な装置を提供することができる。
【図面の簡単な説明】
【００３４】
【図１】装置の構成図である。
【図２】操作部３０の説明図である。
【図３】ユーザーパラメータ用メモリ３０の格納状態の説明図である。
【図４】カウンタ値テーブル６０の説明図である。
【図５】共用メモリ７０の格納状態の説明図である。
【図６】再生データ数と再生開始アドレスの関係の説明図である。
【図７】リセットによる再生終了アドレスの説明図である。
【図８】録音制御部３０の動作の説明図である。
【図９】再生制御部２０の動作の説明図である。
【図１０】リセット制御部４０の動作の説明図である。
【図１１】矩形波信号とリセット信号の関係の説明図である。
【符号の説明】
【００３５】
１  音楽データ録音再生装置
１０  ユーザーパラメータ用メモリ
２０  再生制御部
３０  録音制御部
４０  リセット制御部
５０  ＬＦＯ
６０  カウンタ値テーブル
７０  共用メモリ
１００  コントローラ
２００  録音用バッファメモリ
２５０  補間部
３００  操作部
４００  乗算部
４１０  乗算部
４２０  乗算部
４３０  乗算部
５００  加算部
５１０  加算部
６００  Ａ／Ｄ変換器
６１０  Ｄ／Ａ変換器
【図１】
2010113176.tif 000003
【図２】
2010113176.tif 000004
【図３】
2010113176.tif 000005
【図４】
2010113176.tif 000006
【図５】
2010113176.tif 000007
【図６】
2010113176.tif 000008
【図７】
2010113176.tif 000009
【図８】
2010113176.tif 000010
【図９】
2010113176.tif 000011
【図１０】
2010113176.tif 000012
【図１１】
2010113176.tif 000013