(57)【要約】【課題】記憶済みの曲データに、演奏により生成された演奏情報を良好に重ねて記憶することが可能な電子楽器等を提供する。【解決手段】電子楽器１００の制御部１０１は、生成部１１２と、クォンタイズ部１１５と、記憶部１１７とを備える。生成部１１２は、曲データの再生中に、演奏操作子の操作に応じて、操作されたタイミング情報を含む演奏情報を生成する。クォンタイズ部１１５は、生成処理により生成された演奏情報に含まれるタイミング情報を、決められたタイミング情報に変更する。記憶部１１７は、クォンタイズ処理により変更されたタイミング情報を含む演奏情報を、演奏終了に応じて曲データとともに記憶する。【選択図】図１
2020173485.tif 000002
【特許請求の範囲】
【請求項１】
曲データの再生中に、演奏操作子の操作に応じて、前記操作されたタイミング情報を含む演奏情報を生成する生成処理と、
前記生成処理により生成された前記演奏情報に含まれる前記タイミング情報を、決められたタイミング情報に変更するクォンタイズ処理と、
前記クォンタイズ処理により変更された前記タイミング情報を含む演奏情報を、前記曲データとともに記憶する記憶処理と、
を実行する電子楽器。
【請求項２】
音の時間の長さを示す音価を設定する音価設定処理をさらに実行し、
前記クォンタイズ処理は、
前記音価設定処理により設定された前記音価に応じた複数のタイミングのうちのいずれかのタイミングに合わせて、前記生成処理により生成された前記演奏情報に含まれる前記タイミング情報を変更する、
請求項１に記載の電子楽器。
【請求項３】
前記クォンタイズ処理の有効及び無効のいずれかを設定するクォンタイズ設定処理をさらに実行し、
前記記憶処理は、
前記クォンタイズ設定処理により設定された前記有効及び無効のいずれかに応じて、前記クォンタイズ処理が実行された演奏情報及び、前記クォンタイズ処理が実行されていない演奏情報のいずれかを、演奏終了に応じて前記曲データとともに記憶する、
請求項１または２に記載の電子楽器。
【請求項４】
前記演奏操作子の操作に応じた演奏の録音を停止させる操作を検出した場合、及び前記演奏の録音を継続できないと判定した場合、の少なくともいずれかの場合に、演奏終了と判定する演奏終了判定処理をさらに実行し、
前記記憶処理は、
前記演奏終了判定処理により前記演奏終了と判定された際に、前記演奏終了に応じて、前記演奏情報を前記曲データとともに記憶する、
請求項１乃至３のいずれかに記載の電子楽器。
【請求項５】
第１記憶部は、
前記クォンタイズ処理により前記タイミング情報が変更されていない演奏情報を記憶する第１記憶領域と、
前記クォンタイズ処理により前記タイミング情報が変更された演奏情報を記憶する第２記憶領域と、
前記曲データを記憶する第３記憶領域と、
を有し、
前記記憶処理は、
前記第３記憶領域に記憶されている前記曲データの再生中に、前記曲データを前記第１記憶領域に複製し、
前記演奏終了に応じて、前記第１記憶領域に記憶された前記曲データともに、前記第１記憶領域に記憶された前記タイミング情報が変更されていない演奏情報及び、前記第２記憶領域に記憶された前記タイミング情報が変更された演奏情報を、第２記憶部に記憶する、
請求項１乃至４のいずれかに記載の電子楽器。
【請求項６】
前記クォンタイズ処理の有効及び無効のいずれかを設定するクォンタイズ設定処理、を実行し、
前記記憶処理は、
前記曲データの再生中に前記生成処理により生成された前記演奏情報が、前記演奏操作子の操作に応じた音高及びベロシティを指定するノートイベントを示す演奏情報であって、前記クォンタイズ設定処理により前記有効が設定されている場合に、前記演奏情報を前記第２記憶領域に記憶し、
前記曲データの再生中に前記生成処理により生成された前記演奏情報が、前記ノートイベントを示す情報以外の演奏情報の場合、及び、前記ノートイベントを示す演奏情報であって、前記クォンタイズ設定処理により前記無効が設定されている場合に、前記演奏情報を前記第１記憶領域に記憶する、
請求項５に記載の電子楽器。
【請求項７】
電子楽器のコンピュータに、
曲データの再生中に、演奏操作子の操作に応じて、前記操作されたタイミング情報を含む演奏情報を生成する生成処理と、
前記生成処理により生成された前記演奏情報に含まれる前記タイミング情報を、決められたタイミング情報に変更するクォンタイズ処理と、
前記クォンタイズ処理により変更された前記タイミング情報を含む演奏情報を、前記曲データとともに記憶する記憶処理と、
を実行させる演奏情報記憶方法。
【請求項８】
電子楽器のコンピュータに、
曲データの再生中に、演奏操作子の操作に応じて、前記操作されたタイミング情報を含む演奏情報を生成する生成処理と、
前記生成処理により生成された前記演奏情報に含まれる前記タイミング情報を、決められたタイミング情報に変更するクォンタイズ処理と、
前記クォンタイズ処理により変更された前記タイミング情報を含む演奏情報を、前記曲データとともに記憶する記憶処理と、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、電子楽器、演奏情報記憶方法、及びプログラムに関する。
【背景技術】
【０００２】
従来より、予め記憶された演奏情報に対して、その演奏情報に含まれる音価の発音タイミングを調整する処理、いわゆるクォンタイズを実行する技術がある（例えば特許文献１参照）。また、複数の電子楽器による演奏中に、電子楽器からクォンタイズのタイミングを受信して補正することにより、複数の電子楽器の発音タイミングを合わせる技術がある（例えば特許文献２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平７−３６４５２号公報
【特許文献２】特開２０１０−２３１０５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
予め記憶された曲に対して、さらに演奏される曲を重ねて録音する場合、従来の技術では、予め記憶された曲と、演奏される曲とを一括してクォンタイズが実行される。しかし、重ねて録音する場合に、記憶済みの曲はクォンタイズを実行せずに、演奏される曲にのみクォンタイズを実行する、または実行しないといった、演奏される曲への選択的なクォンタイズに対する要望がある。
【０００５】
この発明の目的は、記憶済みの曲データに、演奏により生成された演奏情報を良好に重ねて記憶することが可能な電子楽器、演奏情報記憶方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明は、上記目的を達成するため、本発明の観点に係る電子楽器は、
曲データの再生中に、演奏操作子の操作に応じて、前記操作されたタイミング情報を含む演奏情報を生成する生成処理と、
前記生成処理により生成された前記演奏情報に含まれる前記タイミング情報を、決められたタイミング情報に変更するクォンタイズ処理と、
前記クォンタイズ処理により変更された前記タイミング情報を含む演奏情報を、前記曲データとともに記憶する記憶処理と、
を実行する。
【発明の効果】
【０００７】
本発明によれば、記憶済みの曲データに、演奏により生成された演奏情報を良好に重ねて記憶することができる。
【図面の簡単な説明】
【０００８】
【図１】実施形態１に係る電子楽器の構成例を示す概略ブロック図である。
【図２】（ａ）及び（ｂ）は、タイミング情報の変更方法の一例を説明するための図である。
【図３】（ａ）及び（ｂ）は、ＲＡＭに設定された記憶領域と、各記憶領域に記憶されるデータを説明するための図である。
【図４】実施形態に係る電子楽器の制御部が実行する録音処理のフローチャートである。
【図５】実施形態に係る電子楽器の制御部が実行するティックイベント処理のフローチャートである。
【図６】実施形態に係る電子楽器の制御部が実行するイベント記憶処理のフローチャートである。
【図７】実施形態に係る電子楽器の制御部が実行するノートオン時クォンタイズ記憶処理のフローチャートである。
【図８】実施形態に係る電子楽器の制御部が実行するノートオフ時クォンタイズ記憶処理のフローチャートである。
【図９】実施形態に係る電子楽器の制御部が実行する録音終了処理のフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施の形態を図面に基づいて説明する。
【００１０】
図１は、本発明の実施形態に係る電子楽器１００の構成例を示す概略ブロック図である。
まず、本実施形態に係る電子楽器１００のハードウェア構成について説明する。図１に示すように、電子楽器１００は、制御部１０１と、ＲＡＭ（Random Access Memory）１０２と、ＲＯＭ（Read Only Memory)、１０３と、入力部１０４と、表示部１０５と、発音部１０６とから構成され、各部は、バス１０７により接続されている。
【００１１】
制御部１０１は、本発明に係る演奏情報編集装置の一例であって、ＣＰＵ（Central Processing Unit）によって構成される。制御部１０１は、ＲＯＭ１０３に格納されたプログラム及びデータを読み出し、ＲＡＭ１０２をワークエリアとして用いることにより、電子楽器１００を統括制御する。
【００１２】
ＲＡＭ１０２は、データやプログラムを一時的に記憶するためのもので、ＲＯＭ１０３から読み出したプログラムやデータ、その他、通信に必要なデータ等が保持される。本実施形態において、ＲＡＭ１０２は、第１記憶部の一例であって、後述するように第１記憶領域１２１、第２記憶領域１２２、及び第３記憶領域１２３を含み、制御部１０１により生成されたデータを保持する。
【００１３】
ＲＯＭ１０３は、フラッシュメモリ、ＥＰＲＯＭ（Erasable Programmable ROM）、ＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）といった不揮発性の半導体メモリであって、いわゆる二次記憶装置又は補助記憶装置としての役割を担う。ＲＯＭ１０３は、制御部１０１が各種処理を行うために使用するプログラム及びデータ、並びに、制御部１０１が各種処理を行うことにより生成又は取得するデータを記憶する。本実施形態において、ＲＯＭ１０３は、第２記憶部の一例であって、曲データ１３１と、録音データ１３２とを記憶する。曲データ１３１及び録音データ１３２は、例えばＭＩＤＩ（Musical Instrument Digital Interface）形式のデータである。
【００１４】
入力部１０４は、キーボード、マウス、タッチパッド、ボタン等の入力装置から構成される。入力部１０３は、ユーザからの入力操作を受け付けて、その操作内容を表す入力信号を制御部１０１に出力する。また、入力部１０４は、演奏操作子の一例である複数の白鍵及び黒鍵を有する鍵盤であってもよい。この場合、入力部１０４は、鍵に対するユーザによる押鍵操作に応じた楽音の発音指示を受け付ける。
【００１５】
表示部１０５は、ＬＣＤ（Liquid Crystal Display）パネル、有機ＥＬ（Electro Luminescence）、ＬＥＤ（Light Emitting Diode）等の表示装置である。また、表示部１０５は、制御部１０１からの制御信号に従って、画像を表示する。なお、入力部１０４と表示部１０５とは、これらが互いに重ねられて配置されたタッチパネル又はタッチスクリーンとして構成されるものであってもよい。
【００１６】
発音部１０６は、スピーカ等の音声出力装置から構成され、制御部１０１から出力された音声信号を出力する。
【００１７】
次に、実施形態に係る電子楽器１００の制御部１０１の機能構成について説明する。図１に示すように、制御部１０１は、ＲＯＭ１０３に格納されたプログラム及びデータを読み出して実行することにより、再生部１１１、生成部１１２、クォンタイズ設定部１１３、音価設定部１１４、クォンタイズ部１１５、演奏終了判定部１１６及び記憶部１１７として機能する。
【００１８】
再生部１１１としての制御部１０１は、予め記憶された曲データ１３１を再生する再生処理を実行する。例えば、制御部１０１は、ＲＯＭ１０３に保存された曲データ１３１をＲＡＭ１０２の第３記憶領域１２３に読みだし、曲の開始から現在までのティック数を表すティックカウンタを１つずつ更新しながら、ティックカウンタが表すティック数に対応するイベントの処理を実行する。ティックは、小節や拍をさらに細かく分割した単位であり、例えば分解能が９６ｂｐｑｎ（bit per quarter note）であれば、１ティックは４分音符を９６分割した長さを表す。
【００１９】
生成部１１２としての制御部１０１は、再生処理による曲データの再生中に、演奏操作子の操作に応じて、操作されたタイミング情報を含む演奏情報を生成する生成処理を実行する。本実施形態において、制御部１０１は、ユーザが演奏操作子として入力部１０４を操作したことにより、何らかのイベントの入力が行われると、入力されたイベントと、操作されたタイミング情報として、イベント入力時のティックカウンタが示すティック数と、を含む演奏情報を生成する。イベントは、ノート、ピッチベンド、ペダル、音色の切替といったイベントの種類や、イベントの種類に応じた各種の値を指定する。例えば、ノートイベントは、押鍵を表すノートオン、または離鍵を表すノートオフと、演奏操作子の操作に応じた音高（ノートナンバー）及び音の強弱（ベロシティ）とを指定する。タイミング情報は、例えばティックを単位として、ティックカウンタの値で表される。
【００２０】
クォンタイズ設定部１１３としての制御部１０１は、クォンタイズ部１１５により実行されるクォンタイズ処理の有効及び無効のいずれかを設定するクォンタイズ設定処理を実行する。本実施形態において、制御部１０１は、ユーザから入力部１０４を介してクォンタイズ処理の有効及び無効のいずれを表す操作を受け付け、受け付けた操作に応じてクォンタイズ処理の有効及び無効のいずれかを設定する。
【００２１】
音価設定部１１４としての制御部１０１は、音の時間の長さを示す音価を設定する音価設定処理を実行する。本実施形態において、制御部１０１は、ノートイベントがノートオンの場合、クォンタイズする音価のティック数（quantize_tick）を取得する。例えば、分解能が９６ｂｑｐｎのとき、音価が８分音符ならば、音価のティック数は４８である。
【００２２】
クォンタイズ部１１５としての制御部１０１は、生成処理により生成された演奏情報に含まれるタイミング情報を、決められたタイミング情報に変更する。本実施形態において、制御部１０１は、設定された音価に応じた複数のタイミングのうちのいずれかのタイミングに合わせて、生成された演奏情報に含まれるタイミング情報を変更する。
【００２３】
以下、タイミング情報の変更方法の一例について図２（ａ）及び（ｂ）を用いて詳細に説明する。以下の例では、制御部１０１は、入力されたイベントがノートイベントであって、かつクォンタイズ処理が有効に設定されている場合、ノートイベントの音価に応じて図２（ａ）及び（ｂ）のうちいずれかに示す方法で、演奏情報に含まれるタイミング情報が示すティック数を変更する。
【００２４】
まず制御部１０１は、音価のティック数（quantize_tick）と、ティックカウンタが示すティック数（tick_counter）とを比較し、ティックカウンタが示す演奏の開始時からのティック数（tick_counter）が、或る音価に応じた前後のタイミング間のティック数おける前のタイミングから何ティック目であるのかを示すティック数（gap_tick）を以下の式１により求める。
gap_tick = tick_counter % quantize_tick      （式１）
式１は、tick_ counterをquantize_tickで割った余りが、gap_tickであることを示す。
例えば、現在のティックカウンタが示すティック数が５００であり、音価のティック数が４８であるとき、gap_tickは、以下のように算出される。
gap_tick = tick_counter % quantize_tick = 500 % 48 = 20
【００２５】
そして、制御部１０１は、式１で算出されたgap_tickの値が、quantize_tickの値の半分以上であるとき、図２（ａ）に示すように、音価に応じた前後のタイミングにおける後のタイミングまで何ティックあるのかを算出し、算出したティック数に応じてtick_counterの値を後ろにずらしたクォンタイズ後のティックカウンタの値（tick_counter_new）を以下の式２により求める。
tick_counter_new = tick_counter + (quantize_tick - gap_tick)      （式２）
【００２６】
また、制御部１０１は、式１で算出されたgap_tickが、quantize_tickの値の半分未満であるとき、図２（ｂ）に示すように、gap_tickの値だけティックカウンタの値から前にずらしたクォンタイズ後のティックカウンタの値（new_tick_counter）を、以下の式３により求める。
tick_counter_new = tick_counter - gap_tick      （式３）
【００２７】
また、制御部１０１は、ノートイベントがノートオフの場合、実際のノートオンのタイミングから現時点までの差分時間を保つようにノートオフのタイミングを移動させる。すなわち、制御部１０１は、クォンタイズ処理により、ノートオンを前方向に移動させた場合、ノートオフも同じ時間だけ前方向に移動させる。また、制御部１０１は、クォンタイズ処理によりノートオンを後ろ方向に移動させた場合は、ノートオフも同じ時間だけ後ろ方向に移動させる。
【００２８】
なお、上記ではノートイベントがノートオンまたはノートオフで表現されている場合のクォンタイズ処理について説明した。ノートイベントが、ゲートタイム形式で表現されている場合には、制御部１０１は、ノートオフ時のクォンタイズ処理において、ノートオフのティックカウンタの値からクォンタイズ実行前のノートオンのティックカウンタを減算することによりゲートタイムを算出する。そして、記憶済みのノートオンイベントを検索して、算出したゲートタイムを上書きする。
【００２９】
そして、制御部１０１は、クォンタイズ後のティックカウンタの値を変更後のタイミング情報として、イベントとともに演奏情報に含めてＲＡＭ１０２の第２記憶領域１２２に記憶する。
【００３０】
演奏終了判定部１１６としての制御部１０１は、演奏操作子の操作に応じた演奏の録音を停止させる操作を検出した場合、及び演奏の録音を継続できないと判定した場合、の少なくともいずれかの場合に、演奏終了と判定する演奏終了判定処理を実行する。本実施形態において、制御部１０１は、例えばユーザから入力部１０４を介して演奏の録音終了操作を受け付けた場合、及び演奏を録音するためのメモリが足りず、演奏の録音を継続できないと判定した場合、演奏終了と判定する。
【００３１】
記憶部１１７としての制御部１０１は、設定される音価に応じて決められたタイミング情報を含む演奏情報を、演奏終了に応じて曲データとともに記憶する。本実施形態において、制御部１０１は、演奏終了を判定すると、演奏終了に応じて、演奏情報を曲データとともに記憶する。
【００３２】
具体的には、制御部１０１は、設定されたクォンタイズ処理の有効及び無効のいずれかに応じて、クォンタイズ処理が実行された演奏情報、及びクォンタイズ処理が実行されていない演奏情報のいずれかを、演奏終了に応じて曲データとともに記憶する。例えば、制御部１０１は、クォンタイズ処理が有効に設定されているとき、演奏終了を判定すると、クォンタイズ処理が実行された演奏情報を、演奏終了に応じて曲データとともに記憶する。また、制御部１０１は、クォンタイズ処理が無効に設定されているとき、演奏終了を判定すると、クォンタイズ処理が実行されていない演奏情報を、演奏終了に応じて曲データとともに記憶する。
【００３３】
より具体的には、制御部１０１は、演奏終了を判定すると、ＲＡＭ１０２の第３記憶領域１２３に記憶された、再生されていない残りの曲データ１３１を第１記憶領域１２１に記憶する。そして、制御部１０１は、ＥＯＴ（End Of Track）イベントを第１記憶領域１２１に記憶し、クォンタイズ処理が有効であれば、第２記憶領域１２２に記憶された演奏情報と、第１記憶領域１２１に記憶された演奏情報をマージ（統合）し、マージ後のデータを第１記憶領域１２１に保存する。そして、制御部１０１は、第１記憶領域１２１に保存されたデータをＲＯＭ１０３に記憶する。
【００３４】
ここで、ＲＡＭ１０２に設定された記憶領域と、各記憶領域に記憶されるデータについて、図３（ａ）及び（ｂ）を用いて説明する。クォンタイズ処理が有効に設定されている録音処理の実行中においては、図３（ａ）に示すように、第１記憶領域１２１に、演奏された曲のノートイベント以外のイベント、例えばペダルやピッチベンド、音色切替のイベントを示す演奏情報１４１が記憶される。従って、第１記憶領域１２１は、クォンタイズ処理によりタイミング情報が変更されていない演奏情報を記憶する。また、第２記憶領域１２２には、演奏された曲のノートイベントを示す演奏情報１４２が記憶される。従って、第２記憶領域１２２は、クォンタイズ処理によりタイミング情報が変更された演奏情報を記憶する。また、第３記憶領域１２３は、再生する曲の曲データ１３１を記憶する。制御部１０１は、第３記憶領域１２３に記憶されている曲データ１３１の再生中に、再生した曲データ１３１を第１記憶領域１２１に複製する。そして、録音処理の終了時においては、図３（ｂ）に示すように、第２記憶領域１２２に記憶された演奏情報１４２が第１記憶領域１２１に複製され、演奏情報１４１，１４２及び曲データ１３１がマージされた後に、ＲＯＭ１０３に転送され、録音データ１３２としてＲＯＭ１０３に記憶される。
【００３５】
なお、クォンタイズ処理が無効に設定されている録音処理の実行中においては、制御部１０１は、演奏された曲のノートイベントを示す演奏情報１４２を第１記憶領域１２１に記憶する。
【００３６】
上記のようにクォンタイズを実行したイベントのみを別の記憶領域に記憶する理由は以下のとおりである。第１記憶領域１２１には、演奏されたノートイベント以外のイベントや、再生された曲データ１３１を再録音したイベントが既に記憶されているため、もし、クォンタイズによりノートイベントを現在位置より過去のタイミングで記憶する場合、同じ第１記憶領域１２１に記憶するには先頭から記憶位置を検索して挿入する必要がある。その場合、先頭から記憶位置までのデータサイズが大きいほど処理時間がかかり、録音中に発音がもたつくなどリアルタイム性を損なう恐れが生じる。これを避けるため、録音中は一時記憶用の第２記憶領域１２２を第１記憶領域１２１とは別に確保し、クォンタイズを実行したイベントを第２記憶領域１２２に記憶することで、録音中の処理負荷を軽減することができる。
【００３７】
図４は、本実施形態における電子楽器１００の制御部１０１が実行する録音処理のフローチャートである。制御部１０１は、例えば本処理の開始を表す操作入力を、入力部１０４を介して受け付けたことを契機として開始する。
【００３８】
制御部１０１は、ＲＯＭ１０３から曲データ１３１をＲＡＭ１０２の第３記憶領域１２３に読み込む（ステップＳ１０１）。
【００３９】
そして、制御部１０１は、入力部１０４を介して録音開始操作を受け付けたか否かを判定する（ステップＳ１０２）。制御部１０１は、録音開始操作を受け付けるまで待機する（ステップＳ１０２；Ｎｏ）。
【００４０】
制御部１０１は、録音開始操作を受け付けると（ステップＳ１０２；Ｙｅｓ）、録音開始処理を実行する（ステップＳ１０３）。また、制御部１０１は、第３記憶領域１２３に読み込まれた曲データ１３１の再生開始処理を実行する（ステップＳ１０４）。
【００４１】
そして、制御部１０１は、入力部１０４を介してイベント入力を受け付けたか否かを判定する（ステップＳ１０５）。制御部１０１は、イベント入力を受け付けていないとき（ステップＳ１０５；Ｎｏ）、ステップＳ１０７の処理に進む。
【００４２】
制御部１０１は、イベント入力を受け付けたとき（ステップＳ１０５；Ｙｅｓ）、後述するイベント記憶処理を実行する（ステップＳ１０６）。
【００４３】
そして、制御部１０１は、演奏終了と判定したか否かを判定する（ステップＳ１０７）。制御部１０１は、演奏終了と判定していないとき（ステップＳ１０７；Ｎｏ）、ステップＳ１０５の処理に戻る。
【００４４】
制御部１０１は、演奏終了と判定したとき（ステップＳ１０７；Ｙｅｓ）、後述する録音終了処理を実行する（ステップＳ１０８）。そして、制御部１０１は、録音処理を終了する。
【００４５】
そして、制御部１０１は、ステップＳ１０７において生成された音声信号を発音部１０６に出力する（ステップＳ１０８）。そして、制御部１０１は、本処理を終了する。
【００４６】
次に、本実施形態における電子楽器１００の制御部１０１が、図４のステップＳ１０４の再生開始処理を契機として実行するティックイベント処理について説明する。図５は、実施形態における電子楽器１００の制御部１０１が実行するティックイベント処理のフローチャートである。なお、曲データ１３１の再生開始時においてティックカウンタは０に設定されているものとする。
【００４７】
まず、制御部１０１は、現在のティックカウンタの値がイベント処理のタイミングか否かを判定する（ステップＳ２０１）。制御部１０１は、現在のティックカウンタの値がイベント処理のタイミングでないとき（ステップＳ２０１；Ｎｏ）、ステップＳ２０６の処理に進む。
【００４８】
制御部１０１は、現在のティックカウンタの値がイベント処理のタイミングであるとき（ステップＳ２０１；Ｙｅｓ）、処理すべきイベントを第３記憶領域１２３から読みだし（ステップＳ２０２）、読みだしたイベントを処理する（ステップＳ２０３）。
【００４９】
そして、制御部１０１は、現在多重録音中か否かを判定する（ステップＳ２０４）。制御部１０１は、多重録音中でないとき（ステップＳ２０４；Ｎｏ）、ステップＳ２０６の処理に進む。
【００５０】
制御部１０１は、多重録音中であるとき（ステップＳ２０４；Ｙｅｓ）、ステップＳ２０２で読みだしたイベントを第１記憶領域１２１に記憶する（ステップＳ２０５）。
【００５１】
そして、制御部１０１は、ティックカウンタを１進めて（ステップＳ２０６）、ステップＳ２０１の処理に戻り、ステップＳ２０１〜Ｓ２０６の処理を曲データ１３１の再生が終了するまで繰り返し実行する。
【００５２】
次に、本実施形態における電子楽器１００の制御部１０１が、図４のステップＳ１０６において実行するイベント記憶処理について説明する。図６は、実施形態における電子楽器１００の制御部１０１が実行するイベント記憶処理のフローチャートである。
【００５３】
まず、制御部１０１は、図４のステップＳ１０５において受け付けたイベント入力がノートイベントか否かを判定する（ステップＳ３０１）。
【００５４】
制御部１０１は、受け付けたイベント入力がノートイベントでないとき（ステップＳ３０１；Ｎｏ）、入力タイミングで受け付けたイベントを第１記憶領域１２１に記憶する（ステップＳ３０２）。
【００５５】
制御部１０１は、受け付けたイベント入力がノートイベントであるとき（ステップＳ３０１；Ｙｅｓ）、クォンタイズが有効に設定されているか否かを判定する（ステップＳ３０３）。制御部１０１は、クォンタイズが有効に設定されていないとき（ステップＳ３０３；Ｎｏ）、入力タイミングで受け付けたイベントを第１記憶領域１２１に記憶する（ステップＳ３０２）。
【００５６】
制御部１０１は、クォンタイズが有効に設定されているとき（ステップＳ３０３；Ｙｅｓ）、受け付けたノートイベントがノートオンか否かを判定する（ステップＳ３０４）。制御部１０１は、受け付けたノートイベントがノートオンであるとき（ステップＳ３０４；Ｙｅｓ）、後述するノートオン時クォンタイズ記憶処理を実行する（ステップＳ３０５）。また、制御部１０１は、受け付けたノートイベントがノートオンでないとき（ステップＳ３０４；Ｎｏ）、すなわち、ノートオフであるとき、後述するノートオフ時クォンタイズ記憶処理を実行する（ステップＳ３０６）。
【００５７】
次に、本実施形態における電子楽器１００の制御部１０１が、図６のステップＳ３０５において実行するノートオン時クォンタイズ記憶処理について説明する。図７は、実施形態における電子楽器１００の制御部１０１が実行するノートオン時クォンタイズ記憶処理のフローチャートである。
【００５８】
まず、制御部１０１は、クォンタイズするノートイベントの音価のティック数（quantize_tick）を取得する（ステップＳ４０１）。
【００５９】
そして、制御部１０１は、ノートイベント本来のティックカウンタの値（tick_counter）と、ステップＳ４０１において取得した音価のティック数とを比較し、式１によりgap_tickを求める（ステップＳ４０２）。
【００６０】
次に制御部１０１は、ステップＳ４０２で求めたティック数（gap_tick）が音価のティック数（quantize_tick）の半分以上か否かを判定する（ステップＳ４０３）。
【００６１】
制御部１０１は、ステップＳ４０２で求めたティック数（gap_tick）が音価のティック数（quantize_tick）の半分以上であるとき（ステップＳ４０３；Ｙｅｓ）、式２によりクォンタイズ後のティックカウンタの値（tick_counter_new）を算出する（ステップＳ４０４）。
【００６２】
また、制御部１０１は、ステップＳ４０２で求めたティック数（gap_tick）が音価のティック数（quantize_tick）の半分未満であるとき（ステップＳ４０３；Ｎｏ）、式３によりクォンタイズ後のティックカウンタの値（tick_counter_new）を算出する（ステップＳ４０５）。
【００６３】
そして、制御部１０１は、第２記憶領域１２２において、クォンタイズ後のティックカウンタの値（tick_counter_new）の位置にイベントを記憶する（ステップＳ４０６）。そして、制御部１０１は、図４のステップＳ１０７の処理に戻る。
【００６４】
次に、本実施形態における電子楽器１００の制御部１０１が、図６のステップＳ３０６において実行するノートオフ時クォンタイズ記憶処理について説明する。図８は、実施形態における電子楽器１００の制御部１０１が実行するノートオフ時クォンタイズ記憶処理のフローチャートである。
【００６５】
まず、制御部１０１は、ノートイベントがゲートタイム形式またはオンオフ形式のいずれで表現されているか判定する（ステップＳ５０１）。
【００６６】
制御部１０１は、ノートイベントがゲートタイム形式で表現されているとき（ステップＳ５０１；ゲートタイム形式）、ノートオフのティックカウンタの値から、クォンタイズ前のノートオンのティックカウンタの値を減算することにより、ゲートタイムを算出する（ステップＳ５０２）。
【００６７】
そして、制御部１０１は、記憶済みのノートオンイベントを第２記憶領域１２２から検索し、ステップＳ５０２において算出されたゲートタイムを上書きする（ステップＳ５０３）。そして、制御部１０１は、図４のステップＳ１０７の処理に戻る。
【００６８】
また、制御部１０１は、ノートイベントがオンオフ形式で表現されているとき（ステップＳ５０１；オンオフ形式）、ノートオンイベントがクォンタイズにより移動した分だけ移動させてノートオフを第２記憶領域１２２に記憶する（ステップＳ５０４）。そして、制御部１０１は、図４のステップＳ１０７の処理に戻る。
【００６９】
次に、本実施形態における電子楽器１００の制御部１０１が、図４のステップＳ１０８において実行する録音終了処理について説明する。図９は、実施形態における電子楽器１００の制御部１０１が実行する録音終了処理のフローチャートである。
【００７０】
まず制御部１０１は、現在多重録音中か否かを判定する（ステップＳ６０１）。制御部１０１は、現在多重録音中でないとき（ステップＳ６０１；Ｎｏ）、ステップＳ６０４の処理に進む。
【００７１】
制御部１０１は、現在多重録音中であるとき（ステップＳ６０１；Ｙｅｓ）、第３記憶領域１２３に記憶された残りのイベントを第１記憶領域１２１に記憶する（ステップＳ６０２）。そして、制御部１０１は、ＥＯＴイベントを第１記憶領域１２１に記憶する（ステップＳ６０３）。
【００７２】
そして、制御部１０１は、クォンタイズが有効に設定されているか否かを判定する（ステップＳ６０４）。制御部１０１は、クォンタイズが有効に設定されていないとき（ステップＳ６０４；Ｎｏ）、第１記憶領域１２１のデータをＲＯＭ１０３に記憶して（ステップＳ６０６）、録音処理を終了する。
【００７３】
制御部１０１は、クォンタイズが有効に設定されているとき（ステップＳ６０４；Ｙｅｓ）、第２記憶領域１２２に記憶されたイベントと、第１記憶領域１２１に記憶されたイベントをマージし、マージ後のデータを第１記憶領域１２１に保存する（ステップＳ６０５）。そして、制御部１０１は、第１記憶領域１２１に保存されたデータをＲＯＭ１０３に記憶する（ステップＳ６０６）。そして、制御部１０１は、録音処理を終了する。
【００７４】
以上説明したように、本実施形態に係る電子楽器１００の制御部１０１は、記憶済みの曲データ１３１の再生中に、演奏により生成された演奏情報に含まれるタイミング情報を所定のタイミング情報に変更するクォンタイズ処理を実行し、クォンタイズ処理を実行したタイミング情報を含む演奏情報を、曲データ１３１とともに記憶する。そのため、１つのトラックに多重録音する場合であっても、記憶済みの曲データに、演奏により生成された演奏情報を良好に重ねて記憶することができる。
【００７５】
また、本実施形態に係る電子楽器１００の制御部１０１は、再生された曲データ１３１をＲＡＭ１０２の第１記憶領域１２１に記憶し、クォンタイズ処理により変更された所定のタイミング情報を含む演奏情報をＲＡＭ１０２の第２記憶領域１２２に記憶する。このように、制御部１０１は、クォンタイズを実行したイベントを、曲データ１３１が記憶される第１記憶領域１２１と異なる第２記憶領域１２２に記憶することで、録音中の処理負荷を軽減することができる。
【００７６】
また、本実施形態に係る電子楽器１００の制御部１０１は、クォンタイズ処理の有効及び無効のいずれかを設定する。そのため、ユーザは、演奏する曲にクォンタイズ処理を実行するか否かをニーズに応じて設定することができる。
【００７７】
なお、本発明は、上記実施の形態に限られるものではなく、様々な変更が可能である。
【００７８】
また、上記の実施形態では、制御部１０１を含む機器として、電子楽器１００を例に挙げて説明したが、携帯電話、ＰＣ（Personal Computer）、ＰＤＡ（Personal Digital Assistant）等の電子機器であってもよい。
【００７９】
また、上記の実施形態では、制御部１０１のＣＰＵが、制御動作を行う例を説明した。しかし、制御動作は、ＣＰＵによるソフトウェア制御に限られるものではない。制御動作の一部又は全部が専用の論理回路などのハードウェア構成を用いてなされても良い。
【００８０】
また、以上の説明では、本発明の録音処理に係るプログラムを記憶するコンピュータ読み取り可能な媒体としてフラッシュメモリなどの不揮発性メモリからなるＲＯＭ１０３を例に挙げて説明した。しかし、コンピュータ読み取り可能な媒体は、これらに限定されず、ＨＤＤ（Hard Disk Drive）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）やＤＶＤ（Digital Versatile Disc）などの可搬型記憶媒体を適用してもよい。また、本発明に係るプログラムのデータを通信回線を介して提供する媒体として、キャリアウェーブ（搬送波）も本発明に適用される。
【００８１】
その他、上記実施の形態で示した構成、制御手順や表示例などの具体的な細部は、本発明の趣旨を逸脱しない範囲において適宜変更可能である。
【００８２】
本発明のいくつかの実施形態を説明したが、本発明の範囲は、上述の実施の形態に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記の番号は、この出願の願書に最初に添付した特許請求の範囲の通りである。
【００８３】
（付記１）
曲データの再生中に、演奏操作子の操作に応じて、前記操作されたタイミング情報を含む演奏情報を生成する生成処理と、
前記生成処理により生成された前記演奏情報に含まれる前記タイミング情報を、決められたタイミング情報に変更するクォンタイズ処理と、
前記クォンタイズ処理により変更された前記タイミング情報を含む演奏情報を、前記曲データとともに記憶する記憶処理と、
を実行する電子楽器。
【００８４】
（付記２）
音の時間の長さを示す音価を設定する音価設定処理をさらに実行し、
前記クォンタイズ処理は、
前記音価設定処理により設定された前記音価に応じた複数のタイミングのうちのいずれかのタイミングに合わせて、前記生成処理により生成された前記演奏情報に含まれる前記タイミング情報を変更する、
付記１に記載の電子楽器。
【００８５】
（付記３）
前記クォンタイズ処理の有効及び無効のいずれかを設定するクォンタイズ設定処理をさらに実行し、
前記記憶処理は、
前記クォンタイズ設定処理により設定された前記有効及び無効のいずれかに応じて、前記クォンタイズ処理が実行された演奏情報及び、前記クォンタイズ処理が実行されていない演奏情報のいずれかを、演奏終了に応じて前記曲データとともに記憶する、
付記１または２に記載の電子楽器。
【００８６】
（付記４）
前記演奏操作子の操作に応じた演奏の録音を停止させる操作を検出した場合、及び前記演奏の録音を継続できないと判定した場合、の少なくともいずれかの場合に、演奏終了と判定する演奏終了判定処理をさらに実行し、
前記記憶処理は、
前記演奏終了判定処理により前記演奏終了と判定された際に、前記演奏終了に応じて、前記演奏情報を前記曲データとともに記憶する、
付記１乃至３のいずれかに記載の電子楽器。
【００８７】
（付記５）
第１記憶部は、
前記クォンタイズ処理により前記タイミング情報が変更されていない演奏情報を記憶する第１記憶領域と、
前記クォンタイズ処理により前記タイミング情報が変更された演奏情報を記憶する第２記憶領域と、
前記曲データを記憶する第３記憶領域と、
を有し、
前記記憶処理は、
前記第３記憶領域に記憶されている前記曲データの再生中に、前記曲データを前記第１記憶領域に複製し、
前記演奏終了に応じて、前記第１記憶領域に記憶された前記曲データともに、前記第１記憶領域に記憶された前記タイミング情報が変更されていない演奏情報及び、前記第２記憶領域に記憶された前記タイミング情報が変更された演奏情報を、第２記憶部に記憶する、
付記１乃至４のいずれかに記載の電子楽器。
【００８８】
（付記６）
前記クォンタイズ処理の有効及び無効のいずれかを設定するクォンタイズ設定処理、を実行し、
前記記憶処理は、
前記曲データの再生中に前記生成処理により生成された前記演奏情報が、前記演奏操作子の操作に応じた音高及びベロシティを指定するノートイベントを示す演奏情報であって、前記クォンタイズ設定処理により前記有効が設定されている場合に、前記演奏情報を前記第２記憶領域に記憶し、
前記曲データの再生中に前記生成処理により生成された前記演奏情報が、前記ノートイベントを示す情報以外の演奏情報の場合、及び、前記ノートイベントを示す演奏情報であって、前記クォンタイズ設定処理により前記無効が設定されている場合に、前記演奏情報を前記第１記憶領域に記憶する、
付記５に記載の電子楽器。
【００８９】
（付記７）
電子楽器のコンピュータに、
曲データの再生中に、演奏操作子の操作に応じて、前記操作されたタイミング情報を含む演奏情報を生成する生成処理と、
前記生成処理により生成された前記演奏情報に含まれる前記タイミング情報を、決められたタイミング情報に変更するクォンタイズ処理と、
前記クォンタイズ処理により変更された前記タイミング情報を含む演奏情報を、前記曲データとともに記憶する記憶処理と、
を実行させる演奏情報記憶方法。
【００９０】
（付記８）
電子楽器のコンピュータに、
曲データの再生中に、演奏操作子の操作に応じて、前記操作されたタイミング情報を含む演奏情報を生成する生成処理と、
前記生成処理により生成された前記演奏情報に含まれる前記タイミング情報を、決められたタイミング情報に変更するクォンタイズ処理と、
前記クォンタイズ処理により変更された前記タイミング情報を含む演奏情報を、前記曲データとともに記憶する記憶処理と、
を実行させるためのプログラム。
【符号の説明】
【００９１】
１００…電子楽器、１０１…制御部、１０２…ＲＡＭ、１０３…ＲＯＭ、１０４…入力部、１０５…表示部、１０６…発音部、１０７…バス、１１１…再生部、１１２…生成部、１１３…クォンタイズ設定部、１１４…音価設定部、１１５…クォンタイズ部、１１６…演奏終了判定部、１１７…記憶部、１２１…第１記憶領域、１２２…第２記憶領域、１２３…第３記憶領域、１３１…曲データ、１３２…録音データ、１４１，１４２…演奏情報
【図１】
2020173485.tif 000003
【図２】
2020173485.tif 000004
【図３】
2020173485.tif 000005
【図４】
2020173485.tif 000006
【図５】
2020173485.tif 000007
【図６】
2020173485.tif 000008
【図７】
2020173485.tif 000009
【図８】
2020173485.tif 000010
【図９】
2020173485.tif 000011